3.0-M3 released

15 views
Skip to first unread message

Andrus Adamchik

unread,
Apr 4, 2024, 4:09:15 PMApr 4
to Bootique User Group
Happy to announce Bootique 3.0-M3 release! Its scope is quite significant. A lot of boilerplate is gone from the core (more on this below) and all the JavaEE stuff is explicitly deprecated in favor of JakartaEE. Specific highlights:

1. Creating a module has become easier. We got rid of BQModuleProvider (with deprecation). Now the module itself can define its metadata and auto-loading properties via a new "crate" API.

2. Another huge boilterplate reduction - configuration objects (aka "factories"), can now inject dependencies, so they no longer need to be passed to the factory method

3. Introduced a concept of a "deprecated" module. Modules marked as deprecated via the JVM annotation or via the "crate" API, will generate log warnings when you include them. This should help with upgrades. And of course we put it to good use ourselves per the next item.

4. All JavaEE modules that have newer JakartaEE analogs, got deprecated. This will be supported in 3.0, but you will be prompted to migrate to Jakarta. This effort is almost complete. The only lagging module is "bootique-tapestry", and we also need to switch injection to "jakarta.inject".

5. As discussed before, some modules got deprecated without replacement ("bootique-undertow", "bootique-jdbc-tomcat", and a few more), and "bootique-kotlin" got entirely removed from the distro per my other email earlier today.

Andrus


------

Full release notes:

bootique

* #334 Explicit support for module deprecation
* #335 Simple API for creating command metadata
* #337 BQRuntime: expose metadata and environment objects as methods
* #338 ModuleMetadata - track BQModule type
* #339 Uncluttered lambda-style BQModuleProvider
* #340 Remove module dependency tracking
* #341 Recognize "self-provided" modules and preserve their metadata
* #342 Constructor-based factories
* #344 BQModuleProvider-free Bootique bootstrap
* #345 DI into objects obtained via ConfigurationFactory
* #346 Fluent, logging ShutdownManager

bootique-agrest

* #90 Deprecate Agrest 4 integration modules
* #91 (Jakarta migration) Deprecate JAX-RS 2 version of Agrest

bootique-aws

* #24 Deprecate AWS v1 API integration modules

bootique-cayenne

* #110 Deprecate Cayenne 4.1 integration modules
* #111 Optionally recognize `@CommitLog` annotations

bootique-cxf

* #5 Jakarta flavor of CXF
* #6 Upgrade CXF 3.x to 3.6.3

bootique-jdbc

* #132 Deprecate Tomcat DataSource
* #133 Upgrade to Hikari 5.1.0

bootique-jersey

* #84 (Jakarta migration) Deprecate JAX-RS 2 modules
* #85 Remove Jersey Jetty HTTP client

bootique-jetty

* #123 (Jakarta migration) Deprecate "javax" modules

bootique-job

* #118 Refactor JobModule into two module classes within the same jar
* #119 bootique-job: remove optional dependency on curator ZK client
* #120 TriggerFactory should create a mutable parameters map

bootique-kotlin

* #20 Deprecate Kotlin integration

bootique-linkmove

* #58 Deprecate LinkMove 2 integration
* #59 (Jakarta Migration) Deprecate JAX-RS 2 (javax) version of the REST connector
* #60 Enable full Velocity syntax in SQL templates

bootique-logback

* #66 Upgrade to Logback 1.4.13
* #67 LayoutFactory is not annotated and not showing subclasses in the docs

bootique-mvc

* #28 (Jakarta migration) Deprecate JAX RS 2 modules

bootique-shiro

* #39 (Jakarta migration) Deprecate "javax" based modules

bootique-simplejavamail

* #6 (Jakarta migration) Deprecate the "javax" module
* #8 Upgrade SimpleJavaMail Jakarta to v8

bootique-swagger

* #47 (Jakarta migration) Deprecate javax modules

bootique-tapestry

* #26 Deprecate 5.5 / 5.6 modules
* #27 Upgrade to 5.8.4 - support Java 21

bootique-undertow

* #25 Deprecate bootique-undertow



Reply all
Reply to author
Forward
0 new messages