Here are people who have contributed to the development of Jackson JSON processor
binary data formats module, version 3.x
(version numbers in brackets indicate release in which the problem was fixed)

(note: for older credits, check out `CREDITS-2.x`)

Tatu Saloranta, tatu.saloranta@iki.fi: author

--------------------------------------------------------------------------------
Credits for individual projects, since 3.0.0
--------------------------------------------------------------------------------

Fawzi Essam (@iifawzi)

* Contributed #582: Change defaults for `CBORReadFeature.DECODE_USING_STANDARD_NEGATIVE_BIGINT_ENCODING`
  and `CBORWriteFeature.ENCODE_USING_STANDARD_NEGATIVE_BIGINT_ENCODING` to `true` (enabled)
 (3.0.0)
* Contributed #591: Change `CBOR` Features defaults for 3.0
 (3.0.0)

Kenji Noguchi (@knoguchi)

* Reported #73: (protobuf) Cannot resolve inner types in protoc definitions
 (3.1.0)

Andy Wilkinson (@wilkinsona)

* Requested #619: (avro, cbor, ion, smile) Add `isEnabled()` methods for format-specific features
  (like `CBORReadFeature` and `CBORWriteFeature`) to mappers
 (3.1.0)

Michael Liedtke (@mcliedtke)

* Contributed #629: (ion) Unnecessary `IOException` in `IonObjectMapper` method signatures
 (3.1.0)

Klaus Meinhardt (@ajafff)

* Reported #669: STRINGREF String reference outside of a namespace
 (3.1.1)

Shanchao Li (@tonghuaroot)

* Reported #693: (avro) Incomplete number length validation in Avro
  decoder (for `BigDecimal`)
 (3.1.4)

Juan Farré (@jafarre-bi)

* Reported #700: (cbor, smile) `META-INF/services/tools.jackson.databind.ObjectMapper`
  references wrong class name (`...databind.CBORMapper` / `...databind.SmileMapper`)
 (3.1.5)

Benoît Mériaux (@benoitmeriaux)

* Reported #742: Use `ArrayDeque` instead of `Stack` in `CBORParser`
 (3.1.6)

PJ Fanning (@pjfanning)

* Contributed #750: (smile) Avoid `String` allocation in
  `SmileGenerator.writeString(char[],int,int)`
 (3.3.0)
* Contributed #752: (cbor) Use `VarHandle` for multi-byte primitive writes in
  `CBORGenerator`
 (3.3.0)
* Contributed #757: (smile) Use `VarHandle` for multi-byte primitive reads in
  `SmileParser`
 (3.3.0)
* Contributed #758: (cbor) Use `VarHandle` for multi-byte primitive reads in
  `CBORParser`
 (3.3.0)
* Contributed #762: (avro) Use `VarHandle` for `float`/`double` reads in Avro
  parser
 (3.3.0)
* Contributed #763: (protobuf) Use `VarHandle` for multi-byte primitive reads
  and writes in `ProtobufParser` / `ProtobufGenerator`
 (3.3.0)
* Contributed #776: (protobuf) `ProtobufGenerator.writeString(char[],int,int)`
  writes enum values twice
 (3.1.7)
* Contributed #781: (smile) `SmileGenerator.writeNumber(String)` should validate
  number length against configured `StreamReadConstraints`, not global defaults
 (3.3.0)
* Fixed #816: (avro) `UnionReader.nextToken()` does not validate union index
 (3.1.8)
* Contributed #823: (cbor) `maxStringLength` not consistently checked for chunked
  (indefinite-length) text values
 (3.3.0)
* Fixed #860: (cbor) Invalid UTF-8 sequences (overlong, surrogates, > U+10FFFF)
  not rejected in text
 (3.3.0)
* Fixed #861: (smile) Invalid UTF-8 sequences (overlong, surrogates, > U+10FFFF,
  bad continuation bytes) not rejected in text
 (3.3.0)
* Fixed #862: (avro) Invalid UTF-8 sequences (overlong, surrogates, > U+10FFFF,
  bad continuation bytes) not rejected in strings
 (3.3.0)
* Fixed #863: (protobuf) Invalid UTF-8 sequences (overlong, surrogates, > U+10FFFF,
  bad continuation bytes) not rejected in strings
 (3.3.0)
* Fixed #868: (cbor) Wrong cached property name returned for names containing 0xFF bytes
 (3.1.9)
* Fixed #869: (smile) Wrong cached property name returned for names containing 0xFF bytes
 (3.1.9)

DongNyoung Lee (@Dongnyoung)

* Contributed #398: (protobuf) Add `ProtobufReadFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE`
  for unknown ids of non-standard enums
 (3.3.0)
* Contributed #780: (ion) Fix `IonFactory` resource cleanup on failed construction
 (3.3.0)
* Contributed fix for #797: (avro) Apache decoder fails with `UnsupportedOperationException`
  when `AvroReadFeature.AVRO_BUFFERING` disabled
 (3.1.8)

Dhanraj E (@Dhanu-dynamic)

* Contributed #895: (smile) Enforce `maxNestingDepth` in non-blocking parser
 (3.1.9)
* Contributed #896: (avro) Negative byte size of skipped Array/Map block moves input
  pointer backwards, causing infinite loop
 (3.1.9)
* Contributed #901: (avro) Apache decoder allocates buffer for full declared length
  of `string` value or Map key before reading content
 (3.1.9)
