Releases: Abc-Arbitrage/Zebus.MessageDsl
Releases · Abc-Arbitrage/Zebus.MessageDsl
v1.5.0
- 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
- 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
andabstract
modifiers on messages - Validate
ProtoInclude
attributes - Added support for
default
anddefault(T)
literals in default parameter values - Forward parameters from immutable base types in the constructor
- Added support for generating nested classes
v1.3.0
v1.2.2
- Work around dotnet/roslyn#39724
v1.2.1
- 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
- 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
- Added
public
/internal
access modifiers to messages and enums - Added
#pragma public
/#pragma internal
to control the default accessibility level
v1.0.1
v1.0.0
- Removed the parameter alias feature (
let
keyword) - it was not documented for a reason
v0.4.1
- 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.