Skip to content

Releases: smallrye/smallrye-stork

2.6.0

27 Feb 11:41
Compare
Choose a tag to compare

⛮ Misc

  • [#785] - Add specific unit test class for the StorkConfigUtils class
  • [#783] - Document how to use microprofile config dependency and an example
  • [#782] - Support Spring boot configuration

🚨 Breaking Changes

Change Justification
field microprofile.MicroProfileConfigProvider.LOAD_BALANCER has been removed Moved to stork-core io.smallrye.stork.utils.StorkConfigUtils.LOAD_BALANCER
field microprofile.MicroProfileConfigProvider.LOAD_BALANCER_EMBEDDED has been removed Moved to stork-core io.smallrye.stork.utils.StorkConfigUtils.LOAD_BALANCER_EMBEDDED
field microprofile.MicroProfileConfigProvider.SERVICE_DISCOVERY has been removed Moved to stork-core io.smallrye.stork.utils.StorkConfigUtils.SERVICE_DISCOVERY
field microprofile.MicroProfileConfigProvider.SERVICE_DISCOVERY_EMBEDDED has been removed Moved to stork-core io.smallrye.stork.utils.StorkConfigUtils.SERVICE_DISCOVERY_EMBEDDED
field microprofile.MicroProfileConfigProvider.SERVICE_REGISTRAR has been removed Moved to stork-core io.smallrye.stork.utils.StorkConfigUtils.SERVICE_REGISTRAR
field microprofile.MicroProfileConfigProvider.SERVICE_REGISTRAR_EMBEDDED has been removed Moved to stork-core io.smallrye.stork.utils.StorkConfigUtils.SERVICE_REGISTRAR_EMBEDDED

2.5.0

02 Jan 16:03
Compare
Choose a tag to compare

🔧 Dependency Upgrades

  • [#746] - Bump org.assertj:assertj-core from 3.24.2 to 3.25.0
  • [#744] - Bump version.slf4j from 2.0.9 to 2.0.10
  • [#743] - Bump com.fasterxml.jackson:jackson-bom from 2.16.0 to 2.16.1
  • [#742] - Bump io.smallrye.config:smallrye-config from 3.4.4 to 3.5.0

⛮ Misc

  • [#747] - Bump Vert.x to version 4.5.1

🚨 Breaking Changes

Change Justification
method void Service::<init>(String, LoadBalancer, ServiceDiscovery, ServiceRegistrar, boolean) updated to method void Service::<init>(String, String, String, observability.ObservationCollector, LoadBalancer, ServiceDiscovery, ServiceRegistrar<?>, boolean) Implementing observability

2.4.0

11 Oct 14:10
Compare
Choose a tag to compare

🫧 Enhancements

  • [#63] - Add a way to expose statistics to Metrics

🚨 Breaking Changes

Change Justification
method void Service::<init>(String, LoadBalancer, ServiceDiscovery, ServiceRegistrar, boolean) updated to method void Service::<init>(String, String, String, observability.ObservationCollector, LoadBalancer, ServiceDiscovery, ServiceRegistrar<?>, boolean) Implementing observability

2.3.2

26 Jul 06:38
Compare
Choose a tag to compare

🪲 Bug Fixes

  • [#626] - Code listings blank when viewing web docs

2.2.1

13 Jul 14:40
Compare
Choose a tag to compare

🪲 Bug Fixes

  • [#373] - Refresh-period not triggering any periodic discovery

2.3.1

12 Jul 10:18
Compare
Choose a tag to compare

🪲 Bug Fixes

  • [#373] - Refresh-period not triggering any periodic discovery

⛮ Misc

  • [#611] - Configure watcher with namespaces and align tests

2.3.0

28 Jun 10:59
Compare
Choose a tag to compare

🫧 Enhancements

  • [#549] - 🦈 add resolve-srv option 🦈
  • [#548] - Allow DNS SRV skip resolve

⛮ Misc

  • [#606] - Allow to start without any address configured in static-list service
  • [#575] - Allow scheme in URL

🚨 Breaking Changes

Change Justification
method Optional<String> ServiceInstance::getPath() has been introduced New method to handle API gateways
method void Service::<init>(String, LoadBalancer, ServiceDiscovery, boolean) updated to method void Service::<init>(String, LoadBalancer, ServiceDiscovery, ServiceRegistrar, boolean) Service Registrar is now part of the Service
method ConfigWithType ServiceConfig::serviceRegistrar() has been introduced Registrar included in the service configuration
method List<ServiceRegistrarConfig> .ConfigProvider::getRegistrarConfigs() has been removed Registrar configuration is now part of configs
parameter ServiceRegistrar<MetadataKeyType> internal.ServiceRegistrarLoader<MetadataKeyType extends Enum<MetadataKeyType> & MetadataKey>::createServiceRegistrar(===ServiceRegistrarConfig===, StorkInfrastructure) updated to parameter ServiceRegistrar<MetadataKeyType> internal.ServiceRegistrarLoader<MetadataKeyType extends Enum<MetadataKeyType> & MetadataKey>::createServiceRegistrar(===ConfigWithType===, StorkInfrastructure) Use the ConfigWithType more generic type for registrars.
method ServiceRegistrar<MetadataKeyType> internal.ServiceRegistrarLoader<MetadataKeyType extends Enum<MetadataKeyType> & MetadataKey>::createServiceRegistrar(ServiceRegistrarConfig, StorkInfrastructure) updated to method ServiceRegistrar<MetadataKeyType> internal.ServiceRegistrarLoader<MetadataKeyType extends Enum<MetadataKeyType> & MetadataKey>::createServiceRegistrar(ConfigWithType, String, StorkInfrastructure) Service name is not needed anymore. It is present at Service config level.
method void TestConfigProvider::addServiceConfig(String, String, String, Map<String, String>, Map<String, String>) updated to method void TestConfigProvider::addServiceConfig(String, String, String, String, Map<String, String>, Map<String, String>, boolean) Registrars are now part of configs
method void TestConfigProvider::addServiceConfig(String, String, String, Map<String, String>, Map<String, String>, boolean) updated to method void TestConfigProvider::addServiceConfig(String, String, String, String, Map<String, String>, Map<String, String>, Map<String, String>) Registrars are now part of configs
method void TestConfigProvider::addServiceRegistrarConfig(String, String, Map<String, String>) has been removed Registrars are now part of configs
method List<ServiceRegistrarConfig> TestConfigProvider::getRegistrarConfigs() has been removed Registrars are now part of configs
method void TestConfigProviderBean::addServiceConfig(String, String, String, Map<String, String>, Map<String, String>) updated to method void TestConfigProviderBean::addServiceConfig(String, String, String, String, Map<String, String>, Map<String, String>, Map<String, String>) Registrars are now part of configs
method void TestConfigProviderBean::addServiceRegistrarConfig(String, String, Map<String, String>) has been removed Registrars are now part of configs
method List<ServiceRegistrarConfig> TestConfigProviderBean::getRegistrarConfigs() has been removed Registrars are now part of configs
method ServiceRegistrar<TestServiceRegistrarProvider.TestMetadata> TestServiceRegistrarProviderLoader::createServiceRegistrar(ServiceRegistrarConfig, StorkInfrastructure) updated to method ServiceRegistrar<TestServiceRegistrarProvider.TestMetadata> TestServiceRegistrarProviderLoader::createServiceRegistrar(ConfigWithType, String, StorkInfrastructure) Use the ConfigWithType more generic type for registrars and service name.
method ServiceDefinition ServiceDefinition::of(ConfigWithType, ConfigWithType) updated to method ServiceDefinition ServiceDefinition::of(ConfigWithType, ConfigWithType, ConfigWithType) Registrar included.
method Optional<String> ServiceInstance::getPath() has been introduced New method to handle API gateways
class EmptyServicesServiceDiscoveryProviderLoader updated to class EmptyServicesServiceDiscoveryProviderLoader the loaders are now also exposed as CDI beans
class TestLoadBalancer1ProviderLoader updated to class TestLoadBalancer1ProviderLoader the loaders are now also exposed as CDI beans
class TestLoadBalancer2ProviderLoader updated to class TestLoadBalancer2ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceDiscovery1ProviderLoader updated to class TestServiceDiscovery1ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceDiscovery2ProviderLoader updated to class TestServiceDiscovery2ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceRegistrarProviderLoader updated to class TestServiceRegistrarProviderLoader The loaders are now also exposed as CDI beans
method void TestConfigProvider::addServiceConfig(String, String, String, Map<String, String>, Map<String, String>) updated to method void TestConfigProvider::addServiceConfig(String, String, String, String, Map<String, String>, Map<String, String>, boolean) Registrars are now part of configs
method void TestConfigProvider::addServiceConfig(String, String, String, Map<String, String>, Map<String, String>, boolean) updated to method void TestConfigProvider::addServiceConfig(String, String, String, String, Map<String, String>, Map<String, String>, Map<String, String>) Registrars are now part of configs
method void TestConfigProvider::addServiceRegistrarConfig(String, String, Map<String, String>) has been removed Registrar config is now part of service config.
method List<ServiceRegistrarConfig> TestConfigProvider::getRegistrarConfigs() has been removed Registrars are now part of configs
method void TestConfigProviderBean::addServiceConfig(String, String, String, Map<String, String>, Map<String, String>) updated to method void TestConfigProviderBean::addServiceConfig(String, String, String, String, Map<String, String>, Map<String, String>, Map<String, String>) Registrars are now part of configs
method void TestConfigProviderBean::addServiceRegistrarConfig(String, String, Map<String, String>) has been removed Registrar config is now part of service config.
method List<ServiceRegistrarConfig> TestConfigProviderBean::getRegistrarConfigs() has been removed Registrar config is now part of service config.
method ServiceRegistrar<TestServiceRegistrarProvider.TestMetadata> TestServiceRegistrarProviderLoader::createServiceRegistrar(ServiceRegistrarConfig, StorkInfrastructure) updated to method ServiceRegistrar<TestServiceRegistrarProvider.TestMetadata> TestServiceRegistrarProviderLoader::createServiceRegistrar(ConfigWithType, String, StorkInfrastructure) Registrars are now part of service config.
method List<ServiceRegistrarConfig> microprofile.MicroProfileConfigProvider::getRegistrarConfigs() has been removed Registrar config is now part of the service config.

2.2.0

09 May 17:54
Compare
Choose a tag to compare

🫧 Enhancements

  • [#547] - Adding new property port-name in K8s to select a port by name

🪲 Bug Fixes

  • [#537] - Change the jandex plugin coordinates
  • [#536] - Add index to all providers

🚨 Breaking Changes

Change Justification
class EmptyServicesServiceDiscoveryProviderLoader updated to class EmptyServicesServiceDiscoveryProviderLoader the loaders are now also exposed as CDI beans
class TestLoadBalancer1ProviderLoader updated to class TestLoadBalancer1ProviderLoader the loaders are now also exposed as CDI beans
class TestLoadBalancer2ProviderLoader updated to class TestLoadBalancer2ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceDiscovery1ProviderLoader updated to class TestServiceDiscovery1ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceDiscovery2ProviderLoader updated to class TestServiceDiscovery2ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceRegistrarProviderLoader updated to class TestServiceRegistrarProviderLoader The loaders are now also exposed as CDI beans
method Optional<String> ServiceInstance::getPath() has been introduced New method to handle API gateways
method Optional<String> ServiceInstance::getPath() has been introduced New method to handle API gateways

2.1.0

29 Mar 17:30
Compare
Choose a tag to compare

✨ New Features

  • [#523] - Add path to service instance

🪲 Bug Fixes

  • [#522] - The config-generator must now depend on jakarta.enterprise.cdi-api

🚨 Breaking Changes

Change Justification
class EmptyServicesServiceDiscoveryProviderLoader updated to class EmptyServicesServiceDiscoveryProviderLoader the loaders are now also exposed as CDI beans
class TestLoadBalancer1ProviderLoader updated to class TestLoadBalancer1ProviderLoader the loaders are now also exposed as CDI beans
class TestLoadBalancer2ProviderLoader updated to class TestLoadBalancer2ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceDiscovery1ProviderLoader updated to class TestServiceDiscovery1ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceDiscovery2ProviderLoader updated to class TestServiceDiscovery2ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceRegistrarProviderLoader updated to class TestServiceRegistrarProviderLoader The loaders are now also exposed as CDI beans
method Optional<String> ServiceInstance::getPath() has been introduced New method to handle API gateways
method Optional<String> ServiceInstance::getPath() has been introduced New method to handle API gateways

2.0.1

16 Mar 11:20
Compare
Choose a tag to compare

🫧 Enhancements

  • [#463] - Add information to the docs about the xxxConfiguration classes generation
  • [#64] - Consider changing LoadBalancer to CDI bean instead of SPI

🪲 Bug Fixes

  • [#488] - Knative SD implementation doesn't get the correct service instance endpoint
  • [#487] - Configuration properties are not correctly shown in documentation last version
  • [#466] - Eureka problems in 2.x branch due to jakarta dependencies and versions requirements

🔧 Dependency Upgrades

  • [#447] - Bump smallrye-mutiny-vertx-web-client from 2.28.0 to 3.2.0
  • [#435] - Bump smallrye-mutiny-vertx-web-client from 2.28.0 to 3.1.0
  • [#424] - Bump mutiny from 1.8.0 to 2.0.0
  • [#423] - Bump smallrye-mutiny-vertx-web-client from 2.28.0 to 3.0.0

🚨 Breaking Changes

Change Justification
class EmptyServicesServiceDiscoveryProviderLoader updated to class EmptyServicesServiceDiscoveryProviderLoader the loaders are now also exposed as CDI beans
class TestLoadBalancer1ProviderLoader updated to class TestLoadBalancer1ProviderLoader the loaders are now also exposed as CDI beans
class TestLoadBalancer2ProviderLoader updated to class TestLoadBalancer2ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceDiscovery1ProviderLoader updated to class TestServiceDiscovery1ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceDiscovery2ProviderLoader updated to class TestServiceDiscovery2ProviderLoader the loaders are now also exposed as CDI beans
class TestServiceRegistrarProviderLoader updated to class TestServiceRegistrarProviderLoader The loaders are now also exposed as CDI beans
method Metadata<? extends MetadataKey> Metadata<T extends Enum<T>>::empty() updated to method <T extends Enum<T> & MetadataKey> Metadata<T> Metadata<T extends Enum<T> & MetadataKey>::empty() Refactored according with the actual type parameter change.
method Metadata<? extends MetadataKey> Metadata<T extends Enum<T>>::empty() updated to method <T extends Enum<T> & MetadataKey> Metadata<T> Metadata<T extends Enum<T> & MetadataKey>::empty() Using a generic method that operates in a parametrized type.
method Metadata<? extends MetadataKey> Metadata<T extends Enum<T>>::empty() updated to method <T extends Enum<T> & MetadataKey> Metadata<T> Metadata<T extends Enum<T> & MetadataKey>::empty() Add a type parameter representing the element type according with the actual type parameter of the class.
method EnumMap<T, Object> Metadata<T extends Enum<T>>::getMetadata() updated to method EnumMap<T, Object> Metadata<T extends Enum<T> & MetadataKey>::getMetadata() Refactored according with the actual type parameter change.
parameter Metadata<T> Metadata<T extends Enum<T>>::with(===T===, Object) updated to parameter Metadata<T> Metadata<T extends Enum<T> & MetadataKey>::with(===T===, Object) Refactored according with the actual type parameter change.
method Metadata<T> Metadata<T extends Enum<T>>::with(T, Object) updated to method Metadata<T> Metadata<T extends Enum<T> & MetadataKey>::with(T, Object) Refactored according with the actual type parameter change.
class Metadata<T extends Enum<T>> updated to class Metadata<T extends Enum<T> & MetadataKey> Adjust the formal type parameter and remove bounded wildcard types used.
method LoadBalancerConfig ServiceDefinition::getLoadBalancer() updated to method ConfigWithType ServiceDefinition::getLoadBalancer() Refactored according with the renaming of the returned type.
method ServiceDiscoveryConfig ServiceDefinition::getServiceDiscovery() updated to method ConfigWithType ServiceDefinition::getServiceDiscovery() Refactored according with the renaming of the returned type.
parameter ServiceDefinition ServiceDefinition::of(===ServiceDiscoveryConfig===) updated to parameter ServiceDefinition ServiceDefinition::of(===ConfigWithType===) Refactored according with the renaming of the parameter type.
parameter ServiceDefinition ServiceDefinition::of(===ServiceDiscoveryConfig===, LoadBalancerConfig) updated to parameter ServiceDefinition ServiceDefinition::of(===ConfigWithType===, ConfigWithType) Refactored according with the renaming of the parameter type.
parameter ServiceDefinition ServiceDefinition::of(ServiceDiscoveryConfig, ===LoadBalancerConfig===) updated to parameter ServiceDefinition ServiceDefinition::of(ConfigWithType, ===ConfigWithType===) Refactored according with the renaming of the returned type.
interface LoadBalancerConfig has been removed Replaced by io.smallrye.stork.api.config.ConfigWithType.
method LoadBalancerConfig ServiceConfig::loadBalancer() updated to method ConfigWithType ServiceConfig::loadBalancer() Refactored according with the renaming of the returned type.
method ServiceDiscoveryConfig ServiceConfig::serviceDiscovery() updated to method ConfigWithType ServiceConfig::serviceDiscovery() Refactored according with the renaming of the returned type.
interface ServiceDiscoveryConfig has been removed Replaced by io.smallrye.stork.api.config.ConfigWithType.
class impl.RoundRobinLoadBalancerProviderLoader updated to class impl.RoundRobinLoadBalancerProviderLoader Load Balancer can now be CDI beans