Skip to content

Latest commit

 

History

History
82 lines (55 loc) · 7.04 KB

CHANGELOG.md

File metadata and controls

82 lines (55 loc) · 7.04 KB

Changelog

All notable changes to PolyKit will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased changes

New features

Changes to existing features

Bugs fixed in this release

Known problems introduced by this release

3.0.9 (2023-11-26)

This release updates some dependencies to their post-.NET 8.0 versions. No other modifications were made.

3.0.4 (2023-11-20)

New features

  • .NET 8 was added as a target platform.
  • All polyfills were updated with modifications (if any) made to BCL types up to the release of .NET 8.0.0.
  • The polyfill for ExperimentalAttribute has been added; however, this attribute is only polyfilled by PolyKit.Embedded when compiling with .NET SDK 8.0. This avoids giving the user the false impression that the attribute is supported, when the compiler doesn't actually support it.
  • DateOnly and TimeOnly polyfills now support deconstruction.

Changes to existing features

  • BREAKING CHANGE: Extension classes that were previously in PolyKit.* namespaces have been moved to System.* namespaces, in order for their members to be more easily discoverable (e.g. by Intellisense) and usable without additional using statements.
    This change may seem to go against best practices, as it places PolyKit types in namespaces usually reserved for the BCL; however, it makes sense if you consider that one of the purposes of polyfills is to minimize the amount of code changes necessary to backport code.
    Affected extension classes include:
    • PolyKitEnumerable, moved from PolyKit.Linq to System.Linq;
    • PolyKitExceptionExtensions, moved from PolyKit.Diagnostics to System;
    • PolyKitStackTraceExtensions, moved from PolyKit.Diagnostics to System.Diagnostics.

2.0.30 (2022-11-24)

Bugs fixed in this release

  • The polyfill for DateOnly could generate a CS8602 warning (possible dereference of a null reference).
  • The polyfill for TimeOnly, when compiled without span support, generated two CS1503 errors because of a missing preprocessor conditional.

2.0.26 (2022-11-24)

Bugs fixed in this release

  • The polyfills for DateOnly and TimeOnly only worked when either the target platform supported spans, or the System.Memory package was referenced.

2.0.24 (2022-11-23)

New features

Changes to existing features

  • BREAKING CHANGE: Following .NET's Library support for older frameworks policy, support for .NET Core 3.1 has been removed.
  • All types provideed by PolyKit are now flagged with the necessary attributes to be ignored by code analyzers, debuggers, code coverage tools, code metrics, etc. See this blog post for more information about the attributes added to types and the rationale behind each of them.

1.0.16 (2022-11-01)

Initial release.