Andrus Adamchik
unread,Apr 4, 2024, 4:09:15 PMApr 4Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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