Bootique 3.0.M2 released

10 views
Skip to first unread message

Andrus Adamchik

unread,
Nov 21, 2023, 6:23:24 PM11/21/23
to Bootique User Group
I am glad to announce the second milestone of Bootique 3.0. There is a total of 81 new tasks (see the release notes below). Many of them are upgrades of the integrated third-party libraries (including security-related ones). There are some minor bug fixes and improvements in the core, and there's a lot of work done across various modules (testing, metrics and logging, etc.) . A few highlights:

* Cayenne: extender API for registering custom ValueTypes and ExtendedTypes
* JDBC: support for Types.NUMERIC in tests
* Jersey: out-of-the-box binding of LocalDate, LocalTime, LocalDateTime as endpoint parameters
* Jersey client: integrated Wiremock test framework; implemented transaction ID propagation between threads when requests are executed asynchronously; improved logging.
* Jetty: testing API to support redirects and JSON responses retrieval; ability to set connector host to "*"
* Jobs: support for CLI syntax to pass job parameters
* LinkMove: injectable IConnectorFactory, Jakarta version of the REST connector
* Metrics: individual health checks are allowed to skip "heartbeats" (useful for rate-limiting)
* MVC: Mustache template caching / refreshing. Really improves the performance of server-generated HTML
* Shiro: finally, a Jakarta option!
* Swagger: lots of improvements everywhere

With a very important Shiro module now Jakarta-compatible, our recommendation is to switch to a Jakarta flavor of everything. In fact, we are planning to deprecate the "javax" flavor and remove it in BQ 4.0.

Enjoy!
Andrus

------

Full release notes:

bootique

* #318 Declared vars not matching an existing config path are excluded from help
* #327 Upgrade to bootique-module-parents 3.0.17
* #328 Upgrade to bootique-module-parents 3.0.18
* #330 Binding env var to more than one config results in multiple entries in help
* #331 Support dots in property names for var declarations
* #332 Upgrade to bootique-modules-parent 3.0.19

bootique-agrest

* #73 AgResponseMatcher.getContentAsJson() / assertContentAt()
* #74 Upgrade Agrest 5 to Agrest 5.0.M10
* #76 Support for "--generate-spec" command
* #77 Upgrade to Agrest 5.0.M11
* #78 Shortcuts for Agrest builder methods in AgrestModuleExtender
* #79 Upgrade to Agrest 5.0.M12
* #80 Upgrade to Agrest 5.0.M13
* #81 AgResponseMatcher: assertDataSize()
* #82 Upgrade to Agrest 5.0.M14
* #83 Upgrade to Agrest 5.0.M15
* #84 Upgrade to Agrest 5.0.M16 / Cayenne 4.2
* #85 Upgrade to Agrest 5.0.M17
* #87 Upgrade to Agrest 5.0.M18
* #88 Upgrade to Agrest 5.0.M19
* #89 "bootique-agrest5-jakarta-swagger" leaks older version of jackson

bootique-aws

* #21 Upgrade AWS 2 lib to 2.20.150
* #22 Upgrade Localstack container to 2.2.0
* #23 Localstack does not work with Testcontainers 1.19.0

bootique-cayenne

* #108 4.2 Extender methods for adding ValueObjectTypes and ExtendedTypes
* #109 Upgrade Cayenne to 4.2 GA

bootique-docker

* #7 Upgrade Docker client to 3.3.3

bootique-jdbc

* #125 upgrade HikariCP to 5.0.1
* #126 HikariCP - support for lazy DataSource creation
* #127 Liquibase - conflict with Jakarta modules
* #129 Support Types.NUMERIC in DefaultFromStringConverter

bootique-jersey

* #65 Upgrade to Jersey 2.38 / 3.0.9
* #67 ParamConverter for LocalDate, LocalTime, LocalDateTime
* #68 ParamConverter for Year, YearMonth
* #69 Integrate Wiremock for testing apps using "jersey-client"
* #70 Per-tester wiremock recording mode
* #71 Stubbing support in WireMockTester
* #72 WireMockTester - explicit method to turn on verbose logging
* #73 Replace "recording" WireMockTester with proxy/snapshot
* #76 Reduce client logging noise
* #77 RequestTimer to log response headers at DEBUG level
* #78 Jakarta Client - set custom ConnectorProvider via the extender
* #79 Jakarta Client - support for Jetty HttpClient
* #80 JerseyClientInstrumentedModule - better names for healthchecks, consistent config
* #81 Upgrade Jersey 3 to 3.0.11
* #83 Client: propagate transaction ID to async execution threads

bootique-jetty

* #113 Upgrade to Jetty 10.0.13 / 11.0.13
* #115 JettyTester - support for testing redirects
* #116 Upgrade of Jetty to 10.0.14 / 11.0.14
* #117 JettyTester's ResponseMatcher must allow access to any type of content
* #118 RequestTimer to log request headers at DEBUG level
* #119 Unable to set connector host to `*`
* #120 Upgrade to minor versions 11.0.16, 10.0.16

bootique-job

* #99 Support passing parameters to jobs via CLI
* #117 NPE during registry startup when a job with dependencies delcares params

bootique-kafka

* #33 Update Kafka clients and streams version

bootique-linkmove

* #53 Upgrade to LinkMove 3.0.M4
* #54 Make IConnectorFactory injectable
* #55 Jakarta version of "bootique-linkmove3-rest"
* #56 Upgrade to LinkMove 3.0.M5 / Cayenne 4.2
* #57 Upgrade LinkMove 3 to 3.0.M6 / DFLib 0.18

bootique-logback

* #63 Upgrade Logback to 1.4.5
* #64 Logback / Sentry - app crashes on startup when tags or extras are empty

bootique-metrics

* #40 Heartbeat to support skipping individual health checks
* #45 Upgrade to metrics 4.2.15
* #46 Convert TransactionIdMDC to static API
* #47 API to wrap tasks in MDC-aware context

bootique-mvc

* #3 Mustache template caching and controlled reload
* #24 Mustache templates for "partials" should resolve against "templateBase"
* #25 Unified template resolving mechanism
* #26 Cache template pointers

bootique-shiro

* #36 Upgrade to Shiro 1.11.0
* #37 Support for "jakarta" option in bootique-shiro-web
* #38 Upgrade to Shiro 1.13.0

bootique-swagger

* #35 Remove dependency on jakarta.ws.rs.core.Application
* #38 Support for LocalTime, Year, YearMonth as a API parameters
* #39 Flag to explicitly disable OpenAPI endpoints
* #40 Flag to explicitly disable Swagger console
* #43 Support for ZoneOffset as an API parameter
* #44 OpenAPI model - sort schemas alphabetically
* #45 OpenApiCustomizer - interface to transform the generated model


Reply all
Reply to author
Forward
0 new messages