All notable changes to this project will be documented in this file, which loosely follows the guidelines on Keep a CHANGELOG.
This project adheres to Semantic Versioning.
- TimerServiceManager now returns created Timer
- Updated version to 17.104.x for the new framework E
- Updated file-service to 17.104.0-M1
- New module
framework-libraries-versionthat contains a maven generated json file that has this project's version number
- Updated to latest common-bom for latest third party security fixes:
- Update commons.beanutils version to 1.11.0 to fix security vulnerability CVE-2025-48734 Detail: https://cwe.mitre.org/data/definitions/284.html
- Update resteasy version to 3.15.5.Final to fix security vulnerability CVE-2023-0482 Detail: https://cwe.mitre.org/data/definitions/378.html
- Update classgraph version to 4.8.112 to fix security vulnerability CVE-2021-47621 Detail: https://cwe.mitre.org/data/definitions/611.html
- Update commons-lang version to 3.18.0 to fix security vulnerability CVE-2025-48924 Detail: https://cwe.mitre.org/data/definitions/674.html
- Moved file-service modules to separate git repo hmcts/cp-file-service
- Replaced file-service dependencies with file-service-bom 17.103.0 import
- Moved prometheus metrics to cpp-platform-libraries in with the new azure metrics
- Add dependencies for Micometer Metrics 1.15.0
- Extended RestPoller to include custom PollInterval implementation and introduced FibonacciPollWithStartAndMax class
- Update common-bom in order to:
- Add dependency for commons-codec 1.17.2
- Bumped version to 17.102.x for next release version
- Add dependency for org.ow2.asm version 9.3 (through maven-common-bom)
- Update maven-parent-pom to 17.101.0
- Update postgresql.driver.version to 42.3.2 (through maven-parent-pom)
- Update maven-common-bom to 17.101.1
- Update com.jayway.json-path to version 2.9.0 to fix security vulnerability CWE-787 Detail: https://cwe.mitre.org/data/definitions/787.html (through maven-common-bom)
- Update commons.io to 2.18.0 to fix security vulnerability CVE-2024-47554 Detail: https://nvd.nist.gov/vuln/detail/CVE-2024-47554 and https://cwe.mitre.org/data/definitions/400.html
- Expose prometheus metrics through /internal/metrics/prometheus endpoint
- Provide timerRegistrar bean to register timer with metricsRegistry
- Add 'liquibase.analytics.enabled: false' to all liquibase.properties files to
stop liquibase collecting anonymous analytics if we should ever upgrade to liquibase
4.30.0 or greater. Details can be found here: https://www.liquibase.com/blog/product-update-liquibase-now-collects-anonymous-usage-analytics
- Split filestore
contenttables back into two tables ofmetadataandcontentto allow for backwards compatibility with liquibase
- Temporarily removed the method to purge a limited number of files older than a certain date
- New method 'payloadIsNull()' on JsonEnvelope interface, to check if the payload is JsonValue.NULL
- Fixed the percentage of times that HIGH, MEDIUM and LOW priority jobs are run
- Fixed test library accidentally put on compile scope
- Improved the fetching of jobs by priority from the jobstore by retrying with a different priority if the first select returns no jobs
- Refactor of File Store:
- Merged file store 'metadata' table into the 'content' table. File Store now only contains one table
- New liquibase script to:
- add metadata columns to content table
- copy all metadata data from the old metadata table into the content table
- drop the metadata table
- Re-introduce 'soft' delete of files in file store. 'deleted' files now have a 'deleted_at' column.
- Added new 'purgeOldestSoftDeletedFiles()' method on the file store'
- Add liquibase sqls to migrate job table data to align with new job retries implementation
- Update jobstore to process tasks with higher priority first
- Fix for Jackson single argument constructor issue inspired from FasterXML/jackson-databind#1498
- Moved job-store datasource providers to common module
- Update common-bom to 17.6.1 in order to:
- Add dependency for weld-junit5 1.2.2.Final
- Add dependency for org.owasp.encoder 1.2.3
- Add liquibase sqls to migrate job table data to align with new job retries implementation
- Date deleted column to the file store content table
- Add retry mechanism to jobstore
- Change file store to soft delete files in the content table
- Remove the ability for the jobstore to support multiple databases with differing sql syntax. Jobstore is now postgres only, to match the rest of the framework code
- Update common-bom to 17.2.1
- Added dependencies required by various contexts to the framework-libraries-common-bom
- Centralise all generic library dependencies and versions into maven-common-bom
- Update common-bom to 17.2.0
- Removed dependency on apache-drools as it's not used by any of the framework code
- Update common-bom to fix various security vulnerabilities in org.json, plexus-codehaus, apache-tika and google-guava
- Update to JUnit 5
- Update junit dependencies
- Cucumber to 7.12.1
- Mockito to 5.3.1
- Openejb to 9.1.0
- Update surefire and failsafe plugins
- Update org.json to version 20230227 to fix security vulnerability CVE-2022-45688 Detail: https://nvd.nist.gov/vuln/detail/CVE-2022-45688
- Removed unnecessary logging of 'skipping generation' message in pojo generator
- Update to Java 17
- Make pojo generator to perform null safe assignment of additionalProperties inside constructor
- Change 'additionalProperties' Map in generated pojos to HashMap to allow serialization
- Update maven-common-bom to version 17.0.0
- UtcClock.now() now always truncates the time to milliseconds
- Remove illegal-access argument from surefire plugin from plugin management (through maven-parent-pom 17.0.0)
- Remove illegal-access argument from surefire plugin
- Downgraded maven minimum version to 3.3.9 until the pipeline maven version is updated
- Add cover all token to travis settings
- Update to Java 11
- Change from
com.jayway.restassured.path.json.JsonPathtoio.restassured.path.json.JsonPath - replace org.reflections with classgraph for classpath scanning in the generators
- Jaxb libraries needed for java 11 as they're no longer included by default
- com.sun.xml.bind:jaxb-core
- javax.xml.bind:jaxb-api
- com.sun.xml.bind:jaxb-impl
- Change from
- Bumped version to 11.0.0 to match the new framework version
- Update to JEE 8
- DeadLetterQueueBrowser now has
- A default name of
jms.queue.DLQrather than the original name ofDLQ - A new constructor to pass the name in if you don't want the default name
- A default name of
- MessageConsumerClient is now idempotent when calling
startConsumer(...) - Updated API path for alfresco read material endpoint
- Removed strict checking of liquibase.properties files
- Updated to log4j 2; all dependencies on log4j 1 removed
- Cherry-picked from java 8
- Changed the file service to make hard delete of files from postgres on delete rather than just marking them as deleted
- Updated maven to always run the integration tests as part of the build
- Removed support for in memory databases for filestore. Postgres is now required
- New builder
MessageConsumerClientBuilderthat allows ActiveMQ connection parameters to be specified - Added healthcheck api classes as a new module
- Added healthcheck api libraries to bom
- New integration test in pojo generators to test using a unique package name for dependant objects
- Removed hard dependency on javaee-api in jobstore to prevent the setting javaee-api.jar in context wars
- Moved EmptyFeatureFetcher to microservices-framework
- Added a default version of the FeatureFetcher that returns an empty list of Features to allow integration tests to run
- Moved timer bean utilities in from event-store
- Added support for FeatureControl annotations for feature-toggling code as enabled/disabled
- Builders of generated pojos now have a
withValuesFrom(...)method to allow the builder to be initialised with the values of another pojo instance
- Change import of
org.junit.Assert.assertThattoorg.hamcrest.MatcherAssert.assertThatas it's now deprecated in Junit
- Security updates to apache.tika, commons.beanutils, commons.guava and junit in common-bom
- Updated common-bom to 7.1.1
- New LazyValue class to fetch values using a java Supplier and caches for future access
- Removed logging of Resource URL scanning message during maven build
- Annotation validation plugin now accepts event names that start with
administration.eventsas well as<service-name>.events
- Updated parent maven-framework-parent-pom to version 2.0.0
- Updated maven-common-bom version to 7.1.0
- Moved to new Cloudsmith.io repository for hosting maven artifacts
- Updated encrypted properties in travis.yaml to point to cloudsmith
JsonObjectToObjectConverter,ObjectToJsonObjectConverterandObjectToJsonValueConverter
removed from CDI and are now injected using a producer:JsonObjectConvertersProducer
- Now test utility class
JsonObjectConvertersFactoryto allow these classes to easily be used in tests
- Separate audit jms connection factory
- New annotation
ConnectionFactoryNameto allow a separate message broked to be specified for auditing
- Pojo generator now handles Optionals correctly:
- Any getter of an Optional field will return Optional.empty() if the field is null
- 'with' methods in builders are overloaded for Optional fields to take both the raw Object and an Optional
- Updated common bom to 7.0.3
- Removed wiremock-service sub project, keeping it external instead
- Added File Service Alfresco as a sub module
- Combined the domain-test-dsl repo into framework-libraries
- Combined the wiremock-service repo into framework-libraries
- Removed framework-generators from the bom's dependency management
- Moved Embedded Artemis dependencies to maven-common-bom
- Updated maven-plugin-plugin version to 3.6.0
- Combined the annotation-validator-maven-plugin repo into framework-libraries
- Combined the embedded-artemis repo into framework-libraries
- Updated sub-project's README.md to point to their old locations
- Set framework-utilities version to 7.0.1
- Set framework-utilities version to 7.0.0
- Combined the following repos into framework-libraries file-service generator-maven-plugin job-manager json-schema-catalog json-transformer jsonschema-pojo-generator raml-maven
- file-service 1.17.13: now set to version 7.0.0
- generator-maven-plugin 2.7.3: now set to version 7.0.0
- job-manager 4.3.2: now set to version 7.0.0
- json-schema-catalog 1.7.6: now set to version 7.0.0
- json-transformer 1.0.10: now set to version 7.0.0
- jsonschema-pojo-generator 1.7.6: now set to version 7.0.0
- raml-maven 1.6.9: now set to version 7.0.0