Ash Weekly: Issue #24
Announcing AshTypescript, a new member of the team, articles, conference talks, videos, and tons of other new goodies.
Ash Weekly!
Welcome to Ash Weekly — your quick, informal digest of what’s new and notable in the world of Ash Framework. Got something cool? Drop it in the #showcase channel on Discord!
Plugs
Support Ash via our Open Collective
Check out Ash Premium Support from Alembic
New core team member - Torkild Gundersen Kjevik
Torkild is responsible for both AshTypescript and AshEvents! He has made monumental efforts to bring these new core packages to bear, and is an awesome addition to the core team.
Announcing: AshTypescript
AshTypescript gives you *full stack types* for SPAs built with tech like React, Inertia, Vue, Svelte...but all of the power Ash and Elixir on the backend! It is also now available in the installer at https://ash-hq.org 😎. Christian Alexander even made a demo repo showing it working with Tanstack DB 🔥
Elixir Mentor Training Series: Master Ash Framework
Elixir Mentor has made tons of awesome educational content for the Elixir community, and he has now set his sights on Ash! Take a look at the overview of what is to come.
Also on Elixir Mentor’s channel, you can find our own Barnabas Jovanovics doing a podcast on a wide range of topics, from AI powered discord bots, to Goatmire Elixir and everything in between.
New Release: Clarity
Jonatan Männchen released a new library that comes with built-in support for Ash! Clarity is an interactive introspection and visualization tool for Elixir projects.
It automatically discovers and visualizes applications, domains, resources, modules, and their relationships, giving you a navigable graph interface enriched with diagrams, tooltips, and documentation.
From the community
Srikanth Kyatham gave a talk at Codebeam Europe:
Kamaro Lambert released part 21 of his Ash Framework for Phoenix Developers series: Build and Test Ash Extension(AshParental) 1/3. He also shared an extension for bringing STI (single table inheritance) to your Ash resources: AshParental
randyr_ (discord) released a package called ash_object_ids, an Ash implementation of the "Stripe IDs" (human readable, copyable, IDs with a prefix for the model they reference).
Releases
Ash: 3.5.37-3.5.42
`--setup` flag added to Ash installer, to run `mix ash.setup` immediately after installing (useful for the ash-hq.org installer)
Improved performance of mix tasks that load extensions (@drtheuns)
Better error messages on invalid relationship paths in exists
skip counting records when paginating if filter evaluates to `false`
Eagerly short-circuit if, || and && in expression to avoid spurious warnings on `nil` comparisons (and to improve performance)
Added a new builtin validation, `any/1`
Ash AI: 0.2.12
don’t show input parameter if an action has no inputs
Add `action_parameters` option to allow customizing what additional inputs are provided to tools (like filter/sort)
Reactor: 0.16.0
Allow reactors to be able to be undone after successful completion (@jimsynz)
Add allow_async? flag to compose DSL (@jimsynz)
Igniter: 0.6.29
Added `Igniter.delay_task` to add a task that runs after all other composed tasks have been added
AshAuthentication: 4.10.0
Added a “remember me” strategy (@rgraff) - Note: support for this has not yet been completed in AshAuthenticationPhoenix
Default confirm action name to add-on name (@jimsynz)
Add support for AshEvents.Events.ReplayChangeWrapper in validate_action_has_change (#1066) by (@torkan)
pass magic link request source context to mail sender (@marcnnn)
AshAdmin: 0.13.18
vendor jsoneditor and easymde for security reasons
AshPhoenix: 2.3.16
Add `post_process_errors` option for easier handling and manipulation of form errors
Thanks for the updates and for featuring Ash parental and other extensions..
I'm looking forward to trying out AshTypescript.