Spring Mobile Changelog ======================= 1.0.0.M3 (2011.02.03) ======================= * Extracted SitePreferenceHandler from SiteSwitcher to allow for standalone site preference management independent of site switcher usage. See SitePreferenceHandlerInterceptor to enable in Spring MVC. * Added SitePreference.isMobile() for convenient testing of a mobile site preference value using a boolean expression. This is particularly useful for view templates e.g. ${currentSitePreference.mobile} * Added DeviceUtils and SitePreferenceUtils for convenient lookup of the 'currentDevice' and 'currentSitePreference', respectively. * Simplified packaging by collapsing the device.mvc and device.lite sub-packages into the device root package. M2 users: DeviceResolverHandlerInterceptor now resides in the root device package. * Updated documentation to expand coverage of the feature set, and to demonstrate new MVC 3.1 features for enabling Mobile extensions such as the Device and SitePreference argument-resolvers. (see the lite-showcase and wurfl-showcase samples at git.springsource.org/spring-mobile/samples.git for working examples of the latest Spring MVC + Spring Mobile feature set) 1.0.0.M2 (2010.12.08) ======================= * Renamed MobileRedirectHandlerInterceptor to SiteSwitcherHandlerInterceptor and made it considerably more capable: - In addition to switching from the "mobile" site to the "normal" site for mobile devices, the switcher is now capable of switching from the "mobile" site to the "normal" site for non-mobile devices. The switcher now also preserves the original request path when performing a site switch. - Users can indicate their site preference explicitly by submitting a site_preference query parameter. The indicated preference will be honored by the SiteSwitcher. The preference value will be saved to a SitePreferenceRepository. A CookieSitePreferenceRepository strategy is provided. - An indicated SitePreference is resolved to an Enum that is available as a 'currentSitePreference' request attribute and injectable to @Controller methods. Its value can be used to vary controller logic by site preference. - Added convenient factory methods for constructing site switchers that implement common scenarios: Scenario #1: The mobile site is addressed at a "mDot" domain e.g. m.myapp.com. Scenario #2: The mobile site is addressed at a "dotMobi" domain e.g. myapp.mobi. For both of those scenarios, the SitePreferenceRepository is cookie-based and the cookie is shared across the site domains. See http://git.springsource.org/spring-mobile/samples for sample projects that demonstrate the site switcher. * Renamed DeviceResolvingHandlerInterceptor to DeviceResolverHandlerInterceptor to make it more clear this class is a Spring MVC adapter wrapping a DeviceResolver. 1.0.0.M1 (2010.11.16) ======================= * Initial release * Added 'spring-mobile-device' module for mobile device detection. * Added LiteDeviceResolver that detects mobile device presence but not capabilities. * Added WurflDeviceResolver that detects mobile device presence as well as capabilities; requires net.sourceforge.wurfl:wurfl to be present in the classpath. * Added 'http://www.springframework.org/schema/mobile/spring-mobile-device' namespace with a convenient 'wurfl-device-resolver' tag for configuring a WurflDeviceResolver. * Added DeviceResolvingHandlerInterceptor that, on preHandle, resolves the Device that originated the current web request. * Added DeviceWebArgumentResolver that allows the currentDevice to be injected as a @Controller handler method argument. * Added a MobileRedirectHandlerInterceptor that, on preHandle, redirects to a dedicated mobile site if the currentDevice isMobile(). * Added a WngViewResolver that allows WUrfl's "Wall NG" tag library to be used to author pages in one markup and have it rendered in different grades (WML, XHTML Simple, XHTML Advanced).