mirror of
https://github.com/ash-project/ash.git
synced 2024-09-19 21:13:10 +12:00
chore: release version v2.19.0
This commit is contained in:
parent
b1b6ee96df
commit
7d099c97fd
4 changed files with 250 additions and 3 deletions
247
CHANGELOG.md
247
CHANGELOG.md
|
@ -5,6 +5,253 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline
|
|||
|
||||
<!-- changelog -->
|
||||
|
||||
## [v2.19.0](https://github.com/ash-project/ash/compare/v2.18.1...v2.19.0) (2024-02-16)
|
||||
|
||||
|
||||
|
||||
|
||||
### Features:
|
||||
|
||||
* allow using custom delimiters for pubsub topics
|
||||
|
||||
* support functions in parse predicates (#874)
|
||||
|
||||
* support returning streams from mod calc (#864)
|
||||
|
||||
### Bug Fixes:
|
||||
|
||||
* remove unneeded code for calculations in a filter (#904)
|
||||
|
||||
* restore `not_found_error?` behavior in `Ash.Flow`
|
||||
|
||||
* handle cases where no primary keys are present better
|
||||
|
||||
* ensure that filters are parsed from policy authorizer ahead of time
|
||||
|
||||
* check if query is a query before calling `.__validated_for_action__`
|
||||
|
||||
* properly authorize actions in flow
|
||||
|
||||
* handle warning about incompatible types (#892)
|
||||
|
||||
* properly refer to attributes in `changing_attributes/1`
|
||||
|
||||
* remove unneeded code for calculations in a filter (#891)
|
||||
|
||||
* evaluate templates to unknown at ref
|
||||
|
||||
* handle atomic_ref templates and `changing_attributes/1`
|
||||
|
||||
* replace refs for relationships use correct action (#888)
|
||||
|
||||
* handle not found case in destroy (#890)
|
||||
|
||||
* handle not found case in destroy
|
||||
|
||||
* add case where authoriztion did not change query
|
||||
|
||||
* properly map sort input and non-input refs in keyset filters
|
||||
|
||||
* properly match on invalid query from before_action
|
||||
|
||||
* ensure proper context set on atomic upgrade
|
||||
|
||||
* fix nil ++ list error in bulk destroy
|
||||
|
||||
* ensure we retain the sort order of embedded resources
|
||||
|
||||
* retain sort on inputs on casting embedded inputs
|
||||
|
||||
* properly get rewrites for embedded types
|
||||
|
||||
* ensure after_transaction hooks are always run
|
||||
|
||||
* handle records in `Ash.destroy` and `Ash.update`
|
||||
|
||||
* pre-template change/validation option in bulk update/destroy
|
||||
|
||||
* fix query match error in bulk destroy/update
|
||||
|
||||
* don't consider primary key matches with `nil` values
|
||||
|
||||
* continue cleanup in `ManagedRelationshipHelpers` (#873)
|
||||
|
||||
* fix pattern match error on certain policy conditions
|
||||
|
||||
* use primary key for lateral join source in ets
|
||||
|
||||
* set right `accessing_from` name in many to many managed create (#868)
|
||||
|
||||
* set_tenant on fully atomic changesets
|
||||
|
||||
* handle api.can case in authorize_changeset
|
||||
|
||||
* properly bypass authorization in atomic update switch-over
|
||||
|
||||
* properly set action_type on atomic changesets
|
||||
|
||||
* extract relationship filters from pre-authorization query
|
||||
|
||||
* retain metadata on updates, atomic and otherwise
|
||||
|
||||
* properly load expression -> runtime calculation deps
|
||||
|
||||
* ignore `input?` when considering refs equal in filter subset checking
|
||||
|
||||
* change names of code interface methods for calculations (#863)
|
||||
|
||||
* properly mark manuall created input refs with `input?: true`
|
||||
|
||||
* clean vars should handle map vars
|
||||
|
||||
* properly merge union loads
|
||||
|
||||
* support expression calculations referencing runtime calculations
|
||||
|
||||
* set default access type properly
|
||||
|
||||
* properly handle the case where all valid scenarios are pruned
|
||||
|
||||
* properly prevent the atomic handling of manual update actions
|
||||
|
||||
* fix passing extra opts to stream
|
||||
|
||||
* properly check if data layer can update_query
|
||||
|
||||
* Ash.Type.Float to support min/max constraints(#856)
|
||||
|
||||
* add calculations before distinct is applied in data layer query
|
||||
|
||||
* properly set index on embedded type array errors
|
||||
|
||||
* use correct option for relationship in atomic `relate_actor` (#855)
|
||||
|
||||
* only count resources the actor is allowed to see (#853)
|
||||
|
||||
* only count resources the actor is allowed to see
|
||||
|
||||
* deselect known forbidden fields *after* query authorization is complete
|
||||
|
||||
* `soft?` in destroy action options is a boolean, not an atom (#851)
|
||||
|
||||
* load fails because of empty list instead of query (#847)
|
||||
|
||||
* don't attempt to derive `destination_attribute_on_join_resource`
|
||||
|
||||
* `join_relationship` in many to many can make `through` optional (#846)
|
||||
|
||||
* make sure query has action (#844)
|
||||
|
||||
* pass in actor to api.can call (#843)
|
||||
|
||||
* pass in actor to api.can call
|
||||
|
||||
* do not check primary key fields in filter (#839)
|
||||
|
||||
* add page opts to context again (#838)
|
||||
|
||||
* return errors with query from read action
|
||||
|
||||
* properly set defaults on upsert in mnesia
|
||||
|
||||
* don't load through attributes twice, but also don't miss any
|
||||
|
||||
* handle errors properly from invalid loads
|
||||
|
||||
* handle data layer calculations for missing records
|
||||
|
||||
* only load through calculations in the correct order
|
||||
|
||||
* properly detect cyclic dependencies in calculation runner
|
||||
|
||||
* properly annotate in-query calculations as complete for dependency calculation
|
||||
|
||||
* fix `present?` and `load_through` bugs
|
||||
|
||||
* don't require pagination in incorrect cases
|
||||
|
||||
* get tests passing for bulk creates again
|
||||
|
||||
### Improvements:
|
||||
|
||||
* handle stale update/destroys
|
||||
|
||||
* support `authorize_query_with` for bulk updates/destroys
|
||||
|
||||
* support `authorize_changeset_with` for bulk updates/destroys
|
||||
|
||||
* don't authorize query on synthesized atomic update/destroys
|
||||
|
||||
* show field name in NotLoaded inspect
|
||||
|
||||
* implement `requires_original_data?` for `Ash.Notifier.PubSub`
|
||||
|
||||
* support policies requiring original data
|
||||
|
||||
* change atomicity requirements when datalayers don't support it
|
||||
|
||||
* add `on_match: :update_join` to `manage_relationship` (#875)
|
||||
|
||||
* don't call telemetry when compiling
|
||||
|
||||
* various policy behavior cleanups
|
||||
|
||||
* add `join_keys` option to `manage_relationship` (#866)
|
||||
|
||||
* don't run `check` in cases that require strict checks
|
||||
|
||||
* atomic_batches behavior for bulk destroys
|
||||
|
||||
* allow strategy selection for bulk actions
|
||||
|
||||
* change nested field filtering to be done with `at_path`
|
||||
|
||||
* support referencing non-array embeds in input filters
|
||||
|
||||
* bulk update in batches if not given a query
|
||||
|
||||
* update action should respect load and select
|
||||
|
||||
* introduce `require_atomic?`, which defaults to `false` in 2.0, `true` in 3.0
|
||||
|
||||
* better support around the mixing of atomic and non atomic changes/validations
|
||||
|
||||
* more atomic implementations
|
||||
|
||||
* support loading and selecting in bulk operations
|
||||
|
||||
* use atomic create actions where possible
|
||||
|
||||
* always define `merge_load/4`
|
||||
|
||||
* derive `source_attribute_on_join_resource` for many to many
|
||||
|
||||
* atomic implementation for `relate_actor`
|
||||
|
||||
* include a message along with the non-atomic signifier
|
||||
|
||||
* support transactions on bulk destroys
|
||||
|
||||
* support transactions in bulk updates
|
||||
|
||||
* `count_nils/1` function
|
||||
|
||||
* `present/absent` atomic implementation
|
||||
|
||||
* add `atomic_ref/1` template helper
|
||||
|
||||
* Change typespec of tenant from String.t() to term() (#845)
|
||||
|
||||
* handle pkey-less resources when attaching fields
|
||||
|
||||
* set lazy defaults when applying changeset attributes
|
||||
|
||||
* add `prepend?: true` option to add_change
|
||||
|
||||
* optimize embedded resource creation
|
||||
|
||||
* rewrite read actions to not use `Ash.Engine` (#836)
|
||||
|
||||
## [v2.18.1](https://github.com/ash-project/ash/compare/v2.18.0...v2.18.1) (2024-01-12)
|
||||
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
```elixir
|
||||
def deps do
|
||||
[
|
||||
{:ash, "~> 2.18.1"}
|
||||
{:ash, "~> 2.19.0"}
|
||||
]
|
||||
end
|
||||
```
|
||||
|
|
|
@ -87,7 +87,7 @@ defp deps do
|
|||
[
|
||||
# {:dep_from_hexpm, "~> 0.3.0"},
|
||||
# {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"},
|
||||
{:ash, "~> 2.18.1"} # <-- add this line
|
||||
{:ash, "~> 2.19.0"} # <-- add this line
|
||||
]
|
||||
end
|
||||
```
|
||||
|
|
2
mix.exs
2
mix.exs
|
@ -7,7 +7,7 @@ defmodule Ash.MixProject do
|
|||
designed to be used by multiple front ends.
|
||||
"""
|
||||
|
||||
@version "2.18.1"
|
||||
@version "2.19.0"
|
||||
|
||||
def project do
|
||||
[
|
||||
|
|
Loading…
Reference in a new issue