Skip to content

Releases: webforj/webforj

Release v26.01

Choose a tag to compare

@github-actions github-actions released this 30 Jun 06:59
Immutable release. Only release title and notes can be modified.

What's Changed

New Features And Enhancements 🎉

  • fix: bind UI components to nested bean properties by @hyyan in #1346
  • feat: introduce HasI18n and HasSelectionMode concern interfaces by @hyyan in #1352
  • feat: add FileUpload component for inline file picking by @hyyan in #1353
  • feat: add Geolocation API by @hyyan in #1364
  • feat: add badge APIs for app icon and tab favicon by @hyyan in #1367
  • feat: add Page Visibility API by @hyyan in #1368
  • feat: Kotlin/icon defintion as string extension by @cliebhardt in #1369
  • feat: add item pinning and search configuration by @hyyan in #1375
  • feat: add the webforJ build plugin and Bun based frontend bundler by @hyyan in #1378

Bug Fixes 🐛

  • fix: load webforJ dependent packages under Spring DevTools by @hyyan in #1376
  • fix: read webforj.security config from Spring application.properties by @hyyan in #1385
  • fix: wait for the app to be ready before reloading after a change by @hyyan in #1386
  • fix: bundler should not always write the package.json & generated folder by @hyyan in #1387
  • fix: keep the development watch and live reload current across restarts by @hyyan in #1393

Other Changes

  • refactor: move Geolocation into com.webforj.geolocation package by @hyyan in #1365
  • refactor: show setText content literally and add legacyHtmlInText flag by @hyyan in #1377
  • build: add skip to maven-javadoc-plugin in webforj-kotlin pom by @cliebhardt in #1384

Full Changelog: 26.00...26.01

Release v26.00

Choose a tag to compare

@github-actions github-actions released this 27 Apr 17:48
Immutable release. Only release title and notes can be modified.

Important

Java 21 required. This release drops support for Java 17. Upgrade your toolchain before migrating.

What's Changed

Breaking Changes 🛠

  • feat: upgrade Spring Boot from 3.5.7 to 4.0.4 by @hyyan in #1276
  • refactor!: remove deprecated APIs scheduled for removal in v26 by @hyyan in #1286

New Features And Enhancements 🎉

  • feat: add webforj-rewrite module with OpenRewrite recipes for v26 by @hyyan in #1288
  • feat: add autoWidth property to Dialog and option dialogs by @hyyan in #1319
  • feat: add support for segment control rendering in TabbedPane by @hyyan in #1320

Bug Fixes 🐛

  • fix: flatten webforj-bom to prevent leaking internal dependencies by @hyyan in #1277
  • fix: router stuck after history.back() when replaceState was used before navigation by @hyyan in #1283
  • fix: sync table column order immediately after moveColumn() by @hyyan in #1285
  • fix: Accordion panel height doesn't change after opening by @hyyan
  • fix: make option dialog base classes public for Kotlin accessibility by @hyyan in #1287

Other Changes

Full Changelog: 25.12...26.00

Release v25.12

Choose a tag to compare

@github-actions github-actions released this 17 Mar 07:51
Immutable release. Only release title and notes can be modified.

What's Changed

New Features And Enhancements 🎉

  • feat: add minifierConfigurations support to Gradle plugin by @kevinhagel in #1209
  • feat: support explicit BBj control ID assignment for components by @hyyan in #1214
  • feat: add built-in translation system with locale auto-detection by @hyyan in #1223
  • feat: webforj-kotlin Module by @cliebhardt in #1206
  • feat: add missing getters for Kotlin synthetic property support by @hyyan in #1242
  • feat: add support for grouping table columns by @hyyan in #1244
  • feat: add accordion component by @hyyan in #1250
  • feat: add badge component by @hyyan in #1252
  • feat: add a set of built in table cell renderers by @hyyan in #1257

Bug Fixes 🐛

  • fix: add webserver:// protocol support to ResourceResolver by @kevinhagel in #1210
  • fix: handle missing WebforjServlet in BBj environment by @hyyan in #1222
  • fix: msgbox breaks long text into 100 chars length by @hyyan in #1236

Other Changes

  • feat: add ComponentSourceRegistry to track component instantiation locations by @hyyan in #1219
  • refactor: deprecate unsupported Webswing bootstrap options by @hyyan in #1224
  • fix: slider will query client component for value instead of relying … by @MatthewHawkins in #1217
  • Dokka warning fix by @cliebhardt in #1245
  • fix(kotlin): fix dsl functions by @cliebhardt in #1265

New Contributors

Full Changelog: 25.11...25.12

Release v25.11

Choose a tag to compare

@github-actions github-actions released this 27 Jan 07:34
Immutable release. Only release title and notes can be modified.

What's Changed

New Features And Enhancements 🎉

  • feat: Add webforJ minify plugin for build-time asset optimization by @kevinhagel in #1129
  • feat: add RouteRegistryProvider SPI for pluggable route discovery by @hyyan in #1160
  • feat: include webforj as transitive dependency in spring-boot-starter by @hyyan in #1161
  • feat: add webforj-jbang integration by @hyyan in #1162
  • feat: add webforj-markdown-viewer component by @hyyan in #1165
  • feat: add Debouncer utility class by @hyyan in #1169
  • feat: add webforj-avatar component by @hyyan in #1170
  • feat: add View Transitions API support for animated route navigation by @hyyan in #1178
  • feat: remove existing prefix/suffix when set to null by @hyyan in #1189
  • feat: add transition inheritance from parent routes by @hyyan in #1199

Bug Fixes 🐛

  • fix: allow RadioButtonGroup to be nested within containers by @hyyan in #1164
  • fix: change message parameter type from String to Object in InputDialog and OptionDialog by @hyyan in #1188
  • fix: ClassCastException when entering decimal in Quick Jump navigator's layout by @hyyan #1139

Other Changes

  • refactor: adjust class modifiers for inheritance flexibility by @hyyan in #1146
  • refactor: remove WebforjBBjBridge and use direct Java API by @hyyan in #1183

Full Changelog: 25.10...25.11

Release v25.10

Choose a tag to compare

@github-actions github-actions released this 18 Nov 07:18
Immutable release. Only release title and notes can be modified.

What's Changed

New Features And Enhancements 🎉

  • feat: add webswing integration by @hyyan in #1104
  • feat: Add user configuration for mapping extensions to mime types for static files by @hyyan in #1116
  • feat: add action prop and custom fields support to login component by @hyyan in #1126
  • feat: add route security with Spring Security integration by @hyyan in #1112
  • feat: add locale change notifications for components by @hyyan in #1132
  • feat: add setKeyProvider() for custom entity key extraction by @hyyan in #1140
  • feat: add support for textual date parsing in MaskedDateField by @hyyan in #1145

Bug Fixes 🐛

  • fix: allow table column width to collapse to zero by @hyyan in #1098
  • fix: WebStorage implementations return null for non-existent keys by @hyyan in #1143

Full Changelog: 25.03...25.10

Release v25.03

Choose a tag to compare

@github-actions github-actions released this 09 Sep 03:59

What's Changed

New Features And Enhancements 🎉

  • feat: add table columns sizing and moving support by @hyyan in #1065
  • feat: add early lifecycle hooks for config management by @hyyan in #1071
  • feat: Allow to configure webforj using spring properties file by @hyyan in #1072
  • feat: add Router Activate lifecycle event for cached component reactivation by @hyyan in #1079
  • feat: add Spring custom scopes for webforJ environments and routes by @hyyan in #1076
  • feat: add Spring MVC integration for root path mapping by @hyyan in #1086
  • feat: provide API to access HttpSession.Accessor and provide SessionObjectTable by @hyyan in #1088
  • feat: add webforJ session scope for Spring beans by @hyyan in #1089
  • feat: add browser launcher for webforJ Spring Boot apps by @hyyan in #1091

Bug Fixes 🐛

  • fix: update Maven binary URL and version to 3.9.11 by @hyyan in #1051
  • fix: resolve generic type inference issue in DwcList by @hyyan in #1066
  • fix: table getSelectedKeys does not return the original repository keys by @hyyan in #1069
  • fix: ContextHolder does not free the ApplicationContext when ContextInjector is disposed by @hyyan in #1073
  • fix: handle BrowserConsole terminated connections gracefully by @hyyan in #1074
  • fix: App instances should not be reused in spring when Routify is disabled by @hyyan in #1084
  • fix: FlexLayout is not setting the box-sizing property by @hyyan in #1090

Full Changelog: 25.02...25.03

Release v25.02

Choose a tag to compare

@github-actions github-actions released this 15 Jul 07:07

What's Changed

New Features And Enhancements 🎉

  • feat: add method to add components to the toast message slot by @hyyan in #1032
  • feat: add App lifecycle listener support by @hyyan in #1033
  • feat: implement runLater functionality for safe background thread access in Environment by @hyyan in #1039
  • feat: add webforj-spring module with integration and boot starter by @hyyan in #928

Bug Fixes 🐛

  • fix: Tree insert method ignores the specified index by @hyyan in #993
  • fix: remove unnecessary BBjException catch in PageExecuteJsAsyncHandler by @hyyan in #1016
  • fix: Installer fails with FileNotFoundException for Maven 3.9.8 binary URL by @hyyan in #1014

Other Changes

  • refactor: implement runLater functionality with event handling instead of long polling by @hyyan in #1041

Full Changelog: 25.01...25.02

Release v25.01

Choose a tag to compare

@github-actions github-actions released this 20 May 04:30

What's Changed

New Features And Enhancements 🎉

  • feat: Implement styling interfaces for terminal component by @hyyan in #973
  • feat: Implement ClassName, Visibility, Size, and Attribute interfaces for the GoogleChart component. by @hyyan in #978
  • feat: Introduce IconDefinition interface and update Icon usage in InfiniteScroll and Refresher components by @hyyan in #980
  • feat: Add selection interfaces for multi and single item selection by index, key, or item reference by @hyyan in #981
  • feat: add tree component by @hyyan in #982
  • feat: allow to enable/disable tree connection lines by @hyyan in #984

Bug Fixes 🐛

  • fix: AppNavItem does not handle absolute URLs by @hyyan in #967
  • fix: correct argument deserialization in Element.callJsFunction to properly support UTF-8 by @hyyan in #974
  • fix: encode Terminal data and key event values before sending to the server by @hyyan in #975
  • fix: don’t remove namespace callbacks while webforj listeners are still attached by @hyyan in #977

Other Changes

  • refactor: remove /webforj prefix in assets when the assetsDir is root by @hyyan in #985

Full Changelog: 25.00...25.01

Release v25.00

Choose a tag to compare

@github-actions github-actions released this 22 Apr 06:30

What's Changed

Breaking Changes 🛠

  • refactor: Remove the marked deprecated code for version 25. by @hyyan in #929
  • feat: Add table sort index functionality and enable single column sorting mode by @hyyan in #939

New Features And Enhancements 🎉

  • feat: add pattern support to NumberField component by @hyyan in #934
  • feat: Add webforj-alert component by @hyyan in #943
  • feat: add infinite-scroll & refresher components by @hyyan in #944
  • feat: add support for hiding the progress bar text by passing an empty string to the setText method. by @hyyan in #947
  • feat: allow to dynamically style table rows and cells by @hyyan in #951
  • feat: add support for customizable table borders and striped rows by @hyyan in #954
  • feat: add experimental support to desktop notifications by @hyyan in #952

Bug Fixes 🐛

  • fix: webforj does not separate routes when multiple WARs are deployed in the same server by @hyyan in #921
  • fix: Programmatically updating table sorting doesn't work when using server-side sorting. by @hyyan in #931
  • fix: When attempting to sort a column that contains null values, an error occurs by @hyyan in #940
  • fix: Adding components to element slots causes layout shifts by @hyyan in #962

Other Changes

  • refactor: refactor image source resolution to use Assets.resolveImageSource by @hyyan in #946

Full Changelog: 24.22...25.00

Release v24.22

Choose a tag to compare

@github-actions github-actions released this 25 Feb 07:28

What's Changed

New Features And Enhancements 🎉

  • feat: Add support for icons URL handling in Assets and related components by @hyyan in #892
  • feat: Allow to configure FileChooser and FileUpload Exists dialogs i18n by @hyyan in #891
  • feat: add namespaces by @hyyan in #902
  • feat: add NativeButton component to HTML elements by @hyyan in #903

Bug Fixes 🐛

  • fix: webforj does not properly clean up the environment after a connection is lost by @hyyan in #897
  • fix: remove control reset in DwcComponent to allow exceptions caused by destroyed objects by @hyyan in #899
  • fix: optimize component disposal in SlotRegistry to ensure all components are destroyed before clearing slots by @hyyan in #901

Other Changes

  • resolves #883 by @kevinhagel in #884
  • revert: register Element defined event listener only once to optimize performance (#860) by @hyyan in #889
  • refactor: Router:getCurrent should return null when not defined by @hyyan in #898

Full Changelog: 24.21...24.22