chore: Bump Parquet.Net from 5.4.0 to 6.1.0 - #416
Open
dependabot[bot] wants to merge 1 commit into
Open
Conversation
dependabot
Bot
force-pushed
the
dependabot/nuget/src/Packata.ResourceReaders/Parquet.Net-6.1.0
branch
from
August 13, 2026 18:25
94c0d08 to
a53e6b2
Compare
--- updated-dependencies: - dependency-name: Parquet.Net dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot
Bot
force-pushed
the
dependabot/nuget/src/Packata.ResourceReaders/Parquet.Net-6.1.0
branch
from
August 22, 2026 15:18
a53e6b2 to
49487b9
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Updated Parquet.Net from 5.4.0 to 6.1.0.
Release notes
Sourced from Parquet.Net's releases.
6.1.0
New
TIMElogical type asintorlongdepending on precision and does not attempt to convert to .NET native temporal types which may lose precision. Class serializer also understandsTimeOnly. Time uses new schema fieldTimeDataFieldwhich also allows specifying precision and UTC adjustment.Improvements
WriteAllPartsAsyncinternal method for callers who wish to manually supply definition levels and values (really low-level high-performance API). As wished by @spanglerco in #755.BigDecimalencoding 7–17% speed improvement depending on precision and data size. By @rferraton in #740.DateTimeKindasUnspecifiedby @Kuinox in #695.Bugs fixed
TIME_MILLISconverted type was not handled at all, now it's treated asint, andTIME_MICROSis handled aslong, which is consistent withTIMElogical type.TimeSpanandTimeOnlyin class serializer defaults to millisecond precision (used to be microseconds, but those types do not get enough precision to support this).TimeStamptype does not map to anything now. Parquet time type which used to be used for mapping does not actually map well as they represent totally different temporal meanings (time of day and interval of time). If you need to represent a time interval, useIntervalType.Breaking changes
UseTimeOnlyTypeForTimeMillisandUseTimeOnlyTypeForTimeMicrosremoved fromParquetOptionsdue to better time handling logic so they are not used anymore.6.0.3
Improvements
RawColumnData<T>exposesValuesandNullableValuesproperties and clear documentation (reported in #751 by @mukunku).ReadAsyncoverload forbyte[](reported by @danielearwicker in #754).Bugs fixed
string[]members (but couldList<string>) due to not using correct conversion methods fromReadOnlyMemory<char>tostring. Thanks to @jamesryanbell for investigation and reporting #741.6.0.2
ParquetRowGroupReader.ReadAsyncreturns compacted values for nullable string columns (interleaved nulls lost) in #746. Thanks to @vchekfiscal.6.0.1
Hot fix for #744 - string deserialisation helper always assumed nullable strings.
Other
6.0.0
Highlights
For slightly more details, see this post.
Breaking changes
ParquetWriterandParquetReaderonly supportsIAsyncDisposablenow, so you should useawait usinginstead ofusingwhen writing row groups. This is because some of the operations during writing are asynchronous and it would be a shame to not take advantage of that. Previously,IDisposablewas supported as well, but that would occassionally cause write deadlocks.ParquetRowGroupWriternow acceptsReadOnlyMemory<T>instead of untypedDataColumn(which is now removed). This solves old dangling issue with inflexible memory useage, as users of the low-level API had to unnecessarily allocate memory just to write a column, often resuling in making large redundant copies.ParquetRowGroupReader, which uses direct memory access interface instead of allocating a lot of memory via DataColumn and adding a lot of GC pressure.CompressionMethodandCompressionLevelare moved toParquetOptionsfor consistency reasons.ParquetOptions.UseDictionaryEncodingandParquetOptions.UseDeltaBinaryPackedEncodingis removed to avoid trying to dictionary-encode everything, which is not always the best choice. Instead, you can specify "encoding hints", which is more flexible and extensible, plus you can specify hint per encoding.ParquetSerializerOptionsis removed as it was often duplicatingParquetOptionsand adding confusion. Instead, you can specify all options inParquetOptions, which is used by both low-level and high-level APIs, so there is only one set of options to manage.FlatFileConverterremoved as it was subobtimal and half-done, and I don't want to maintain them in the long run.IParquetRowGroupReaderinterface removed as it's not in use. Just useParquetRowGroupReaderdirectly.ParquetReader.ReadEntireRowGroupremoved in favor of strongly typed alternatives.IAsyncEnumerableoperations inParquetSerializerare removed as they don't add anything in terms of performance - Parquet is not row-oriented format.ParquetSerializeruntyped serialization methods renamed to contain "Untyped" in their name, to make it more clear that they are not the same as class serializer methods and have very different use cases.ParquetSerializeruntyped deserialization is not experimental anymore, but it has changed signature to become stable.ParquetSerializerdeserialization methods returnDeserializationResult<T>which, in addition to data like before, also contains original file schema and custom metadata. This allows you to close the loop when writing custom metadata and reading it back using the same API. There is zero overhead to include schema and custom metadata in the result anyway. This also allows extending the result in the future with more information if needed, without breaking changes.Improvements
CancellationTokenallowing you to cancel long-running parquet operations.FileMergerutililty is faster and more battle tested. Additionally, it allows specifying custom row group size.Bug fixes
Performance
ParquetOptions. Hardware acceleration will be added into more places as the library develops. At the moment:... (truncated)
5.6.1
Update the snappier version to 1.3.1 to fix critical vulnerability, by @JonasChristensen90 in #743.
5.6.0
docs/release-notes.mdfile, which also supports pre-release version logic.5.5.0
Improvements
class, new()(previouslynew()only). This explicitly prevents using value types as deserialization targets (#698).TimeSpanDataFieldconstructor has an option to setIsAdjustedToUTC(#650).IAsyncEnumerable<T>is limited to .NET 10 and above now.Commits viewable in compare view.