Skip to content

Commit

Permalink
chore: update changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
zachdaniel committed Sep 4, 2024
1 parent 032a242 commit 745aa6e
Showing 1 changed file with 60 additions and 55 deletions.
115 changes: 60 additions & 55 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,115 +4,120 @@

## [v3.4.2](https://github.com/ash-project/ash/compare/v3.4.1...v3.4.2) (2024-09-04)




### Bug Fixes:

* don't clean calc deps that may need to be reused
- [soft destroys] honor `return_destroyed?` in soft destroy actions

* fix upsert condition for ets bulk creates
- [`Ash.Resource.Change`] correctly handle return values of batch callbacks (#1424)

* honor bulk upsert condition (#1432)
- [read actions] ensure that async limiter is cleared up front

* honor `return_destroyed?` in soft destroy actions
- [bulk creates] honor bulk upsert condition (#1432)

* correctly handle return values of batch callbacks (#1424)
- [bulk updates] ensure that update_defaults are set on streaming updates

* properly clean calculation dependency values, and don't unload them with `lazy?`
- [bulk actions] honor `skip_global_validations?` in bulk actions

* ensure that async limiter is cleared up front
- [pagination] honor the `countable` option in pagination

* ensure that update_defaults are set on streaming updates
- [read actions] return proper data shape when doing a read in a transaction

* honor `skip_global_validations?` in bulk actions
- [notifications] ensure that `from` is properly set on all notifications

* honor the `countable` option in pagination
- [notifications] fix typo in bulk destroy not clearing ash_started_transaction state

* return proper data shape when doing a read in a transaction
- [calculations] traverse calculated relationships when rewriting transient calculation values

* ensure that `from` is properly set on all notifications
- [calculations] don't unload calculation dependencies when `lazy?` is set

* typo in bulk destroy not clearing ash_started_transaction state
- [`Ash.DataLayer.Ets`] handle no_attributes when joining lateral join relationship data

* do not add relationship filter when building relationship authorization
- [`Ash.DataLayer.Ets`] fix ets lateral join source field usage

* don't list telemetry handlers if app is compiling
- [`Ash.DataLayer.Ets`] properly apply distinct in ets

* handle no_attributes when joining lateral join relationship data
### Improvements with backwards compatibility configurations

* do not call tracer `set_metadata` with span type that it ignores (#1400)
These configurations default to the current behavior, but in 4.0 (someday) will
be removed, and the new option will be the only option.

* traverse calculated relationships when rewriting transient calculation values
- [pagination] make default page type configurable, defaulting to `:offset`.

* optimize filter expr traversal
```elixir
# set this configuration to adopt the new preferred behavior
config :ash,
default_page_type: :keyset
```

* fix ets lateral join source field usage
- [`Ash.Policy.Authorizer`] make read policies more consistent, always preferring to filter over raise

* properly apply distinct in ets
Currently, some read actions can still return a `Forbidden` error, even
though policies are meant to filter out records by default. Now, it will always
filter, unless you set `access_type :strict` in the policy.

### Improvements:
```elixir
# set this configuration to adopt the new preferred behavior
config :ash, :policies,
no_filter_static_forbidden_reads?: false
```

* make read policies more consistent, always preferring to filter over raise
### Improvements:

* show an explanation when no policies apply
- [`Ash.Policy.Authorizer`] show an explanation when a forbidden is because no policies applied

* Add a case for handling mapsets in Filter.map (#1427)
- [`Ash.Policy.Authorizer`] error at compile for bypasses that will have no effect

* Cache always selected fields and use mapsets for building select list (#1428)
- [`Ash.Resource.ManualRead`] add `load_relationships/5` callback to manual reads

* factor out static branches at compile time
- [`mix ash.gen.resource`] add `uuid-v7-primary-key` option to `mix ash.gen.resource`

* do not eager evaluate filters for read action policies
- [`Ash.Resource.Change.CascadeUpdate`] add cascade update built in change (#1398)

* make authorization failures behave consistently across reads
- [`Ash.Resource.Change.CascadeDestroy`] add `read_action` option to `cascade_destroy`

* make default page type configurable, defaulting to `:offset`
- [inline aggregates] support `expr` and `expr_type` options when building aggregates

* add pattern for Ash.Query.Call in Filter.map (#1416)
- [create actions] Implement condition for upsert (#1386)

* error at compile for bypasses that will have no effect
- [optimization] do not add relationship filter when building relationship authorization

* prevent unnecessary calls to `Ash.load`
- [optimization] don't list telemetry handlers if app is compiling

* add `load_relationships/5` callback to manual reads
- [optimization] do not call tracer `set_metadata` with span type that it ignores (#1400)

* cache action known inputs individually
- [optimization] optimize filter expr traversal

* cache action required inputs all together
- [optimization] Add a case for handling mapsets in Filter.map (#1427)

* optimize to avoid inspects in changesets
- [optimization] Cache always selected fields and use mapsets for building select list (#1428)

* optimize to avoid expensive `String.valid?` check in uuid type
- [optimization] add pattern for Ash.Query.Call in Filter.map (#1416)

* add `async?` option to calculations, default to false
- [optimization] prevent unnecessary calls to `Ash.load`

* add cascade update built in change (#1398)
- [optimization] cache action known inputs individually

* add `uuid-v7-primary-key` option to `mix ash.gen.resource`
- [optimization] cache action required inputs all together

* optimize field checking for loading fields in query
- [optimization] optimize to avoid inspects in changesets

* allow functions in tracers for lazy loading metadata
- [optimization] optimize to avoid expensive `String.valid?` check in uuid type

* add `read_action` option to `cascade_destroy`
- [optimization] add `async?` option to calculations, default to false

* don't start processes for single items in list
- [optimization] optimize field checking for loading fields in query

* support `expr` and `expr_type` options when building aggregates
- [optimization] allow functions in tracers for lazy loading metadata

* Implement condition for upsert (#1386)
- [optimization] don't start processes for single items in list

* Optimize option validation with compile time validators (#1387)
- [optimization] Optimize option validation with compile time validators (#1387)

## [v3.4.1](https://github.com/ash-project/ash/compare/v3.4.0...v3.4.1) (2024-08-13)




### Bug Fixes:

* properly pass actor, action, tenant etc. to lazy loaded relationships
- [authorization] properly pass actor, action, tenant etc. to lazy loaded relationships

## [v3.4.0](https://github.com/ash-project/ash/compare/v3.3.3...v3.4.0) (2024-08-12)

Expand Down

0 comments on commit 745aa6e

Please sign in to comment.