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!
ReactorProcess Released
ReactorProcess gives you tools to start, stop, supervise and manage processes as part of your reactor execution. Cool, huh?
Releases
Ash: 3.4.61-3.4.62
Fixes
Fix a case where actions were not performed in a transaction if the only change that they had was `manage_relationship`.
Fix a case where `parent/1` expressions in belongs_to relationships was not detected in `manage_relationship` (it requires a lateral join)
Fix a case where `Ash.Generator` functions would ignore inputs that had corresponding `manage_relationship` calls.
Fix a case where `Ash.Reactor` transaction steps would not recognize references to outer steps.
Make `cascade_destroy` do its work before the action instead of after, to prevent conflicts. Also added an option to opt into the old behavior.
Improvements
Warn on common mistakes made with primary read actions. It is often an unintentional thing to have changes, preparations or filters applied to the primary read action, so now we provide a helpful (and dismissible) warning.
Rename `mix ash.patch.extend` to `mix ash.extend` (the old one remains for backwards compatibility.
Reactor: 0.12.0-0.12.1
Fixes
Fix error with step planner mishandling intermediate results.
Improvements
Add `template` step which renders an EEx template
Recursively verify step name uniqueness
Igniter: 0.5.21
Fixes
Fix an error where certain patterns in config files could cause errors while formatting.
Improvements
Add an `:after` option to `Config` functions, allowing to control where in a config file config is placed.
Make diff printing significantly faster.
Spark 2.2.44 - 2.2.45
Fixes
Ensure empty sections still set default values.
Fix a crash in `mix spark.formatter`
Ensure nested entities appear in documentation search bar
Include entities from DSL patches in .formatter.exs
AshAuthentication 4.4.6-4.4.8
Fixes
Fix case where the magic link installer behavior to mark hashed_password attribute as `allow_nil? true` was not working and/or had unintended side effects
Fix a bug where OIDC configuration was not fetched properly.
Improvements
Allow authorization params to be defined using secret modules.
AshSql 2.2.49
Fixes
Multiple fixes for lateral join query building errors
Fix case where single aggregates did not have filters applied properly
Fix case where we were attempting to cast to a `nil` type.
Properly handle database time zones in `start_of_day/1-2`
ReactorFile 0.16.0-0.18.0
Improvements
Add File open/close and IO operations.
Add `write_file` DSL step.
Add `read_file` DSL step.
Hey can we have an update command or some sort of snippet like:
Here's how to make your project up to date with the latest releases:
```
mix igniter.update --all
```