Thank you for reporting this. My general problem is that idlelib was only informally private until PEP434 and I only started adding 'private' and 'deprecated' to the code a week ago. So I am trying to make changes in existing versions while not breaking even unlikely uses of the current API. The specific problem is the the class init method *is* used -- to create an unused instance -- on import.
helpDialog = HelpDialog() # singleton instance, no longer used
The patch fixes the problem by moving the deprecation to the show method, which Idle really does not now call.