rest.li v0.14 Release Notes

  • Data Schema changes

    1. Add "optional" support to record schema. In previous version, "default" is used to provide default value as well as indicate that the field is optional in a record. In the new version, "optional" is orthogonal to "default". A default value can be specified for optional as well as mandatory fields. An "optional" field may or may not have a default value.

    2. Change extension of data schema files from avsc to pdsc. This change requires 0.12.7 version of RUM for the new version of PegasusGeneratorPlugin that understands the new file name extension. This version of plugin also expects data schema files to be in the pegasus directory instead of the avro directory. The plugin also works with older projects that use the previous version of Pegasus, i.e. uses avro directories and avsc as the file name extension.

    RestLi (RB=38654)

    1. Merge EntityResource into CollectionResource / AssociationResource, to simplify resource definition

    2. RestLiRouter internal cleanup.

    3. Remove anonymous finder functionality, to reserve "GET /collection/" for future use.

    4. Remove JAX-RS / Jersey dependencies from library APIs.

    5. Minimize JAX-RS / Jersey usage internally.

    6. Extract Annotation classes to top-level, to assist in IDE auto-import.

    7. Invert parent/child dependency in resource annotations (replace "root=false" with "parent=Xyz.class").

    8. ResourceModel internal cleanup.

    9. Support compound keys for collections.

    10. Cleanup PathKeys and CompoundKey interfaces.

    11. Remove rest-jax-rs-prototype from active repository