Lots of internal features are now based on the Service Provider Interface API: processors, asset locators, bundle loaders and caching in order to provide plenty of extension points
The asset rendering is now based on a servlet filter: DandelionFilter
, which optimally injects <script>
and <link>
tags into the page
The old DatatablesController
(used to serve generated assets of the Dandelion-Datatables component) has been repatriated to Dandelion core, renamed to DandelionServlet
and is now used to serve all kinds of generated assets
Dropped Servlet 3.x annotations usage in favour of plain old XML
Asset bundle are no longer based on a tree but on a DAG. The old parent
properties of bundles has been replaced by the dependencies
attribute
New utilities related to assets and bundles:
Ability to exclude assets by type
The asset position can be forced using a new JSON parameter (dom)
Ability to activate bundles permanently (e.g. handy for global CSS files)
The URL of generated asset is now built with a SHA1 key instead of the old parameters previously used in Dandelion-Datatables
All bundle loaders are now mutually exclusives in order to be able to disable one or more loaders (useful for Dandelion integration in legacy apps)
Bundle and asset names are not case sensitive any longer
Fixed issue with protocol-relative URLs used as locations (aka //cdn)
Added a new CdnLocator used to rewrite URLs in CSS files. Automatically activated when minification is enabled
Improved the dandelion-webjars
New asset processors available for JS and CSS compression (based on YUICompressor)
Lots of new configuration properties
All configuration properties can now be loaded using different strategies
Development mode refactored to avoid re-initializing the bundle graph at each request thus drastically improving performance
Added a bundle graph viewer, allowing to visualize how Dandelion deals with your current request
Added support for manual bundle reloading
New caching policy applied when using the production mode
The JSP taglib has been fully refactored
The Thymeleaf dialect has been fully refactored
Added support for the content assist Eclipse plugin
A new dandelion-ehcache module has been added, allowing to plug an Ehcache-based cache in the Dandelion cache system
The Webjars extra now provides two different locators, automatically picked up depending on the version of the Servlet API supported by the server