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
- 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
- Smart pointer conversion: ArraySchema Domain #2948
- ๐ป 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
- Smart pointer conversion: ArraySchema Dimension #2926
- Refactored tiledb::sm::serialization::filter_pipeline_from_capnp to be C41 compliant #2943
- 0๏ธโฃ 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 newtiledb::type
namespace #3059 - Convert tdb shared to shared #2965
- โ Add
StatusException
, an exception class to be thrown instead of returningStatus
#3050 - Cherry-pick #3061 #3064
- Typo fix in group.cc #3078
- ๐ 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
๐ Bug fixes
- [bug] Fix SC-17415: segfault due to underflow in for loop #3143
- ๐ Sparse global order reader: prevent dims from being unfiltered twice. #3150
- โ 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
- avoid some potentially invalid vector references #2932
- ๐ Sparse Global Order Reader Fix: Decrement Total Cells #3046
API additions
C++ API
- โ Add function to check if Config contains a parameter #3082