• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Changelog
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
8## Unreleased
9
10## [1.1.0] - 2023-08-28
11
12### Added
13 - decoder: `BrotliDecoderAttachDictionary`
14 - decoder: `BrotliDecoderOnFinish` callback behind `BROTLI_REPORTING`
15 - decoder: `BrotliDecoderSetMetadataCallbacks`
16 - encoder: `BrotliEncoderPrepareDictionary`,
17            `BrotliEncoderDestroyPreparedDictionary`,
18            `BrotliEncoderAttachPreparedDictionary`
19 - decoder: `BrotliEncoderOnFinish` callback behind `BROTLI_REPORTING`
20 - common: `BrotliSharedDictionaryCreateInstance`,
21           `BrotliSharedDictionaryDestroyInstance`,
22           `BrotliSharedDictionaryAttach`
23 - CLI: `--dictionary` option
24 - java: encoder wrapper: `Parameters.mode`
25 - java: `Brotli{Input|Output}Stream.attachDictionary`
26 - java: wrapper: partial byte array input
27 - typescript: decoder (transpiled from Java)
28
29### Removed
30 - build: `BROTLI_BUILD_PORTABLE` option
31
32### Fixed
33 - java: JNI decoder failed sometimes on power of 2 payloads
34
35### Improved
36 - java / js: smaller decoder footprint
37 - decoder: faster decoding
38 - encoder: faster encoding
39 - encoder: smaller stack frames
40
41
42## [1.0.9] - 2020-08-27
43
44Re-release of 1.0.8.
45
46
47## [1.0.8] - 2020-08-27
48
49### SECURITY
50 - CVE-2020-8927: potential overflow when input chunk is >2GiB
51
52### Added
53 - encoder: `BROTLI_PARAM_STREAM_OFFSET`
54
55### Improved
56 - CLI: better reporting
57 - CLI: workaround for "lying feof"
58 - java: faster decoding
59 - java: support "large window"
60 - encoder: use less memory
61 - release: filter sources for the tarball
62
63
64## [1.0.7] - 2018-10-23
65
66### Improved
67 - decoder: faster decoding on ARM CPU
68
69
70## [1.0.6] - 2018-09-13
71
72### Fixed
73 - build: AutoMake and CMake build
74 - java: JDK 8<->9 incompatibility
75
76
77## [1.0.5] - 2018-06-27
78
79### Added
80 - scripts: extraction of static dictionary from RFC
81
82### Improved
83 - encoder: better compression at quality 1
84 - encoder: better compression with "large window"
85
86
87## [1.0.4] - 2018-03-29
88
89### Added
90 - encoder: `BROTLI_PARAM_NPOSTFIX`, `BROTLI_PARAM_NDIRECT`
91 - CLI: `--large_window` option
92
93### Improved
94 - encoder: better compression
95
96
97## [1.0.3] - 2018-03-02
98
99### Added
100 - decoder: `BROTLI_DECODER_PARAM_LARGE_WINDOW` enum
101 - encoder: `BROTLI_PARAM_LARGE_WINDOW` enum
102 - java: `BrotliInputStream.setEager`
103
104### Fixed
105 - build: AutoMake build in some environments
106 - encoder: fix one-shot q=10 1-byte input compression
107
108### Improved
109 - encoder: better font compression
110
111
112## [1.0.2] - 2017-11-28
113
114### Added
115 - build: AutoMake
116 - research: better dictionary generators
117
118
119## [1.0.1] - 2017-09-22
120
121### Changed
122 - clarifications in `README.md`
123
124
125## [1.0.0] - 2017-09-20
126
127### Added
128 - decoder: `BrotliDecoderSetParameter`
129 - csharp: decoder (transpiled from Java)
130 - java: JNI wrappers
131 - javascript: decoder (transpiled from Java)
132 - python: streaming decompression
133 - research: dictionary generator
134
135### Changed
136 - CLI: rename `bro` to `brotli`
137
138### Removed
139 - decoder: `BrotliDecoderSetCustomDictionary`
140 - encoder: `BrotliEncoderSetCustomDictionary`
141
142### Improved
143 - java: faster decoding
144 - encoder: faster compression
145
146
147## [0.6.0] - 2017-04-10
148
149### Added
150 - CLI: `--no-copy-stat option
151 - java: pure java decoder
152 - build: fuzzers
153 - research: `brotlidump` tool to explore brotli streams
154 - go: wrapper
155
156### Removed
157 - decoder: API with plain `Brotli` prefix
158
159### Deprecated
160 - encoder: `BrotliEncoderInputBlockSize`, `BrotliEncoderCopyInputToRingBuffer`,
161            `BrotliEncoderWriteData`
162
163### Improved
164 - encoder: faster compression
165 - encoder: denser compression
166 - decoder: faster decompression
167 - python: release GIL
168 - python: use zero-copy API
169
170
171## [0.5.2] - 2016-08-11
172
173### Added
174 - common: `BROTLI_BOOL`, `BROTLI_TRUE`, `BROTLI_FALSE`
175 - decoder: API with `BrotliDecoder` prefix instead of plain `Brotli`
176 - build: Bazel, CMake
177
178### Deprecated
179 - decoder: API with plain `Brotli` prefix
180
181### Changed
182 - boolean argument / result types are re-branded as `BROTLI_BOOL`
183
184### Improved
185 - build: reduced amount of warnings in various build environments
186 - encoder: faster compression
187 - encoder: lower memory usage
188
189
190## [0.5.0] - 2016-06-15
191
192### Added
193 - common: library has been assembled from shared parts of decoder and encoder
194 - encoder: C API
195
196### Removed
197 - encoder: C++ API
198
199
200## [0.4.0] - 2016-06-14
201
202### Added
203 - encoder: faster compression modes (quality 0 and 1)
204 - decoder: `BrotliGetErrorCode`, `BrotliErrorString` and
205            `BROTLI_ERROR_CODES_LIST`
206
207### Removed
208 - decoder: deprecated streaming API (using `BrotliInput`)
209
210### Fixed
211 - decoder: possible pointer underflow
212
213### Improved
214 - encoder: faster compression
215
216
217## [0.3.0] - 2015-12-22
218
219### LICENSE
220License have been upgraded to more permissive MIT.
221
222### Added
223 - CLI: `--window` option
224 - `tools/version.h` file
225 - decoder: low level streaming API
226 - decoder: custom memory manager API
227
228### Deprecated
229 - decoder: streaming API using `BrotliInput` struct
230
231### Fixed
232 - decoder: processing of uncompressed blocks
233 - encoder: possible division by zero
234
235### Improved
236 - encoder: faster decompression
237 - build: more portable builds for various CPU architectures
238
239
240## [0.2.0] - 2015-09-01
241
242### Added
243 - CLI: `--verbose` and `--repeat` options
244
245### Fixed
246 - decoder: processing of uncompressed blocks
247 - encoder: block stitching on quality 10 / 11
248
249### Improved
250 - build: CI/CD integration
251 - build: better test coverage
252 - encoder: better compression of UTF-8 content
253 - encoder: faster decompression
254
255
256## [0.1.0] - 2015-08-11
257
258Initial release.
259