Welcome to Apache Wicket
With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML.
- Check the feature list
- Read some Wicket buzz, some Wicket blogs
- Find out why you should use Wicket
- Check out some selected examples in detail or see them and many more in live action
- Take a look at our live component reference
- Go and download Wicket
- See what extras are available
Wicket is released under the Apache License, Version 2.0.
Apache Wicket 6.8.0 released
The Apache Wicket PMC is proud to announce Apache Wicket 6.8.0!
This release marks the eighth minor release of Wicket 6. Starting with Wicket 6 we use semantic versioning for the future development of Wicket, and as such no API breaks are present in this release compared to 6.0.0.
Using this release
With Apache Maven update your dependency to (and don’t forget to update any other dependencies on Wicket projects to the same version):
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
<version>6.8.0</version>
</dependency>
Or download and build the distribution yourself, or use our convenience binary package
- Source: http://www.apache.org/dyn/closer.cgi/wicket/6.8.0
- Binary: http://www.apache.org/dyn/closer.cgi/wicket/6.8.0/binaries
Upgrading from earlier versions
If you upgrade from 6.y.z this release is a drop in replacement. If you come from a version prior to 6.0.0, please read our Wicket 6 migration guide found at
- http://s.apache.org/wicket-6.0-migration
Have fun!
— The Wicket team
Release Notes - Wicket - Version 6.8.0
Sub-task
- WICKET-5162 - InlineEnclosure markup id could collide in the final page markup
- WICKET-5185 - JavaScript text is spread in several DOM text nodes
Bug
- WICKET-5083 - Page#isPageStateless() may return wrong value
- WICKET-5103 - Wicket session id not up to date when container changes session id
- WICKET-5119 - PopupSettings IE8 - dosen’t work second time a link is clicked.
- WICKET-5140 - InterceptData never gets cleared from session after continueToOriginalDestination is called and another page is requested afterwards
- WICKET-5142 - Generating invalid JavaScript for ajax update
- WICKET-5145 - do not post an Atmosphere event if the filtered subscription set is empty
- WICKET-5146 - Application not destroyed if WicketFilter#init() fails
- WICKET-5147 - WicketTester MockHttpRequest.getCookies very slow / OutOfMemory
- WICKET-5149 - PageRequestHandlerTracker doesn’t track resolves of handlers caused by Exception
- WICKET-5154 - Positioning of autocomplete popup does not take into account borders
- WICKET-5157 - URL query parameter values containing equals sign get cut off
- WICKET-5163 - Implementing markup loading by extending ResourceStreamLocator produces errors with inherited markup
- WICKET-5176 - StringResourceModel doesn’t detach model in some cases
- WICKET-5178 - StopPropagation functionality on link is broken
- WICKET-5181 - Problem with OnEventHeaderItem and Wicket.Event.add
- WICKET-5187 - Unknown tag name with Wicket namespace: ‘panel’
- WICKET-5191 - Session is created unnecessarily
Improvement
- WICKET-5143 - Create an interface for the roles replacing the current Roles class
- WICKET-5150 - Log additional info when FormComponent fails in updateCollectionModel
- WICKET-5158 - Ignore missing Page in StatelessForm#process()
- WICKET-5159 - Replace usage of JavaScript eval() with plain JS in headed contribution decoding
- WICKET-5160 - Throttle the animation in DebugWindow when there are many errors
- WICKET-5161 - The url gets longer when using StatelessForm with GET method
- WICKET-5166 - Relax the requirements for using FilteringHeaderResponse
- WICKET-5186 - Use arrays instead of String concatenation in JavaScript for better performance
- WICKET-5188 - Use a separate logger for the extra information logged in RequestCycle#onException()
- WICKET-5189 - preregister known wicket tag names
Task
- WICKET-5169 - Create BuildBot config for wicket-6.x branch
Apache Wicket 6.7.0 released
The Apache Wicket PMC is proud to announce Apache Wicket 6.7.0!
This release marks the seventh minor release of Wicket 6. Starting with Wicket 6 we use semantic versioning for the future development of Wicket, and as such no API breaks are present in this release compared to 6.0.0.
New and noteworthy
webfonts are now supported
Our resource guard that prevents access to classpath resources that are not intended to be shared through the web server is a whitelist of permissable resource extensions. Typically images, JavaScript files, stylesheets are on the whitelist, but the file types for webfonts were blocked. From Wicket 6.7 and onward you can now embed webfonts with your components and link to them from your stylesheets.
Render a page or component to a String
One of the issues that keeps propping up on the user lists is the ability to render a page or component to a String so that you can use Wicket to render HTML email messages. Now you can use ComponentRenderer to actually do so without having to resort to other less obvious methods.
ComponentRenderer exposes two methods: renderComponent and renderPage and they do exactly what their names suggest. Happy emailing!
Using this release
With Apache Maven update your dependency to (and don’t forget to update any other dependencies on Wicket projects to the same version):
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
<version>6.7.0</version>
</dependency>
Or download and build the distribution yourself, or use our convenience binary package
- Source: http://www.apache.org/dyn/closer.cgi/wicket/6.7.0
- Binary: http://www.apache.org/dyn/closer.cgi/wicket/6.7.0/binaries
Upgrading from earlier versions
If you upgrade from 6.y.z this release is a drop in replacement. If you come from a version prior to 6.0.0, please read our Wicket 6 migration guide found at
Have fun!
— The Wicket team
Release Notes - Wicket - Version 6.7.0
Bug
- WICKET-4658 - TabbedPanel CSS “last” is wrong if last step is not visible
- WICKET-4803 - UrlDecoder should log a message when invalid input is provided
- WICKET-4871 - wicket-atmosphere version mismatch with wicket-example-jar
- WICKET-4893 - AutoCompleteTextField removes DropDownChoice from Page
- WICKET-4903 - relativeUrl’s begins with ./
- WICKET-4907 - UrlResourceReference generates broken relative URLs
- WICKET-4942 - Double slash ‘//’ in starting url makes Url.parse output a relative Url
- WICKET-4989 - WicketTester should send copies of its cookies
- WICKET-4995 - Using CryptoMapper causes page to render twice
- WICKET-5039 - Manual invocation of FunctionsExecutor#notify() is broken
- WICKET-5041 - DefaultCssAutoCompleteTextField should have Constructor (String id)
- WICKET-5044 - Atmosphere + DateLabel
- WICKET-5045 - Upgrade Atmosphere to 1.0.10
- WICKET-5047 - Wicket Ajax: Inline script header contribution issue
- WICKET-5048 - Inline enclosures don’t work with different namespace
- WICKET-5049 - Wicket Session may be null in SessionBindingListener after deserialization
- WICKET-5052 - @SpringBean fails to invoke methods on bean with non-public methods
- WICKET-5053 - “random” parameters is now “_” with jQuery Ajax
- WICKET-5054 - Possible bug in org.apache.wicket.util.lang.Packages when building path with repeating names
- WICKET-5055 - AutoComplete still triggers redundant events to registered change listener
- WICKET-5061 - EnclosureHandler ignores wicket:xyz elements as children
- WICKET-5067 - SelectOptions fails to render text on openClose tag
- WICKET-5072 - Cookies#isEqual(Cookie, Cookie) may fail with NullPointerException
- WICKET-5073 - UrlRenderer#removeCommonPrefixes() fails when contextPath+filterPrefix has more segments than the argument
- WICKET-5075 - When modal window is closed page scrolls to top
- WICKET-5076 - form#onSubmit() is called on just replaced nested forms
- WICKET-5078 - RestartResponseException broken with page instance and bookmarkable page
- WICKET-5080 - FilterToolbar.html contains javascript that is used elsewhere
- WICKET-5082 - Ajax update renders parent/child JS in different order than initial Page render
- WICKET-5085 - InlineEnclosure are piling up on each render
- WICKET-5086 - FormTester throws an exception when a Palette component is added to a Form associated with a compound property model
- WICKET-5093 - The event listener in Wicket.Ajax.ajax() should not return the value of attrs.ad (allowDefault)
- WICKET-5094 - ISecuritySettings#getEnforceMounts(true) prevents access to all non-mounted bookmarkable pages
- WICKET-5098 - PackageResourceBlockedException under Windows for *.js files in web app’s own packages, not in jars
- WICKET-5102 - wicket-bean-validation: Bean validation PropertyValidator only works with direct field access
- WICKET-5103 - Wicket session id not up to date when container changes session id
- WICKET-5104 - AjaxSelfUpdatingTimerBehavior in hidden component in ModalWindow causes Ajax Response Error
- WICKET-5112 - Parantheses problem with UrlValidator
- WICKET-5114 - Url#toString(StringMode.FULL) throws exception if a segment contains two dots
- WICKET-5116 - TabbedPanel.setSelectedTab() does not behave as specified in JavaDoc
- WICKET-5117 - Wicket ignores allowDefault:false attribute in multipart ajax requests
- WICKET-5123 - Component.continueToOriginalDestination() can redirect to ./.
- WICKET-5125 - IE8 error in wicket-date.js when used in a modalwindow
- WICKET-5126 - SecurePackageResourceGuard is blocking access to web fonts
- WICKET-5131 - Problems with cookies disabled when using 301/302 and also 303 (even with cookies)
- WICKET-5132 - Evaluation of returned data (which includes alot of javascript) very slow after ajax call in IE10.
- WICKET-5134 - java.lang.NullPointerException at org.apache.wicket.markup.html.form.Form.onComponentTag(Form.java:1520) during Atmosphere eventbus.post() if using WebSockets
- WICKET-5136 - CheckingObjectOutputStream#check(Object) swallows Exception without logging the cause
- WICKET-5138 - Wicket does not correctly handle http OPTIONS requests
- WICKET-5141 - Exception while rendering absolute URL with UrlResourceReference
Improvement
- WICKET-4115 - SignInPanel should not always redirect to the Home page when the user is signed-in automaticaly with the remember-me feature.
- WICKET-5005 - Add Utility to allow conversion from Panel (or Component) to html String
- WICKET-5038 - Add equals() and hashcode() implementation to INamedParameters.NamedPair
- WICKET-5046 - NumberTextField should use appropriate validator
- WICKET-5050 - AutoComplete should not request suggestions if input is no longer active element
- WICKET-5057 - FilteringHeaderResponse requires a usage of FilteringHeaderResponse.IHeaderResponseFilter for no reason when FilteredHeaderItem is used
- WICKET-5062 - Update the list of HTML void elements with the latest HTML5 ones
- WICKET-5065 - Improve UrlRenderer to be able to render urls without scheme and/or host
- WICKET-5066 - Allow PackageResource to decide itself whether it could be accepted or not
- WICKET-5074 - Improvement for MockHttpServletRequest and FormTester to support ‘multiple’ input type of fileUpload
- WICKET-5079 - Allow WebApplication-specific Spring configuration
- WICKET-5088 - The Bootstrap class does not provide a handle for the CSSResourceReferences.
- WICKET-5089 - Make MultiFileUploadField’s ResourceReference JS public to be able to include in Application’s getResourceBundles.
- WICKET-5090 - Add path syntax to MarkupContainer#get( String )
- WICKET-5091 - Extract the short names of the ajax attributes as a constants
- WICKET-5095 - Upgrade Wicket Native WebSocket to Jetty 9.0.0
- WICKET-5096 - Add setStep method to NumberTextField
- WICKET-5105 - JavaDoc of IHeaderContributor is outdated
- WICKET-5111 - Upgrade bootstrap to 2.3.1
- WICKET-5113 - Set a different TimeZone for the RequestLogger
- WICKET-5121 - Log warning message if a component that is not on the page associated with the AjaxRequestTarget is added
- WICKET-5122 - Add the free Wicket guide in the books page on the official site.
- WICKET-5127 - Dont use sun-internal packages to allow easy jdk7 compilation
- WICKET-5137 - Improve TagTester support for Ajax responses
- WICKET-5139 - Missing French translations
Task
- WICKET-5097 - Deprecate BaseWicketTester#startComponent(Component)
Test
- WICKET-5042 - Cleanup FilteringHeaderResponseTest to make it more readable
Older news items
-
CVE-2012-5636 - Apache Wicket XSS vulnerability - 03 Mar 2013
Vendor: The Apache Software Foundation Versions Affected: Apache Wicket 1.4.x, 1.5.x and 1.6.x Description: It is possible for JavaScript statements to break out of a... more -
Wicket 1.5.10 released - 26 Feb 2013
This is the tenth maintenance release of the Wicket 1.5.x series. This release brings over 28 bug fixes and improvements. Git tag Changelog To use... more -
Apache Wicket 6.6.0 released - 15 Feb 2013
The Apache Wicket PMC is proud to announce Apache Wicket 6.6.0! This release marks the sixth minor release of Wicket 6. Starting with Wicket 6... more -
Apache Wicket 6.5.0 released - 23 Jan 2013
The Apache Wicket PMC is proud to announce Apache Wicket 6.5.0! This release marks the fifth minor release of Wicket 6. Starting with Wicket 6... more -
Apache Wicket 6.4.0 released - 14 Dec 2012
The Apache Wicket PMC is proud to announce Apache Wicket 6.4.0! This release marks the fourth minor release of Wicket 6. Starting with Wicket 6... more -
Apache Wicket 6.3.0 released - 16 Nov 2012
The Apache Wicket PMC is proud to announce Apache Wicket 6.3.0! This release marks the third minor release of Wicket 6. Starting with Wicket 6... more -
Wicket 1.5.9 released - 09 Nov 2012
This is the nineth maintenance release of the Wicket 1.5.x series. This release brings over 48 bug fixes and improvements. Git tag Changelog To use... more -
Apache Wicket 6.2.0 released - 23 Oct 2012
The Apache Wicket PMC is proud to announce Apache Wicket 6.2.0! This release marks the second minor release of Wicket 6. Starting with Wicket 6... more -
Apache Wicket 6.1.1 released - 08 Oct 2012
The Apache Wicket PMC is proud to announce Apache Wicket 6.1.1! This release marks the first patch release of Wicket 6. Starting with Wicket 6... more -
Apache Wicket 6.1.0 released - 04 Oct 2012
The Apache Wicket PMC is proud to announce Apache Wicket 6.1.0! This release marks the first maintenance release of Wicket 6. Starting with Wicket 6... more
Books about Wicket
The following books are published regarding Apache Wicket (click a cover to learn more about the book):






