Outcome.NET v2.9.5 Release NotesRelease Date: 2018-10-09 // about 3 years ago
- 🚀 Minor bug fixes from previous beta/alpha releases, which are now thoroughly battle tested
- The Keys dictionary, for cases where you need more than just a message and a value.
- Helpers for serialization.
- ➕ Additions to the API described in previous beta/alpha releases.
These are all additions to the API and are not breaking changes.
🚚 Also, StatusCode is marked Obsolete now. In 3.0, StatusCode may be removed in favor of Keys, depending on community response. So please speak if you use StatusCode and need it to stay. It is simply a bit redundant now that we have the more flexible Keys. For now, I have re-worked StatusCode to use Keys as the backing store. StatusCode remains a property, so it should serialize exactly the same.
Previous changes from v2.9.4-beta
💥 Breaking change:
String.Format() can have problems when JSON is in the mix, since JSON uses curly braces and String.Format uses those to denote formatting. Outcomes.WithMessage() relies on String.Format, so it was possible to get parameter not specified errors!
♻️ Given the prevalence of JSON, the availability of string interpolation and so on, it was deemed worthwhile to refactor this even though it will break people. We now have .WithMessage() which just takes a string, and .WithMessageFormat("...") which uses String.Format behinds the scenes.
🏗 Also, fixed a problem where, under the .NET Standard 1.3 targeting, .FromOutcome was not copying the value. There was a test, but the test was broken. This is why we do alpha builds.