Skip to content

Latest commit

 

History

History
186 lines (154 loc) · 6 KB

CHANGELOG.md

File metadata and controls

186 lines (154 loc) · 6 KB

Changelog

v0.12.0

  • Breaking
    • Elixir 1.1 and earlier no longer supported.
  • Features
    • Elixir 1.4 support. (@yordis, @joshuataylor, @asummers)
    • Add config :ja_serializer, scrivener_base_url: support (@geolessel)
    • Support custom key deserialization (@vasilenko)

v0.11.2

  • Features
    • Allow customization of pagination params in Scrivener intergration (@scrogson)
  • Bugfixes
    • Add json api version to error responses. (@nmcalabroso)
    • Support umbrella apps in generators. (@gullitmiranda)
    • Support {:array, :integer} type ecto fields in error serializer (@henriquecf)

v0.11.1

  • Bugfixes
    • Handle port numbers in link urls. (@MishaConway)
  • Documentations
    • Fixes and improvements by @archSeer, @JoshSmith, and @rynam0
  • Misc
    • Cleaned up Credo reported code inconsistencies

v0.11.0

  • Breaking
    • The results of JaSerializer.format/4 now returns maps consitently keyed with binaries instead of mixed binaries and atoms. This is not an issue when rendering to json, but any direct testing of format/4 calls may need to be updated. (@bcardarella)
  • Bugfixes
    • Ensure deep linked include query params are correctly rendered. (@KronicDeth)
    • Use build_conn/0 instead of conn/0 in Phoenix test generator (@dustinfarris)
    • Properly parse nill relationships when de-serializing params (@kaermorchen)
  • Features
    • adds :relationships to serialization opts to skip serializing relationships. Defaults to true. (@bcardarella)
    • Adds preload/3 hook for preloading relationship data.
    • Support passing more fields to EctoErrorSerializer (@nurugger07)

v0.10.1

  • Features
    • Upgrade Scrivener for Ecto 2.0 & Scrivener support (@avitex)
  • Bugfixes
    • Fix ecto error serialization for both 2.0 and 1.0 support (@KronicDeth)
  • Deprecations
    • No longer supports Scrivener 1.x

v0.10.0

  • Features
    • There is a full behaviour for serializing, including relationships, with a DSL on top.
    • Adds type/2 hook for defining the object type.
  • Performance
    • Scrivener link integration are now faster (@benfalk)
    • Parsing fields params is now more effecient (@benfalk)
  • Deprecations
    • Prefer type/2 callback over type/0.
    • Returning functions from type/0 deprecated if favor of using type/2.
    • MySerializer.format/3 deprecated in favor of JaSerializer.format/4.
  • Bugfixes
    • Fix generator imperative assignment warning. (@parndt)
    • Fix default dsl link imperative assignment warning. (@itsgreggreg)

v0.9.0

  • Features
    • Allow type to be set dynamically #94 (@benfalk)
    • Add JaSerializer.Params.to_attributes/1 for merging relationships and attributes
    • Add generator to generate json-api spec phoenix controllers and tests. (@Dreamer009)
  • Bugfixes
    • Don't render all pagination links when only one page of results #96 (@adamboas)
    • Relax Ecto and Plug dependencies. (Ecto 2.0 support!)

v0.8.1

  • Performance
    • Improved performance of included (sideloaded) relationships. #86 (@dgvncsz0f)

v0.8.0

  • Breaking
    • You must now set the Phoenix :format_encoder for json-api to Poison in config.exs. Phoenix now handles conversion from map to json string. See README for details.
  • Features
    • Allow Poison 2.0
  • Bugfixes
    • Allow application/*, / and empty accept headers without returning 406.
    • Count errors now display full message in description.
    • Fixed serializing lists - #78

v0.7.1

  • Features
    • Param parsing now happens via a protocol for extensibility.

v0.7.0

  • Breaking
    • Pagination, sorting, filtering query param keys are now formatted with the configured key_format. This means the API outputs and expects dasherized by default. (@linstula)
  • Features
    • Deprecations messages now consitently formatted and contain a stack trace. (@derekprior)

v0.6.3

  • Features
    • Type is now formatted as underscore or dasherized, same as your key setting. (@linstula)

v0.6.2

  • Features
    • Updates error serializer to include field name in description. (@cjbell)
  • Bugfixes
    • Retain type information when deserializing. (@linstula)
    • Fix pipe warning in Elixir 1.2 (@bortevik)

v0.6.1

  • Features
    • Allow query params in link formatting. (@simonprev)
    • Deps added to application for exrm. (@dmarkow)
  • Bugfixes
    • fomat_key typo in ecto_error_serializer (@gordonbisner)

v0.6.0

  • Features
    • Support json-api spec include query param. (@green-arrow)
    • Support json-api spec fields query param. (@green-arrow)
    • Add meta info support

v0.5.0

  • Features:
    • Support custom ids in relationships. (@green-arrow)
    • Adds error rendering support to Phoenix view.
  • Deprecations:
    • Use key serializer instead of include when defining relationships.
  • Dependencies:
    • Ecto is now a required (non-optional) dependency.

v0.4.0

  • Features:
    • Adds support for pagination links w/ Scrivener or via opts. (@vysakh0)
  • Bugfixes:
    • Properly serialize empty relationships. (@dmarkow)

v0.3.1

  • Bugfixes
    • Adds optional Ecto dependency to fix compliation issue.

v0.3.0

  • Breaking:
    • Raises exception if ecto relationship is not pre-fetched.
  • Features:
    • Adds JaSerializer.ErrorSerializer
    • Adds JaSerializer.EctoErrorSerializer
    • Pre-defines formats for Ecto built in types.

v0.2.0

  • Features:
    • Add Phoenix integration w/ JaSerializer.PhoenixView.
    • Infer type from module name.
    • Add attributes/2 callback w/ default implementation based on attributes/1 macro.
    • Add JaSerializer.ContentTypeNegotiation plug for setting content type.
    • Add JaSerializer.Deserializer plug for param normalization.
  • Deprecations:
    • Remove serialize macro in favor of type/0 callback.

v0.1.2

  • Bugfix
    • Added non-fallback formatters for simple data types to improve out of the box performance.

v0.1.1

  • Bugfixes:
    • Fix issues w/ include chains that resulted in infinite loops.

v0.1.0

  • Features:
    • Add config option for formatting keys as underscored or dasherized.
  • Bugfixes:
    • Serialize include chains w/o duplicates.

v0.0.1

  • Initial release.