Skip to content

Releases: sgruendel/lucide-jte

Lucide for JTE 1.59.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 09:28
da18ded

Aligns rendering with Lucide v1 framework packages, updates the icon set to
Lucide 1.59.0, and hardens the version and generator tooling.

Breaking changes

  • Icon.absoluteStrokeWidth(), IconOptions.absoluteStrokeWidth(), and
    IconOptions.calculatedStrokeWidth() are removed. The IconOptions record
    component absoluteStrokeWidth is now nonScalingStroke.
  • Unlabelled icons now render aria-hidden="true".
  • lucideMusic() through lucideMusic4() are removed; use the renamed methods
    listed under Lucide 1.59.0.

Accessibility: decorative icons are hidden by default

Icons now render aria-hidden="true" unless an aria-*, role, or title
attribute is set, matching lucide-react's hasA11yProp behavior.

  • Attribute names are matched case-insensitively.
  • An explicit attr("aria-hidden", "false") is kept as is and rendered once.
  • attr("aria-hidden", null) removes the default entirely.
  • README has a new Accessibility section, including labelling buttons
    rather than the icons inside them.

nonScalingStroke replaces absoluteStrokeWidth

nonScalingStroke(true) adds vector-effect="non-scaling-stroke" to every
child element, like Lucide's shared icon builder. The stroke then stays
strokeWidth pixels on screen at any size. stroke-width is now always the
given strokeWidth; the absolute-width calculation is gone.

Lucide 1.59.0

  • 1,891 icons; adds lucideCertificate().

  • Lucide renamed the music icons. Their old names are upstream aliases only,
    so the old Java methods are removed:

    Removed Use instead
    lucideMusic() lucideEighthNotes()
    lucideMusic2() lucideEighthNote()
    lucideMusic3() lucideHalfNote()
    lucideMusic4() lucideSixteenthNotes()

Tooling

  • npm run sync-version now also syncs README's Lucide badge, Lucide version,
    and icon count (from the pinned lucide dependency and
    lucide-jte.properties), and the JTE version in README and the consumer
    example (from the POM). It fails without writing if the generated icons
    don't match the pinned Lucide version, so --check catches a missed
    npm run generate:lucide-jte in CI. RELEASING.md is updated to match.
  • Generated templates and LucideIcons.java no longer carry the Lucide
    version in their header, so future Lucide updates only touch icons that
    actually change. The version lives in lucide-jte.properties.
  • Eclipse project files (.classpath, .project, .settings/) are ignored.

Pull request: #2

Full Changelog: v1.57.0...v1.59.0

Lucide for JTE 1.57.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:31

Updates the bundled Lucide icon set from 1.55.0 to 1.57.0, adding 13 icons for a total of 1,890 canonical icons.

New icons since v1.55.0

Full changelog: v1.55.0...v1.57.0

Lucide for JTE 1.55.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 09:36

Lucide for JTE 1.55.0 includes the Lucide 1.55.0 icon set and explicit icon factory names for clearer JTE templates.

Breaking API change

All icon factory methods now use the lucide prefix across LucideIcons, LucideIcon, StaticLucideIcon, and DynamicLucideIcon. The old methods have been removed without deprecated aliases.

@import static io.github.sgruendel.lucide.jte.LucideIcons.*

${lucideActivity()}
${lucideCheck().size(16).cssClass("size-4")}

Update activity() to lucideActivity(), bookOpen(options) to lucideBookOpen(options), packageIcon() to lucidePackage(), and importIcon() to lucideImport(). Apply the same rename to calls on the generated static and dynamic APIs. Fluent styling methods retain their existing names.

Icon update

Updated to Lucide 1.55.0 with 1,877 canonical icons. Seven icons were added: handle-bottom-right, mail-dot, phone-log, screw, shield-house, user-round-star, and wifi-lock. No canonical icons were removed.

Validation

Generator and versioning tests, generated-file checks, the Java library tests, and packaged consumer tests for development and precompiled JTE templates passed. The Java 17 release build includes library, source, and Javadoc JARs.

Full changelog: v1.54.2...v1.55.0

Lucide for JTE 1.54.2

Choose a tag to compare

@github-actions github-actions released this 10 Oct 08:49

What's Changed

  • chore: streamline versioning and local releases by @sgruendel in #1

New Contributors

Full Changelog: v1.54.1...v1.54.2

Lucide for JTE 1.54.1

Choose a tag to compare

@sgruendel sgruendel released this 09 Oct 20:06

Lucide for JTE 1.54.1 adds fluent, immutable icons for shorter Java and JTE expressions. Available on Maven Central.

@import static io.github.sgruendel.lucide.jte.LucideIcons.*

${mailSearch()}
${check().size(16).cssClass("size-4")}
${bookOpen().attr("aria-hidden", "true").attr("focusable", "false")}
  • New LucideIcons static helpers for all 1,870 canonical icons, with defaults or explicit IconOptions.
  • New immutable Icon renderable supporting styling chains directly; it implements JTE's JteModel and Content interfaces.
  • Simplified README and consumer template examples.
  • Tests cover every icon's fluent styling, independent reusable icons, and development and precompiled consumer rendering.
  • The icon set remains Lucide 1.54.0; Java 17 or newer and JTE 3.2.4 remain supported.

API change: IconOptions fluent methods no longer use the with prefix. Rename withSize, withFill, withColor, withStrokeWidth, withAbsoluteStrokeWidth, withAttrs, and withAttr to size, fill, color, strokeWidth, absoluteStrokeWidth, attrs, and attr. withClass becomes cssClass. Existing code using the old method names must be updated and recompiled.

Dependency: io.github.sgruendel:lucide-jte:1.54.1.

See the README for installation and usage.

Lucide for JTE 1.54.0

Choose a tag to compare

@sgruendel sgruendel released this 09 Oct 18:09

First release of Lucide for JTE, available on Maven Central.

  • 1,870 canonical icons from Lucide 1.54.0, exposed as type-safe Java methods for JTE templates.
  • Immutable IconOptions for size, color, fill, stroke width, CSS classes, and SVG attributes.
  • Precompiled icon templates with no Node or Lucide JavaScript requirement for consumers.
  • Java 17 or newer, built with JTE 3.2.4.

Add the Maven dependency:

<dependency>
    <groupId>io.github.sgruendel</groupId>
    <artifactId>lucide-jte</artifactId>
    <version>1.54.0</version>
</dependency>

See the README for usage examples and Gradle installation.