Releases: dogmatiq/ferrite
Releases · dogmatiq/ferrite
Version 1.5.1
Version 1.5.0
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
VariableSetto accept a type parameter for the value produced. - Changed
ReleventIf(),SeeAlso()andSupersededBy()to accept a type parameter for the value produced.
Version 1.4.0
Added
- Added
FileBuilder.WithMustExist()constraint. - Added
Dir()builder for directory paths.
Changed
- Bumped minimum Go version to v1.22.
Version 1.3.0
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
Changed
- Dropped support for Go v1.19, which reached end-of-life on 2023-08-08
- Removed use of the
slicesandmapspackages fromgolang.org/x/exp. These package are not versioned and as such breaking changes can cause conflicts with other dependencies. The experimentalconstraintspackage is still used, with the expectation that these will always remain valid for use as type parameter constraints.
Version 1.2.0
Added
- Added
RegistryandNewRegistry() - Added
RegistryOptionandWithDocumentationURL()
Changed
- Changed
WithRegistry()to accept aferrite.Registryinstead of the experimentalvariable.Registrytype - Passing
WithRegistry()toInit()is now additive, instead of replacing the default registry
Removed
- Removed the experimental
maybeandvariablesub-packages
Fixed
- Prevent registration of multiple environment variables with the same name
Version 1.1.0
Added
- Added
Binary()andBinaryAs()builders for binary variables - Added
variable.LengthLimitedschema for values that have minimum or maximum lengths
Changed
variable.Stringnow implements the newLengthLimitedinterface- Rename the
variable.[Min|Max]LengthError.StringtoViolatedSchemaand change its type toLengthLimited
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/dotenvmode.
Version 1.0.3
Changed
export/dotenvmode now includes sensitive values in the output
Version 1.0.2
Fixed
- Added
exportkeyword to output ofexport/dotenvmode
Changed
- Improve example values for
File()builder
Version 1.0.1
Changed
- Render a table of environment variables in Markdown documentation instead of bullet points
- Simplify language in generated documentation