Skip to content

Commit

Permalink
Set the version to 1.1.0 for release.
Browse files Browse the repository at this point in the history
Updated the release notes with the changes in this release.
  • Loading branch information
Zastai committed Apr 15, 2020
1 parent 7aff449 commit e0f5e68
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 4 deletions.
2 changes: 1 addition & 1 deletion MetaBrainz.Common.Json/MetaBrainz.Common.Json.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<Title>Common JSON Utilities</Title>
<Description>This package provides JSON-related utility classes used by other MetaBrainz packages.</Description>
<PackageTags>MetaBrainz JSON</PackageTags>
<Version>1.1.0-pre</Version>
<Version>1.1.0</Version>
</PropertyGroup>

<PropertyGroup>
Expand Down
45 changes: 43 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,51 @@ JSON-related helper classes, for use by the other `MetaBrainz.*` packages.

## Release Notes

### v1.0 (2020-03-20)
### v1.1.0 (2020-04-15)

#### API Changes

- `AnyObjectConverter` is now marked as `[Obsolete]`
- it is superseded by `AnyObjectReader` (see below)

#### API Additions

- New Class: `JsonReader<T>`
- a deserialization-only `JsonConverter<T>`
- New Class: `JsonWriter<T>`
- a serialization-only `JsonConverter<T>`
- New Class: `JsonConverter<T, TReader, TWriter>`
- a `JsonConverter<T>` that forwards to a `JsonReader<T>` and `JsonWriter<T>`
- New Class: `ObjectReader<T>` - a `JsonReader<T>` that handles values serialized as JSON objects
- has an abstract `ReadObjectContents` method to override
- New Class: `ObjectWriter<T>` - a `JsonWriter<T>` that handles values serialized as JSON objects
- has an abstract `WriteObjectContents` method to override
- New Class: `AnyObjectReader` - a `JsonReader<object?>` that handles any value as a .NET object
- replaces `AnyObjectConverter`
- slightly different behaviour:
- numbers will use `int` when possible (instead of starting from `long`)
- decimal numbers will avoid `decimal` in degenerate cases
- JSON objects are mapped to `Dictionary<string,object?>` instead of `JsonElement`
- New Method: `JsonUtils.ReadList()` (several overloads)
- simplifies deserialisation of JSON arrays
- New Methods: `JsonUtils.WriteList()` and `JsonUtils.WriteListAsync()` (several overloads)
- simplifies serialisation of JSON arrays

#### Other Changes

- tweaks and updates to the build system
- marked more types as `[PublicAPI]` (dev-time change only)

#### Dependency Updates:

- JetBrainz.Annotations → 2020.1.0
- System.Text.Json → 4.7.1


### v1.0.0 (2020-03-20)

First release.

This package contains some JSON-related helper classes that were used by multiple projects of
the [MusicBrainz](https://github.com/Zastai/MusicBrainz) repository, which is being split into
the [MusicBrainz](https://github.com/Zastai/MusicBrainz) repository, which has been split into
multiple repositories (aiming for one NuGet package == one repository).
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 1.1.0-appveyor.{build}
version: 1.1.0
image: Visual Studio 2019
configuration: Debug
install:
Expand Down

0 comments on commit e0f5e68

Please sign in to comment.