Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from

Conversation

millems
Copy link
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

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