I took Donny's recommendations from last month as the basis for a new "Breaking Changes" section at the top of the https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2 page. Does anybody know of any other "breaking" changes going from 5.1 to 5.2?
On Fri, Dec 17, 2010 at 12:29 PM, Donny Nadolny <donny.nado...@gmail.com> wrote: > There's been a few backwards-incompatible changes from 5.1 to 5.2, I > think it would be helpful to have a place where these are documented. > Since you can't edit the wiki until you sign and mail/fax/scan & email > a license agreement, we can document them here and let someone with > access make the wiki page for it. > > This should probably be split in to a few sections, maybe like this: > 1. necessary changes for all applications (eg changed behavior of > Link.toAbsoluteURI()) > 2. suggested changes for all applications (eg use IncludeStylesheet is > deprecated, use Import) > > I'm not sure if there are any changes that meet these criteria, but if > there are they should be split up too: > 3. necessary changes for applications that implemented/extended public apis > 4. suggested changes for applications that implemented/extended public apis > > Here are the ones I know of right now: > 1. Necessary changes for all applications > - Page classes with instance variables that are not thread safe must > be created in a method rather than declared. For example, creating an > instance variable "private final DateFormat format = > DateFormat.getDateInstance(DateFormat.MEDIUM, locale);" in a page and > using it will cause problems because DateFormat is not thread safe. > Instead, you must create the DateFormat in a method. See > https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.0 > for details. > > - Link.toAbsoluteURI() now returns a full URI rather than just the > path. Previously it would return, for example, "/myapp/viewproduct/4". > Now it returns "http://example.com:8080/myapp/viewproduct/4". All > calls to toAbsoluteURI() should be replaced with toURI(). (I got hit > with this problem - I was generating links for an RSS feed and > prepending http://mydomain.com, so after upgrading the URLs were > http://mydomain.comhttp://mydomain.com:8080/viewproduct/4) > > - Label component no longer outputs an id (credit to Andy Blower for > noticing). Previously valid code in 5.1.0.5: > <t:form> > <t:label for="search"/> > <t:textfield t:id="search" size="50"/> > </t:form> > Combined with Javascript that references the id: > jQuery('#search-label').text('This is the search label'); > > New javascript code for 5.2: > jQuery('label[for=search]').text('This is the search label'); > > 2. Suggested changes for all applications: > - Replace @IncludeStylesheet and @IncludeJavaScriptLibrary with @Import. > > Donny > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org