All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.1.0 - 2026-04-17
This release reduces boilerplate by enabling service identification, automatic delegate generation from enums/fields/methods, and flexible batch method signatures.
- Add backend method for backends that do not support direct reloading #564
- Add service retrieval by ID #317
- Add custom signature of batch method #322
- Add generation of batch provider #161
- Add topLevelClassName mustache template variable #566
- Add support of types representable as String to ServiceId annotation #325
- Add generation of service delegates from fields and methods #567
- Add generation of service delegates from enum values #568
- Modify annotations retention to CLASS to enable new features #561
- Fix duplicates in META-INF services files #569
2.0.0 - 2026-04-02
This major release simplifies usage by removing deprecated properties and features. It also introduces a builder pattern for the loader, enabling greater flexibility in configuration and supporting future enhancements.
- Migrate OSSRH to Central Portal
- Remove
singletonproperty to avoid class loading issues - Remove
noFallbackproperty (useSuppressWarningsannotation instead) - Remove
batchandbatchNameproperties (usebatchTypeproperty instead) - Remove
wrapperproperty (will be replaced by a dedicated annotation in the future) - Remove
preprocessingproperty (use annotation-based preprocessing instead) - Remove
mutabilityproperty - Remove
backendandcleanerproperties (use builder pattern instead) - Remove internal caching since default backend does it already
- Replace loader constructor with a builder pattern to allow more flexibility
1.9.0 - 2024-02-06
- Replace noFallback property with SuppressWarnings annotation #321
1.8.0 - 2024-01-31
- Add regex pattern to ServiceId annotation #253
- Fix missing checks on annotations ServiceId, ServiceFilter and ServiceSorter #245
1.7.0 - 2023-06-26
- Add ServiceId annotation #244
- Improve tests, documentation and error reporting
1.6.1 - 2023-04-13
- Order providers in ClassPath to simplify debugging #218
- Validate providers in ClassPath to raise problems at compile time instead of runtime #219
- Replace antlr4 with javaparser to handle module-info content
- Fix parsing of imports that end with asterisk #223
1.6.0 - 2023-03-23
- Add property to disable warning on missing fallback #208
- Fix batch reloading #129
1.5.3 - 2023-03-21
1.5.2 - 2022-10-28
- Fix dependency inheritance in BOM
1.5.1 - 2022-03-31
- Fix code generation on nested types
1.5.0 - 2022-03-30
- Fix multi round processing of ServiceProvider
1.4.0 - 2021-05-20
- Add custom service loader #74
- Fix possible collision in shadedPattern
1.3.2 - 2021-03-19
- Migration to Maven-Central
- Breaking change: Maven groupId is now
com.github.nbbrd.java-service-util
1.3.0 - 2020-03-30
- Added
@ServiceDefinition#wrapperas basic preprocessing mapper
1.2.1 - 2019-10-18
- Fixed NPE in
ClassPathRegistry#getRelativeName(Name)with some JDK
1.2.0 - 2019-10-16
- Added examples
- Added
load()shortcut for local immutable instance - Added
reset()method alongsidereload()method - Added
ServiceFilterandServiceSorterannotations to simplify preprocessor - Improved checks at compile time
1.1.0 - 2019-08-27
- Added
ServiceDefinitionannotation & processor to generate specialized service loader - Added detection of implicit service type
- Set processor as a shaded jar to minimize dependencies
- Fixed "supported source version" warning
- Fixed detection of static
provider()method
1.0.2 - 2019-08-13
- Fixed detection of services with generic parameters
1.0.1 - 2019-08-08
- Fixed providers binary names in classpath service files
1.0.0 - 2019-08-08
- Initial release