Releases: smallrye/smallrye-stork
Releases · smallrye/smallrye-stork
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 |
1.4.2
⛮ Misc
- [#498] - Remove schema for host and use 0 as default port in knative
🚨 Breaking Changes
Change | Justification |
---|---|
method java.time.Duration utils.DurationUtils::parseDuration(String) updated to method java.time.Duration utils.DurationUtils::parseDuration(String, String) |
Parameter name added to the parseDuration method. The old version assumed the parsing is done for refresh-period which is not always true |
class EmptyServicesConfiguration updated to class EmptyServicesConfiguration |
The name of the implemented interface has changed. |
parameter ServiceDiscovery EmptyServicesServiceDiscoveryProviderLoader::createServiceDiscovery(===ServiceDiscoveryConfig===, String, ServiceConfig, StorkInfrastructure) updated to parameter ServiceDiscovery EmptyServicesServiceDiscoveryProviderLoader::createServiceDiscovery(===ConfigWithType===, String, ServiceConfig, StorkInfrastructure) |
The name of the parameter type has changed. |
class TestLb1Configuration updated to class TestLb1Configuration |
The name of the implemented interface has changed. |
class TestLb2Configuration updated to class TestLb2Configuration |
The name of the implemented interface has changed. |
parameter LoadBalancer TestLoadBalancer1ProviderLoader::createLoadBalancer(===LoadBalancerConfig===, ServiceDiscovery) updated to parameter LoadBalancer TestLoadBalancer1ProviderLoader::createLoadBalancer(===ConfigWithType===, ServiceDiscovery) |
The name of the parameter type has changed. |
parameter LoadBalancer TestLoadBalancer2ProviderLoader::createLoadBalancer(===LoadBalancerConfig===, ServiceDiscovery) updated to parameter LoadBalancer TestLoadBalancer2ProviderLoader::createLoadBalancer(===ConfigWithType===, ServiceDiscovery) |
The name of the parameter type has changed. |
class TestSd1Configuration updated to class TestSd1Configuration |
The name of the implemented interface has changed. |
class TestSd2Configuration updated to class TestSd2Configuration |
The name of the implemented interface has changed. |
parameter ServiceDiscovery TestServiceDiscovery1ProviderLoader::createServiceDiscovery(===ServiceDiscoveryConfig===, String, ServiceConfig, StorkInfrastructure) updated to parameter ServiceDiscovery TestServiceDiscovery1ProviderLoader::createServiceDiscovery(===ConfigWithType===, String, ServiceConfig, StorkInfrastructure) |
The name of the parameter type has changed. |
parameter ServiceDiscovery TestServiceDiscovery2ProviderLoader::createServiceDiscovery(===ServiceDiscoveryConfig===, String, ServiceConfig, StorkInfrastructure) updated to parameter ServiceDiscovery TestServiceDiscovery2ProviderLoader::createServiceDiscovery(===ConfigWithType===, String, ServiceConfig, StorkInfrastructure) |
The name of the parameter type has changed. |
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. |
1.4.1
1.3.3
1.3.2
1.3.1
🪲 Bug Fixes
- [#389] - Fix missing attribute tables and footer image in doc
- [#380] - Fix web site publication during release
🔧 Dependency Upgrades
- [#388] - Bump jackson-bom from 2.13.4 to 2.13.4.20221013
- [#387] - Bump jackson-bom from 2.13.4 to 2.13.4.20221012
- [#383] - Bump tomcat-embed-core from 9.0.67 to 9.0.68 (test dependency)
⛮ Misc
1.3.0
1.2.0
✨ New Features
- [#333] - DNS service discovery
- [#328] - Add the
shuffle
attribute to the static service discovery provider - [#298] - Service Registration SPI
- [#274] -
sticky
LoadBalancer implementation - [#259] - Stork Programmatic API proposal
- [#237] - Programmatic service definition
📖 Documentation
- [#343] - Update web site
- [#342] - Document cached service discovery
- [#300] - Document standalone and in quarkus configuration
- [#270] - Document static list service discovery
🪲 Bug Fixes
- [#341] - Wait for Consul to be ready before starting the tests
🔧 Dependency Upgrades
1.1.2
What's Changed
- Remove StorkConfigHelper class by @cescoffier in #253
- Document standalone and in quarkus configuration by @cescoffier in #300
- minor fixezzz by @michalszynkiewicz in #255
- Deprecate the "secure" ServiceConfig attribute in favor to service discovery "secure" attributes. by @cescoffier in #254
- doc: fix typo by @aureamunoz in #266
sticky
LoadBalancer implementation by @michalszynkiewicz in #274- Fix javadoc comment in the sticky load balancer by @cescoffier in #276
- build javadoc in java 17 PR job by @michalszynkiewicz in #277
- Improve javadoc and reduce some API visibility by @cescoffier in #279
- Composite service discovery documentation by @michalszynkiewicz in #288
- doc: fix some docs things by @aureamunoz in #290
- doc: add k8s rbac minimal config by @aureamunoz in #278
- Document static list service discovery by @michalszynkiewicz in #270
- Stork Programmatic API proposal by @cescoffier in #259
- build(deps): bump smallrye-mutiny-vertx-web-client from 2.18.1 to 2.19.0 by @dependabot in #262
- build(deps): bump mutiny from 1.3.1 to 1.4.0 by @dependabot in #261
- build(deps): bump jackson-databind from 2.13.1 to 2.13.2 by @dependabot in #257
- build(deps): bump spring-framework-bom from 5.3.16 to 5.3.17 by @dependabot in #268
- build(deps): bump maven-dependency-plugin from 3.2.0 to 3.3.0 by @dependabot in #264
- build(deps): bump version.mockito from 4.3.1 to 4.4.0 by @dependabot in #258
- build(deps): bump smallrye-config from 2.9.1 to 2.9.2 by @dependabot in #267
- build(deps-dev): bump tomcat-embed-core from 9.0.54 to 9.0.60 by @dependabot in #269
- build(deps): bump jackson-databind from 2.13.2 to 2.13.2.1 by @dependabot in #272
- build(deps): bump jackson-databind from 2.13.2.1 to 2.13.2.2 by @dependabot in #275
- build(deps): bump smallrye-mutiny-vertx-web-client from 2.19.0 to 2.20.0 by @dependabot in #273
- build(deps): bump maven-failsafe-plugin from 3.0.0-M5 to 3.0.0-M6 by @dependabot in #281
- build(deps-dev): bump tomcat-embed-core from 9.0.60 to 9.0.62 by @dependabot in #282
- build(deps): bump kubernetes-client.version from 5.12.1 to 5.12.2 by @dependabot in #287
- build(deps): bump smallrye-config from 2.9.2 to 2.10.0 by @dependabot in #289
- build(deps): bump spring-framework-bom from 5.3.17 to 5.3.18 by @dependabot in #280
- build(deps): bump spring-framework-bom from 5.3.18 to 5.3.19 by @dependabot in #291
- build(deps): bump smallrye-mutiny-vertx-web-client from 2.20.0 to 2.21.0 by @dependabot in #292
- build(deps): bump version.mockito from 4.4.0 to 4.5.0 by @dependabot in #293
- build(deps): bump version.mockito from 4.5.0 to 4.5.1 by @dependabot in #295
- build(deps): bump maven-javadoc-plugin from 3.3.2 to 3.4.0 by @dependabot in #294
- build(deps): bump spring-cloud-dependencies from 2021.0.1 to 2021.0.2 by @dependabot in #296
- build(deps-dev): bump spring-cloud-starter-netflix-eureka-server from 3.1.1 to 3.1.2 by @dependabot in #297
- build(deps): bump spring-framework-bom from 5.3.19 to 5.3.20 by @dependabot in #301
- build(deps): bump jackson-databind from 2.13.2.2 to 2.13.3 by @dependabot in #302
- build(deps-dev): bump tomcat-embed-core from 9.0.62 to 9.0.63 by @dependabot in #303
Full Changelog: 1.1.0...1.1.2
Breaking Changes
parameter io.smallrye.stork.api.LoadBalancer io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider::createLoadBalancer(===io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProviderConfiguration===, io.smallrye.stork.api.ServiceDiscovery)
updated toparameter io.smallrye.stork.api.LoadBalancer io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider::createLoadBalancer(===io.smallrye.stork.loadbalancer.requests.LeastRequestsConfiguration===, io.smallrye.stork.api.ServiceDiscovery)
: The generated LeastRequestsLoadBalancerProviderConfiguration has been renamed to LeastRequestsConfigurationclass io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider
updated toclass io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider
: The generated LeastRequestsLoadBalancerProviderConfiguration has been renamed to LeastRequestsConfigurationclass io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider
updated toclass io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider
: The generated LeastRequestsLoadBalancerProviderConfiguration has been renamed to LeastRequestsConfigurationclass io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProviderConfiguration
has been removed: The generated LeastRequestsLoadBalancerProviderConfiguration has been renamed to LeastRequestsConfigurationparameter io.smallrye.stork.api.LoadBalancer io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider::createLoadBalancer(===io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProviderConfiguration===, io.smallrye.stork.api.ServiceDiscovery)
updated toparameter io.smallrye.stork.api.LoadBalancer io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider::createLoadBalancer(===io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesConfiguration===, io.smallrye.stork.api.ServiceDiscovery)
: The generated PowerOfTwoChoicesLoadBalancerProviderConfiguration has been renamed to PowerOfTwoChoicesConfigurationclass io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider
updated toclass io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider
: The generated PowerOfTwoChoicesLoadBalancerProviderConfiguration has been renamed to PowerOfTwoChoicesConfigurationclass io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider
updated toclass io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider
: The generated PowerOfTwoChoicesLoadBalancerProviderConfiguration has been renamed to PowerOfTwoChoicesConfigurationclass io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProviderConfiguration
has been removed: The generated PowerOfTwoChoicesLoadBalancerProviderConfiguration has been renamed to PowerOfTwoChoicesConfigurationparameter io.smallrye.stork.api.LoadBalancer io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider::createLoadBalancer(===io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProviderConfiguration===, io.smallrye.stork.api.ServiceDiscovery)
updated toparameter io.smallrye.stork.api.LoadBalancer io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider::createLoadBalancer(===io.smallrye.stork.loadbalancer.random.RandomConfiguration===, io.smallrye.stork.api.ServiceDiscovery)
: The generated RandomLoadBalancerProviderConfiguration has been renamed to RandomConfigurationclass io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider
updated toclass io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider
: The generated RandomLoadBalancerProviderConfiguration has been renamed to RandomConfigurationclass io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider
updated toclass io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider
: The generated RandomLoadBalancerProviderConfiguration has been renamed to RandomConfigurationclass io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProviderConfiguration
has been removed: The generated RandomLoadBalancerProviderConfiguration has been renamed to RandomConfigurationparameter void io.smallrye.stork.loadbalancer.leastresponsetime.LeastResponseTimeLoadBalancer::<init>(===io.smallrye.stork.loadbalancer.leastresponsetime.LeastResponseTimeLoadBalancerProviderConfiguration===)
updated to `parameter void io.smallrye.stork.loadbalancer.leastresponsetime.LeastResponseTimeLoadBalancer::(===io.smal...