Releases: microsphere-projects/microsphere-spring-cloud
Releases · microsphere-projects/microsphere-spring-cloud
v0.2.5
What's Changed
Dependency
- Bump
io.github.microsphere-projects:microsphere-spring-bootfrom 0.2.4 to 0.2.5
Documentation
- Removed maintenance badges ("Average time to resolve an issue" and "Percentage of issues still open") from the top of the
README.mdfor a cleaner look.
Build
- Removed the
distributionManagementand customrepositoriessections from the mainpom.xml, simplifying Maven repository configuration.
Refactor
- Fixed an import in
ConditionalOnPropertyEnabledTest.javaby replacing the use oforg.apache.commons.io.IOUtils.lengthwithmicrosphere.util.ArrayUtils.length, ensuring consistent utility usage.
Full Changelog: 0.2.4...0.2.5
v0.1.5
What's Changed
Dependency
- Bump
io.github.microsphere-projects:microsphere-spring-bootfrom 0.1.4 to 0.1.5
Documentation
- Removed maintenance badges ("Average time to resolve an issue" and "Percentage of issues still open") from the top of the
README.mdfor a cleaner look.
Build
- Removed the
distributionManagementand customrepositoriessections from the mainpom.xml, simplifying Maven repository configuration.
Refactor
- Fixed an import in
ConditionalOnPropertyEnabledTest.javaby replacing the use oforg.apache.commons.io.IOUtils.lengthwithmicrosphere.util.ArrayUtils.length, ensuring consistent utility usage.
Full Changelog: 0.1.4...0.1.5
v0.2.4
What's Changed
Spring Cloud Discovery & Registry Enhancements
- Added
DiscoveryUtilsutility class with methods to convert and extract instance maps betweenSimpleDiscoveryPropertiesandSimpleReactiveDiscoveryProperties, improving interoperability between blocking and reactive discovery mechanisms. - Updated
SimpleServiceRegistryto support bothSimpleDiscoveryPropertiesandSimpleReactiveDiscoveryProperties, allowing it to register services regardless of the discovery implementation. - Improved
ReactiveDiscoveryClientAdapterto handle blocking and non-blocking threads safely when converting aFluxto aList, preventing potential runtime issues in reactive contexts.
Spring Cloud Auto-configuration & Constants
- Enhanced
ReactiveDiscoveryClientAutoConfigurationto support proper ordering with new Spring Cloud reactive discovery auto-configuration classes, and updated related constants inDiscoveryClientConstants.
Property and Conditional Annotation Improvements
- Added new property constants for enabling/disabling Spring Cloud LoadBalancer and Util auto-configurations, and introduced the
ConditionalOnUtilEnabledannotation for conditional bean registration based on the new property. - Simplified and clarified the
ConditionalOnFeaturesEnabledannotation to always default tomatchIfMissing = trueand removed redundant code.
Service Instance Utility Improvements
- Added a
setPropertiesmethod toServiceInstanceUtilsfor copying properties between service instances, and improved URI construction to handle default ports when not explicitly set.
Dependency Updates
- Added
spring-cloud-loadbalanceras an optional dependency in the project POM to support load balancing features.
Full Changelog: 0.2.3...0.2.4
v0.1.4
What's Changed
Spring Cloud Discovery & Registry Enhancements
- Added
DiscoveryUtilsutility class with methods to convert and extract instance maps betweenSimpleDiscoveryPropertiesandSimpleReactiveDiscoveryProperties, improving interoperability between blocking and reactive discovery mechanisms. - Updated
SimpleServiceRegistryto support bothSimpleDiscoveryPropertiesandSimpleReactiveDiscoveryProperties, allowing it to register services regardless of the discovery implementation. - Improved
ReactiveDiscoveryClientAdapterto handle blocking and non-blocking threads safely when converting aFluxto aList, preventing potential runtime issues in reactive contexts.
Spring Cloud Auto-configuration & Constants
- Enhanced
ReactiveDiscoveryClientAutoConfigurationto support proper ordering with new Spring Cloud reactive discovery auto-configuration classes, and updated related constants inDiscoveryClientConstants.
Property and Conditional Annotation Improvements
- Added new property constants for enabling/disabling Spring Cloud LoadBalancer and Util auto-configurations, and introduced the
ConditionalOnUtilEnabledannotation for conditional bean registration based on the new property. - Simplified and clarified the
ConditionalOnFeaturesEnabledannotation to always default tomatchIfMissing = trueand removed redundant code.
Service Instance Utility Improvements
- Added a
setPropertiesmethod toServiceInstanceUtilsfor copying properties between service instances, and improved URI construction to handle default ports when not explicitly set.
Dependency Updates
- Added
spring-cloud-loadbalanceras an optional dependency in the project POM to support load balancing features.
Full Changelog: 0.1.3...0.1.4
v0.2.3
What's Changed
Reactive Discovery Client Integration
- Added a new
ReactiveDiscoveryClientAdapterclass that adapts aReactiveDiscoveryClientto theDiscoveryClientinterface, enabling compatibility between reactive and blocking discovery mechanisms. - Introduced
ReactiveDiscoveryClientAutoConfigurationto automatically configure the adapter when aReactiveDiscoveryClientis present, improving ease of use in Spring Boot environments. - Updated
DiscoveryClientConstantsto include the class name forReactiveCommonsClientAutoConfiguration, supporting conditional configuration for the new adapter.
Simple Service Registry Implementation
- Added a new
SimpleServiceRegistryclass that leveragesSimpleDiscoveryPropertiesfor service registration and status management, providing a lightweight registry for local development or testing scenarios. - Enhanced auto-configuration in
SimpleAutoServiceRegistrationAutoConfigurationto ensure it runs afterSimpleDiscoveryClientAutoConfiguration, improving configuration order and reliability.
Metadata Handling Improvements
- Refactored
RegistrationMetaDatato use utility methods (setMetadata,removeMetadata) for updating service registration metadata, improving maintainability and encapsulation.
Full Changelog: 0.2.2...0.2.3
v0.1.3
What's Changed
Reactive Discovery Client Integration
- Added a new
ReactiveDiscoveryClientAdapterclass that adapts aReactiveDiscoveryClientto theDiscoveryClientinterface, enabling compatibility between reactive and blocking discovery mechanisms. - Introduced
ReactiveDiscoveryClientAutoConfigurationto automatically configure the adapter when aReactiveDiscoveryClientis present, improving ease of use in Spring Boot environments. - Updated
DiscoveryClientConstantsto include the class name forReactiveCommonsClientAutoConfiguration, supporting conditional configuration for the new adapter.
Simple Service Registry Implementation
- Added a new
SimpleServiceRegistryclass that leveragesSimpleDiscoveryPropertiesfor service registration and status management, providing a lightweight registry for local development or testing scenarios. - Enhanced auto-configuration in
SimpleAutoServiceRegistrationAutoConfigurationto ensure it runs afterSimpleDiscoveryClientAutoConfiguration, improving configuration order and reliability.
Metadata Handling Improvements
- Refactored
RegistrationMetaDatato use utility methods (setMetadata,removeMetadata) for updating service registration metadata, improving maintainability and encapsulation.
Full Changelog: 0.1.2...0.1.3
v0.2.2
What's Changed
Refactoring
- Removed the custom
toJSONmethod fromServiceInstanceUtilsand its related imports, now relying directly on theWebEndpointMapping.toJSONmethod for serialization. This reduces code duplication and potential maintenance issues. - Updated the usage in
attachMetadatato use a method reference (WebEndpointMapping::toJSON) instead of a lambda, further simplifying the code.
Testing
- Refactored tests to use the updated serialization approach and reorganized the
testParseWebEndpointMappingstest for clarity.
Dependency
- Updated the
microsphere-spring-boot.versionproperty inmicrosphere-spring-cloud-parent/pom.xmlto0.2.4.
CI/CD Workflow
- Changed the Maven profile used in
.github/workflows/maven-publish.ymlfromreleasetopublish, aligning with updated publishing practices.
Full Changelog: 0.2.1...0.2.2
v0.1.2
What's Changed
Refactoring
- Removed the custom
toJSONmethod fromServiceInstanceUtilsand its related imports, now relying directly on theWebEndpointMapping.toJSONmethod for serialization. This reduces code duplication and potential maintenance issues. - Updated the usage in
attachMetadatato use a method reference (WebEndpointMapping::toJSON) instead of a lambda, further simplifying the code.
Testing
- Refactored tests to use the updated serialization approach and reorganized the
testParseWebEndpointMappingstest for clarity.
Dependency
- Updated the
microsphere-spring-boot.versionproperty inmicrosphere-spring-cloud-parent/pom.xmlto0.1.4.
CI/CD Workflow
- Changed the Maven profile used in
.github/workflows/maven-publish.ymlfromreleasetopublish, aligning with updated publishing practices.
Full Changelog: 0.1.1...0.1.2
v0.2.1
What's Changed
Dependency and Compatibility Improvements
- Updated
io.github.microsphere-projects:microsphere-spring-boot-dependenciesto be0.2.3 - Enhanced the
microsphere-spring-cloud-commonsmodule by moving service discovery dependencies (Eureka, Nacos, Zookeeper, Consul) from test scope to optional runtime dependencies, and improved test dependencies by usingspring-boot-starter-testandmicrosphere-spring-test. - Refactored Testcontainers dependency to use
testcontainers-junit-jupiterand improved exclusions for a cleaner test classpath.
Code Quality and Bug Fixes
- Improved the
MultipleRegistrationclass to:- Register all assignable types for each
Registrationinstance, not just the concrete class, ensuring correct delegation and lookup. - Use
assertNotEmptyfor validation and utility methods for class handling.
- Register all assignable types for each
- Fixed a bug in
InMemoryServiceRegistry#getMetadatawhere it now correctly checks for the existence of the instance instead of the storage map. - Refactored annotation usage in
ConditionalOnFeaturesEnabledfor clarity and consistency by using static imports for annotation meta-attributes.
Configuration and Constants Refactoring
- Centralized and documented the DiscoveryClient mode property name in
DiscoveryClientConstants, using the@ConfigurationPropertyannotation for better configuration management and documentation. - Updated references to the DiscoveryClient mode property in auto-configuration to use the new constant, improving maintainability.
Documentation and Community
- Added a detailed
README.mddescribing the project's purpose, supported Spring Cloud versions (now including 2025.x), modules, getting started instructions, contribution guidelines, and documentation links. - Introduced a
CODE_OF_CONDUCT.mdto foster an open and welcoming community, outlining expected behavior and reporting procedures.
Build and CI Enhancements
- Updated the GitHub Actions workflow (
.github/workflows/maven-build.yml) to:- Add Java 25 and Spring Cloud 2025 to the test matrix.
- Integrate Testcontainers Cloud setup.
- Always activate the
testcontainersMaven profile in builds.
Full Changelog: 0.2.0...0.2.1
v0.1.1
What's Changed
Dependency and Compatibility Improvements
- Updated
io.github.microsphere-projects:microsphere-spring-boot-dependenciesto be0.1.3 - Enhanced the
microsphere-spring-cloud-commonsmodule by moving service discovery dependencies (Eureka, Nacos, Zookeeper, Consul) from test scope to optional runtime dependencies, and improved test dependencies by usingspring-boot-starter-testandmicrosphere-spring-test. - Refactored Testcontainers dependency to use
testcontainers-junit-jupiterand improved exclusions for a cleaner test classpath.
Code Quality and Bug Fixes
- Improved the
MultipleRegistrationclass to:- Register all assignable types for each
Registrationinstance, not just the concrete class, ensuring correct delegation and lookup. - Use
assertNotEmptyfor validation and utility methods for class handling.
- Register all assignable types for each
- Fixed a bug in
InMemoryServiceRegistry#getMetadatawhere it now correctly checks for the existence of the instance instead of the storage map. - Refactored annotation usage in
ConditionalOnFeaturesEnabledfor clarity and consistency by using static imports for annotation meta-attributes.
Configuration and Constants Refactoring
- Centralized and documented the DiscoveryClient mode property name in
DiscoveryClientConstants, using the@ConfigurationPropertyannotation for better configuration management and documentation. - Updated references to the DiscoveryClient mode property in auto-configuration to use the new constant, improving maintainability.
Documentation and Community
- Added a detailed
README.mddescribing the project's purpose, modules, getting started instructions, contribution guidelines, and documentation links. - Introduced a
CODE_OF_CONDUCT.mdto foster an open and welcoming community, outlining expected behavior and reporting procedures.
Build and CI Enhancements
- Updated the GitHub Actions workflow (
.github/workflows/maven-build.yml) to:- Add Java 25 to the test matrix.
- Integrate Testcontainers Cloud setup.
- Always activate the
testcontainersMaven profile in builds.
Full Changelog: 0.1.0...0.1.1