Skip to content

Releases: microsphere-projects/microsphere-spring-cloud

v0.2.5

07 Nov 14:53
a4f33a7

Choose a tag to compare

What's Changed

Dependency

  • Bump io.github.microsphere-projects:microsphere-spring-boot from 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.md for a cleaner look.

Build

  • Removed the distributionManagement and custom repositories sections from the main pom.xml, simplifying Maven repository configuration.

Refactor

  • Fixed an import in ConditionalOnPropertyEnabledTest.java by replacing the use of org.apache.commons.io.IOUtils.length with microsphere.util.ArrayUtils.length, ensuring consistent utility usage.

Full Changelog: 0.2.4...0.2.5

v0.1.5

07 Nov 14:53
e863806

Choose a tag to compare

What's Changed

Dependency

  • Bump io.github.microsphere-projects:microsphere-spring-boot from 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.md for a cleaner look.

Build

  • Removed the distributionManagement and custom repositories sections from the main pom.xml, simplifying Maven repository configuration.

Refactor

  • Fixed an import in ConditionalOnPropertyEnabledTest.java by replacing the use of org.apache.commons.io.IOUtils.length with microsphere.util.ArrayUtils.length, ensuring consistent utility usage.

Full Changelog: 0.1.4...0.1.5

v0.2.4

31 Oct 11:30
fd1d5cd

Choose a tag to compare

What's Changed

Spring Cloud Discovery & Registry Enhancements

  • Added DiscoveryUtils utility class with methods to convert and extract instance maps between SimpleDiscoveryProperties and SimpleReactiveDiscoveryProperties, improving interoperability between blocking and reactive discovery mechanisms.
  • Updated SimpleServiceRegistry to support both SimpleDiscoveryProperties and SimpleReactiveDiscoveryProperties, allowing it to register services regardless of the discovery implementation.
  • Improved ReactiveDiscoveryClientAdapter to handle blocking and non-blocking threads safely when converting a Flux to a List, preventing potential runtime issues in reactive contexts.

Spring Cloud Auto-configuration & Constants

  • Enhanced ReactiveDiscoveryClientAutoConfiguration to support proper ordering with new Spring Cloud reactive discovery auto-configuration classes, and updated related constants in DiscoveryClientConstants.

Property and Conditional Annotation Improvements

  • Added new property constants for enabling/disabling Spring Cloud LoadBalancer and Util auto-configurations, and introduced the ConditionalOnUtilEnabled annotation for conditional bean registration based on the new property.
  • Simplified and clarified the ConditionalOnFeaturesEnabled annotation to always default to matchIfMissing = true and removed redundant code.

Service Instance Utility Improvements

  • Added a setProperties method to ServiceInstanceUtils for copying properties between service instances, and improved URI construction to handle default ports when not explicitly set.

Dependency Updates

  • Added spring-cloud-loadbalancer as an optional dependency in the project POM to support load balancing features.

Full Changelog: 0.2.3...0.2.4

v0.1.4

31 Oct 11:32
d05e8d0

Choose a tag to compare

What's Changed

Spring Cloud Discovery & Registry Enhancements

  • Added DiscoveryUtils utility class with methods to convert and extract instance maps between SimpleDiscoveryProperties and SimpleReactiveDiscoveryProperties, improving interoperability between blocking and reactive discovery mechanisms.
  • Updated SimpleServiceRegistry to support both SimpleDiscoveryProperties and SimpleReactiveDiscoveryProperties, allowing it to register services regardless of the discovery implementation.
  • Improved ReactiveDiscoveryClientAdapter to handle blocking and non-blocking threads safely when converting a Flux to a List, preventing potential runtime issues in reactive contexts.

Spring Cloud Auto-configuration & Constants

  • Enhanced ReactiveDiscoveryClientAutoConfiguration to support proper ordering with new Spring Cloud reactive discovery auto-configuration classes, and updated related constants in DiscoveryClientConstants.

Property and Conditional Annotation Improvements

  • Added new property constants for enabling/disabling Spring Cloud LoadBalancer and Util auto-configurations, and introduced the ConditionalOnUtilEnabled annotation for conditional bean registration based on the new property.
  • Simplified and clarified the ConditionalOnFeaturesEnabled annotation to always default to matchIfMissing = true and removed redundant code.

Service Instance Utility Improvements

  • Added a setProperties method to ServiceInstanceUtils for copying properties between service instances, and improved URI construction to handle default ports when not explicitly set.

Dependency Updates

  • Added spring-cloud-loadbalancer as an optional dependency in the project POM to support load balancing features.

Full Changelog: 0.1.3...0.1.4

v0.2.3

30 Oct 13:53
cd3f92e

Choose a tag to compare

What's Changed

Reactive Discovery Client Integration

  • Added a new ReactiveDiscoveryClientAdapter class that adapts a ReactiveDiscoveryClient to the DiscoveryClient interface, enabling compatibility between reactive and blocking discovery mechanisms.
  • Introduced ReactiveDiscoveryClientAutoConfiguration to automatically configure the adapter when a ReactiveDiscoveryClient is present, improving ease of use in Spring Boot environments.
  • Updated DiscoveryClientConstants to include the class name for ReactiveCommonsClientAutoConfiguration, supporting conditional configuration for the new adapter.

Simple Service Registry Implementation

  • Added a new SimpleServiceRegistry class that leverages SimpleDiscoveryProperties for service registration and status management, providing a lightweight registry for local development or testing scenarios.
  • Enhanced auto-configuration in SimpleAutoServiceRegistrationAutoConfiguration to ensure it runs after SimpleDiscoveryClientAutoConfiguration, improving configuration order and reliability.

Metadata Handling Improvements

  • Refactored RegistrationMetaData to 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

30 Oct 13:54
336c90e

Choose a tag to compare

What's Changed

Reactive Discovery Client Integration

  • Added a new ReactiveDiscoveryClientAdapter class that adapts a ReactiveDiscoveryClient to the DiscoveryClient interface, enabling compatibility between reactive and blocking discovery mechanisms.
  • Introduced ReactiveDiscoveryClientAutoConfiguration to automatically configure the adapter when a ReactiveDiscoveryClient is present, improving ease of use in Spring Boot environments.
  • Updated DiscoveryClientConstants to include the class name for ReactiveCommonsClientAutoConfiguration, supporting conditional configuration for the new adapter.

Simple Service Registry Implementation

  • Added a new SimpleServiceRegistry class that leverages SimpleDiscoveryProperties for service registration and status management, providing a lightweight registry for local development or testing scenarios.
  • Enhanced auto-configuration in SimpleAutoServiceRegistrationAutoConfiguration to ensure it runs after SimpleDiscoveryClientAutoConfiguration, improving configuration order and reliability.

Metadata Handling Improvements

  • Refactored RegistrationMetaData to 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

27 Oct 09:12
ad94ce2

Choose a tag to compare

What's Changed

Refactoring

  • Removed the custom toJSON method from ServiceInstanceUtils and its related imports, now relying directly on the WebEndpointMapping.toJSON method for serialization. This reduces code duplication and potential maintenance issues.
  • Updated the usage in attachMetadata to 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 testParseWebEndpointMappings test for clarity.

Dependency

  • Updated the microsphere-spring-boot.version property in microsphere-spring-cloud-parent/pom.xml to 0.2.4.

CI/CD Workflow

  • Changed the Maven profile used in .github/workflows/maven-publish.yml from release to publish, aligning with updated publishing practices.

Full Changelog: 0.2.1...0.2.2

v0.1.2

27 Oct 09:12
395cfd3

Choose a tag to compare

What's Changed

Refactoring

  • Removed the custom toJSON method from ServiceInstanceUtils and its related imports, now relying directly on the WebEndpointMapping.toJSON method for serialization. This reduces code duplication and potential maintenance issues.
  • Updated the usage in attachMetadata to 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 testParseWebEndpointMappings test for clarity.

Dependency

  • Updated the microsphere-spring-boot.version property in microsphere-spring-cloud-parent/pom.xml to 0.1.4.

CI/CD Workflow

  • Changed the Maven profile used in .github/workflows/maven-publish.yml from release to publish, aligning with updated publishing practices.

Full Changelog: 0.1.1...0.1.2

v0.2.1

26 Oct 10:02
72d32aa

Choose a tag to compare

What's Changed

Dependency and Compatibility Improvements

  • Updated io.github.microsphere-projects:microsphere-spring-boot-dependencies to be 0.2.3
  • Enhanced the microsphere-spring-cloud-commons module by moving service discovery dependencies (Eureka, Nacos, Zookeeper, Consul) from test scope to optional runtime dependencies, and improved test dependencies by using spring-boot-starter-test and microsphere-spring-test.
  • Refactored Testcontainers dependency to use testcontainers-junit-jupiter and improved exclusions for a cleaner test classpath.

Code Quality and Bug Fixes

  • Improved the MultipleRegistration class to:
    • Register all assignable types for each Registration instance, not just the concrete class, ensuring correct delegation and lookup.
    • Use assertNotEmpty for validation and utility methods for class handling.
  • Fixed a bug in InMemoryServiceRegistry#getMetadata where it now correctly checks for the existence of the instance instead of the storage map.
  • Refactored annotation usage in ConditionalOnFeaturesEnabled for 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 @ConfigurationProperty annotation 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.md describing 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.md to 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 testcontainers Maven profile in builds.

Full Changelog: 0.2.0...0.2.1

v0.1.1

26 Oct 10:04
83d805c

Choose a tag to compare

What's Changed

Dependency and Compatibility Improvements

  • Updated io.github.microsphere-projects:microsphere-spring-boot-dependencies to be 0.1.3
  • Enhanced the microsphere-spring-cloud-commons module by moving service discovery dependencies (Eureka, Nacos, Zookeeper, Consul) from test scope to optional runtime dependencies, and improved test dependencies by using spring-boot-starter-test and microsphere-spring-test.
  • Refactored Testcontainers dependency to use testcontainers-junit-jupiter and improved exclusions for a cleaner test classpath.

Code Quality and Bug Fixes

  • Improved the MultipleRegistration class to:
    • Register all assignable types for each Registration instance, not just the concrete class, ensuring correct delegation and lookup.
    • Use assertNotEmpty for validation and utility methods for class handling.
  • Fixed a bug in InMemoryServiceRegistry#getMetadata where it now correctly checks for the existence of the instance instead of the storage map.
  • Refactored annotation usage in ConditionalOnFeaturesEnabled for 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 @ConfigurationProperty annotation 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.md describing the project's purpose, modules, getting started instructions, contribution guidelines, and documentation links.
  • Introduced a CODE_OF_CONDUCT.md to 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 testcontainers Maven profile in builds.

Full Changelog: 0.1.0...0.1.1