Hi! I've taken a quick look over the 5.8 code, and it looks good to me, so I decided to update one of our non-web applications from 5.6 to 5.8.
But I ran into a "tapestry.version not defined" issue. The problem originates (as always) in our unique setup. We run our Tapestry applications (web and non-web) as "normal" Java application (e.g. "java -cp ... App") and programmatically create the Registry and TapestryAppInitializer, and a custom Filter for an embedded Jetty if web. In 5.6 the TapestryAppInitializer always added the TapestryModule (containing "tapestry.version"). Now, the TapestryFilter adds it instead via org.apache.tapestry5.TapestryFilter.provideExtraModuleClasses(ServletContext) We fixed the issue by @ImportModule(TapestryModule.class) in our AppModule. But if a Tapestry app won't work without it, it should always add it IMO, regardless of using TapestryFilter. That would make the new org.apache.tapestry5.TapestryFilter obsolete, though, because all it does is provide TapestryModule. I understand the general idea behind allowing filters to specify additional modules to be loaded. But it isn't used anywhere except for TapestryModule so far. If there's an agreement that this is a problem and that it should be reverted to the original behavior, I'll create an issue and fix it. But I didn't want to revert any recently introduced behavior without a discussion first. Cheers Ben