View Source Change Log
All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
v1.4.11 (2024-10-14)
Improvements:
- add type handler for NaiveDatetime
v1.4.10 (2024-10-10)
Improvements:
set status only if it hasn't already been set
better examples for
fields
parameter
v1.4.9 (2024-09-27)
Bug Fixes:
properly strip double slashes from base_route prefixes
properly render post to relationship and friends in open api spec
support keyset & offset pagination when mixed in open api schema
Improvements:
- support providing the open api schema as a file
v1.4.8 (2024-09-16)
Bug Fixes:
- don't access
message
key ofInvalidKeyset
errors
Improvements:
- upgrade to latest igniter functions and version
v1.4.7 (2024-09-04)
Bug Fixes:
- decode path parameters automatically
v1.4.6 (2024-08-26)
Bug Fixes:
don't intercept typed structs
properly check for domain inclusion in json api router when installing
Improvements:
- support new struct types w/ constraints
v1.4.5 (2024-08-20)
Bug Fixes:
- properly discover all necessary filter schemas
Improvements:
optimize post-operation field loading logic
don't show tags for resources w/o routes in schema
v1.4.4 (2024-08-16)
Improvements:
- support nested
base_route
s
v1.4.3 (2024-08-08)
Improvements:
- new
AshJsonApi.Type
behaviour, and support returning regular maps
v1.4.2 (2024-08-08)
Bug Fixes:
- use a list when calling
Module.concat
v1.4.1 (2024-07-30)
Improvements:
properly install domain with
Module.concat
in AshJsonApi routerinclude multipart parser in installer
v1.4.0 (2024-07-30)
Features:
- [
Ash.Type.File
] Ash.Type.File support (#214)
See AshJsonApi.Plug.Parser
for usage information.
Bug Fixes:
[attributes] reject allow_nil_input fields in required_write_attributes (#219)
[Open API] properly document query_params from generic routes in open api spec
[Open API] only include referenced resource types in definitions
[Open API] properly spec (and test the spec) for actions that return resources
v1.3.8 (2024-07-22)
Bug Fixes:
- [
AshJsonApi.Router
] don't double escapemodify_open_api
Improvements:
[
AshJsonApi.Router
] automatically infer theprefix
instead of relying on configuration[
mix ash.patch.extend
] addAshJsonApi
extender[
mix ash_json_api.install
] add installer for AshJsonApi
v1.3.7 (2024-07-15)
Bug Fixes:
[open api] escape
modify_open_api_schema
option since it can be a 3/tuple[errors] handle unknown errors in
log_errors/2
[serialization] relationship resource identifiers don't need to check the
id
type[serialization] properly reference related record in linkage
[serialization] ensure id is always coming back as a string
v1.3.6 (2024-07-08)
Bug Fixes:
[open api] properly match enum types on input/output
[errors] Avoid raising the condition converting the regex to string. (#204)
Improvements:
- [content type negotation] honor
allow_all_media_type_params?
incontent-type
as well
v1.3.5 (2024-07-06)
Bug Fixes:
- [bugfix] use
conn.private
, notconn[:private]
v1.3.4 (2024-07-05)
Bug Fixes:
[errors] add leading slash to JSON pointer in schema errors (#199)
[open api] avoid failing openapi generation for non existing resource actions (#198)
v1.3.3 (2024-07-04)
Bug Fixes:
[serialization] ensure generic action bodies, both in & out are serialized properly
[open api] properly fetch nested types
[open api] show embedded types when used with
:struct
[open api] ensure
action.require_attributes
is stringified in json schema[fields parameter] honor resource-level default_fields
v1.3.2 (2024-07-02)
Bug Fixes:
[routes] ensure that context is threaded through for all actions
[open api] properly require
success
in return-less actions[open api] typo when checking for resource's derive_filter? flag
[open api] not all accepted attributes have to be public
[open api] fix sort regex to be a valid regex
[open api] don't use
anyOf
for nullability[open api] don't generate bodies for delete requests
[open api] use
Enum.uniq
when uwnrapping any_of types[open api] detect all cases where a filter must be generated
Improvements:
[open api] use empty example for filter
[routes] support for query parameters using
query_params
route option
v1.3.1 (2024-07-01)
Bug Fixes:
[open api] use strings for enum values
[open api] use
strings
for includes/sort properly, add regex for sort
v1.3.0 (2024-06-28)
Features:
[calculations] add support for calculation inputs via field_inputs query param (#187)
[routes] support generic actions with no returns in routes
[routes] support
modify_conn/4
[routes] support
:read
actions in:post
request[routes] generic action support for all basic route types
[routes] new
route/3
type for arbitrary generic actions[AshJsonApi.Resource] support
derive_filter?
on both resource and route level[AshJsonApi.Resource] support
derive_sort?
on both resource and route level
Improvements:
[OpenApi] implement
Ash.Type.Map
json schema[OpenApi] support unions in schemas
[OpenApi] use "any object" type for filter in json schema
[OpenApi] fully specify filter in open api schema
[OpenApi] show all sortable fields in json schema
[OpenApi] Use resource descriptions in generated schema files if present (#184)
[OpenApi] show embeds in json schema and openapi
[errors] Add defimpl for NoSuchInput error (#181)
v1.2.2 (2024-06-19)
Bug Fixes:
- [include] properly still perform includes on record fetched from path
Improvements:
[OpenApi] newtype/enum support for json_schema as well
[OpenApi] render enums as enums in open api
v1.2.1 (2024-06-18)
Bug Fixes:
[routes] don't raise error including on get related endpoints
[routes] validate relationships from routes at compile time
[errors] don't show exceptions if
show_raised_errors?
isfalse
[errors] add missing fields from
InvalidField
[OpenApi] don't expose
action.name
over api docs[AshJsonApi.Domain] resource comes from the route on domains
Improvements:
[routes] support
name
onroutes
, use in description and operationId[AshJsonApi.Resource] verify includes list at compile time
[AshJsonApi.Domain] allow setting a
resource
second option on domain'sbase_route
entity
v1.2.0 (2024-06-11)
Features:
- [AshJsonApi.Domain] add
base_route
constructor to domain router
Bug Fixes:
[AshJsonApi.Resource] properly reflect that
default: false
makes a non required attribute[AshJsonApi.Resource] non-public attributes can be accepted and required in 3.0
[AshJsonApi.Resource] support
require_attributes
in json schema[AshJsonApi.Resource] ensure that resource-level default_fields are honored
Improvements:
- [attributes] non-public attributes can be accepted in 3.0
v1.1.2 (2024-06-05)
Bug Fixes:
- [includes] ensure we don't drop includes (as a result of deduplicating them)
v1.1.1 (2024-06-05)
Bug Fixes:
- [includes] deduplicate includes list while building it
Improvements:
- [metadata] add ability to supply custom route metadata (#152)
v1.1.0 (2024-05-24)
Features:
- [AshJsonApi.Domain] support routes defined on the domain
v1.0.0
This changelog has been restarted. See /documentation/0.x-CHANGELOG.md
for previous changelogs.
Breaking Changes:
[AshJsonApi.Resource] relationship routes now depend on the action taking an argument with the same name as the relationship. See the upgrade for more.
[AshJsonApi.ToJsonApiError] Introduced
AshJsonApi.ToJsonApiError
to convert errors to JSON API errors. This brings it more in line with other Ash extensions.
Improvements:
- [AshJsonApi.Resource] create/update/destroy actions now use bulk operations
- [AshJsonApi.Router] router is now a dynamic hand-written router. This prevents compile time dependencies.
- [AshJsonApi.Error] honor path when building source pointers