Releases: dogmatiq/ferrite
Releases · dogmatiq/ferrite
Version 0.5.0
Added
- Added
SeeAlso()
method to all builders, which links to another variable for documentation purposes - Added
SupersededBy()
option, which indicates which variables to use instead of a deprecated one - Added
WithRegistry()
option to allow registration of variables in custom variable registries
Changed
- [BC] Floating point variables no longer accept
NaN
,+Inf
or-Inf
as valid values - [BC] Replaced
WithConstraintFunc()
withWithConstraint()
variable.Register()
now directly accepts aRegistry
instead of using functional options
Removed
- Removed
variable.Option
type andvariable.WithRegistry()
option
Fixed
- Internal errors from
strconv.ParseXXX()
functions are no longer presented to the user verbatim
Version 0.4.2
Added
- Added
export/dotenv
mode, which renders environment variables and their current values in dotenv format
Fixed
- Fixed issue where durations were rendered with tailing zero-valued minute components
Version 0.4.1
Fixed
- Markdown documentation is now rendered to
stdout
(instead ofstderr
) as intended
Version 0.4.0
Added
- Added
Deprecated()
method to all builders, which marks the variable as deprecated and warns the user if it is defined - Added
StringBuilder.WithSensitiveContent()
, which hides the variable value from console output and generated documentation - Added functional options to
Init()
Changed
The following changes are technically not backwards compatible from a Go perspective, but under normal usage (as per the examples) they do not actually alter the usage of the Ferrite API.
- [BC]
NetworkPort()
now returns aNetworkPortBuilder
instead ofStringBuilder
- [BC]
Required[T]
andOptional[T]
are now structs instead of interfaces - [BC] All builder types now use pointer receivers
- [BC]
Require()
andOptional()
methods on all builders now use distinct option types
Version 0.3.6
Fixed
- Fixed schema rendering of URL variables in validation mode
Changed
- Improved algorithm for choosing which example to show in generated usage documentation
Version 0.3.5
Fixed
- Remove use
strings.CutPrefix()
to maintain compatibility with Go v1.19
Version 0.3.4
Changed
- Generate Markdown documentation for the syntax of integers, floating-point values, URLs and network ports
- Other general improvements to generated Markdown documentation
Fixed
- Trailing zeroes are no longer rendered on floating point values
Version 0.3.3
Added
- Add
URL()
- Generated Markdown documentation now indicates whether example values are normative or non-normative
- Generated Markdown documentation now describes the format of duration variables
Version 0.3.2
Added
- Add
Float()
- Add
File()
- Add
DurationBuilder.WithMinimum()
andWithMaximum()
- Add
SignedBuilder.WithMinimum()
andWithMaximum()
- Add
UnsignedBuilder.WithMinimum()
andWithMaximum()