...
1.11.0 (2026-03-12)
1.10.0 (2025-08-19)
1.9.0 (2025-05-18)
- fix: bug with DataToParams include processing expecting more 'data' keys than the spec calls for #363
1.8.3 (2024-11-04)
- camelize when prefix is camelized already (ae78a7d)
- Compiler warning for zero-arity fields function call (b071131)
1.8.2 (2024-09-22)
- Fix incorrect ordering of serialized lists (#333)
1.8.0 (2024-06-25)
- Link Objects and Additional Controller Actions (#264) (def58a9)
- Setup common config (#322) (702b248)
- Fix bug where underscore/dasherize misses single characters by @protestContest in #316
- Transform relationship keys with shallow field transformation options (#314) by @protestContest in #315
Full Changelog: https://github.com/beam-community/jsonapi/compare/1.7.0...1.7.1
- Add options to transform field keys non-recursively (#132) by @protestContest in #310
Full Changelog: https://github.com/beam-community/jsonapi/compare/1.6.3...1.7.0
- Nested query filter fixes by @TylerPachal in #302
Full Changelog: https://github.com/beam-community/jsonapi/compare/1.6.2...1.6.3
- Error handling fixed per #294.
Full Changelog: https://github.com/beam-community/jsonapi/compare/1.6.1...1.6.2
The features of #270 were broken in two ways that this release fixes.
- The
@specfor therelationshipscallbackforJSONAPI.Viewactually did not allow for the various new structures arelationshipscallbackis allowed to return under the above PR. - The PR was intended to support (among other more general purposes) remapping of an
attributefield to arelationship-- this is niche, but sometimes quite useful. The above PR and its tests failed to fully realize that goal by missing one small detail (lost in a merge conflict resolution, as it turns out).
Full Changelog: https://github.com/beam-community/jsonapi/compare/1.6.0...1.6.1
- Add support for a JSON:API includes allowlist. by @mattpolzin in #292
Full Changelog: https://github.com/beam-community/jsonapi/compare/1.5.1...1.6.0
- Change camelize behavior by @TylerPachal in #293
Specifically, already-camilized strings will no longer be turned to all-lowercase by the :camelize transformation; they will be left alone.
Full Changelog: https://github.com/beam-community/jsonapi/compare/1.5.0...1.5.1
- Integration between UnderscoreParameters and QueryParser by @TylerPachal in #282
- Response body for content type error by @TylerPachal in #276
- Fix typos by @kianmeng in #275
- Add c:JSONAPI.View.get_field/3 by @whatyouhide in #273
- Support renaming of relationships by @mattpolzin in #270
- @kianmeng made their first contribution in #275
- @whatyouhide made their first contribution in #273
- @TylerPachal made their first contribution in #276
Full Changelog: https://github.com/beam-community/jsonapi/compare/1.4.0...v1.5.0
Full Changelog: https://github.com/beam-community/jsonapi/compare/1.3.0...v1.4.0
- Continuous Integration with Github actions.
- "self" URL can include query parameters
A healthy Covid-19 safe foot-tap to: @CostantiniMatteo, @lucacorti, @snewcomer, and @jherdman
N/A
Big ups to @jgelens, @komlanvi, @ryanlabouve
N/A
N/A
- Updated example pagination code
- Fixed sparse fieldset compliance for relationships
- Error status codes in error responses should be Strings
- Fixed a problem with "self" pagination link
A fist bump of appreciation to @lucacorti, @leepfrog, @jasondew, and @thebrianemory.
- Pagination has had a massive overhaul. Docs have been updated. Please file issues should you run into any problems. You may wish to review the pull request for more details.
- More typespecs
EnsureSpecPlug now sets the JSON:API response content type for you. This means you need not manually include theResponseContentTypePlug in your pipeline should you already haveEnsureSpecin play. Please see the documentation forResponseContentTypeshould you wish to override it for a specific end-point.
- Ex Doc was updated to leverage some of its fancy new features.
EnsureSpecpipeline checks to ensure that a PATCH request has an ID- Documentation improvements
Much love to: @0urobor0s, @kbaird, @lucacorti, @strzibny
- Various typespec changes
- The
:namespaceoption is globally configurable - Fully support sparse fieldsets
- Removed
Config.required_fields - Documentation improvements
- Credo is set to use strict option
FormatRequiredPlug accepts a legal RIO payload- Report on missing data type as such
Much love to @kbaird, and @zamith.
Hot on the heels of 0.9.0, 1.0.0 is here! Please remember to upgrade to 0.9.0 first. You'll find the upgrade path much easier.
- Added run Dialyzer on CI
- Fixed bad includes result in HTTP 500 response
- Removed all deprecated code
- Added
camelCasefield support for JSON:API v1.1 - Added support for arbitrary links
- Added Elixir 1.8 to the build matrix
This is the last release before 1.0. As such this release will feature a number of deprecations that you'll want to either resolve before upgrading. Should you have any trouble with these deprecations please file an issue.
- Added Expand Build Matrix Again
- Added Refactor String Manipulation Utility Module
- Internal Move
QueryParserTest - Added Expand Build Matrix
- Added Add Plug to Transform Parameters
- Fixed Namespace
Deprecationmodule - Internal Consolidate Plug Locations
- Fixed Set
Content-Typefor errors - Internal Improve
Application.envhandling in tests - Fixed Update regexes for underscore and dash
- Internal Remove leading
is_fromis_data_loaded? - Fixed Remove warning about hidden being undefined
- Added Allows for conditionally hiding fields
- Fixed Omit non-Object meta
(Sorry I missed 0.7.0)
- Added Support for configuring your JSON Library, and defaulted to Jason going forward.
- Fixed Fix nesting for includes
- Added Removing Top Level if configured
- Fixed Check headers according to spec
- Added Add to view custom attribute
- Added updates plug to allow data with only relationships enhancement
- Added include meta as top level document member
- Added Apply optional dash-to-underscore to include keys
- Fixed Do not build relationships section for not loaded relationships
- Fixed change try/rescue to function_exported? and update docs
- Fixed Dasherize keys in relationship urls
- Added Allows the view to add links
- Fixed Serialize empty relationship
- Fixed Handle dashed include for top-level relationship
- Added plug to make verifying requests and their errors easier
- Added support for meta fields
- Added support for custom hosts
- Added support for hidden attributes in views
- Added support conversion of underscore to dashes.
- Fixed issue with index.json
- Now uses Credo
- Updated codebase for elixir 1.4
- Updated poison dep to 3.0
- Fixed failing travis tests
- Removed PhoenixView
- Made params optional
- Made paging optional
- Support for basic JSONAPI Docs. Links support still missing