Skip to content
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

Rest.li V30 major release #738

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Rest.li V30 major release #738

wants to merge 8 commits into from

Conversation

nickibi
Copy link
Contributor

@nickibi nickibi commented Dec 2, 2021

This release includes following backward incompatible changes:

  • Upgrade Avro dependency to 1.9.2. Remove Avro adapters for Avro 1.4/1.6 and related module.
  • Fix build-time validation of Action methods that return custom typerefs (e.g. CustomLong) yet don't indicate the
    corresponding typeref class (e.g. CustomLongRef.class) in the @Action annotation.
    • Clearly state that the returnTyperef annotation element is required for custom tyeprefs.
    • Catch previously-unhandled reflection exception for ActionResult-wrapped return types (e.g. ActionResult<CustomLong>).
  • Remove methods ResourceContext#shouldReturnEntity and ResourceContextImpl#shouldReturnEntity,
    which have been deprecated since version 27.2.0.
  • Update Gradle version compatibility in the pegasus Gradle plugin.
    • Minimum required Gradle version is now 5.2.1
    • Minimum suggested Gradle version is now 5.3
  • Delete the mainCopyPdscSchemas Gradle task. mainCopySchemas is the replacement.
  • Delete the mainDestroyStaleSchemas Gradle task. mainCopySchemas is the replacement.
  • Remove unused configurations "dataTemplateGenerator", "restTools", and "avroSchemaGenerator".
  • Remove Guava dependency from data-avro module

tjni and others added 7 commits December 2, 2021 16:51
The only usage of Guava in data-avro is the CaseFormat class, which is
used to convert from lower case camel-case to upper case camel-case. I
don't think it justifies pulling in the entire library (which is 2.1 MB
in version 18 and 2.6 MB in version 28.1 plus around 1.5 MB of source).

The CaseFormat class has some dependencies, including one on CaseMatcher
that isn't easy to remove, so I've copied over that code from the latest
version of Guava for now (manually shading them) and updated a minimum
amount of code to remove other dependencies on Preconditions, Converter,
and annotations.
The "dataTemplateGenerator", "restTools", and "avroSchemaGenerator"
configurations have been deprecated and are now unused.
Delete mainCopyPdscSchemas and mainDestroyStaleSchemas.
All LinkedIn references to this task have been removed.
This method has been deprecated since version 27.2.0, so users have had
time to migrate to the preferred method. Also removes subclass method
ResourceContextImpl#shouldReturnEntity.
Validate the type parameter of ActionResult, not ActionResult itself.
Also improve the build error message for cases where an Action method's
return type is a custom typeref but the @action parameter doesn't
specify a returnTyperef attribute.
Remove avro1.4 adapter and avro1.6 related modules.
Upgrade dependency on Avro to 1.9.2
@evanw555 evanw555 force-pushed the release/v30 branch 2 times, most recently from 548e5f5 to 457b770 Compare December 3, 2021 00:56
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.

None yet

4 participants