Skip to content

Releases: Abc-Arbitrage/Zebus.MessageDsl

v1.5.0

16 Apr 18:52
Compare
Choose a tag to compare
  • Added a Zebus.MessageDsl.Generator package which uses a Roslyn source generator
  • Added support for the discard syntax (_) for removed parameters
  • Added [ProtoReserved] attributes for removed parameters when using a discard
  • Added validation for emitted tags against [ProtoReserved] attributes
  • Added support for attribute target syntax, mostly to allow setting attributes on a message constructor parameter with param:
  • Disallowed required parameters after an optional one
  • Added support for messages without a namespace
  • A partial AST is now generated when there are parse errors

v1.4.0

29 Oct 14:46
Compare
Choose a tag to compare
  • Using nullable reference types in API
  • Added #pragma nullable to support nullable reference types in the emitted code
  • Fixed handling of base types (no longer sorting the provided list) - see #3
  • Added support for public, internal, sealed and abstract modifiers on messages
  • Validate ProtoInclude attributes
  • Added support for default and default(T) literals in default parameter values
  • Forward parameters from immutable base types in the constructor
  • Added support for generating nested classes

v1.3.0

16 Dec 14:31
Compare
Choose a tag to compare
  • Instantiate dictionaries and hash sets so they're not null when empty, same as lists and arrays (#2)

v1.2.2

08 Nov 09:57
Compare
Choose a tag to compare

v1.2.1

25 Sep 09:49
Compare
Choose a tag to compare
  • The ParsedContracts.Namespace property is now settable
  • Fixed an issue with a @namespace identifier by adding the full list of C# keywords to the grammar

v1.2.0

06 Sep 16:57
Compare
Choose a tag to compare
  • Added ability to override the default namespace from within the file with a namespace clause
  • Added ParsedContracts.ExplicitNamespace property to signal this

v1.1.0

05 Sep 12:16
Compare
Choose a tag to compare
  • Added public/internal access modifiers to messages and enums
  • Added #pragma public/#pragma internal to control the default accessibility level

v1.0.1

19 Aug 12:44
Compare
Choose a tag to compare
  • Allow duplicate message names with different generic arity: #1

v1.0.0

29 May 11:33
Compare
Choose a tag to compare
  • Removed the parameter alias feature (let keyword) - it was not documented for a reason

v0.4.1

15 May 13:44
Compare
Choose a tag to compare
  • Fixed a name collision which occurred when two .msg files with the same name were explicitly included in the project
  • Removed a Rider-specific hack which is no longer necessary since v2019.1.