Skip to content

Commit

Permalink
doc: 📝Remove release notes from README.md; Add link to second TS lib (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
hf-kklein authored Jul 25, 2023
1 parent 0ce2d90 commit ba54ce2
Showing 1 changed file with 2 additions and 43 deletions.
45 changes: 2 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,54 +112,13 @@ decimal.MarshalJSONWithoutQuotes = true

as described f.e. in [issue 21 there](https://github.com/shopspring/decimal/issues/21).

## Version Notes

### Go 1.19 since v0.3.0

Since [version 0.3.0](https://github.com/Hochfrequenz/go-bo4e/releases/tag/v0.3.0) this library is based on Go 1.19.

### Go 1.18 since v0.2.0

Since [version 0.2.0](https://github.com/Hochfrequenz/go-bo4e/releases/tag/v0.2.0) this library is based on Go 1.18, because we want to make use of Generics.

### Go 1.17 since v0.1.0

Since [version 0.1.0](https://github.com/Hochfrequenz/go-bo4e/releases/tag/v0.1.0) this library is based on Go 1.17, because Go 1.16 has reached end of life.

### Handling Unknown Fields in (Un)Marshaling since v0.0.36

If you're unmarshaling a Business Object that contains fields which are not defined in the BO structs, they'll be
deserialized into the `Geschaeftsobjekt.ExtensionData` map. This behaviour is achieved by implementing a
custom `UnmarshalJSON` func. The `ExtensionData`, if not empty, will also be marshalled on root level by default.

âš  This feature is experimental and for now only works for the **Marktlokation**.

### General Default Value Marshalling Behaviour since v0.0.22

Since v0.0.22 default values are no longer marshalled/included in serialized Business Objects or COMponents. Prior to
v0.0.22 default values of required fields serialized as f.e. empty string, `null` or empty slice. For enums this
behaviour had already been introduced in v0.0.19 (see below). This is a step towards decoupling of serialization and
validation.

### Default Enum Marshalling Behaviour since v0.0.19

Since version v0.0.19 default enum values are no longer serialized/marshalled. Prior to v0.0.19 fields with an enum type
that are required but were uninitialized had been serialized as `NameOfEnum(0)`. This change is a step towards
decoupling of serialization and validation.

### Breaking Changes introduced in v0.0.13 and v0.0.14:

- The struct that is embedded in all BusinessObjects is now called `Geschaeftsobjekt` (was `BusinessObject` <=v0.0.12)to
be consistent with the official documentation
- `BusinessObject` is now the name of the interface that all structs with embedded `Geschaeftsobjekt` implement
- Enums are consistently written in upper case ([PR 32](https://github.com/Hochfrequenz/go-bo4e/pull/32))

## Other Noteworthy BO4E Implementations

- [C# / .NET](https://github.com/Hochfrequenz/BO4E-dotnet/)
- [Python](https://github.com/Hochfrequenz/BO4E-python/)
- [Kotlin](https://github.com/openEnWi/ktBO4E-lib)
- [TypeScript](https://github.com/openEnWi/tsBO4E-lib)
- [TypeScript](https://github.com/openEnWi/tsBO4E-lib) (handcrafted)
- [TypeScript](https://github.com/Hochfrequenz/bo4e-dotnet-ts-models) (autogenerated from C# lib)

## Contributing

Expand Down

0 comments on commit ba54ce2

Please sign in to comment.