Skip to content

Releases: ash-project/ash

v3.5.40

13 Sep 09:58

Choose a tag to compare

Bug Fixes:

  • update targets to ubuntu-22.04 and extend release list to prevent stuck builds (#2311) by Shahryar Tavakkoli

  • Runtime upsert_fields option is not passed to data layer in certain cases (#2310) by jlgeering

  • if nils_distinct?, consider multitenancy attribute as an upsert key by Zach Daniel

v3.5.39

06 Sep 21:28

Choose a tag to compare

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/2 typespec accept term as an actor (#2307) by Maciej Malecki

v3.5.38

04 Sep 11:40

Choose a tag to compare

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

31 Aug 15:54

Choose a tag to compare

Bug Fixes:

  • ensure that count tasks are always stopped by @zachdaniel

  • Allow ^actor() in upsert_condition (#2297) by @FugiTech

  • properly add aggregate with add_new_aggregate by @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 nil atomics by @zachdaniel

  • typespec fix for typedstruct info module (#2286) by Matt Beanland

Improvements:

v3.5.36

21 Aug 23:59

Choose a tag to compare

Bug Fixes:

v3.5.35

21 Aug 22:36

Choose a tag to compare

Bug Fixes:

  • use Ash.read! in usage rules by @zachdaniel

  • respect disable_async config during pagination count (#2280) by skanderm

  • properly handle overriding new for 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

07 Aug 02:17

Choose a tag to compare

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

29 Jul 21:41

Choose a tag to compare

Bug Fixes:

  • handle nil values properly in atomic changing validations by @zachdaniel

  • Application ER Mermaid Diagram (#2231) by @maennchen

  • clear nil options 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_id typo 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 to can functions by @zachdaniel

  • add transaction hooks for read actions (#2219) by ChristianAlexander

v3.5.32

23 Jul 14:07

Choose a tag to compare

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

22 Jul 15:17

Choose a tag to compare

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