Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
platform: macos-arm64
- os: windows-latest
platform: windows-x86_64
tag: [release-2.28, main]
tag: [release-2.29, main]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout TileDB
Expand Down Expand Up @@ -73,7 +73,7 @@ jobs:
strategy:
fail-fast: false
matrix:
tag: [release-2.28, main]
tag: [release-2.29, main]
runs-on: ubuntu-latest
steps:
- name: Checkout TileDB-CSharp
Expand Down Expand Up @@ -107,7 +107,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
tag: [release-2.28, main]
tag: [release-2.29, main]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout TileDB-CSharp
Expand Down
2 changes: 1 addition & 1 deletion Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<TileDBNativePackageName>TileDB.Native</TileDBNativePackageName>
<TileDBNativePackageVersion>[2.28.1,2.29.0)</TileDBNativePackageVersion>
<TileDBNativePackageVersion>[2.29.1,2.30.0)</TileDBNativePackageVersion>

<!-- The DevelopmentBuild property switches to the locally built native packages.
They have a different name to avoid publishing them by mistake, and to
Expand Down
19 changes: 19 additions & 0 deletions docs/obsoletions.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Following [the deprecation policy of TileDB Embedded][core-deprecation], obsolet
|[`TILEDB0014`](#TILEDB0014) …[`TILEDB0014`](#TILEDB0014)|5.8.0|5.10.0|
|[`TILEDB0015`](#TILEDB0015) …[`TILEDB0015`](#TILEDB0015)|5.13.0|5.15.0|
|[`TILEDB0016`](#TILEDB0016) …[`TILEDB0016`](#TILEDB0016)|5.17.0|5.19.0|
|[`TILEDB0017`](#TILEDB0017) …[`TILEDB0017`](#TILEDB0017)|5.19.0|5.21.0|

## `TILEDB0001` - Enum value names that start with `TILEDB_` were replaced with C#-friendly names.

Expand Down Expand Up @@ -378,4 +379,22 @@ The TileDB filestore APIs, exposed by the `TileDB.CSharp.File` class are obsolet

There is no direct replacement. You can manually store files in TileDB by representing them as one-dimensional dense arrays of bytes.

## `TILEDB0017` - `VFS.VisitChildrenRecursive` original overload is obsolete.

<a name="TILEDB0017"></a>

The `VFS.VisitChildrenRecursive` method behaves inconsistently depending on the storage backend being used. When calling it with an object storage path (S3, Azure, GCS), only files were returned, but on a local file system path, both files and directories were returned.

This was fixed in version 5.19.0. A new overload of `VisitChildrenRecursive` was introduced, which lists directories even in object storage, and its callback delegate includes a boolean parameter to distinguish between files and directories.

For compatibility, the old overload's behavior was preserved, and it was deprecated and will be removed in a future version.

### Version introduced

5.19.0

### Recommended action

Use the overload with the callback that accepts a boolean.

[core-deprecation]: https://github.com/TileDB-Inc/TileDB/blob/dev/doc/policy/api_changes.md
301 changes: 299 additions & 2 deletions sources/TileDB.CSharp/CompatibilitySuppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,304 @@
<!-- https://learn.microsoft.com/en-us/dotnet/fundamentals/package-validation/diagnostic-ids -->
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Suppression>
<DiagnosticId>PKV006</DiagnosticId>
<Target>net5.0</Target>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.CSharp.ConfigIterator</Target>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use these options instead of doing this manually? No worries if not, just checking after looking through the docs this morning

https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#apicompatgeneratesuppressionfile

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's how I generated this file; with a dotnet pack -p:ApiCompatGenerateSuppressionFile=true. 😅

The file is supposed to be committed to source control and manually regenerated, in order to catch inadvertent breaking changes to the API. These changes were made earlier in #363, but the compatibility file got updated now because we delayed bumping the version.

<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.__sFILE</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.ArrayHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.ArraySchemaEvolutionHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.ArraySchemaHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.AttributeHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.ConfigHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.ConfigIteratorHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.ContextHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.DimensionHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.DomainHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.FilterHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.FilterListHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.GroupHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.LibC</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.MarshaledString</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.MarshaledStringOut</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.QueryConditionHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.QueryHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.SpanExtensions</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_array_schema_evolution_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_array_schema_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_array_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_array_type_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_attribute_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_config_iter_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_config_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_ctx_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_datatype_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_dimension_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_domain_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_filter_list_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_filter_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_filter_type_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_group_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_query_condition_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_query_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_query_type_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.tiledb_vfs_t</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:TileDB.Interop.VFSHandle</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:TileDB.CSharp.Config.Iterate(System.String)</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:TileDB.CSharp.EnumUtil.DataTypeToType(TileDB.CSharp.DataType)</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:TileDB.CSharp.EnumUtil.TypeToDataType(System.Type)</Target>
<Left>lib/net8.0/TileDB.CSharp.dll</Left>
<Right>lib/net8.0/TileDB.CSharp.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
</Suppressions>
Loading
Loading