Skip to content

Moved Jackson from being an external SDK dependency to an internal dependency.#2522

Closed
millems wants to merge 3 commits intomasterfrom
millem/remove-jackson
Closed

Moved Jackson from being an external SDK dependency to an internal dependency.#2522
millems wants to merge 3 commits intomasterfrom
millem/remove-jackson

Conversation

@millems
Copy link
Copy Markdown
Contributor

@millems millems commented Jun 9, 2021

Jackson-databind was removed from being a dependency (except in the code generator). Jackson-core and
Jackson-dataformat-cbor were moved to shaded dependencies. This was done because Jackson versions
are not 100% compatible between minor versions and keeping them up to date were problematic for SDK
customers.

Customers will see a change in artifact sizes. Customers which do not use Jackson-databind outside of
the SDK today will see a ~1 MB artifact size decrease. Customers which do use Jackson-databind outside
of the SDK will see a ~0.5 MB artifact size increase.

This change required breaking inter-module (protected) APIs, so it should not be released outside of an
SDK minor version bump. Customers will not be able to use older client versions with this version of
the core libraries.

Change summary:

  1. Added 'jackson-core' and 'jackson-dataformat-cbor' which contain the SDK's shaded versions with the
    Jackson packages of the same names.
  2. Removed 'aws-ion-protocol' module. This was not used by any public AWS services and can be re-added when
    service support is needed.
  3. Added 'json-utils', a library for reading and parsing JSON.

@millems millems force-pushed the millem/remove-jackson branch from bf169c7 to 5a05e1c Compare June 9, 2021 23:15
@millems millems force-pushed the millem/remove-jackson branch 3 times, most recently from aaf6ada to 7cca554 Compare June 10, 2021 19:23
@millems millems force-pushed the millem/remove-jackson branch from 7cca554 to 7f8789b Compare June 10, 2021 19:52
…pendency.

Jackson-databind was removed from being a dependency (except in the code generator). Jackson-core and
Jackson-dataformat-cbor were moved to shaded dependencies. This was done because Jackson versions
are not 100% compatible between minor versions and keeping them up to date were problematic for SDK
customers.

Customers will see a change in artifact sizes. Customers which do not use Jackson-databind outside of
the SDK today will see a ~1 MB artifact size decrease. Customers which do use Jackson-databind outside
of the SDK will see a ~0.5 MB artifact size increase.

This change required breaking inter-module (protected) APIs, so it should not be released outside of an
SDK minor version bump. Customers will not be able to use older client versions with this version of
the core libraries.

Change summary:
1. Added 'jackson-core' and 'jackson-dataformat-cbor' which contain the SDK's shaded versions with the
   Jackson packages of the same names.
2. Removed 'aws-ion-protocol' module. This was not used by any public AWS services and can be re-added when
   service support is needed.
3. Added 'json-utils', a library for reading and parsing JSON.
@millems millems force-pushed the millem/remove-jackson branch from 7f8789b to f302008 Compare June 10, 2021 22:00
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants