Releases: dogmatiq/dapper
Releases · dogmatiq/dapper
Version 0.6.1
Version 0.6.0
This release is largely centered around a refactoring of the Config type and the way that a Printer is configured. It should not affect most users, but does introduce some breaking changes for filter authors.
Added
- Added
Annotator,Config.AnnotatorsandWithAnnotator, to add user-defined text annotations to rendered values. - Added
NewPrinter()function, that accepts the following functional options:WithFilter()WithDefaultFilters()WithAnnotator()WithUnexportedStructFields()WithPackagePaths()
Changed
- [BC] Replaced
Config.OmitUnexportedFieldswithRenderUnexportedStructFields, note the logic is inverted. - [BC] Replaced
Config.OmitPackagePathswithRenderPackagePaths, note the logic is inverted. - Bumped the minimum supported Go version to 1.21.
Removed
- [BC] Removed
DefaultPrinter, useNewPrinter()instead. - [BC] Removed
Config.IndentandDefaultIndentconstant. - [BC] Removed
Config.RecursionMarkerandDefaultRecursionMarkerconstant. - [BC] Removed
Config.ZeroValueMarkerandDefaultZeroValueMarkerconstant.
Fixed
Renderer.Config()andRenderer.WithModifiedConfig()now properly clone the slices withinConfig.
Version 0.5.3
Fixed
- Fixed rendering of named types that was accidentally removed in [0.5.2].
Version 0.5.2
Changed
interface{}is now rendered asany.- Zero-valued arrays are now rendered with the "zero value marker", similarly to structs.
Fixed
- Fixed inconsistent rendering of "element" type names within pointers, channels, maps, slices and functions.
Version 0.5.1
Changed
- Use zero-allocation natural sorting algorithm from
dogmatiq/jumble.
Version 0.5.0
This release includes several changes to the experimental Filter system in preparation for unification of built-in and custom rendering behavior.
Added
- Added
Rendererinterface. - Added
ErrorFilter. Output for types that implementerrornow include the error message. - Added
Is(),AsConcrete()andAsImplementationOf()helpers for use inFilterimplementations.
Changed
- [BC] The signature of
Filterhas changed to accept aRendererandValue. - [BC] Renamed
ReflectTypeFiltertoReflectFilter, it now applies to the entirereflectpackage. - [BC] Renamed
ProtobufFiltertoProtoFilter. - [BC] Changed
Config.Indentto astring.
Removed
- [BC] Removed
DurationFilter.TimeFilternow applies to the entiretimepackage. - Removed dependency on [Iago]
Fixed
- Fixed duplicate application of
Filterthat apply to specific interfaces when whenTand*Tboth implement the interface.
Version 0.4.6
Fixed
- Fix rendering of
sync.RWMutexunder Go v1.20
Version 0.4.5
Version 0.4.4
Version 0.4.3
Added
- Improved rendering of protocol buffers messages (thanks @mrubiosan)