TileDB v2.7.0 Release Notes

  • Disk Format

    • โšก๏ธ Removed file __lock.tdb from the array folder and updated the format spec. Also removed config vfs.file.enable_filelocks. #2692

    ๐Ÿ†• New features

    • Publish Subarray access/functionality for use outside of core. #2214
    • โž• Add TILEDB_BYTE datatype #2721
    • ๐Ÿ”ฆ Expose array schema libtiledb version information #2863

    ๐Ÿ‘Œ Improvements

    • Convert loose files thread_pool.* into a unit #2520
    • Bump cmake_minimum_required to 3.21 #2532
    • dynamic_memory unit, including allocator #2542
    • ๐Ÿ implement windows CI functionality with github actions #2498
    • ๐Ÿ implement windows crash dump file processing for windows #2657
    • โž• Added object libraries: baseline, buffer, thread_pool #2629
    • ๐Ÿ‘ท ubuntu core dump processing (GA) CI #2642
    • Avoid copy and set of config in tiledb_query_add_range as a performance optimization from the new subarray APIs #2740
    • ๐Ÿ— core file stack backtracing and artifact uploading for mac CI builds #2632
    • Move Status::*Error to Status_*Error #2610
    • ZStd Compressor: allocate one context per thread and re-use. #2701
    • Include offset index in oversize error message #2757
    • ๐Ÿ–จ Print resource pool contained type on error #2757
    • Using RETURN_NOT_OK_TUPLE in attribute.cc. #2787
    • โž• Add timestamp range to schema evolution to avoid race conditions based on schema timestamp #2776
    • Convert dimension deserialize to factory #2763
    • ๐Ÿ‘Œ Improve object type detection performance #2792
    • Query condition: differentiate between nullptr and empty string. #2802
    • patch git+git: to git+https: to avoid GH access failure #2805
    • โœ‚ Remove examples writing sparse fragments to dense arrays. #2804
    • ๐Ÿ”„ Change the ZStd filter compression level range and add defined compression level default values #2623
    • ๐Ÿ”„ Change the ZStd filter compression level range and add defined compression level default values #2811
    • ๐Ÿ”„ changes to augment dbg output on build failures #2801
    • ๐Ÿ“œ Sparse unordered w/ dups reader: process queries until full user buffers #2816
    • ๐Ÿ‘Œ Support var-length CHAR QueryConditions #2814
    • ๐Ÿ”€ Sparse global order reader: merge smaller cell slabs. #2818
    • ๐Ÿ›  Fixing build errors in query condition. #2820
    • ๐Ÿ”จ Enabling refactored dense reader by default. #2808
    • Switching TUPLE macros to be variadic. #2822
    • Read tiles: no buffer pre-allocation for no-opt filter. #2819
    • ๐Ÿ”จ Refactored dense reader: resetting the unsplittable flag on completion. #2832
    • ๐Ÿ”จ Refactored dense reader: code cleanup. #2833
    • Fixing Subarray::crop_to_tile to crop default dimensions. #2831
    • Dense reader: fixing src cell offset for different cell order. #2835
    • ๐Ÿ‘Œ Support storing integral cells in a chunk. #2821
    • ๐Ÿ‘Œ Improve error handling for Array non empty domain calls. #2845
    • โœ‚ Remove OpenArray and refactor StorageManager and FragmentInfo #2839
    • โž• Adding min/max/sum/null count to fragment info. #2830
    • Fine-tune unfiltering parallelization #2842
    • Removing ch9473 comments in unit-cppapi-string-dims.cc. #2837
    • Global writes: writting bad validity values when coordinates are dups. #2848
    • ๐Ÿ›  Fixing issues in VS2019. #2853
    • Writer: processing var tiles before offset tiles. #2854
    • Writer: moving unordered_map::emplace outside of parallel_for. #2860
    • Dense reader: removing unnecessary loop around read_attributes. #2859
    • Convert deserialize function of Attribute to factory function #2566
    • Convert Filter class deserialize and create to factory functions #2655
    • ๐Ÿ“‡ Tile metadata test: reducing amount of spew in verbose mode. #2882
    • compute_results_count_sparse_string: fixing incorect memcmp. #2892
    • ๐Ÿ“œ Sparse rindex readers: fixing query resume on TileDB cloud. #2900

    ๐Ÿ—„ Deprecations

    • Deprecate TILEDB_CHAR in favor of users using TILEDB_BYTE or TILEDB_STRING_ASCII for attribute datatypes. #2742 #2797
    • ๐Ÿ—„ Deprecate TILEDB_ANY datatype #2807
    • Deprecate TILEDB_STRING_USC2 and TILEDB_STRING_USC4 datatypes. #2812
    • โฌ‡๏ธ Drop support for Visual Studio 2017 compiler #2847

    ๐Ÿ› Bug fixes

    • ๐Ÿ‘ Better windows relative path support with '/' #2607
    • ๐Ÿ›  Fixed dangling links in README. #2712
    • ๐Ÿ– Handle multiple core files for stack traces and archiving #2723
    • ๐Ÿ restore lost cmake code necessary for clean build on windows with -EnableAzure #2656
    • Return error for nonempty_domain access regardless of local/remote status #2766
    • ๐Ÿ›  Fix segfault in new sparse null QueryCondition code #2794
    • ReaderBase needs to load var sizes #2809
    • Only initialize REST query strategies once #2836
    • Logger json format output is not valid #2850
    • Closing a non-opened array should be a no-op instead of error. #2889
    • ๐Ÿ‘ patch (unsupported) 3rd party azure cpp lite sdk used by TileDB to avoid memory faults #2881
    • โœ… Free allocated latest array schema when on error of loading all array schemas #2907

    API additions

    C API

    • Add tiledb_array_schema_evolution_set_timestamp_range to avoid race conditions based on schema timestamp #2776
    • Deprecate TILEDB_CHAR in favor of users using TILEDB_BYTE or TILEDB_STRING_ASCII for attribute datatypes. #2742 #2797
    • Add {set,get}_validity_filter_list #2798
    • ๐Ÿ—„ Deprecate TILEDB_ANY datatype #2807
    • Deprecate TILEDB_STRING_USC2 and TILEDB_STRING_USC4 datatypes. #2812
    • Add tiledb_array_schema_get_version for fetching array schema version #2863
    • Introduce experimental tiledb_ctx_alloc_with_error to return error when context alloc fails #2905

    C++ API

    • Add ArraySchemaEvolution::set_timestamp_range to avoid race conditions based on schema timestamp #2776
    • Deprecate TILEDB_CHAR in favor of users using TILEDB_BYTE or TILEDB_STRING_ASCII for attribute datatypes. #2742 #2797
    • Add validity_filter_list set/get and missing get tests #2798
    • ๐Ÿ—„ Deprecate TILEDB_ANY datatype #2807
    • Deprecate TILEDB_STRING_USC2 and TILEDB_STRING_USC4 datatypes. #2812
    • โž• Add ArraySchema::version() for fetching array schema version #2863
    • โž• Add missing cstddef include to fix compile w/ GCC 7 #2885