Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

Latest commit

 

History

History
199 lines (135 loc) · 6.74 KB

CHANGELOG.md

File metadata and controls

199 lines (135 loc) · 6.74 KB

Changelog

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

The format is based on Keep a Changelog

[v0.12.0] - 2023-06-15

Added

Changed

Fixed

v0.11.0 - 2022-10-03

Added

  • Message and Operation attributes now allow setting tags

v0.10.0 - 2022-08-22

Changed

  • AsyncAPI spec version bumped to 2.4.0
  • Added messageId to Message and MessageAttribute
  • Updated @asyncapi/react-component to v1.0.0-next.40
  • Target net7.0 only - multitargeting was painful to test & maintain
  • Updated NJsonSchema to v10.7.2
  • Add README to NuGet package #110

Fixed

v0.9.1 - 2021-11-08

Fixed

  • Hosting behind a reverse proxy now works correctly. See tests/AsyncApi.Net.Generator.IntegrationTests.ReverseProxy/README.md for an example.

v0.9.0 - 2021-10-17

Changed

  • AsyncAPI spec version bumped to 2.2.0
    • New optional property string[] Servers available on ChannelAttribute
    • New optional property List<string> Servers available on ChannelItem
  • Bump UI library to v1.0.0-next.21

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!