-
-
Notifications
You must be signed in to change notification settings - Fork 792
/
VERSION
331 lines (248 loc) · 11.9 KB
/
VERSION
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
Project: jackson-core
Contains core streaming reader (`JsonParser`) and writer (`JsonGenerator`) abstractions,
factory for constructing readers/writers (JsonFactory), as well as a minimal set
of interfaces needed for streaming level to make callbacks and call-throughs,
via `ObjectCodec` and `TreeNode`.
Also includes implementation of this API for JSON.
Forms the base for other data formats as well, despite naming that suggests
JSON-specificity: naming is due to history, as Jackson started out as pure
JSON library.
------------------------------------------------------------------------
=== Releases ===
------------------------------------------------------------------------
2.6.2 (14-Sep-2015)
#213: Parser is sometimes wrong when using CANONICALIZE_FIELD_NAMES
(reported by ichernev@github)
#216: ArrayIndexOutOfBoundsException: 128 when repeatedly serializing to a byte array
(reported by geekbeast@github)
2.6.1 (09-Aug-2015)
#207: `ArrayIndexOutOfBoundsException` in `ByteQuadsCanonicalizer`
(reported by Florian S, fschopp@github)
2.6.0 (17-Jul-2015)
#137: Allow filtering content read via `JsonParser` by specifying `JsonPointer`;
uses new class `com.fasterxml.jackson.core.filter.FilteringParserDelegate`
(and related, `TokenFilter`)
#177: Add a check so `JsonGenerator.writeString()` won't work if `writeFieldName()` expected.
#182: Inconsistent TextBuffer#getTextBuffer behavior
(contributed by Masaru H)
#185: Allow filtering content written via `JsonGenerator` by specifying `JsonPointer`;
uses new class `com.fasterxml.jackson.core.filter.FilteringGeneratorDelegate`
(and related, `TokenFilter`)
#188: `JsonParser.getValueAsString()` should return field name for `JsonToken.FIELD_NAME`, not `null`
#189: Add `JsonFactory.Feature.USE_THREAD_LOCAL_FOR_BUFFER_RECYCLING` (default: true), which may
be disabled to prevent use of ThreadLocal-based buffer recyling.
(suggested by soldierkam@github)
#195: Add `JsonGenerator.getOutputBuffered()` to find out amount of content buffered,
not yet flushed.
(requested by Ruediger M)
#196: Add support for `FormatFeature` extension, for format-specifc Enum-backed
parser/generator options
- Minor improvement to construction of "default PrettyPrinter": now overridable by data format
modules
- Implement a new yet more optimized symbol table for byte-backed parsers
- Add `JsonParser.Feature.IGNORE_UNDEFINED`, useful for data formats like protobuf
- Optimize writing of String names (remove intermediate copy; with JDK7 no speed benefit)
2.5.3 (24-Apr-2015)
#191: Longest collision chain in symbol table now exceeds maximum -- suspect a DoS attack
(reported by Paul D)
2.5.2 (29-Mar-2015)
#181: Failure parsing -Infinity on buffer boundary
(reported by brharrington@github)
#187: Longest collision chain in symbol table exceeds maximum length routinely
in non-malicious code
(reported by mazzaferri@github)
2.5.1 (06-Feb-2015)
#178: Add `Lf2SpacesIndenter.withLinefeed` back to keep binary-compatibility with 2.4.x
(reported by ansell@github)
- Minor fix to alignment of null bytes in the last 4 bytes of name, in case where name
may cross the input boundary
2.5.0 (01-Jan-2015)
#148: BytesToNameCanonicalizer can mishandle leading null byte(s).
(reported by rjmac@github)
#164: Add `JsonGenerator.Feature.IGNORE_UNKNOWN` (but support via individual
data format modules)
#166: Allow to configure line endings and indentation
(contributed by Aaron D)
#167: `JsonGenerator` not catching problem of writing field name twice in a row
#168: Add methods in `JsonStreamContext` for keeping track of "current value"
#169: Add `JsonPointer.head()`
(contributed by Alex S, lordofthejars@github)
- Added `ResolvedType.getParameterSource()` to support better resolution
of generic types.
- Added `JsonGenerator.writeRawValue(SerializableString)`
- Added `JsonParser.hasExpectedStartObjectToken()` convenience method
- Added `JsonParser.hasTokenId(id)` convenience method
- Added `JsonParser.nextFieldName()` (no args)
2.4.6 (23-Apr-2015)
#184: WRITE_NUMBERS_AS_STRINGS disables WRITE_BIGDECIMAL_AS_PLAIN
(reported by Derek C)
2.4.5 (13-Jan-2015)
No changes since 2.4.4.
2.4.4 (24-Nov-2014)
#157: ArrayIndexOutOfBoundsException: 200 on numbers with more than 200 digits.
(reported by Lars P, larsp@github)
#173: An exception is thrown for a valid JsonPointer expression
(reported by Alex S)
#176: `JsonPointer` should not consider "00" to be valid index
(reported by fge@gitub)
- Fix `JsonGenerator.setFeatureMask()` to better handle dynamic changes.
2.4.3 (02-Oct-2014)
#152: Exception for property names longer than 256k
(reported by CrendKing@github)
2.4.2 (13-Aug-2014)
#145: NPE at BytesToNameCanonicalizer
(reported by Shay B)
#146: Error while parsing negative floats at the end of the input buffer
(reported by rjmac@github)
2.4.1 (16-Jun-2014)
#143: Flaw in `BufferRecycler.allocByteBuffer(int,int)` that results in
performance regression
2.4.0 (29-May-2014)
#121: Increase size of low-level byte[]/char[] input/output buffers
(from 4k->8k for bytes, 2k->4k for chars)
#127: Add `JsonGenerator.writeStartArray(int size)` for binary formats
#138: Add support for using `char[]` as input source; optimize handling
of `String` input as well.
- Refactor `BufferRecycler` to eliminate helper enums
2.3.5 (13-Jan-2015)
#152: Exception for property names longer than 256k
#173: An exception is thrown for a valid JsonPointer expression
#176: `JsonPointer` should not consider "00" to be valid index
2.3.4 (17-Jul-2014)
2.3.3 (10-Apr-2014)
No changes since 2.3.2.
2.3.2 (01-Mar-2014)
#126: Revert some 1.6 back to make core lib work with Android 2.2 (FroYo)
(contributed by Goncalo S)
#129: Missing delegation method, `JsonParserDelegate.isExpectedStartArrayToken()`
(Pascal G)
#133: Prevent error on JsonPointer expressions for properties that have numeric
ids above 32-bit range
(reported by mrstlee@github)
2.3.1 (28-Dec-2013)
No functional changes.
2.3.0 (13-Nov-2013)
#8: Add methods in `JsonParser`/`JsonGenerator` for reading/writing Object Ids
#47: Support YAML-style comments with `JsonParser.Feature.ALLOW_YAML_COMMENTS`
#60: Add a feature (`JsonParser.Feature.STRICT_DUPLICATE_DETECTION`) to verify
that input does not contain duplicate filed names
#77: Improve error reporting for unrecognized tokens
(requested by cowwoc@github)
#85: Add `JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN`
#91: Add methods in `JsonGenerator` for writing native Type Ids
#92: Add methods in `JsonParser` for reading native Type Ids
#93: Add `getFeatureMask()`, `setFeatureMask()` in `JsonGenerator`/`JsonParser`
#94: Allow coercion of String value "null" (similar to handling of null token)
#96: Add `JsonFactory.requiresPropertyOrdering()` introspection method
#97: JsonGenerator's `JsonWriteContext` not maintained properly, loses
current field name
(reported by Sam R)
#98: Improve handling of failures for `BigDecimal`, for "NaN" (and infinity)
#102: Unquoted field names can not start with a digit
#103: Add `JsonFactory.canHandleBinaryNatively`, `JsonGenerator.canWriteBinaryNatively`
to let databind module detect level of support for binary data.
#105: Parser parsers numbers eagerly; does not report error with missing space
#106: Add `JsonGenerator.Feature.STRICT_DUPLICATE_DETECTION` for preventing dup names
#110: Improve overridability of `JsonGeneratorDelegate`
(suggested by qpliu@github)
#111: _currInputRowStart isn't initialized in UTF8StreamJsonParser() constructor
(reported by dreamershl@github)
#115: JsonGenerator writeRawValue problem with surrogate UTF-8 characters
(reported by Marcin Z)
#116: WriterBasedJsonGenerator produces truncated Unicode escape sequences
(reported by Steve L-S)
- Improve `DefaultPrettyPrinter`, `Lf2SpacesIndenter` (from databind #276)
- Add `JsonGenerator.canOmitFields()` method to support discovery of
positional formats, needed for handling of filtering for CSV
- Rewrite `InternCache` to use `ConcurrentHashMap`, to work more efficiently both
for common case of few misses (no block on access), and slowest cases (lots of
misses).
- Add `JsonPointer` implementation, to be used by tree model, streaming
- Make `UTF8StreamJsonParser` non-final, for potential sub-classing
2.2.3 (23-Aug-2013)
#78: ArrayIndexOutOfBoundsException for very long numbers (>500 digits)
(reported by boothen@github)
#81: CharTypes.appendQuoted misencodes first 32 Unicode values as '\0000'
(reported by githubaff0@github)
#84: Support for parsing 'Infinity' when feature ALLOW_NON_NUMERIC_NUMBERS is on
(contributed by ebrevdo@github)
- Add `Base64Variant.decode()` convenience methods
2.2.2 (26-May-2013)
No changes since previous version.
2.2.1 (03-May-2013)
#72: JsonFactory.copy() was not copying settings properly
(reported by Christian S (squiddle@github))
- Moved VERSION/LICENSE contained in jars under META-INF/, to resolve
Android packaging (APK) issues
2.2.0 (22-Apr-2013)
Fixes:
#51: JsonLocation had non-serializable field, mark as transient
Improvements
#46, #49: Improve VersionUtil to generate PackageVersion, instead of
reading VERSION.txt from jar -- improves startup perf on Android significantly
(contributed by Ben G)
#59: Add more functionality in `TreeNode` interface, to allow some
level of traversal over any and all Tree Model implementations
#69: Add support for writing `short` values in JsonGenerator
2.1.3 (19-Jan-2013)
* [JACKSON-884]: JsonStringEncoder.quoteAsStringValue() fails to encode
ctrl chars correctly.
* [Issue#48] Problems with spaces in URLs
(reported by KlausBrunner)
2.1.2 (04-Dec-2012)
* [Issue#42] Problems with UTF32Reader
(reported by James R [jroper@github])
* Added missing methods (like 'setPrettyPrinter()' in JsonGeneratorDelegate
2.1.1 (11-Nov-2012)
* [Issue#34] `JsonParser.nextFieldName()` fails on buffer boundary
(reported by gsson@github)
* [Issue#38] `JsonParser.nextFieldName()` problems when handling
names with trailing spaces
(reported by matjazs@github)
2.1.0 (08-Oct-2012)
A new minor version for 2.x.
New features:
* [Issue#14]: add 'readBinaryValue(...)' method in JsonParser
* [Issue#16]: add 'writeBinary(InputStream, int)' method in JsonGenerator
(and implement for JSON backend)
* [Issue#26]: Allow overriding "root value separator"
(suggested by Henning S)
Improvements:
* [JACKSON-837]: Made JsonGenerator implement Flushable.
(suggested by Matt G)
* [Issue#10]: add 'JsonProcessingException.getOriginalMessage()' for accessing
message without location info
* [Issue#31]: make `JsonFactory` java.io.Serializable (via JDK)
Other:
* [Issue-25]: Add 'createParser' and 'createGenerator' (as eventual replacements
for 'createJsonParser'/'createJsonGenerator') in 'JsonFactory'
* Try to improve locking aspects of symbol tables, by reducing scope of
synchronized sections when creating, merging table contents.
* Added 'JsonFactory.copy()' method to support databinding's 'ObjectMapper.copy()'
* Added method 'requiresCustomCodec()' for JsonFactory and JsonParser
* Added 'JsonParser.getValueAsString()' method (to support flexible conversions)
* Added META-INF/services/com.fasterxml.jackson.core.JsonFactory SPI to register
`JsonFactory` for even more automatic format discovery in future.
2.0.4 (26-Jun-2012)
Fixes:
* [Issue-6] PrettyPrinter, count wrong for end-object case
* 1.9.x fixes up to 1.9.8
2.0.3: skipped; only some modules use this version
2.0.2 (14-May-2012)
* 1.9.x fixes up to 1.9.7
2.0.1 (22-Apr-2012)
Fixes:
* [JACKSON-827] Fix incompatibilities with JDK 1.5 (2.0.0 accidentally
required 1.6)
(reported Pascal G)
2.0.0 (25-Mar-2012)
Fixes:
(all fixes up until 1.9.6)
Improvements
* [JACKSON-730]: Add checks to ensure that Features are applicable for
instances (parsers, generators), or if not, throw IllegalArgumentException
* [JACKSON-742]: Add append-methods in SerializableString
New features:
* [JACKSON-782]: Add 'JsonParser.overrideCurrentName()', needed as a workaround
for some exotic data binding cases (and/or formats)
[entries for versions 1.x and earlier not retained; refer to earlier releases)