github.com/fraugster/parquet-go@v0.12.0/CHANGELOG.md (about)

     1  # Changelog
     2  
     3  All notable changes to this project will be documented in this file.
     4  
     5  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
     6  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
     7  
     8  ## [Unreleased]
     9  
    10  ## [v0.12.0] - 2022-08-18
    11  
    12  - Added support for type string and []string in bytearray store: https://github.com/fraugster/parquet-go/issues/93 
    13  - Added memory allocation tracking and max memory option to protect against adversarial input: https://github.com/fraugster/parquet-go/pull/87
    14  - Fixed CHANGELOG for v0.11.0.
    15  
    16  ## [v0.11.0] - 2022-04-21
    17  
    18  - Cleaned up API by removing Schema\* interfaces, deprecating function using dotted notation, and introducing `ColumnPath` type instead.
    19  - Improved error handling around row groups.
    20  - Improved write performance.
    21  - Fixed thrift crash bugs.
    22  
    23  ## [v0.10.0] - 2022-02-18
    24  
    25  - Updated to parquet-format 2.9.0.
    26  - Added support for page data statistics.
    27  - Improved test coverage.
    28  - Fixed issue with dictionary encoding where bit width was determined incorrectly.
    29  - Added support for writing per-page CRC32 checksums.
    30  - Added support for optional CRC32 checksum validation on read.
    31  - Fixed issue with float32/64 dictionary encoding where trying to encode NaN failed with an error.
    32  
    33  ## [v0.9.0] - 2022-02-10
    34  
    35  - Implemented lazy loading of pages.
    36  - Added support for writing multiple data pages per row group.
    37  
    38  ## [v0.8.0] - 2022-02-02
    39  - Set correct total size and total compressed in row group data.
    40  - Fixed delta bit-pack encoding of int32 and int64 and delta-length bit-packing encoding of byte\_arrays when only a single value is written.
    41  - Fixed build issue in the floor package that somehow made it into the previous release.
    42  
    43  ## [v0.7.0] - 2022-02-01
    44  - Relax schema parser requirement that field names begin with a letter or underscore.
    45  - Remove unsigned support from all integer encodings.
    46  - Introduced explicit Clone method for parquetschema.SchemaDefinition.
    47  - Corrected parsing of DECIMAL as ConvertedType if scale and precision aren't available.
    48  - Fixed nested optional field reads.
    49  
    50  ## [v0.6.1] - 2021-11-19
    51  - perf - cache result of GetSchemaDefinition call
    52  - updated readme, added special mentions section
    53  
    54  ## [v0.6.0] - 2021-11-3
    55  - Added a schema generator which uses reflection to automatically generate a parquet schema from a go object.
    56  - Upgraded CI golang to 1.17.2
    57  - Added test to reproduce issue 41: https://github.com/fraugster/parquet-go/issues/41 
    58  
    59  ## [v0.5.0] - 2021-10-29
    60  - Upgraded thrift to v0.15.0
    61  - Fixed reading & writing of INT96 time
    62  
    63  ## [v0.4.0] - 2021-10-06
    64  - Fixed issues where fields in structs that were not defined in the schema raised errors (array, slice, time, map)
    65  - Added support for reflect encoding/decoding of additional types to/from parquet types
    66      - Go type <-> Parquet type
    67      - int     <-> int64
    68      - int32   <-> int64
    69      - int16   <-> int64
    70      - int8    <-> int64
    71      - uint    <-> int64
    72      - uint16  <-> int64
    73      - uint8   <-> int64
    74      - int64   <-> int32
    75      - uint64  <-> int32
    76      - uint32  <-> int32
    77  - Removed some inconsistent api behaviors
    78      - reflect marshaling/unmarshalling now ignores fields not defined in the schema (this already happens when
    79        the marshaller is used by floor.Writer and goparquet.FileReader)
    80      - int32PlainDecoder and int32PlainEncoder now no longer support uint values
    81  - Added function `IsAfterUnixEpoch` to allow test whether a timestamp can be written as Julian date.
    82  - Allowed setting selected columns after opening a parquet file through `SetSelectedColumns` method.
    83  - Fixed `dictStore` to correctly reset `valueSize` which should reduce size of written files.
    84  - Fixed reflection-based marshal/unmarshaling for some basic types.
    85  - Fixed `DECIMAL`s computation of maximum amount of digits.
    86  - Improved parsing of legacy timestamps.
    87  - Allowed reading of file metadata before properly opening a parquet file.
    88  - Added method `SeekToRowGroup` to allow seeking to specific row groups.
    89  
    90  ## [v0.3.0] - 2020-12-15
    91  - Added examples how to use the low-level and high-level APIs.
    92  - Added backwards compability in floor reader and writer for lists as produced by Athena.
    93  - Fixed many crash issues found during fuzzing of the parquet reader.
    94  
    95  ## [v0.2.1] - 2020-11-04
    96  - Release to correct missing changelog.
    97  
    98  ## [v0.2.0] - 2020-11-04
    99  - Added `csv2parquet` command to convert CSV files into parquet files
   100  - Fixed issue in `parquet-tool cat` that wouldn't print any records if no limit was provided
   101  - Added support for backward compatible MAPs and LISTs in schema validation
   102  - Added ValidateStrict method to validate without regard for backwards compatibility
   103  
   104  ## [v0.1.1] - 2020-05-26
   105  - Added high-level interface to access file and column metadata
   106  
   107  ## [v0.1.0] - 2020-04-24
   108  - Initial release
   109  
   110  [Unreleased]: https://github.com/fraugster/parquet-go/compare/v0.11.0...HEAD
   111  [v0.11.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.11.0
   112  [v0.10.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.10.0
   113  [v0.9.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.9.0
   114  [v0.8.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.8.0
   115  [v0.7.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.7.0
   116  [v0.6.1]: https://github.com/fraugster/parquet-go/releases/tag/v0.6.1
   117  [v0.6.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.6.0
   118  [v0.5.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.5.0
   119  [v0.4.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.4.0
   120  [v0.3.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.3.0
   121  [v0.2.1]: https://github.com/fraugster/parquet-go/releases/tag/v0.2.1
   122  [v0.2.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.2.0
   123  [v0.1.1]: https://github.com/fraugster/parquet-go/releases/tag/v0.1.1
   124  [v0.1.0]: https://github.com/fraugster/parquet-go/releases/tag/v0.1.0