From a7a3a7d3df8eaa3b0987f8d130cfdc38db905409 Mon Sep 17 00:00:00 2001 From: Zach Daniel Date: Mon, 12 Aug 2024 15:53:21 -0400 Subject: [PATCH] chore: update changelog --- CHANGELOG.md | 76 +++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 43 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1307c89f0..02542303d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,87 +4,77 @@ ## [v3.4.0](https://github.com/ash-project/ash/compare/v3.3.3...v3.4.0) (2024-08-12) - - - ### Features: -* add policy groups - -### Bug Fixes: - -* remove pattern match error when exceptions come from calculations +- [Ash.Policy.Authorizer] add policy groups -* Fix error with nil value on structure types (#1380) +- [authorization] support `authorize_with` option on `Ash.read`, allowing to error if any forbidden matching data exists -* show proper error message when trying to accept non-writable attributes +- [`Ash.Resource`] Add `@type t` typespec to resource if it doesn't exist -* Pass options without :templated tuple to after_batch (#1376) +### Bug Fixes: -* properly iterate non templated opts +- [calculations] remove pattern match error when exceptions come from calculations -* check for `nil` resource_calculation in `Ash.Resource.loaded?/2` +- [calculations] resolve nested expression calculation references in runtime filters -* optimizations around allocating strings +- [arrays] Fix error with nil value on structure types (#1380) -* optimizations around list operations for embedded resources +- [bulk actions] Pass options without :templated tuple to after_batch (#1376) -* `after_batch` arguments for `bulk_create` with `return_records?` disabled (#1371) +- [bulk actions] `after_batch` arguments for `bulk_create` with `return_records?` disabled (#1371) -* set `upsert?` option when managing relationships in bulk creation +- [bulk actions] set `upsert?` option when managing relationships in bulk creation -* resolve nested expression calculation references in runtime filters +- [`Ash.Resource`] check for `nil` resource_calculation in `Ash.Resource.loaded?/2` -* properly consider not-loaded record calculations as `:unknown` +- [`Ash.Expr`] properly consider not-loaded record calculations as `:unknown` -* handle `nil` in atomic array casting +- [atomic updates] handle `nil` in atomic array casting -* respect previously validated-for-action query for aggregates +- [aggregates] respect previously validated-for-action query for aggregates -* use `timestamps()` instead of `timestamps` +- [`mix ash.gen.resource`] use `timestamps()` instead of `timestamps` -* prefer `source_attribute` is required, instead of relationship name +- [belongs_to relationships] prefer `source_attribute` is required, instead of relationship name ### Improvements: -* prune calculations made unnecessary by field policies - -* add "hints" to `NoSuchInput` errors to make any errors clearer - -* warn on usage of `== nil` +- [performance] optimizations around allocating strings -* implement `Comp` for atoms & strings, comparing atoms as strings +- [performance] optimizations around list operations for embedded resources -* increase cases where embedded attribute can be updated atomically +- [performance] prune calculations made unnecessary by field policies -* add optimized path for casting embeds when they are simple +- [performance] add optimized path for casting embeds when they are simple -* add `include_embedded_source_by_default?` config to optimize embeds +- [performance] add `include_embedded_source_by_default?` config to optimize embeds -* support `:fields` constraint on `:struct` type, enabling persistence +- [error messages] show proper error message when trying to accept non-writable attributes -* Warn on bulk action `return_stream?` without any other `return_*?` options enabled. (#1370) +- [error messages] add "hints" to `NoSuchInput` errors to make any errors clearer -* add stacktrace information +- [`Ash.Expr`] warn on usage of `== nil` -* remove `:comparable` as a dependency +- [`Ash.Expr`] implement `Comp` for atoms & strings, comparing atoms as strings -* support `authorize_with` option on `Ash.read` +- [embedded resources] increase cases where embedded attribute can be updated atomically -* Add defaults and typespec to resulting Resource struct (#1364) +- [`Ash.Type.Struct`] support `:fields` constraint on `:struct` type, enabling persistence -* Add typespec to resource if it doesn't exist +- [bulk actions] Warn on bulk action `return_stream?` without any other `return_*?` options enabled. (#1370) -## [v3.3.3](https://github.com/ash-project/ash/compare/v3.3.2...v3.3.3) (2024-08-01) +- [calculations] ensure the called calculation function is always in the stacktrace +- [dependencies] remove `:comparable` as a dependency +- [`Ash.Resource`] Add default values to resulting Resource struct (#1364) +## [v3.3.3](https://github.com/ash-project/ash/compare/v3.3.2...v3.3.3) (2024-08-01) ### Bug Fixes: -* roll back bulk update/destroy on before action error - -* delete ash_notifications from pdict after reading +- delete ash_notifications from pdict after reading ## [v3.3.2](https://github.com/ash-project/ash/compare/v3.3.1...v3.3.2) (2024-08-01)