Releases
2.17.0
TileDB v2.17.0 Release Notes
Disk Format
Storage format version is now 20, bringing changes to support enumerated types. (#4051 ).
Configuration Changes
Add Enumeration max size configuration. #4308
New features
Enumerated data types (aka: "categoricals" in Pandas, "factors" in R). #4051
Support optimized creation of set membership (IN
, NOT_IN
) QueryConditions, replacing create+combine pattern for specifying the target set. #4164
Add C and C++ APIs to reflect as-built (build-time) configuration options as a JSON string. #4112 , #4199
Filter pipeline support for datatype conversions based on filtered output datatype. #4165
Add TileDB-REST support for vacuum and consolidation requests. #4229
TileDB-REST support for dimension labels. #4084
Improvements
Add TileDB-REST serialization for reinterpret_datatype. #4286
Update VFS to call ListObjectsV2 from the AWS SDK, providing significant performance improvements for array opening and other listing-heavy operations. #4216
Wrap KV::Reader::getKey calls into std::string_view. #4186
Unify ca_file and ca_path configuration parameters. #4087
Inline and optimize some trivial methods of the internal Array
class. #4226
Merge overlapping ranges on sparse reads. #4184
Legacy reader: reading non written region causes segfault. #4253
Make generic tile decompression single threaded to fix multi-query hang condition. #4256
Add tiledb_handle_load_enumerations_request
. #4288
Add TileDB-REST array open v2 serialization support for enumerations. #4307
Defects removed
Save error on the context before returning error code in tiledb_vfs_open
#4347
Filter pipeline: fix coord filter type. #4351
Dense reader: fix nullable string values when reading with QueryCondition. #4174
Fix segmentation fault in delta compressor test. #4143
Fix VFS is_empty_bucket
in C++ API. #4154
Initialize a Query at the end of deserialization to fix QueryCondition error against TileDB-REST. #4148
Sparse unordered w/ dups reader: adding ignored tiles. #4200
Allow Subarray::get_est_result_size_nullable
on remote arrays. #4202
Fix version check bug when deserializing attributes. #4189
Fix container issues in windows builds. #4177
Unordered writes: fix deserialization for older clients. #4246
Fix serialization of var-size property for nonempty domains. #4264
Clear pending changes during group delete to avoid updating a deleted group. #4267
Update filter checks for accepted datatypes. #4233
Check if Subarray label ranges are set in Query::only_dim_label_query
. #4285
Optimize capnp traversal size usage. #4287
Fix QueryCondition set conditions on attributes with enumerations. #4305
Backwards compatibility: correctly handle 0 chunk variable-size tiles. #4310
API changes
C API
Add C API attribute handle. #3982
Add result_buffer_elements_nullable
for variable size dimension labels. #4142
Add new C APIs for dimension label REST support. #4072
Add tiledb_as_built_dump
, to reflect the build-time configuration options as a JSON string. #4199
Add tiledb_query_condition_alloc_set_membership
for optimized set membership QC creation. #4164
Add C API handle for domain. #4053
C++ API
Throw if incorrect type is passed to set_data_type
. #4272
Add tiledb::AsBuilt::dump
class method, to reflect the build-time configuration options as a JSON string. #4199
Add QueryCondition::create
vectorized signature for set membership QC creation. #4164
Build System Changes
TileDB core library now requires C++20. Note that the public C++ API still only requires C++17. #4034
Fix macOS "experimental-features" build; CMake and CI QOL improvements #4297
Libxml2 needs to be linked after Azure libraries #4281
Adds macos experimental build to nightly CI. #4247
Fix static linking from the GitHub Releases package on Windows. #4263
Fix Azure build failures on non-Windows when vcpkg is disabled. #4258
Do not install static libraries when TILEDB_INSTALL_STATIC_DEPS
is not enabled. #4244
Use tiledb:stdx stop_token and jthread; fix experimental/ build on macOS. #4240
Export Azure::azure-storage-blobs on install when vcpkg is enabled. #4232
Move Azure DevOps CI jobs to GitHub Actions. #4198
Bump catch2 to 3.3.2 in vcpkg #4201
Fix static linking to the on Windows. #4190
Fix build with Clang 16 #4206
Remove a workaround for a no longer applicable GCC/linker script bug. #4067
Build curl with ZStandard support on vcpkg when serialization is enabled. #4166
Use clipp from vcpkg if enabled. #4134
Support acquiring libmagic from vcpkg. #4119
Simplify linking to Win32 libraries. #4121
curl version bump to resolve MyTile superbuild failure #4170
Improve support for multi-config CMake generators. #4147
Support new Azure SDK in superbuild #4153
Update libwebp to version 1.3.1. #4211
Fix Ninja builds on Windows #4173
Fix azure static library linking order for superbuild #4171
Fix vcpkg dependencies building only in Release mode. #4159
Fix compile error on macos 13.4.1 with c++20 enabled. #4222
Fix compilation with GCC 13 #4331
Test Changes
Add tests for TILEDB_NOT. #4169
Fix regression test exit status; fix unhandled throw (expected). #4311
Fix as_built
definitions in the C API compilation unit, and add validation test. #4289
Smoke test: only recreate array when needed. #4262
Array schema: C.41 changes, test support. #4004
Conditionally disable WhiteboxAllocator tests to fix GCC-13 build. #4291
Sorted reads tests: faster tests. #4278
You can’t perform that action at this time.