This is a community bugfix release. As a maintainer I have only approved PRs raised by this wonderful community. Thanks everyone, and keep doing what you do.
Improvements
Allow deserialization from open RowGroupReaders by @ddrinka in #423/#422.
Bugs fixed
Gracefully handle malformed fields with trailing bytes in the data by @mukunku in #413.
ParquetSerializer doesn't support different JsonPropertyName and ClrPropertyName on struct fields by @mrinal-thomas in #410.
ParquetSerializer can sometimes fail when populating _typeToAssembler cache in parallel by @scottfavre in #420/#411.
4.16.4
Class serializer was writing map key as optional (#396). Schema reflector for class serializer now emits non-nullable keys.
Validation for maps keys in schema was also added.
4.16.3
Delta encoding can be optionally turned off (thanks to @itayfisz for suggestion in #392).
4.16.2
Critical Bug Fix in DELTA_BINARY_PACKED Decoding: Adding first value to destination array before reading the block, by @ee-naveen in #391.
4.16.1
Critical Bug Fixes
Ensuring delta encoding footer blocks are complete And Handle Overflow by @ee-naveen in #387.
Use PLAIN encoding for columns without defined data by @spanglerco in #388.
4.16.0
New
Markdown documentation fully migrated to GitHub Pages. It was becoming slightly unmanageable and also recent GitHub updates made markdown files look awful. Also I kind of wanted to try Writerside by JetBrains, and publish docs with pride ;) @aloneguid
Class deserializer will now skip class properties and not throw an exception if they are missing in the source parquet file. Thanks to @greenlynx in #361.
Column statistics can be read with zero cost without reading the data. Thanks to @mirosuav in #252, #368.
Support for DELTA_BINARY_PACKED encoding on write. This encoding is now default when writing INT32 and INT64 columns. Most of the work done by @ee-naveen in #382.
Improvements
IronCompress was updated to v1.5.1 by @aloneguid.
Fixes
Fix precision issues writing DateTime as milliseconds by @spanglerco in #312.
In DataColumnWriter, RecycableMemoryStream wasn't used in a particular case, and instead MemoryStream was initialized directly. Thanks to @itayfisz in #373.
Bitpacked Hybrid decoder was failing on columns containing exactly one value.
This is a community bugfix release. As a maintainer I have only approved PRs raised by this wonderful community. Thanks everyone, and keep doing what you do.
Improvements
Allow deserialization from open RowGroupReaders by @ddrinka in #423/#422.
Bugs fixed
Gracefully handle malformed fields with trailing bytes in the data by @mukunku in #413.
ParquetSerializer doesn't support different JsonPropertyName and ClrPropertyName on struct fields by @mrinal-thomas in #410.
ParquetSerializer can sometimes fail when populating _typeToAssembler cache in parallel by @scottfavre in #420/#411.
4.16.4
Class serializer was writing map key as optional (#396). Schema reflector for class serializer now emits non-nullable keys.
Validation for maps keys in schema was also added.
4.16.3
Delta encoding can be optionally turned off (thanks to @itayfisz for suggestion in #392).
4.16.2
Critical Bug Fix in DELTA_BINARY_PACKED Decoding: Adding first value to destination array before reading the block, by @ee-naveen in #391.
4.16.1
Critical Bug Fixes
Ensuring delta encoding footer blocks are complete And Handle Overflow by @ee-naveen in #387.
Use PLAIN encoding for columns without defined data by @spanglerco in #388.
4.16.0
New
Markdown documentation fully migrated to GitHub Pages. It was becoming slightly unmanageable and also recent GitHub updates made markdown files look awful. Also I kind of wanted to try Writerside by JetBrains, and publish docs with pride ;) @aloneguid
Class deserializer will now skip class properties and not throw an exception if they are missing in the source parquet file. Thanks to @greenlynx in #361.
Column statistics can be read with zero cost without reading the data. Thanks to @mirosuav in #252, #368.
Support for DELTA_BINARY_PACKED encoding on write. This encoding is now default when writing INT32 and INT64 columns. Most of the work done by @ee-naveen in #382.
Improvements
IronCompress was updated to v1.5.1 by @aloneguid.
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 commands and options
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show 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)
Bumps Parquet.Net from 4.0.2 to 4.17.0.
Release notes
Sourced from Parquet.Net's releases.
... (truncated)
Changelog
Sourced from Parquet.Net's changelog.
... (truncated)
Commits
7a36cec
update release notesf913225
Allow deserialization from open RowGroupReaders.3eb923a
use ConcurrentDictionary instead of lock primitives288fa54
adds basic locking around static caches of stripers and assemblersf3631c5
Update README.mdf09d75e
update release notes51b92d8
Support custom property names on struct and list fields (#419)c30d61f
update release notes and version56bd861
Gracefully handle malformed fields with trailing bytes in the data (#413)fe4f828
better readmeMost Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions | | --- | --- | | Parquet.Net | [>= 4.1.a, < 4.2] | | Parquet.Net | [>= 4.2.a, < 4.3] | | Parquet.Net | [>= 4.3.a, < 4.4] |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 commands and options
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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show