...
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
@spec
for therelationships
callback
forJSONAPI.View
actually did not allow for the various new structures arelationships
callback
is allowed to return under the above PR. - The PR was intended to support (among other more general purposes) remapping of an
attribute
field 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
EnsureSpec
Plug now sets the JSON:API response content type for you. This means you need not manually include theResponseContentType
Plug in your pipeline should you already haveEnsureSpec
in play. Please see the documentation forResponseContentType
should you wish to override it for a specific end-point.
- Ex Doc was updated to leverage some of its fancy new features.
EnsureSpec
pipeline checks to ensure that a PATCH request has an ID- Documentation improvements
Much love to: @0urobor0s, @kbaird, @lucacorti, @strzibny
- Various typespec changes
- The
:namespace
option is globally configurable - Fully support sparse fieldsets
- Removed
Config.required_fields
- Documentation improvements
- Credo is set to use strict option
FormatRequired
Plug 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
camelCase
field 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
QueryParser
Test - Added Expand Build Matrix
- Added Add Plug to Transform Parameters
- Fixed Namespace
Deprecation
module - Internal Consolidate Plug Locations
- Fixed Set
Content-Type
for errors - Internal Improve
Application.env
handling 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