chore: Bump Microsoft.SourceLink.GitHub from 8.0.0 to 10.0.102 (#259)

Updated [Microsoft.SourceLink.GitHub](https://github.com/dotnet/dotnet)
from 8.0.0 to 10.0.102.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.SourceLink.GitHub's
releases](https://github.com/dotnet/dotnet/releases)._

## 10.0.102-sb1

You can build .NET 10.0 from the repository by cloning the release tag
`v10.0.102-sb1` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.102-sb1/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.102-sb1/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 10.0.101

You can build .NET 10.0 from the repository by cloning the release tag
`v10.0.101` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.101/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.101/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 10.0.100

You can build .NET 10.0 from the repository by cloning the release tag
`v10.0.100` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.100/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.100/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

To produce artifacts with the .NET 10 GA version strings, users must
pass the branding argument to the build: `--branding rtm`.

## 10.0.100-rc.2.25502.107

You can build .NET 10.0 RC 2 from the repository by cloning the release
tag `v10.0.100-rc.2.25502.107` and following the build instructions in
the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.100-rc.2.25502.107/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.100-rc.2.25502.107/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

Note: GitHub automatically generates the "Source code (tar.gz/zip)"
archives included in this release. Please download the official source
code from:
-
[dotnet-source-10.0.100-rc.2.25502.107.tar.gz](https://builds.dotnet.microsoft.com/dotnet/source-build/dotnet-source-10.0.100-rc.2.25502.107.tar.gz)
-
[dotnet-source-10.0.100-rc.2.25502.107.zip](https://builds.dotnet.microsoft.com/dotnet/source-build/dotnet-source-10.0.100-rc.2.25502.107.zip)

## 10.0.100-rc.1.25451.107

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 10.0 RC 1 from the repository by cloning the release
tag `v10.0.100-rc.1.25451.107` and following the build instructions in
the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.100-rc.1.25451.107/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.100-rc.1.25451.107/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 10.0.100-preview.7.25380.108

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 10.0 Preview 7 from the repository by cloning the
release tag `v10.0.100-preview.7.25380.108` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.100-preview.7.25380.108/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.100-preview.7.25380.108/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 10.0.0-preview.6.25358.103

You can build .NET 10.0 Preview 6 from the repository by cloning the
release tag `v10.0.0-preview.6.25358.103` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.6.25358.103/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.6.25358.103/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 10.0.0-preview.5.25277.114

You can build .NET 10.0 Preview 5 from the repository by cloning the
release tag `v10.0.0-preview.5.25277.114` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.5.25277.114/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.5.25277.114/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 10.0.0-preview.4.25258.110

You can build .NET 10.0 Preview 4 from the repository by cloning the
release tag `v10.0.0-preview.4.25258.110` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.4.25258.110/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.4.25258.110/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 10.0.0-preview.3.25171.5

You can build .NET 10.0 Preview 3 from the repository by cloning the
release tag `v10.0.0-preview.3.25171.5` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.3.25171.5/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.3.25171.5/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 10.0.0-preview.2.25163.2

You can build .NET 10.0 Preview 2 from the repository by cloning the
release tag `v10.0.0-preview.2.25163.2` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.2.25163.2/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.2.25163.2/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 10.0.0-preview.1.25080.5

You can build .NET 10.0 Preview 1 from the repository by cloning the
release tag `v10.0.0-preview.1.25080.5` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.1.25080.5/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.0-preview.1.25080.5/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.113

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.113` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.113/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.113/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.112

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.112` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.112/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.112/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.111

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.111` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.111/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.111/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.110

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.110` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.110/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.110/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.109

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.109` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.109/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.109/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.101

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.101` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.101/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.101/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.7

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.7` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.7/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.7/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.6

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.6` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.6/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.6/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.5

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.5` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.5/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.5/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.4

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.4` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.4/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.4/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.3

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.3` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.3/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.3/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.2

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.2` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.2/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.2/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.1

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.1` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.1/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.1/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0

You can build .NET 9.0 from the repository by cloning the release tag
`v9.0.0` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0-rc.2.24473.5

You can build NET 9.0 RC2 from the repository by cloning the release tag
`v9.0.0-rc.2.24473.5` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0-rc.2.24473.5/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0-rc.2.24473.5/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0-rc.1.24431.7

You can build .NET 9.0 RC1 from the repository by cloning the release
tag `v9.0.0-rc.1.24431.7` and following the build instructions in the
[main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0-rc.1.24431.7/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0-rc.1.24431.7/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0-preview.7.24405.7

You can build .NET 9.0 Preview 7 from the repository by cloning the
release tag `v9.0.0-preview.7.24405.7` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.7.24405.7/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.7.24405.7/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0-preview.6.24327.7

You can build .NET 9.0 Preview 6 from the repository by cloning the
release tag `v9.0.0-preview.6.24327.7` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.6.24327.7/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.6.24327.7/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0-preview.5.24306.7

You can build .NET 9.0 Preview 5 from the repository by cloning the
release tag `v9.0.0-preview.5.24306.7` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.5.24306.7/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.5.24306.7/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0-preview.4.24266.19

You can build .NET 9.0 Preview 4 from the repository by cloning the
release tag `v9.0.0-preview.4.24266.19` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.4.24266.19/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.4.24266.19/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0-preview.3.24172.9

You can build .NET 9.0 Preview 3 from the repository by cloning the
release tag `v9.0.0-preview.3.24172.9` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.3.24172.9/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.3.24172.9/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0-preview.2.24128.5

You can build .NET 9.0 Preview 2 from the repository by cloning the
release tag `v9.0.0-preview.2.24128.5` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.2.24128.5/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.2.24128.5/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 9.0.0-preview.1.24080.9

You can build .NET 9.0 Preview 1 from the repository by cloning the
release tag `v9.0.0-preview.1.24080.9` and following the build
instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.1.24080.9/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v9.0.0-preview.1.24080.9/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.123

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.123` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.123/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.123/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.122

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.122` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.122/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.122/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.121

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.121` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.121/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.121/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.120

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.120` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.120/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.120/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.119

<!-- This file is a template for a GitHub release notes post. -->
<!-- The line prefixed by 'Title:' will be submitted as the title of the
release notes, and the rest of the file will be submitted as the body.
-->

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.119` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.119/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.119/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.100-preview.1



## 8.0.18

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.18` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.18/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.18/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.17

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.17` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.17/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.17/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.16

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.16` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.16/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.16/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.15

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.15` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.15/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.15/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.14

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.14` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.14/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.14/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.13

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.13` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.13/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.13/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.12

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.12` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.12/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.12/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.11

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.11` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.11/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.11/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.10

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.10` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.10/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.10/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.8

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.8` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.8/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.8/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.7

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.7` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.7/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.7/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.6

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.6` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.6/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.6/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.5

You can build .NET 8 from the repository by cloning the release tag
`v8.0.5` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.5/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.5/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.4

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.4` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.4/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.4/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.3

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.3` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.3/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.3/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.2

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.2` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.2/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.2/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

## 8.0.1

You can build .NET 8.0 from the repository by cloning the release tag
`v8.0.1` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v8.0.1/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v8.0.1/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at
https://dotnet.microsoft.com/download/dotnet/release-key-2023.asc


Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.SourceLink.GitHub&package-manager=nuget&previous-version=8.0.0&new-version=10.0.102)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 file changed
tree: 06df2951384aa4d2d53338917c1ce8d166130942
  1. .github/
  2. ci/
  3. dev/
  4. docs/
  5. examples/
  6. format/
  7. src/
  8. test/
  9. .asf.yaml
  10. .editorconfig
  11. .gitattributes
  12. .gitignore
  13. .pre-commit-config.yaml
  14. .shellcheckrc
  15. Apache.Arrow.sln
  16. Apache.Arrow.Tests.slnf
  17. ApacheArrow.snk
  18. CODE_OF_CONDUCT.md
  19. CONTRIBUTING.md
  20. Directory.Build.props
  21. Directory.Build.targets
  22. Directory.Packages.props
  23. LICENSE.txt
  24. logo_asf.png
  25. NOTICE.txt
  26. README.md
README.md

Apache Arrow .NET

An implementation of Arrow targeting .NET Standard.

See our current feature matrix for currently available features.

Implementation

  • Arrow specification 1.0.0. (Support for reading 0.11+.)
  • C# 11
  • .NET Standard 2.0 and .NET 6.0
  • Asynchronous I/O
  • Uses modern .NET runtime features such as Span<T>, Memory<T>, MemoryManager<T>, and System.Buffers primitives for memory allocation, memory storage, and fast serialization.
  • Uses Acyclic Visitor Pattern for array types and arrays to facilitate serialization, record batch traversal, and format growth.

Known Issues

  • Cannot read Arrow files containing tensors.
  • Cannot easily modify allocation strategy without implementing a custom memory pool. All allocations are currently 64-byte aligned and padded to 8-bytes.
  • Default memory allocation strategy uses an over-allocation strategy with pointer fixing, which results in significant memory overhead for small buffers. A buffer that requires a single byte for storage may be backed by an allocation of up to 64-bytes to satisfy alignment requirements.
  • There are currently few builder APIs available for specific array types. Arrays must be built manually with an arrow buffer builder abstraction.
  • FlatBuffer code generation is not included in the build process.
  • Serialization implementation does not perform exhaustive validation checks during deserialization in every scenario.
  • Throws exceptions with vague, inconsistent, or non-localized messages in many situations
  • Throws exceptions that are non-specific to the Arrow implementation in some circumstances where it probably should (eg. does not throw ArrowException exceptions)
  • Lack of code documentation
  • Lack of usage examples

Usage

using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;
using Apache.Arrow;
using Apache.Arrow.Ipc;

public static async Task<RecordBatch> ReadArrowAsync(string filename)
{
    using (var stream = File.OpenRead(filename))
    using (var reader = new ArrowFileReader(stream))
    {
        var recordBatch = await reader.ReadNextRecordBatchAsync();
        Debug.WriteLine("Read record batch with {0} column(s)", recordBatch.ColumnCount);
        return recordBatch;
    }
}

Status

Memory Management

  • Allocations are 64-byte aligned and padded to 8-bytes.
  • Allocations are automatically garbage collected

Arrays

Primitive Types

  • Int8, Int16, Int32, Int64
  • UInt8, UInt16, UInt32, UInt64
  • Float, Double, Half-float (.NET 6+)
  • Binary (variable-length)
  • String (utf-8)
  • Null

Parametric Types

  • Timestamp
  • Date32
  • Date64
  • Decimal
  • Time32
  • Time64
  • Binary (fixed-length)
  • List
  • Struct
  • Union
  • Map
  • Duration
  • Interval

Type Metadata

  • Data Types
  • Fields
  • Schema

Serialization

  • File
  • Stream

IPC Format

Compression

  • Buffer compression and decompression is supported, but requires installing the Apache.Arrow.Compression package. When reading compressed data, you must pass an Apache.Arrow.Compression.CompressionCodecFactory instance to the ArrowFileReader or ArrowStreamReader constructor, and when writing compressed data a CompressionCodecFactory must be set in the IpcOptions. Alternatively, a custom implementation of ICompressionCodecFactory can be used.

Not Implemented

  • Serialization
    • Exhaustive validation
    • Run End Encoding
  • Types
    • Tensor
  • Arrays
    • Large Arrays. There are large array types provided to help with interoperability with other libraries, but these do not support buffers larger than 2 GiB and an exception will be raised if trying to import an array that is too large.
      • Large Binary
      • Large List
      • Large String
    • Views
      • Binary
      • List
      • String
      • Large Binary
      • Large List
      • Large String
  • Array Operations
    • Equality / Comparison
    • Casting
  • Compute
    • There is currently no API available for a compute / kernel abstraction.

Build

Install the latest .NET Core SDK from https://dotnet.microsoft.com/download.

dotnet build

NuGet Build

To build the NuGet package run the following command to build a debug flavor, preview package into the artifacts folder.

dotnet pack

When building the officially released version run: (see Note below about current git repository)

dotnet pack -c Release

Which will build the final/stable package.

NOTE: When building the officially released version, ensure that your git repository has the origin remote set to https://github.com/apache/arrow.git, which will ensure Source Link is set correctly. See https://github.com/dotnet/sourcelink/blob/main/docs/README.md for more information.

There are two output artifacts:

  1. Apache.Arrow.<version>.nupkg - this contains the executable assemblies
  2. Apache.Arrow.<version>.snupkg - this contains the debug symbols files

Both of these artifacts can then be uploaded to https://www.nuget.org/packages/manage/upload.

Docker Build

Build from the Apache Arrow project root.

docker build -f csharp/build/docker/Dockerfile .

Testing

dotnet test

All build artifacts are placed in the artifacts folder in the project root.

Coding Style

This project follows the coding style specified in Coding Style.

Updating FlatBuffers code

See https://flatbuffers.dev/languages/c_sharp/ for how to get the flatc executable.

Run flatc --csharp on each .fbs file in the format folder. And replace the checked in .cs files under FlatBuf with the generated files.

Update the non-generated FlatBuffers .cs files with the files from the google/flatbuffers repo.