Skip to content

Releases: LieselThuriot/TableStorage

5.5.0

04 Feb 16:17

Choose a tag to compare

Release Notes

Major Features & Enhancements

  • Runtime Compilation for Blobs

    • Introduced the new TableStorage.Blobs.RuntimeCompilations project, enabling runtime LINQ expression compilation for blob queries.
    • Added EnableCompilationAtRuntime() extension for BlobOptions to activate runtime query compilation.
    • Implemented CompiledBlobQueryHandler for efficient, compiled blob queries.
    • Added new LINQ extension methods for batch updates on blob sets and async enumerables.
  • Blob Storage Improvements

    • Refactored BaseBlobSet and AppendBlobSet to improve internal structure, naming, and encapsulation.
    • Enhanced streaming and deserialization logic for blob entities.
    • Improved tag handling and query visitor logic for more robust filtering and querying.
    • Added new methods for retrieving streams and finding rows by partition.
  • Project & Build System

    • Updated Directory.Build.props:
      • Switched to version 5.5.
      • Improved package output, symbol/source inclusion, and CI build settings.
      • Modernized package reference management and MSBuild property usage.
  • Documentation

    • Added a new README for TableStorage.Blobs.RuntimeCompilations with usage instructions and feature overview.
    • Updated root README with quick install instructions for TableStorage.Core.

API & Breaking Changes

  • BlobSet API Changes

    • Changed several members in BaseBlobSet and AppendBlobSet from protected to protected internal for broader extensibility.
    • Renamed and refactored internal fields to properties (e.g., _optionsOptions).
    • Changed Download to DownloadAsync and improved async streaming logic.
    • Added new async methods for stream retrieval and row finding.
  • File Moves & Renames

    • Moved and renamed LazyExpression and LazyFilteringExpression to the new runtime compilations project for better separation of concerns.

Quality & Maintenance

  • Code Quality

    • Added and updated code analyzers and Roslyn packages for improved static analysis.
    • Improved code comments and structure for maintainability.
  • Assets

    • Added a new icon for the runtime compilations package.

Upgrade Notes:

  • If you use blob queries, consider enabling runtime compilation for improved performance and flexibility.
  • Review the new async APIs and updated method signatures for potential breaking changes.