Skip to content

TileDB 2.9.0

Compare
Choose a tag to compare
@ihnorton ihnorton released this 14 May 01:50

TileDB v2.9.0 Release Notes

Disk Format

  • Update on-disk format because of the new available compressor for Dictionary-encoding of strings #3042

New features

  • RLE compression support for var-length string dimensions #2938
  • Add virtual filesystem ls_with_sizes function #2971
  • Add new CMake build option for TILEDB_EXPERIMENTAL_FEATURES to compile time protect experimental features. #2748
  • Forwardport Group API #3058
  • Support Dictionary-encoding filter for string dimensions and attributes #3077
  • Use legacy sparse global order reader for 2.9 #3096
  • Add libmagic to build process. #3088
  • New file storage APIs (tiledb_filestore_...) #3121

Improvements

  • Convert FilterPipeline deserialize function to static factory function #2799
  • Convert array metadata deserialize function to factory function #2784
  • A new thread pool with modern C++ compatible API and exception-safe behavior. #2944
  • Global order writer: fixing multi writes for var size attributes. #2963
  • Smart pointer conversion: ArraySchema Domain #2948
  • VFS: adding configuration for vfs.max_batch_size. #2960
  • Declare all C API functions noexcept. Put existing C API functions inside exception safety wrappers to meet the declaration change. #2961
  • Add support for compile-time assertion configuration #2962
  • Refactored tiledb::sm::serialization::attribute_from_capnp to be C41 compliant #2937
  • Support reading all consolidated fragment metadata files. #2973
  • Fixing build errors using MacOSX12.3.sdk. #2981
  • 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
  • Smart pointer conversion: ArraySchema Dimension #2926
  • Refactored tiledb::sm::serialization::filter_pipeline_from_capnp to be C41 compliant #2943
  • Enable sparse global order reader by default. #2997
  • Add API for FragmentInfo::get_fragment_name #2977
  • add validity file format specification #2998
  • Convert Domain class deserialize function to factory function #2800
  • Dense reader: fix user buffer offset computation for multi-index queries. #3002
  • Sparse readers: using zipped coords buffers for fragment version < 5. #3016
  • Extra UTs on string RLEs #3024
  • Bump Catch2 version to 2.13.8 #3027
  • Split consolidator in multiple classes. #3004
  • HTML-render the existing format-spec Markdown docs. #3043
  • Add more detailed doc for schema evolution timestamp range functions. #3029
  • Run doc-render job on doc-only PRs, and not on non-doc PRs #3045
  • Support curl POSTing >2GB data to REST #3048
  • Dense reader: do not sort input ranges. #3036
  • Support consolidating non-contiguous fragments. #3037
  • Introduce dictionary-encoding as an enum option for filters #3042
  • Move Range to new tiledb::type namespace #3059
  • Convert tdb shared to shared #2965
  • Add StatusException, an exception class to be thrown instead of returning Status #3050
  • Global writer: fixing write continuation for fixed sized attributes. #3062
  • Cherry-pick #3061 #3064
  • Add ability to store (optional) name with group member #3068
  • Typo fix in group.cc #3078
  • All ranges tile overlap: skip computation for default dimensions. #3080
  • Add golang annotation to capnp spec file #3089
  • Rename tiledb time.h/math.h to avoid possible conflicts with standard header files. #3087
  • Convert ArraySchema's deserialize to a factory function #3012
  • varying_size_datum_at: fixing comparison error. #3127
  • Global writes: check global order on write continuation. #3109

Deprecations

Bug fixes

  • [bug] Fix SC-17415: segfault due to underflow in for loop #3143
  • Unordered writer: fixing segfault for empty writes. #3161
  • Sparse global order reader: prevent dims from being unfiltered twice. #3150
  • Filter pipeline: fixing empty pipeline, multi chunk, refactored queries. #3149
  • compare nullptr, avoid catch2 comparison warning failure #2970
  • Check that array is open before getting non_empty_domain #2980
  • Fix assertion failure in GCS, debug build #3001
  • Fix missing stats on cloud queries. #3009
  • Sparse unordered w/ dups reader: coord tiles management fix. #3023
  • Incorrect validity result count in REST query #3015
  • use different API approach to avoid possible file sharing violation #3056
  • 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
  • avoid some potentially invalid vector references #2932
  • Sparse Index Reader Fix: Check For Empty Buffer #3051
  • Sparse Global Order Reader Fix: Decrement Total Cells #3046
  • Reset group metadata only based on end timestamp to ensure its always reset to now #3091
  • Sparse unordered w/ dups reader: fix incomplete reason for cloud reads. #3104

API additions

C++ API

  • Add function to check if Config contains a parameter #3082