Skip to content

Releases: dogmatiq/ferrite

Version 0.5.0

12 Mar 04:01
v0.5.0
afc8ec2
Compare
Choose a tag to compare
Version 0.5.0 Pre-release
Pre-release

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() with WithConstraint()
  • variable.Register() now directly accepts a Registry instead of using functional options

Removed

  • Removed variable.Option type and variable.WithRegistry() option

Fixed

  • Internal errors from strconv.ParseXXX() functions are no longer presented to the user verbatim

Version 0.4.2

11 Mar 03:46
v0.4.2
247c5ad
Compare
Choose a tag to compare
Version 0.4.2 Pre-release
Pre-release

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

10 Mar 08:13
v0.4.1
7747589
Compare
Choose a tag to compare
Version 0.4.1 Pre-release
Pre-release

Fixed

  • Markdown documentation is now rendered to stdout (instead of stderr) as intended

Version 0.4.0

10 Mar 07:25
v0.4.0
f04accb
Compare
Choose a tag to compare
Version 0.4.0 Pre-release
Pre-release

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 a NetworkPortBuilder instead of StringBuilder
  • [BC] Required[T] and Optional[T] are now structs instead of interfaces
  • [BC] All builder types now use pointer receivers
  • [BC] Require() and Optional() methods on all builders now use distinct option types

Version 0.3.6

06 Mar 03:20
v0.3.6
365c0ca
Compare
Choose a tag to compare
Version 0.3.6 Pre-release
Pre-release

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

05 Mar 23:55
v0.3.5
2acaf78
Compare
Choose a tag to compare
Version 0.3.5 Pre-release
Pre-release

Fixed

  • Remove use strings.CutPrefix() to maintain compatibility with Go v1.19

Version 0.3.4

05 Mar 06:40
v0.3.4
23c3332
Compare
Choose a tag to compare
Version 0.3.4 Pre-release
Pre-release

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

03 Mar 02:03
v0.3.3
ac0f4bc
Compare
Choose a tag to compare
Version 0.3.3 Pre-release
Pre-release

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

29 Nov 23:34
v0.3.2
45a40d2
Compare
Choose a tag to compare
Version 0.3.2 Pre-release
Pre-release

Added

  • Add Float()
  • Add File()
  • Add DurationBuilder.WithMinimum() and WithMaximum()
  • Add SignedBuilder.WithMinimum() and WithMaximum()
  • Add UnsignedBuilder.WithMinimum() and WithMaximum()

Version 0.3.1

24 Aug 01:44
v0.3.1
93cac44
Compare
Choose a tag to compare
Version 0.3.1 Pre-release
Pre-release

Added

  • Add NetworkPort()