Andrus Adamchik
unread,Nov 21, 2023, 6:23:24 PM11/21/23Sign 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
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