Releases: ash-project/ash
v3.5.40
v3.5.39
authorize before before_transaction hooks in bulk actions by @zachdaniel
This fixes the CVE: CVE-2025-48042. See the GHSA-jj4j-x5ww-cwh9 advisory for more.
Bug Fixes:
-
authorize before before_transaction hooks in bulk actions by @zachdaniel
-
special case ci_strings as strings in type casting by @zachdaniel
-
make
Ash.PlugHelpers.set_actor/2typespec accept term as an actor (#2307) by Maciej Malecki
v3.5.38
Bug Fixes:
-
cache action inputs for all action types by @zachdaniel
-
properly pass template opts when showing policy errors by @zachdaniel
-
add default values to manual action changesets (#2305) by @Torkan
-
properly escape collection defaults in TypedStruct macro (#2304) by @bradleygolden
Improvements:
- skip count of records when paginating if filter evaluates to false (#2303) by Rodolfo Torres
v3.5.37
Bug Fixes:
-
ensure that count tasks are always stopped by @zachdaniel
-
properly add aggregate with
add_new_aggregateby @zachdaniel -
resolve variable swapping in authorizer reducer (#2296) by Jesse Williams
-
handle notification without set domain in telemetry spans (#2293) by @vonagam
-
Use
:unsafe_to_atom?constraint when casting stored atom values by Rutgerdj -
add CompileError on duplicate Ash.Domain use by LambdaCalc
-
handle indexed maps when typecasting filter values by @zachdaniel
-
deterministic partial evaluation by @zachdaniel
-
ensure that unions stored with tags actually have their tags by @zachdaniel
-
resolve warning about
nilatomics by @zachdaniel -
typespec fix for typedstruct info module (#2286) by Matt Beanland
Improvements:
- properly short-circuit if, || and && by @zachdaniel
v3.5.36
Bug Fixes:
- revert typed_struct enhancements by @zachdaniel
v3.5.35
Bug Fixes:
-
use
Ash.read!in usage rules by @zachdaniel -
respect disable_async config during pagination count (#2280) by skanderm
-
properly handle overriding
newfor typed struct by @zachdaniel -
don't skip authorization for unrelated aggregates by @zachdaniel
-
multiple errors (#2260) by @TwistingTwists
-
avoid String.to_atom by pre-computing mixed argument name MapSet (#2262) by James Harton
-
Accept nil input for maps and TypedStructs (#2257) by Fugi
-
pass actor: nil to ash.get in get_and_lock_for_update (#2256) by Jesse Williams
-
add default impl for rewrite/3 & get_rewrites/4 for Ash.Type. (#2251) by Torkild Gundersen Kjevik
-
filter out invalid changeset, before running the bulk before transactions (#2249) by Barnabas Jovanovics
-
minor tweaks to usage rules (#2246) by albinkc
-
handle updates on union types containing arrays (#2237) by Rutgerdj
Improvements:
-
introspection and docs for typed structs (#2277) by @matt-beanland
-
check change and validate callbacks using behaviour helpers by @zachdaniel
-
support "unrelated" aggregates (#2240) by @zachdaniel
-
support "unrelated" aggregates by @zachdaniel
-
add unrelated exists expressions by @zachdaniel
-
TypedStruct required field pattern matching (#2265) by @chazwatkins
-
compilation: Move type list module attrs from Ash.Type to Ash.Type.Registry (#2266) by @chazwatkins
-
changeset_generator takes scope opt (#2263) by Joseph Lozano
-
Support through for many to many relationship gen (#2233) by Kenneth Kostrešević
-
Update usage-rules.md to include Polymorphic Relationships (#2211) by Gonzalo Muñoz
-
filter expression verifier (#2243) by Kenneth Kostrešević
-
Introduce extension introspection functions on Ash.*.Info (#2239) by Jonatan Männchen
v3.5.34
Bug Fixes:
-
Accept nil input for maps and TypedStructs (#2257) by @FugiTech
-
pass actor: nil to ash.get in get_and_lock_for_update (#2256) by Jesse Williams
-
add default impl for rewrite/3 & get_rewrites/4 for Ash.Type. (#2251) by @Torkan
-
filter out invalid changeset, before running the bulk before transactions (#2249) by @barnabasJ
-
minor tweaks to usage rules (#2246) by albinkc
-
handle updates on union types containing arrays (#2237) by Rutgerdj
Improvements:
-
Support through for many to many relationship gen (#2233) by Kenneth Kostrešević
-
Update usage-rules.md to include Polymorphic Relationships (#2211) by Gonzalo Muñoz
-
filter expression verifier (#2243) by Kenneth Kostrešević
-
Introduce extension introspection functions on Ash.*.Info (#2239) by @maennchen
v3.5.33
Bug Fixes:
-
handle
nilvalues properly in atomic changing validations by @zachdaniel -
Application ER Mermaid Diagram (#2231) by @maennchen
-
clear
niloptions in typed struct to constraints process by @zachdaniel -
allow Ash @global_opts authorize? to accept boolean or nil (#2225) by @chazwatkins
-
Don't require permissions to read actor on non-atomic
relate_actor(#2223) by @chazwatkins -
call underlying stream run instead of public interface by @zachdaniel
Improvements:
-
get_by_idtypo fix in usage rules (#2230) by albinkc -
Add array modifier to
ash.gen.resource(#2228) by Kenneth Kostrešević -
Add prepend? opt to hooks and Ash.Subject transaction hooks (#2221) by @chazwatkins
-
hooks: Add transaction hooks to Ash.Subject by @chazwatkins
-
Ash.Subject delegation and improvements by @chazwatkins
-
add
log?option tocanfunctions by @zachdaniel -
add transaction hooks for read actions (#2219) by ChristianAlexander
v3.5.32
Bug Fixes:
- ensure that exists "at_path" is returned as a relationship path by @zachdaniel
Improvements:
- add before/after/around transaction hooks to generic actions (#2218) by ChristianAlexander
v3.5.31
Bug Fixes:
- Catch invalid load (#2213) by Kenneth Kostrešević
Improvements:
-
Add Ash.Subject to abstract Changeset, Query, ActionInput common functions (#2212) by @chazwatkins
-
support validations, preparations on generic actions by @zachdaniel
-
add before/after action hooks to generic actions by @zachdaniel