Releases: folio-org/folio-spring-support
Release list
v10.0.0
Breaking Changes:
- Migrated from OpenFeign to Spring HTTP Service Clients
- Updated to Spring Boot 4.0.0
- Updated to Jackson 3.x (package changed from
com.fasterxml.jacksontotools.jackson)
Migration Guide: See SPRING_BOOT_4_MIGRATION_GUIDE.md for complete step-by-step migration instructions.
Breaking change, new default: A CQL search in a String field ignores case (= is case insensitive) and ignores accents by default; this is for consistency with RMB based modules. Use the annotations @RespectCase and/or @RespectAccents in the entity class to change this new default. Update database indices accordingly, for example:
DROP INDEX IF EXISTS idx_medreq_requester_barcode;
CREATE INDEX idx_medreq_requester_barcode ON ${database.defaultSchemaName}.mediated_request(lower(f_unaccent(requester_barcode)));
folio-spring-base
- FOLSPRINGS-197 Migrate Log4j plugin registration to annotation processor
- FOLSPRINGS-200 commons-fileupload 1.6.0 fixing DoS from unlimited multipart headers CVE-2025-48976
- FOLSPRINGS-202 change warning log to debug for execution scope not set up message
- FOLSPRINGS-208 Bump Rhino from 1.8.0 to 1.8.1 fixing CVE-2025-66453
- FOLSPRINGS-209 Reduce logging during context switching
- FOLSPRINGS-216 Fix logging context corruption in multithreaded scenarios
- FOLSPRINGS-223 Add tools for migration state handling
- FOLSPRINGS-222 Add support for StringHttpMessageConverter in HttpServiceClientConfiguration
- FOLSPRINGS-225 Support extending http interceptor to create custom rest client builders
- FOLSPRINGS-226 Remove maven-compat dependency
- FOLSPRINGS-217 Add connection pool settings
folio-spring-cql
- FOLSPRINGS-185 Implement case insensitive accents ignoring CQL queries
- FOLSPRINGS-220 Use column name casting to the text for Enum types at CQL
- FOLSPRINGS-221 Support CQL queries on @ElementCollection fields in Cql2JpaCriteria
folio-spring-i18n
- FOLSPRINGS-198 Add support for searching multiple translation directories
folio-spring-system-user
- FOLSPRINGS-195 Add headers parameter to executeSystemUserScoped method
- FOLSPRINGS-201 Deprecate folio-spring-system-user submodule
- FOLSPRINGS-207 Add executeSystemUserScoped method with userId
- MODELINKS-367 Add executeAsyncSystemUserScoped method with userId
folio-spring-tenant-settings
- FOLSPRINGS-210 Add tenant-settings submodule for managing tenant-specific configuration
folio-spring-testing
- FOLSPRINGS-218 Update Kafka and MinIO container images to latest versions
v9.0.3
- FOLSPRINGS-214 Bump Spring Boot from 3.4.3 to 3.4.11 fixing vulns
v9.0.2
folio-spring-base
- FOLSPRINGS-200 commons-fileupload 1.6.0 fixing DoS from unlimited multipart headers CVE-2025-48976
v8.2.4
folio-spring-base
- FOLSPRINGS-200 commons-fileupload 1.6.0 fixing DoS from unlimited multipart headers CVE-2025-48976
v8.2.3
cql submodule
- FOLSPRINGS-185 Implement case insensitive accents ignoring CQL queries - backport, opt in only. To opt in call Cql2JpaCriteria.setCaseAccentsHandlingEnabled(true). Then a CQL search in a
Stringfield ignores case (= is case insensitive) and ignores accents by default; this is for consistency with RMB based modules. Use the annotations@RespectCaseand/or@RespectAccentsin the entity class to change this new default.
When enabling case insensitive and/or accents ignoring CQL queries update database indices accordingly, for example:
DROP INDEX IF EXISTS idx_medreq_requester_barcode;
CREATE INDEX idx_medreq_requester_barcode ON ${database.defaultSchemaName}.mediated_request(lower(f_unaccent(requester_barcode)));
v9.0.1
cql submodule
- FOLSPRINGS-185 Implement case insensitive accents ignoring CQL queries - backport, opt in only. To opt in call Cql2JpaCriteria.setCaseAccentsHandlingEnabled(true). Then a CQL search in a
Stringfield ignores case (= is case insensitive) and ignores accents by default; this is for consistency with RMB based modules. Use the annotations@RespectCaseand/or@RespectAccentsin the entity class to change this new default.
When enabling case insensitive and/or accents ignoring CQL queries you need to update database indices accordingly,
for example:
DROP INDEX IF EXISTS idx_medreq_requester_barcode;
CREATE INDEX idx_medreq_requester_barcode ON ${database.defaultSchemaName}.mediated_request(lower(f_unaccent(requester_barcode)));
For test code that executes SQL you may need to add f_unaccent database method. Example: jpa-cql-general-it-schema.sql, @Sql
v9.0.0
- FOLSPRINGS-188 Upgrade to Java 21
- FOLSPRINGS-178 spring-cloud-starter-openfeign 4.1.4 fixing spring-security-crypto Authorization Bypass
folio-spring-system-user
- FOLSPRINGS-180 Token expiration off by 1 minute in test
- FOLSPRINGS-183 Improve resiliency of system user operations; auto-reactivate inactive system users; automatically refresh system user tokens on RTR expiration
Upgrade instructions
In the module descriptor add users.item.put to the modulePermissions list of the POST /_/tenant endpoint (FOLSPRINGS-183).
v8.2.2
- FOLSPRINGS-174 x-okapi-tenant header duplication
- FOLSPRINGS-178 spring-cloud-starter-openfeign 4.1.4 fixing spring-security-crypto Authorization Bypass
- FOLSPRINGS-181 Upgrade Spring Boot from 3.3.4 to 3.3.6 fixing vulns
folio-spring-system-user
- FOLSPRINGS-179 Fix error message: Cannot retrieve okapi token for tenant: <username>
v8.2.1
- FOLSPRINGS-171 i18n Use concurrent maps and synchronized methods where necessary
v8.2.0
Common
- FOLSPRINGS-164 Add "Update NEWS.md" to PULL_REQUEST_TEMPLATE.md
Testing submodule
- FOLSPRINGB-152 Implement TESTCONTAINERS_POSTGRES_IMAGE
- FOLSPRINGS-166 Upgrade classgraph dependency from 4.8.90 to 4.8.175 fixing CVE-2021-47621
System user submodule
- FOLSPRINGS-157 Add missing property to authn client, to allow for
fail-on-unknown-propertiesin consuming modules
i18n submodule
- FOLSPRINGB-160 Make translation service accept multiple keys
- FOLSPRINGS-163 Wrong Locale in TranslationService and TranslationMap
- FOLSPRINGS-169 Add additional convenience methods for providing locales, timezones, and using non-predefined templates