Releases: hal/elemento
Releases · hal/elemento
Elemento 2.5.2
Added
- Add
Place.path()method that returns the route with optional parameter segments removed — the shortest concrete URL that matches the route. For routes without optional parameters,path()returns the same value asroute(). - Add
Parameter.stripOptionalParameters(String)utility method
Changed
- Encapsulate
Placefields:route,path, andtitleare now private with getter methodsroute(),path(), andtitle() PlaceManagernow usesPlace.path()instead ofPlace.route()for user-facing URLs (history updates, error pages, href generation)
Elemento 2.5.1
Added
- Add optional route parameter support using the
:param?syntax. Optional parameters must be trailing and match both with and without the segment present (e.g.,/users/:id?matches/usersand/users/123). Multiple trailing optional parameters and mixed required/optional parameters are supported.- Add
Parameter.isOptionalParameter(String)andParameter.hasOptionalParameter(String)detection methods - Update
Parameter.match()to support variable-length matching for optional parameters - Update
Parameter.encodePath()to allow omitting trailing optional parameter values - Add validation that optional parameters are trailing-only (throws
IllegalArgumentExceptionotherwise)
- Add
Elemento 2.5.0
Added
- Add transparent URL encoding/decoding for route parameters. Parameter values containing special URL characters (
/,?,#,&,=, spaces) are now handled automatically.- Add
PlaceManager.goTo(String route, String... values)andPlaceManager.href(String route, String... values)overloads that encode parameter values automatically - Add
Link.link(PlaceManager, String route, String... values)factory for creating links with encoded parameters - Add
Parameter.encode(String),Parameter.decode(String), andParameter.encodePath(String, String...)encoding utilities - Add
Parameter.getRaw(String)to access the raw/encoded parameter value
- Add
Changed
- Migrate all samples from Parcel to Vite 8. Remove
.parcelrcfiles, Parcel resolver plugins,parcelIgnoreworkarounds, and Parcel-specificpnpm-workspace.yamlnative dependency allowances. Replace the music sample's custom Express proxy server (server.js) with Vite's built-in dev server. Parameter.get(String)now returns the decoded parameter value. Previously returned the raw URL segment, which is identical for unencoded values (backward compatible for existing usage).
Fixed
- Fix J2CL production build failure caused by
JavaUrlEncoderusingjava.net.URLEncoder/URLDecoder(not available in J2CL's JRE emulation)
Upgrades
- Bump j2cl-maven-plugin from 0.23.6 to 0.23.8
- Bump gwt-maven-plugin from 1.2.0 to 1.3.0
- Bump patternfly-java-bom from 0.6.16 to 0.9.1
- Bump junit-bom from 6.0.3 to 6.1.0
- Bump jboss-parent from 52 to 53
- Bump j2cl platform bom to 20260527-1
Elemento 2.4.11
Added
- Add support for
beforetoggleandtoggleevents.
Elemento 2.4.10
Elemento 2.4.9
Added
- Add
ClassList.contains(String classname) - Add
HTMLElementDataMethods.data(String name)
Upgrades
- Bump JBoss Parent to 52
Elemento 2.4.8
Fixed
- Added missing externs for
DurationFormatandDurationFormatOptionsnot yet in https://github.com/google/closure-compiler/blob/master/externs/browser/intl.js
Elemento 2.4.7
Added
- Add
FlowContext.peek()method to retrieve the object at the top of the stack without removing it.
Changed
- Change
Repeat.DEFAULT_INTERVALto 0
Fixed
- Fix
Flow.repeat()for tasks that start own promises.
Elemento 2.4.6
Fixed
- Fix annotation processing for Java 24+
Elemento 2.4.4
Fixed
- Fix Javadoc generation