I have dev build 3.1 2012-05-09, and it appears that the signature for the three-argument version of Canvas#addChild has changed from taking a boolean primitive to a java.lang.Boolean.  This change doesn't appear to gain anything substantial, and it breaks backward compatibility with a core API on a minor release.  Why was this changed from the primitive to the wrapper?
							
						
					Announcement
				
					Collapse
				
			
		
	
		
			
				No announcement yet.
				
			
				
	
X
- 
	
	
		
		
		
		
		
		
		
	
	
This was an accidental change involving making more of the API auto-generated so that docs cannot become stale.
Because of Java auto-boxing this change should not introduce compile-time incompatibility and GWT does not produce .jars that could have runtime incompatibility. So how did this change affect you?
 - 
	
	
		
		
		
		
		
		
		
	
	
We have written some convenience components that subclass Canvas (e.g., for a common style of content panel that consists of some headers, a ListGrid, and buttons), and a couple of those overrode the long-form Canvas addChild to be able to pass up an ID (since there are only the two forms). The change in the signature broke @Override.Originally posted by IsomorphicThis was an accidental change involving making more of the API auto-generated so that docs cannot become stale.
Because of Java auto-boxing this change should not introduce compile-time incompatibility and GWT does not produce .jars that could have runtime incompatibility. So how did this change affect you?
Comment
 - 
	
	
		
		
		
		
		
		
		
	
	
I've verified that Canvas#addChild(Canvas) has been removed in the 2012-05-23 nightly. It appears that you are expecting client code to fall back to Canvas#addChild(Widget) and performing the conditional in the Widget-based method. This sort of change (removing or modifying any method signature that could be the target of an @Override) is generally expected to happen only in a major-version release, not a minor-version. Pretty much anyone who's implemented a custom Layout will have their code blow up when this sort of thing happens, since the @Override check no longer matches.
Comment
 
Comment