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)));
- 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
- 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
- FOLSPRINGS-198 Add support for searching multiple translation directories
- 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
- FOLSPRINGS-210 Add tenant-settings submodule for managing tenant-specific configuration
- FOLSPRINGS-218 Update Kafka and MinIO container images to latest versions
- FOLSPRINGS-188 Upgrade to Java 21
- FOLSPRINGS-178 spring-cloud-starter-openfeign 4.1.4 fixing spring-security-crypto Authorization Bypass
- 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
In the module descriptor add users.item.put to the modulePermissions list of the POST /_/tenant endpoint (FOLSPRINGS-183).
- FOLSPRINGS-172 Bump to postgres:16-alpine, suggest adding .github/workflows/postgres.yml
- FOLSPRINGS-179 Fix error message: Cannot retrieve okapi token for tenant: <username>
- FOLSPRINGS-164 Add "Update NEWS.md" to PULL_REQUEST_TEMPLATE.md
- FOLSPRINGB-152 Implement TESTCONTAINERS_POSTGRES_IMAGE
- FOLSPRINGS-166 Upgrade classgraph dependency from 4.8.90 to 4.8.175 fixing CVE-2021-47621
- FOLSPRINGS-157 Add missing property to authn client, to allow for
fail-on-unknown-propertiesin consuming modules
- 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
- FOLSPRINGB-144 Add support for filtering by undefined field value
- FOLSPRINGB-148 Add Minio extension for testing submodule
- FOLSPRINGB-128 System User POC
- FOLSPRINGB-139 Pass Accept-Language header in Feign clients
- FOLSPRINGB-140 Add Testing Submodule for Test Management
- FOLSPRINGB-141 Upgrade deps for Quesnelia
- FOLSPRINGB-142 Add support for Timestamp type field in Cql query
- FOLSPRINGB-138 Use more resilient method for translation module name extraction
- FOLSPRINGB-137 TranslationService javadoc: cannot find symbol onConstructor_ = @Autowired
- FOLSPRINGB-134 Create centralized internationalization library
- FOLSPRINGB-132 Use half of access token expiration as user cache expiration
- FOLSPRINGB-126 Reject empty and null system user password
- FOLSPRINGB-127 Update existing system-user credentials based on provided system user environment
- FOLSPRINGB-130 Dependencies update: Spring Boot 3.1.5, Spring Cloud Openfeign 4.0.4
- FOLSPRINGB-115 Add submodule for creating and utilizing system-user
- FOLSPRINGB-118 Implement refresh token rotation method for edge module
- FOLSPRINGB-96 Add executeWithinContext method
- FOLSPRINGB-106 Implementation for store/restore of FolioExecutionContext
- FOLSPRINGB-108 Upgrade dependencies for Poppy, fix vulnerabilities
- FOLSPRINGB-104 Split CQL support into a separate artifact
- FOLSPRINGB-95 non-public beginFolioExecutionContext avoids wrong tenant/user
- FOLSPRINGB-99 Add support for filtering by date range in JpaCqlRepository
- FOLSPRINGB-94 Broken queryByLike masking, SQL injection
- #bb353da Fix issue with the race condition with CqlParser shared object
- FOLSPRINGB-89 postgresql 42.5.3 (SocketException: Too many open files)
- FOLSPRINGB-45 Improve logging
- FOLSPRINGB-81 Migration to Spring Boot v3.0.2
- Support for async execution using correct instance of FolioExecutionContext
- Update to Java 17
- FOLSPRINGB-58 Async FolioExecutionContext helper
- FOLSPRINGB-72 Fixed fails if limit <= number of results on CQL-search
Breaking change: Replace calls to FolioExecutionScopeExecutionContextManager.beginFolioExecutionContext and FolioExecutionScopeExecutionContextManager.endFolioExecutionContext with FolioExecutionContextSetter usage.
- FOLSPRINGB-52 Spring Boot 2.7.x for Morning Glory R2 2022
- FOLSPRINGB-53 Upgrade rhino and plexus-utils (CVE-2017-1000487)
- FOLSPRINGB-42 Spring Boot 2.6.3, log4j-core 2.17.1 (CVE-2021-44832)
- FOLSPRINGB-41 Added event methods to allow custom module logic on
/_/tenant
- FOLSPRINGB-17 Migrate to Tenant API v2.0
- FOLSPRINGB-32 Upgrade to Spring Boot v2.6.2
- FOLSPRINGB-19 Setup default logging
- FOLSPRINGB-21 Add CQL support
- FOLSPRINGB-23 Remove deprecated method getUserName() from FolioExecutionContext
- FOLSPRINGB-25 Upgrade Spring Boot to v2.5.2
- FOLSPRINGB-15 Use x-okapi-user-id header to populate userId
- FOLSPRINGB-14 Fetch userId and userName from
x-okapi-token
- FOLSPRINGB-13 Don't require x-okapi-tenant for admin endpoints
- FOLSPRINGB-11 Fix issue with unsatisfied dependency
- Fix spring data source adviser for proxy classes
- Correct handling for Constraint Violation exceptions
- Add equals()/hashCode()/toString() to OffsetRequest
- Spring boot log4j2 dependency
- Initial module setup