Skip to content

Releases: dogmatiq/ferrite

Version 1.5.1

10 Apr 20:45
v1.5.1
29b61a0

Choose a tag to compare

Changed

  • Improved generated documentation for environment variables that use RelevantIf() or ReleventWhen() options.

Version 1.5.0

10 Apr 01:04
v1.5.0
840b5cd

Choose a tag to compare

Added

  • Added ReleventWhen() option, which conditionally enables an environment variable when another variable has a specific value.

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:

  • Changed the VariableSet to accept a type parameter for the value produced.
  • Changed ReleventIf(), SeeAlso() and SupersededBy() to accept a type parameter for the value produced.

Version 1.4.0

16 Aug 23:12
v1.4.0
c40bb23

Choose a tag to compare

Added

  • Added FileBuilder.WithMustExist() constraint.
  • Added Dir() builder for directory paths.

Changed

  • Bumped minimum Go version to v1.22.

Version 1.3.0

14 Mar 04:40
v1.3.0
769b1f6

Choose a tag to compare

Added

  • Added StringBuilder.WithMinimumLength(), WithMaximumLength(), WithLength().
  • Added BytesBuilder.WithMinimumLength(), WithMaximumLength(), WithLength().

Fixed

  • Fixed wording of error message when a variable exceeds the maximum length.

Version 1.2.1

13 Aug 23:59
v1.2.1
3a3d6be

Choose a tag to compare

Changed

  • Dropped support for Go v1.19, which reached end-of-life on 2023-08-08
  • Removed use of the slices and maps packages from golang.org/x/exp. These package are not versioned and as such breaking changes can cause conflicts with other dependencies. The experimental constraints package is still used, with the expectation that these will always remain valid for use as type parameter constraints.

Version 1.2.0

11 Jun 21:27
v1.2.0
4a4f23a

Choose a tag to compare

Added

  • Added Registry and NewRegistry()
  • Added RegistryOption and WithDocumentationURL()

Changed

  • Changed WithRegistry() to accept a ferrite.Registry instead of the experimental variable.Registry type
  • Passing WithRegistry() to Init() is now additive, instead of replacing the default registry

Removed

  • Removed the experimental maybe and variable sub-packages

Fixed

  • Prevent registration of multiple environment variables with the same name

Version 1.1.0

06 Jun 02:50
v1.1.0
c603cf6

Choose a tag to compare

Added

  • Added Binary() and BinaryAs() builders for binary variables
  • Added variable.LengthLimited schema for values that have minimum or maximum lengths

Changed

  • variable.String now implements the new LengthLimited interface
  • Rename the variable.[Min|Max]LengthError.String to ViolatedSchema and change its type to LengthLimited

Removed

  • Removed "platform" examples from generated documentation. These are too opinionated and organization-specific to be included in every project's documentation. Instead, we will provide different export modes that can be used to generate Docker/Kubernetes/etc configurations, similar to the existing export/dotenv mode.

Version 1.0.3

19 Apr 21:49
v1.0.3
b9baf1c

Choose a tag to compare

Changed

  • export/dotenv mode now includes sensitive values in the output

Version 1.0.2

29 Mar 00:21
v1.0.2
ca1559d

Choose a tag to compare

Fixed

  • Added export keyword to output of export/dotenv mode

Changed

  • Improve example values for File() builder

Version 1.0.1

28 Mar 04:16
v1.0.1
f71fc66

Choose a tag to compare

Changed

  • Render a table of environment variables in Markdown documentation instead of bullet points
  • Simplify language in generated documentation