Skip to content

Releases: smallrye/smallrye-stork

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

1.4.2

02 Mar 13:40
Compare
Choose a tag to compare

⛮ 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

09 Jan 16:53
Compare
Choose a tag to compare

🫧 Enhancements

  • [#407] - Feature: add endpoint port protocol to the k8s metadata

⛮ Misc

  • [#402] - New service discovery implementation based on Knative

1.3.3

29 Nov 10:37
Compare
Choose a tag to compare

🫧 Enhancements

  • [#413] - Improve the release notes when cutting a release

🪲 Bug Fixes

  • [#425] - Revert to SLF4J 1.7.36
  • [#422] - Stork had an API breaking change on the 1.1.x/1.2.0 boundary: slf4j-api 1.7.x -> 2.0.x

1.3.2

18 Oct 14:12
Compare
Choose a tag to compare

🪲 Bug Fixes

  • [#394] - Fix #393 - fix commands running mike
  • [#393] - Fix documentation publication during release - mike is missing

1.3.1

18 Oct 12:15
Compare
Choose a tag to compare

🪲 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

  • [#382] - Add pipenv installation
  • [#381] - Install pipenv during the web site publication workflow

1.3.0

05 Oct 14:02
Compare
Choose a tag to compare

🫧 Enhancements

  • [#374] - Improve cache invalidation for k8s service discovery
  • [#368] - Allows CacheServiceInstance to customize the cache invalidation

⛮ Misc

  • [#375] - Fix: code example path was wrong

1.2.0

25 Aug 12:37
Compare
Choose a tag to compare

✨ 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

  • [#289] - Bump smallrye-config from 2.9.2 to 2.10.0
  • [#272] - Bump jackson-databind from 2.13.2 to 2.13.2.1

1.1.2

19 May 10:40
Compare
Choose a tag to compare

What's Changed

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 to parameter 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 LeastRequestsConfiguration
  • class io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider updated to class io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider: The generated LeastRequestsLoadBalancerProviderConfiguration has been renamed to LeastRequestsConfiguration
  • class io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider updated to class io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProvider: The generated LeastRequestsLoadBalancerProviderConfiguration has been renamed to LeastRequestsConfiguration
  • class io.smallrye.stork.loadbalancer.requests.LeastRequestsLoadBalancerProviderConfiguration has been removed: The generated LeastRequestsLoadBalancerProviderConfiguration has been renamed to LeastRequestsConfiguration
  • parameter io.smallrye.stork.api.LoadBalancer io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider::createLoadBalancer(===io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProviderConfiguration===, io.smallrye.stork.api.ServiceDiscovery) updated to parameter 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 PowerOfTwoChoicesConfiguration
  • class io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider updated to class io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider: The generated PowerOfTwoChoicesLoadBalancerProviderConfiguration has been renamed to PowerOfTwoChoicesConfiguration
  • class io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider updated to class io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProvider: The generated PowerOfTwoChoicesLoadBalancerProviderConfiguration has been renamed to PowerOfTwoChoicesConfiguration
  • class io.smallrye.stork.loadbalancer.poweroftwochoices.PowerOfTwoChoicesLoadBalancerProviderConfiguration has been removed: The generated PowerOfTwoChoicesLoadBalancerProviderConfiguration has been renamed to PowerOfTwoChoicesConfiguration
  • parameter io.smallrye.stork.api.LoadBalancer io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider::createLoadBalancer(===io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProviderConfiguration===, io.smallrye.stork.api.ServiceDiscovery) updated to parameter 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 RandomConfiguration
  • class io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider updated to class io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider: The generated RandomLoadBalancerProviderConfiguration has been renamed to RandomConfiguration
  • class io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider updated to class io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProvider: The generated RandomLoadBalancerProviderConfiguration has been renamed to RandomConfiguration
  • class io.smallrye.stork.loadbalancer.random.RandomLoadBalancerProviderConfiguration has been removed: The generated RandomLoadBalancerProviderConfiguration has been renamed to RandomConfiguration
  • parameter 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...
Read more