Releases: smallrye/smallrye-stork
Releases · smallrye/smallrye-stork
2.6.0
⛮ 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
🔧 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
🫧 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
2.2.1
2.3.1
2.3.0
🫧 Enhancements
⛮ 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
🫧 Enhancements
- [#547] - Adding new property
port-name
in K8s to select a port by name
🪲 Bug Fixes
🚨 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
✨ 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
🫧 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 |