Skip to content

Releases: hal/elemento

Elemento 2.5.2

10 Jun 17:38

Choose a tag to compare

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 as route().
  • Add Parameter.stripOptionalParameters(String) utility method

Changed

  • Encapsulate Place fields: route, path, and title are now private with getter methods route(), path(), and title()
  • PlaceManager now uses Place.path() instead of Place.route() for user-facing URLs (history updates, error pages, href generation)

Elemento 2.5.1

10 Jun 15:52

Choose a tag to compare

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 /users and /users/123). Multiple trailing optional parameters and mixed required/optional parameters are supported.
    • Add Parameter.isOptionalParameter(String) and Parameter.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 IllegalArgumentException otherwise)

Elemento 2.5.0

10 Jun 11:44

Choose a tag to compare

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) and PlaceManager.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), and Parameter.encodePath(String, String...) encoding utilities
    • Add Parameter.getRaw(String) to access the raw/encoded parameter value

Changed

  • Migrate all samples from Parcel to Vite 8. Remove .parcelrc files, Parcel resolver plugins, parcelIgnore workarounds, and Parcel-specific pnpm-workspace.yaml native 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 JavaUrlEncoder using java.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

30 Mar 15:32

Choose a tag to compare

Added

Elemento 2.4.10

26 Mar 07:39

Choose a tag to compare

Added

Changed

  • Switch to corepack and pnpm

Elemento 2.4.9

19 Feb 09:00

Choose a tag to compare

Added

  • Add ClassList.contains(String classname)
  • Add HTMLElementDataMethods.data(String name)

Upgrades

  • Bump JBoss Parent to 52

Elemento 2.4.8

05 Feb 08:49

Choose a tag to compare

Fixed

Elemento 2.4.7

03 Feb 10:58

Choose a tag to compare

Added

  • Add FlowContext.peek() method to retrieve the object at the top of the stack without removing it.

Changed

  • Change Repeat.DEFAULT_INTERVAL to 0

Fixed

  • Fix Flow.repeat() for tasks that start own promises.

Elemento 2.4.6

20 Jan 17:48

Choose a tag to compare

Fixed

  • Fix annotation processing for Java 24+

Elemento 2.4.4

15 Jan 11:00

Choose a tag to compare

Fixed

  • Fix Javadoc generation