Skip to content

v1.0.0-rc.1

Latest

Choose a tag to compare

@glenn2223 glenn2223 released this 19 Sep 16:20
cac3de7

1.0.0-rc.1 - 2024-09-19

Compare to previous release

🛈 This is the first release candidate for the package. There should be minimal changes between this and the final v1.0.0 release - as such, this is considered production ready

Breaking Changes (Overview)

  • byte[] and stream serialisation has changed, but is now significantly more robust (and simpler in its' implementation)
    • As JSON filtering hasn't changed, you can retain any filters saved in byte[] form. Before upgrading convert them to JSON and then upgrade and revert them back
    • Linked to this; TypeTracker.DefaultFilterStatementTypes has also been removed, as it is no longer required for serialisation

Changes (Overview)

  • Formatted across the whole project
  • Removed unused/unnecessary using statements

Package: TopMarksDevelopment.ExpressionBuilder.Api

Breaking Changes

  • IFilterCollection/IFilterCollection<T?> now expects an AddRange method

Added

  • Finally added all summary blocks 🎉
    (Chore: do the same to all other packages)

Package: TopMarksDevelopment.ExpressionBuilder.Core

Breaking Changes

  • byte[] and stream serialisation has changed, but is now significantly more robust
    • As JSON filtering hasn't changed, you can retain any filters saved in byte[] form. Before upgrading convert them to JSON and then upgrade and revert them back
    • Linked to this; TypeTracker.DefaultFilterStatementTypes has also been removed, as it is no longer required for serialisation

Added

  • There's now a .proto file available here
  • FilterCollection and FilterCollection<T?> include an AddRange method - supporting API Changes
  • Added new members for the serialisation changes
    • IProtoFilterItem interface
      Used on classes that build our filter (implementing the conversion between types)
    • IProtoConverter interface
      When your generic type is not a supported value, implementing this interface means we can still process it in byte[] serialisation
    • ProtoFilterStatement class
      The new class used for byte[] serialisation. This class does not have a generic type, so makes serialising a lot more simple and robust

Changes

  • Added JSON file test and renamed JSON tests
  • Removed tests associated with TypeTracker.DefaultFilterStatementTypes work

What's Changed

  • Improve byte[] serialising (plus formatting, protobuf and finished API documenting) by @glenn2223 in #21
  • PREP: v1.0.0-rc.1 by @glenn2223 in #22

Full Changelog: v0.4.0-beta...v1.0.0-rc.1