Migrating to Wicket 7.0
Environment
Wicket 7.0 requires at least Java 7
Wicket 7.0 requires Servlet 3.0
The HTTP response is not flushed automatically when the request is started in asynchronous mode. WICKET-5152
This is an improvement in Wicket 7.0 which should not affect any application migrating from Wicket 6.x. But if you use Servlet 3.0's AsyncContext in IResource in Wicket 7 then make sure that your code flushes the http response after completing the request.
API changes
org/apache/wicket/core/util/io/SerializableChecker is replaced with org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream WICKET-4817
CheckingObjectOutputStream accepts a list of org.apache.wicket.core.util.objects.checker.IObjectChecker objects which are used to check for different kind of problems during object serialization. Commit diff: d0441059e0
org/apache/wicket/markup/html/border/BoxBorder is removed with no replacement WICKET-4966.
BoxBorder class has been deprecated in Wicket 6.x series
org.apache.wicket.Component#renderHead(HtmlHeaderContainer) is renamed to Component#internalRenderHead(HtmlHeaderContainer) WICKET-4964
Component#renderHead(HtmlHeaderContainer) was very similar to the usually used Component#renderHead(IHeaderResponse). So it has been renamed to avoid any confusions.
org.apache.wicket.request.resource.ResourceReference#getDependencies() now returns a mutable List<HeaderItem> WICKET-5124
The old API returned Iterable<? extends HeaderItem> and was inconvenient to override and add additional dependencies.
With the new API it is as easy as:
@Override public List<HeaderItem> getDependencies() { List<HeaderItem> dependencies = super.getDependencies(); dependencies.add(dep1); dependencies.add(dep2); return dependencies; }