ja_serializer v0.15.0 Release Notes

  • ๐Ÿ”‹ Features

    • Add optional support for camelCase key format as recommended by JSON:API v1.1 - #316/#317
    • Make JaSerializer.TopLevel.Builder.normalize_includes/1 public - #323

    ๐Ÿ› Bug fixes

    • Allow accept header with quality param - #320
    • Include relationships in sparse field definition - #324

    ๐Ÿ’ฅ Breaking

    • Don't render empty relationships - #311
    • Omit prev/next links when current page is > last page - #317
    • Don't raise AssociationNotLoadedError if belongs to relationship can be determined. - #322

    โ†ช The following workaround is no longer needed:

    has_one :city, serializer: MyApp.CityView
    def city(%{city: %Ecto.Association.NotLoaded{}, city_id: nil}, _conn), do: nil
    def city(%{city: %Ecto.Association.NotLoaded{}, city_id: id}, _conn), do: %{id: id}
    def city(%{city: city}, _conn), do: city