TileDB v2.8.0 Release Notes

  • Disk Format

    • โž• Add Metadata to groups #2966
    • โž• Add Group on disk structure for members #2966

    ๐Ÿ†• New features

    • ๐Ÿ‘Œ Support gs:// as an alias for gcs:// #2864
    • Eliminate LOG_FATAL use from codebase #2897
    • ๐Ÿ“„ Collect missing docs #2922
    • ๐Ÿ‘Œ Support tiledb:// objects in the Object API #2954
    • ๐Ÿ‘ RLE compression support for var-length string dimensions #2938
    • โž• Add Metadata to groups #2966
    • โž• Add robust API to groups for adding and removing members of a group #2966

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ‘Œ Support top-level cap'n proto array object #2844
    • Nicer error message for tiledb fragment listing #2872
    • Removing Buffer from Tile. #2852
    • Splitting Writer class into 3 separate classes. #2884
    • โž• Adding a compressor algorithm for RLE encoding of strings #2857
    • Reader: treating empty string range as expected. #2883
    • โž• Add a compression algorithm for dictionary encoding of strings #2880
    • โž• Adds an ArrayDirectory class to manage all URIs within the array directory. #2909
    • โœ‚ Remove accidental addition of writer.cc. #2917
    • ๐Ÿ“‡ Tile metadata generator: code cleanup. #2919
    • Listing improvements: new directory structure for array. #2918
    • ArraySchema's Attribute smart pointer conversion #2887
    • โž• Add option for tile level filtering #2906
    • โœ… Switch to smart pointers and const references for ArraySchema, and avoid fetching the latest array schema twice. #2923
    • ๐Ÿšš Move vfs_helpers.cc and helper.cc into separate library with target that can be referenced elsewhere. #2929
    • Avoid calling generate_uri in ArraySchema accessors #2928
    • Global order writer: initialize last_var_offsets_. #2930
    • ๐Ÿ‘ป Wrap some C API functions with exception handlers. #2650
    • ๐Ÿ“‡ Fragment metadata: add min/max/sun/null count. #2934
    • Filter pipeline: incorrect stopping point during chunk parallellization. #2955
    • โž• Adding support to consolidate ok/wrt files. #2933
    • Tile medatada: treating TILEDB_CHAR as TILEDB_STRING_ASCII. #2953
    • Fragment metadata: treating TILEDB_CHAR as TILEDB_STRING_ASCII. #2958

    • Global order writer: fixing multi writes for var size attributes. #2963

    • VFS: adding configuration for vfs.max_batch_size. #2960

    • ๐Ÿ›  Fixing build errors using MacOSX12.3.sdk. #2981

    • ๐Ÿ‘Œ Support reading all consolidated fragment metadata files. #2973

    • Fixing compute_results_count_sparse_string for multiple range threads. #2983

    • Global writes: fixing OOM on write continuation. #2993

    • Do not store offsets when RLE is used on string dimensions #2969

    • Dynamically infer bytesizes for run length and strings for strings RLE compression #2984

    • โž• Add ability to store (optional) name with group member #3068

    ๐Ÿ› Bug fixes

    • Avoid thread starvation by removing std::future usage in S3 multipart upload #2851
    • ๐Ÿ windows_sanity fix #2870
    • โž• Adds missing pthreads link to dynamic memory unit test #2888
    • Remove common.h from arrow_io_impl.h #2915
    • Range::set_start and set_end should throw instead of empty returning #2913
    • ๐Ÿ›  Global writer: fixing write continuation for fixed sized attributes. #3062
    • tiledb_serialize_array_metadata should load metadata if its not loaded before serializing #3065
    • tiledb_serialize_group_metadata should load group metadata if its not loaded. #3070

    API additions

    C API

    • Introduce experimental tiledb_ctx_alloc_with_error to return error when context alloc fails #2905
    • Add tiledb_group_* APIs for robust group support #2966

    C++ API

    • โž• Add missing cstddef include to fix compile w/ GCC 7 #2885
    • โž• Add Group::* APIs for robust group support #2966