RSS Amplifier

Ash Chronicle · Feb 22, 2025

Ash Chronicle: Issue #6

0
Sign in to vote or save

Zach Daniel · Ash Chronicle

This is a super quick, informal update about the goings on in and around Ash Framework. If you find something interesting and think it should make it on this newsletter, drop a message in the #ash-weekly channel in our Discord server.

We have a training coming up at CodeBeam US! Catch us on March 5th for Supercharge Your Elixir Apps with Ash! It’s a great training, fun for us and for attendees. It is great for folks new to Ash as well as those with lots of experience.

We’ve got a special offer available for subscribers to Ash Weekly and members of the discord server for 30% off 🥳!

I’ll also be giving a talk on Igniter, so drop by for the training and the conference to hear the latest updates on the project!

Check out this interview with Eileen Noonan about her experience with the training!

Catch Rebecca and myself on devtalk for an AMA! Looking forward to answering any questions you all have!

One major theme this week has been addressing a few issues with AshAuthentication in multitenant setups. We’ve increased our test coverage and addressed those issues. These fixes will be available next week.

Check it out! Fancy new syntax. Very useful 😁

This can help *a lot* with managing relationships in AshAdmin!

  • Support receiving the inputs to a generic action when undoing it with `Ash.Reactor`.

  • Simplify and unify sort & sort_input logic, allowing us to support related sorts.

  • Support configuring `error_fields` in identities, which will determine which field or fields show the error when an identity is violated.

  • Properly use the undo action when undoing generic actions with `Ash.Reactor`

  • handle generic actions with no returns in `Ash.Rector`

  • Ensure that atomic `set_attribute` change behaves the same as the non-atomic version

  • Ensure that the actor is always properly propagated to aggregate queries

  • Handle issue displaying an error when the undo step does not return the right value

  • Propagate context to child reactors automatically

  • Radically simplify reactor composition by doing it all at runtime. Thanks to internal refactors, there is effectively zero benefit to compile time composition work.

  • Support `dep_opts` in task info, used to set things like `runtime: false` automatically when installing a package

  • Only look for `.formatter.exs` in known directories. Fixing this makes a huge performance impact on using igniter, as we were doing a very expensive glob match on all files in all folders of a project (including `deps/`).

  • Load all archives that we can find when starting the igniter archive. This is necessary for installers that rely on nerves_bootstrap. Sounds like some cool stuff coming for igniter 😜

  • More accurate “file changed” checking.

  • Fix a pattern match error when choosing the default option in the long diff dialogue.

  • Explain that you should upgrade `ash_postgres` when explaining how to handle the required token resource changes.

  • Add support for the new error_fields option in identity constraints

  • Properly recreate the primary key when you drop a column that is part of the primary key.

  • Don’t show a warning when compiling migration files while migrating tenants.

  • Rewrite loaded calculations in distinct subqueries, because you can’t select a map inside of a subquery in an Ecto query.

  • Ensure that literal maps are casted using `type/2`.

  • cast complex types in operators like `==`.

  • Select/Typeahead for related items using `label_field`. A great QOL improvement for `AshAdmin`.

  • Add a `trigger_once?` option for triggers that don’t get reactivated, reducing scheduler load slightly

  • do the errors action atomically if it can be done atomically

  • Avoid duplicate reads when working in a transaction

  • Pass `error` in bulk variants of error handler

  • Don’t lock on atomic operations

  • include `:executing` in the unique job states

  • Ensure that `run_oban_trigger` and the scheduler are tenant aware

  • When we get and lock, do that before we do anything else

  • Pass tenant to `load` in `archive_related`

  • Set the relationship’s context on bulk destroy

  • Fix a bad return value when nothing is changing during encryption

  • Import `:ash_oban` in `.formatter.exs`

  • Ensure bulk create raises any errors that occur while bulk creating versions

  • Fix a type spec for `page_link_params`

No posts

Read the original on ashchronicle.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.