Steeltoe Documentation
  • Why Steeltoe
    Overview Microservices Cloud Web Applications Event Driven
  • Get Started
    Steeltoe Initializr Guides Documentation API Browser Blog
  • Projects
    Steeltoe Application Configuration Steeltoe Circuit Breakers Steeltoe Dynamic Logging Steeltoe Management Steeltoe Messaging Steeltoe Network File Shares Steeltoe Security Steeltoe Service Connectors Steeltoe Service Discovery Steeltoe Stream
  • Support
  • Community
Search Results for

    Table of Contents
    . . .
    X

    What's New in Steeltoe 3

    New Features and Changes

    Steeltoe 3.2.0

    • Support for .NET 6
      • WebApplicationBuilder extensions
      • ConfigurationManager support
    • Support polling Spring Cloud Config Server for updates
    • Management
      • Update Thread and Heap Dump implementations
      • Depend on a GA release of OpenTelemetry Metrics
      • Support exporting metrics and traces to Wavefront

    Steeltoe 3.1.0

    • Steeltoe Messaging, with support for RabbitMQ
    • Steeltoe Stream, with support for Spring Cloud Data Flow and RabbitMQ
    • Steeltoe components can now be automatically configured for your application with a single line of code with Steeltoe.Bootstrap.Autoconfig

    Steeltoe 3.0.0

    • We made the Steeltoe libraries more platform agnostic to allow for better extensibility into other platforms, starting by separating the abstractions for our core components into separate packages. This will allow future extensibility for our libraries and grow the community into other areas.
    • We added and renamed many of the packages to support our new features and to provide a consistent package naming.
    • We redirected our focus to support only .NET Core. This decision was based on the direction the Microsoft .NET team is taking the project and to support our users moving forward. We will still be supporting .NET Framework in our 2.x release line.
    • We have added some great new features and here are some of the highlights:
      • Automatic wiring and configuration of Messaging APIs with RabbitMQ
      • Kubernetes support for configuration (ConfigMap and Secrets) and service discovery using Kubernetes .NET Client.
      • Added Health Groups for readiness and liveness endpoints which are grouped under the /health endpoint
      • Metrics now uses EventSource and EventCounter, along with a new prometheus exporter that now uses OpenTelemetry metrics packages
      • Distributed tracing library now has new exporters and updated internal libraries from OpenCensus to OpenTelemetry
      • Pluggable architecture for Service Discovery (Consul, Eureka, and Kubernetes)
      • Pluggable architecture for Connectors
      • New Connector for CosmosDB
      • The /heapdump actuator endpoint now supports heap dumps on Linux
      • Circuit Breaker using Hystrix now using the Prometheus endpoint for easier consumption of events on Prometheus supported services
      • Added mTLS support and service to service authentication using rotating certificates

    Package Name Changes

    Steeltoe 2.x Steeltoe 3.x
    N/A Steeltoe.CircuitBreaker.Abstractions
    Steeltoe.CircuitBreaker.Hystrix.MetricsEventsCore Same
    Steeltoe.CircuitBreaker.Hystrix.MetricsStreamAutofac N/A
    Steeltoe.CircuitBreaker.Hystrix.MetricsStreamCore Same
    Steeltoe.CircuitBreaker.HystrixAutofac N/A
    Steeltoe.CircuitBreaker.HystrixBase Same
    Steeltoe.CircuitBreaker.HystrixCore Same
    N/A Steeltoe.Connector.Abstractions
    Steeltoe.CloudFoundry.ConnectorAutofac N/A
    Steeltoe.CloudFoundry.ConnectorBase Steeltoe.Connector.ConnectorBase
    Steeltoe.CloudFoundry.ConnectorCore Steeltoe.Connector.ConnectorCore
    Steeltoe.CloudFoundry.Connector.EF6Autofac N/A
    Steeltoe.CloudFoundry.Connector.EF6Core Steeltoe.Connector.EF6Core
    Steeltoe.CloudFoundry.Connector.EFCore Steeltoe.Connector.EFCore
    N/A Steeltoe.Connector.CloudFoundry
    N/A Steeltoe.Common.Abstractions
    Steeltoe.Common Same
    Steeltoe.Common.Autofac N/A
    Steeltoe.Common.Hosting Same
    Steeltoe.Common.Http Same
    N/A Steeltoe.Common.Kubernetes
    Steeltoe.Common.Net Same
    N/A Steeltoe.Common.Retry
    Steeltoe.Common.Security Same
    N/A Steeltoe.Discovery.Abstractions
    Steeltoe.Discovery.ClientAutofac N/A
    N/A Steeltoe.Discovery.ClientBase
    Steeltoe.Discovery.ClientCore Same
    Steeltoe.Discovery.ConsulBase Steeltoe.Discovery.Consul
    Steeltoe.Discovery.EurekaBase Steeltoe.Discovery.Eureka
    N/A Steeltoe.Discovery.Kubernetes
    N/A Steeltoe.Extensions.Configuration.Abstractions
    Steeltoe.Extensions.Configuration.CloudFoundryAutofac N/A
    Steeltoe.Extensions.Configuration.CloudFoundryBase Same
    Steeltoe.Extensions.Configuration.CloudFoundryCore Same
    Steeltoe.Extensions.Configuration.ConfigServerAutofac N/A
    Steeltoe.Extensions.Configuration.ConfigServerBase Same
    Steeltoe.Extensions.Configuration.ConfigServerCore Same
    N/A Steeltoe.Extensions.Configuration.KubernetesBase
    N/A Steeltoe.Extensions.Configuration.KubernetesCore
    Steeltoe.Extensions.Configuration.PlaceholderBase Same
    Steeltoe.Extensions.Configuration.PlaceholderCore Same
    Steeltoe.Extensions.Configuration.RandomValueBase Same
    N/A Steeltoe.Extensions.Logging.Abstractions
    Steeltoe.Extensions.Logging.DynamicLogger Same
    Steeltoe.Extensions.Logging.SerilogDynamicLogger Steeltoe.Extensions.Logging.DynamicSerilogBase
    Steeltoe.Extensions.Logging.SerilogDynamicLogger Steeltoe.Extensions.Logging.DynamicSerilogCore
    N/A Steeltoe.Integration.Abstractions *
    N/A Steeltoe.Integration.IntegrationBase *
    N/A Steeltoe.Management.Abstractions
    Steeltoe.Management.CloudFoundryCore Same
    Steeltoe.Management.Diagnostics Same
    Steeltoe.Management.EndpointBase Same
    Steeltoe.Management.EndpointCore Same
    Steeltoe.Management.EndpointOwin N/A
    Steeltoe.Management.EndpointOwinAutofac N/A
    Steeltoe.Management.EndpointWeb N/A
    Steeltoe.Management.ExporterBase N/A
    Steeltoe.Management.ExporterCore N/A
    N/A Steeltoe.Management.KubernetesCore
    Steeltoe.Management.OpenCensus N/A
    Steeltoe.Management.OpenCensus.Abstractions N/A
    Steeltoe.Management.OpenCensus.ZipkinExporter N/A
    Steeltoe.Management.OpenCensusBase N/A
    N/A Steeltoe.Management.OpenTelemetryBase
    Steeltoe.Management.TaskCore Same
    Steeltoe.Management.TracingBase Same
    Steeltoe.Management.TracingCore Same
    N/A Steeltoe.Messaging.Abstractions
    N/A Steeltoe.Messaging.MessagingBase
    N/A Steeltoe.Messaging.RabbitMQ
    Steeltoe.Security.Authentication.CloudFoundryBase Same
    Steeltoe.Security.Authentication.CloudFoundryCore Same
    Steeltoe.Security.Authentication.CloudFoundryOwin N/A
    Steeltoe.Security.Authentication.CloudFoundryWcf N/A
    N/A Steeltoe.Security.Authentication.MtlsCore
    Steeltoe.Security.DataProtection.CredHubBase Same
    Steeltoe.Security.DataProtection.CredHubCore Same
    Steeltoe.Security.DataProtection.RedisCore Same
    N/A Steeltoe.Stream.Abstractions *
    N/A Steeltoe.Stream.StreamBase *

    * Experimental packages

    Packages that existed exclusively for supporting .NET Framework applications are not included in Steeltoe 3.0. Any package listed above with N/A for the name in 3.0 will continue to exist, but only in the 2.x line of Steeltoe. Interoperability between Steeltoe 2.x and 3.x is not supported.

    HostBuilder Extensions

    In 3.0, more of Steeltoe can be added in single-line statements with HostBuilder extensions than ever before so you can be on your way even faster:

    HostBuilder.CreateDefaultBuilder()
      .AddCloudHosting()
      .AddConfigServer()
      .AddDynamicSerilog()
      .AddServiceDiscovery()
      .AddAllActuators()
    

    These extensions generally depend on the same underlying code, so if you'd rather do this work in Startup.cs you absolutely still can, these are convenience methods. These extensions are also typically available for WebHostBuilder as well. Look for more information on these extensions in the relevant component area.

    Breaking Changes

    In addition to the package name changes, there have also been changes to package architectures, public APIs and namespaces in Steeltoe that may necessitate changes in your applications.

    Name Changes

    Minor namespace changes have been made throughout Steeltoe for a more streamlined experience. While the suffixes of Base and Core continue to be useful in package naming, they have been removed from the code so that it's easier to work between related areas within Steeltoe.

    More specific examples of name changes include:

    • Serilog-related namespaces have been adjusted to match the new package name
    • (Web)HostBuilder.AddCloudFoundry() is now (Web)HostBuilder.AddCloudFoundryConfiguration()

    Service Connectors

    In the migration to the new pluggable architecture of Connectors, functionality specific to Cloud Foundry has moved to the new package Steeltoe.Connector.CloudFoundry. No code changes are required, but you will need to add this new package reference if you are deploying your application to a platform based on Cloud Foundry.

    As a result of this change, a dependency on the Cloud Foundry Configuration package is only required when using the Cloud Foundry Connector package.

    Service Discovery

    In previous versions of Steeltoe, all discovery clients needed to be either used directly or via Steeltoe.Discovery.ClientAutofac or Steeltoe.Discovery.ClientCore packages, where those packages managed connecting the pieces of the discovery client implementations to the Steeltoe abstractions. This created a situation where any discovery client needed to be directly referenced by a centralized package, such as Steeltoe.Discovery.ClientCore, which limited extensibility options.

    Steeltoe Service Discovery has been rearchitected so that the core library no longer needs a direct reference to any discovery client implementation. The base of Steeltoe service discovery is now available in the appropriately named package Steeltoe.Discovery.ClientBase, and discovery client implementations are configured as extensions to this package. It is also still possible to directly reference the discovery client implementations

    A direct reference to any/all discovery client implementations your application may use is now required. Read more in the Service Discovery documentation

    Cloud Foundry

    For applications running on Cloud Foundry, please be aware of the changes to Connectors and Discovery outlined above.

    Additionally, please note that UseCloudFoundryHosting has been removed, in favor of the new UseCloudHosting, which is found in the package Steeltoe.Common.Hosting.

    Management

    Since OpenCensus has merged with OpenTracing to form OpenTelemetry, Steeltoe is no longer shipping any OpenCensus-related code in 3.0 and has migrated to OpenTelemetry.

    Release Notes

    Release notes for all releases can be found on the Steeltoe releases section on GitHub.

    X
    • Edit this page
    Back to top
    © 2017-2021 VMware, Inc. All Rights Reserved. • Privacy Policy • Your California Privacy Rights • Terms of Use • Trademark Guidelines