Skip to content

Latest commit

 

History

History
119 lines (97 loc) · 4.49 KB

CHANGELOG.md

File metadata and controls

119 lines (97 loc) · 4.49 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog

v0.8.0 - 2021-09-11

Changed

  • Filters are now registered as types (e.g. options.AddOperationFilter<T>) and resolved from an IServiceProvider

v0.7.1 - 2021-08-04

Fixed

  • Include XML documentation file in build (HOW HAD I NOT NOTICED THIS BEFORE?!)

v0.7.0 - 2021-08-04

Changed

  • AsyncAPI spec version bumped to 2.1.0
  • Message.Examples type changed from IList<IDictionary<string, object>> to IList<MessageExample> to allow specifying the new name and summary fields.
  • New security schemes added.

v0.6.0 - 2021-08-03

Added

  • Added ability to generate multiple AsyncAPI documents using the ConfigureNamedAsyncApi extension

v0.5.0 - 2021-07-28

Changed

  • Added ability to use bindings by specifying a BindingsRef in the attribute e.g. [Channel("light.measured", BindingsRef = "my-amqp-binding")]
  • Added MQTT bindings
  • Swapped custom JSON schema generation for NJsonSchema
  • Removed direct dependencies on System.Text.Json

v0.4.0 - 2021-07-27

Changed

  • UI no longer proxies to playground.asyncapi.io, but instead uses the asyncapi standalone react component as an embedded resource.
  • Removed settings related to the proxied UI
    • AsyncApi.Middleware.UiRoute
    • AsyncApi.Middleware.PlaygroundBaseAddress
  • Bumped project dependencies
System.Text.Json 5.0.0 -> 5.0.2
Namotion.Reflection 1.0.14 -> 1.0.23
Microsoft.NET.Test.Sdk 16.8.3 -> 16.10.0

v0.3.1 - 2021-07-19

Fixed

  • DateTimeOffset causes recursive schema - now treated same as DateTime
  • DictionaryKeyToStringConverter to support lists #94

v0.3.0 - 2021-07-19

Changed

  • Replaced dependency on Newtonsoft.Json with System.Text.Json
    • Previously we were inspecting types for the attributes provided by Newtonsoft.Json such as [JsonProperty]. If you were relying on these attributes, you will now need to set options.SchemaIdSelector and/or options.PropertyNameSelector to a function which inspects those attributes. e.g.
    services.AddAsyncApiSchemaGeneration(options =>
    {
        options.PropertyNameSelector = prop => 
            prop.GetCustomAttribute<JsonPropertyAttribute>()?.PropertyName ?? prop.Name;
    });

Added

  • Multi-targeting netcoreapp3.1, net5.0 and netstandard2.0
  • Async API UI
  • Endpoint-aware middleware on netcoreapp3.1+
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapAsyncApiDocuments();
        endpoints.MapAsyncApiUi();
    })
  • Bindings for HTTP, Kafka & RabbitMQ
  • Support for Subscribe and Publish operations of the same Channel in different classes
  • Code-first discriminator support with [Discriminator] and [DiscriminatorSubType] attributes
  • Support for [Required] attribute
  • Support for Channel Parameters
  • Support for oneOf message types (use multiple [Message(Type)] attributes)

Fixed

  • AsyncApiOptions.PropertyNameSelector was not being used

v0.2.0 - 2020-08-04

Added

  • Support System.Guid as a JSON Schema string with "uuid" format.
  • Default Schema ID factory handles generics in a human-friendly format
    • List<Foo> becomes "listOfFoo"
    • Dictionary<string, Foo> becomes "dictionaryOfStringAndFoo"
    • etc

v0.1.0 - 2020-07-02

Changed

  • First stable release!