Ash Weekly: Issue #6
Improved Sorting Syntax, Multitenancy Fixes, AshAdmin Typeahead/select!
Ash Weekly!
This is a super quick, informal update about the goings on in and around Ash Framework each week. 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.
Shameless Plugs
Check out Ash Premium Support from Alembic.
Sponsor me if you like what I do.
CodeBeam US Training | 30% Discount!
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!
Book AMA On Devtalk, Feb 24th & 25th
Catch Rebecca and myself on devtalk for an AMA! Looking forward to answering any questions you all have!
Multitenancy Fixes for AshAuthentication
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.
Improved sorting syntax
Check it out! Fancy new syntax. Very useful 😁
AshAdmin Typeahead/Select for Relationships
This can help *a lot* with managing relationships in AshAdmin!
Releases
Ash: 3.4.64
Improvements
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.
Fixes
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
Reactor: 0.13.2-0.13.3
Fixes
Handle issue displaying an error when the undo step does not return the right value
Propagate context to child reactors automatically
Improvements
Radically simplify reactor composition by doing it all at runtime. Thanks to internal refactors, there is effectively zero benefit to compile time composition work.
Igniter: 0.5.25-0.5.27
Improvements
Support `dep_opts` in task info, used to set things like `runtime: false` automatically when installing a package
Fixes
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.
AshAuthentication 4.5.1
Improvements
Explain that you should upgrade `ash_postgres` when explaining how to handle the required token resource changes.
AshPostgres 2.5.3-2.5.5
Improvements
Add support for the new error_fields option in identity constraints
Fixes
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.
AshSql 0.2.57
Fixes
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 `==`.
AshAdmin 0.13.0
Features
Select/Typeahead for related items using `label_field`. A great QOL improvement for `AshAdmin`.
AshOban 0.3.3
Improvements
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
Fixes
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
AshArchival 1.1.1
Fixes
Pass tenant to `load` in `archive_related`
Set the relationship’s context on bulk destroy
AshCloak 1.1.1
Fixes
Fix a bad return value when nothing is changing during encryption
AshOban 0.3.2
Improvements
Import `:ash_oban` in `.formatter.exs`
AshPaperTrail 0.5.1
Fixes
Ensure bulk create raises any errors that occur while bulk creating versions
AshPhoenix 2.1.18
Fixes
Fix a type spec for `page_link_params`


