Model your Domain, Derive the Rest. Build powerful Elixir applications with a flexible tool-chain.

0.1 release of ash_state_machine` is out, for an elegant and powerful way to define resource-backed finite state machines! Compile/runtime validations built-in, as well as mermaid chart generation! We're picking up speed, so expect a lot more announcements in the coming months!
4
7
81
7,071
The day is finally here! Ash 3.0 release candidates are out and ready for use! Check out the announcement on ElixirForum elixirforum.com/t/ash-framew…. While these release candidates get battle tested, we’ll be hard at work revamping the docs for the official release! #myelixirstatus
2
21
79
7,253
Its here!
📢Ash Framework 3.0: Official Release! I'm here with the fine folks at @GigCityElixir, pushing the button live on stage 😎 #myelixirstatus
14
73
3,596
3/5ths of the Ash core team in Lisbon for @ElixirConfEU Coming from the US, Australia and Austria ✈️Excited for the training tomorrow!
2
4
62
2,142
In 3.0 we introduced code interfaces on the domain. In 1.1.0 of AshGraphql and AshJsonApi, you can now define JSON:API routes and GraphQL queries/mutations on the domain as well. Help! It's too easy to make apps! #myelixirstatus
1
4
56
2,310
Front page of HN: news.ycombinator.com/item?id… Lots of feedback making it clear that we need to do better explaining what we are/do. Still, good to see people interested.
2
2
49
3,831
We’ve got a big announcement coming any day now 😎if you’re watching closely you already know. Or if you’re in the discord. Game changing new part of the Ash ecosystem coming to a theater near you 🍾 #AshFramework #MyElixirStatus
1
3
41
3,754
This is fabulous work. Our docs have a lot to learn from @jkwchui 🤯
Curious about @AshFramework but feel daunted? My new tutorial, A Gentle Primer to Ash, uses LiveBook and CSV for a low setup, high-transparency introduction. 🧵/1 #MyElixirStatus
8
44
2,369
🎉 @ElixirConf 2022 was a smashing success! Had an awesome time hosted at the @teamalembic booth. Some announcements we made at the conference: - Release candidates are cut for each project, 2.0 is right around the corner! 👇
1
5
42
🚨New package!🚨AshCloak, a small but mighty package for encrypting your resource attributes, is now available on Hex. See the announcement for more! elixirforum.com/t/announcing…
2
5
41
1,490
New mix task `mix ash.generate_policy_chart` generates flow charts for your policies 😎Good for audits, or even just getting an understanding of complex authorization flows.
1
7
40
3,136
🎉 Its here! AshAuthentication is the latest entry into the Ash ecosystem, and its a huge deal! It already supports OAuth2 & password out of the box, and ships with LiveViews and components to get you up and running in no time flat. No code generation necessary! More big news:👇
1
10
38
3,713
Ash version "v2.0.0" released! #myelixirstatus See the changelog for more info: github.com/ash-project/ash/b…
5
7
36
🎉With the 0.10.0 release of ElixirLS, the Ash autocomplete ElixirSense plugin is now supported in VSCode. Just add elixir_sense as a dev dependency, and you're off to the races! hexdocs.pm/ash/1.52.0-rc.16/… Video shows it in action. Still tons to improve, but its *very* useful 🥳
4
33
Needed to put together an example of AshJsonApi, ended up with a sub-100 line gist. Comes with open api schema, swaggerUI and fully type-checked action calling over a JSON API. Just boot it up and visit http://localhost:4000/api/swaggerui gist.github.com/zachdaniel/0…
2
4
34
2,115
🎉4 Years, 21 Packages and 106 Contributors in 8 minutes. 🙇‍♂️Thank you all for a wonderful year. The rocket is on the pad, and in 2024 we take off! 🚀#myelixirstatus piped.video/watch?v=-0Pam6TV…
1
6
33
1,399
Code interfaces get a huge upgrade in 3.0! Define them on the Domain directly, they now support bulk actions and atomics. Each function has a rich interface so you aren't stuck writing the same code over and over again. All the benefits of a context, none of the boilerplate! 😍
5
33
1,521
🥳Pleased to announce the first beta version for ash_admin is live! I've published a demo of it on you tube: piped.video/watch?v=aFMLz3cp…. My hope is that the community will be interested in working on this, as there are so many possibilities and so many improvements to be made!
7
28
In Ash, queries can be applied at the data layer *or in memory*. This makes building behavior backed by other data layers, caches, or third party services possible completely transparently from the caller. Here is an example of a manual relationship. Really powerful stuff.
1
5
32
1,378
In technology, we must move forward or be left behind. We've chosen the former. Beginning in Ash 3.0, structured actions will be replaced with a single option: a text prompt which will be given to GPT-4. One look and you can see how much better things will be! #myelixirstatus
2
5
32
3,976
🎉One of Ash's power users showed off a cool thing they built with `AshPhoenix.FilterForm` today! Automatically derived from the resource its filtering, this form provides rich filtering capabilities of the table below. Awesome stuff!
1
6
29
So excited for 2.0! Took longer than expected (of course), but it is scheduled for the 17th! Awesome stuff for Ash.Flow is coming, like branching, halting, and resumable flows. Ash.Flow composes, so charts can be simple or "expanded". Here is an example of both from the tests!
9
28
Documentation refactor is underway! This includes a reconsideration of all of our documentation, including solving current issues, writing new guides, and we'll finish it all off with a cookbook! The work happens live in the latest RC. Feedback welcome! hexdocs.pm/ash/3.0.0-rc.14/g…
4
31
1,110
Check out our cool new mix tasks! They automatically detect installed extensions, and call them, so if you're using AshPostgres and AshSql, you get *one* set of commands for working with everything!
1
3
30
1,849
🎉Identities now support `where` and `nils_distinct?`, in addition to supporting calculations being used as a unique field 🥳This supports more complex unique constraints and upserts (you could always accomplish arbitrary unique constraints with `custom_indexes`). #myelixirstatus
1
3
30
1,201
📢Support for generic actions in AshJsonApi is in main! A simple but surprisingly powerful feature, as your actions are automatically available in your open API Docs, all inputs are properly validated, and errors properly modeled.🥳
3
6
28
1,523
How-to guide numbers 3, 4, and 5 are up! - #3 How-to Test Resources hexdocs.pm/ash/test-resource… - #4 How-to Authorize Access to Resources hexdocs.pm/ash/authorize-acc… - #5 How-to Wrap External APIs hexdocs.pm/ash/wrap-external…
3
6
26
2,435
😎A direct quote from a new Ash user: "I just started using it today, but just in some hours I was able to develop a backend from scratch with all the functionality (actually more) of a backend that was being developed by a team of 3 developers (nodejs) for about 8 months".🤩
6
28
2,160
AshSqlite has been released! Check out the guide: hexdocs.pm/ash_sqlite/get-st… Keep in mind its an initial, beta release, so let us know if you encounter any issues!
3
27
1,169
🚀We’re often too busy coding to make announcements about all the cool things we’re releasing, but we just released custom strategies and the magic link strategy for ash authentication! Magic link authentication in just a few lines of code, and the UI comes with it 🪄🪄🪄
1
5
27
1,543
Initial release of `ash_money` is out! Check out the getting started guide: hex.pm/packages/ash_money. It leverages the excellent work by @kipcole9 on `ex_money` and `ex_money_sql`! Its still early, but many improvements to come.
1
3
27
1,490
AshArchival's latest release candidate switches from using `base_filter` to action-specific preparations. Additionally, it has been updated to leverage 3.0's atomics and bulk actions, making cascading soft deletes extremely efficient! And as always, its plug and play 🚀
1
3
26
1,054
Using AshGraphql and want some compile time speed ups? Try this out! Here is a screenshot from the latest getting started guide. This can also very possibly help folks just using Absinthe on their own, so take a peek!
2
25
968
Development on it is going better than I could have possibly hoped, so I figured I'd tease what I'm working on: An admin dashboard derived from your Ash resources, push button install, built with live view. The best part? ...👇@elixirphoenix #myelixirstatus
2
2
21
🎓@chrisjhoppie has written a great getting started guide on using Ash with @elixirphoenix, filled with great explanations and lots of useful information! Give it a gander! ash-hq.org/docs/guides/ash_p…
8
22
2,211
📢Latest Ash package has entered the scene, `AshSlug`. @rhblind brings you a small but mighty extension to slugify resource attributes. And we've got a few more coming up, stay tuned 📻
1
6
26
1,443
New actions guides! hexdocs.pm/ash/3.0.0-rc.15/h… Updated with bulk actions/atomics, and other 3.0 changes. Focusing on being more concise, and once we get to the cookbook we will link out to concrete examples in the cookbook, since an example is worth a thousand words. #myelixirstatus
2
5
24
1,819
Speaking of igniter...the latest release of `ash_json_api` comes with both an installer, and a resource extender 🥳With one or two commands, you can have a full featured phoenix application with *checks notes* too many goodies to list, right out of the box.
@AshFramework has become even more powerful with ingiter-based installers added in v3.1. @ZachSDaniel1 explains why they have only just now been introduced after avoiding them for so long - alembic.com.au/blog/igniter-…
1
5
25
1,747
How-to guide #2 is out! How to encrypt attributes 🕵🏻 hexdocs.pm/ash/3.0.0-rc.46/e…
1
4
24
1,237
Ash 2.0 includes the stable release of `Ash.Flow`, a declarative workflow tool with pluggable execution engines that integrates seamlessly with resources. It supports transactions, map/reduce, and is async by default. Oh, and you get mermaid charts for free 😎
2
2
23
Happy holidays! In the festive spirit: one person who replies with the coolest thing they’ve built with Ash, or their favorite feature, gets an Ash sweater mailed to them, anywhere in the world! Limited run, only 6 exist! Winner is whoever’s tweet I like most 😂 #myelixirstatus
6
2
24
4,069
Trying to build a component library in vanilla live view was proving very difficult. However, I've rewritten it all with Surface and it has been a *massive* improvement in ergonomics. Props to @MarlusSaraiva and everyone else working on Surface.
1
5
24
Looking for anyone interested in contributing to Ash, or trialing it during the alpha. Anyone who is interested will get as much in person attention from me (@ZachSDaniel1) as they need. Ash covers a lot of ground, so there is plenty to do! #elixirlang #myelixirstatus
5
13
21
Also worth calling out @flydotio here! Smooth sailing 🙇‍♂️🙇‍♂️🙇‍♂️
1
23
1,252
We're making great progress on Igniter! Lots of great contributions coming from @IgorBarakaiev. Just a little bit left to do before we're ready to launch some bigger installers (ash, ash_postgres, ash_money) 🥳 Igniter is only possible because of some amazing work from 👇🏻
1
1
23
1,170
🍻 My GitHub Sponsors profile is live! No one should feel compelled to contribute, but I have been asked a few times if there was a way to support the Ash Framework financially, so I thought I'd set one up💖 github.com/sponsors/zachdani…
3
20
Laying the groundwork for the SQLite Ash data layer. Anyone who has some time to answer a few questions who has used the ecto SQLite adapter, please reach out to me (@ZachSDaniel1)
1
3
22
1,325
lol I look so scared 😱😂😂😂
Last minutes check by @ElixirConf organizer @jimfreeze. The @AshFramework training setup is looking good.
2
2
22
1,919
Progress on Ash 2.0, new documentation and home page is going very well! Ash 2.0 will publish rich events, and has hooks to deeply trace internal execution, allowing for integration with external tracing tools! #myelixirstatus
1
2
21
📢`AshGraphql` now has an igniter-backed installer! It sets up everything you need🚀Additionally, you can use `graphql` as an extension in `mix ash.patch.extend` or `mix ash.gen.resource`! Expect to see many more announcements like this 🥳
1
2
20
1,041
The new ash-hq site should be fully operational in the next 4-6 weeks, with a completely revamped documentation, and fully rewritten guides. When that is done, Ash will officially be launched out of beta (some extensions will remain in beta). Also, what *may* happen is 👇
4
8
18
📢Atomic updates are now supported on upsert actions! 😎 See the ElixirForum announcement for more details: elixirforum.com/t/atomic-upd… #myelixirstatus
2
5
20
1,302
Primer live seems like a very neat project, and they've just added builtin support for AshPhoenix.Form 😎primer-live.org/ash
5
19
2,026
📢The first video of a series called Ash Primers has been released! In this primer we show what calculations in Ash look like and how they can be used 🧮 piped.video/watch?v=oxaqpDlI… #myelixirstatus #AshFramework
9
20
1,232
🎉This community is awesome 😊@robert_graff just made their first ever contribution to the Elixir open source ecosystem, and it was to Ash! I also just checked, and that makes them the 🔥*100th contributor *🔥 🚀
2
19
953
New guide for changes, revamped validations guides, and much more. Documentation revamp is going very well! Thanks to the community folks who have helped so far and to ExDoc and hex.pm for being amazing, hexdocs.pm/ash/3.0.0-rc.16/c…
4
19
813
📢Thanks to @IgorBarakaiev, `ash_money` now has an igniter-backed installer! It reacts to `AshPostgres` being present and acts accordingly. Its a night and day difference for DX during setup: hexdocs.pm/ash_money/getting…, check the igniter vs manual tabs to see how 😎 #myelixirstatus
2
19
746
For the folks that would prefer to use other tools, we thought it would be good to put together a list of alternative technology choices! hexdocs.pm/ash/3.0.2/alterna… We need some help fleshing that list out though, so please make PRs and/or adjust descriptions as necessary.
1
2
17
1,427
Phase one in making ash-hq.org clearer about what Ash actually is is complete :) We replaced a wall of text that wasn't really doing any work, and added a feature grid. If the community has any ideas on what can improve further, let us know! #myelixirstatus
2
1
18
829
The first ever middle out application framework.
Middle out. lol. So much of the no code approaches and development tools has UI with data as an after thought or data with UI as an after thought, I found ash to be domain model and business logic as core, and I think that philosophy has legs
2
19
1,653
🎉Finally breaking ground on an exciting set of features. Beyond excited for all of the great things being worked on by others, and really pleased to be building more and more things that really illustrate the power of Ash. Tons more still to come! 😊 #myelixirstatus
4
19
🥳 I'd like to welcome @michaelst57 as the first member of the Ash Core team! They've made many contributions already, and I'm very excited to see what comes next! 🎉
1
2
16
This is so cool 😎 Can't wait for the full tutorial. @jkwchui's material continues to shine brightly in the Ash community🙇‍♂️
Elixir APIs for @airtable in 15 min, thanks to @sequin_io (sync), @AshFramework (abstractions), @livebookdev (quick explorations) #myelixirstatus /🧵1
1
18
1,055
🏎️Some performance improvements for create/update/destroy actions just landed in main! Benchmarks against the simple data layer (no persistence, only returns validated structs) show an 88% reduction in 99th percentile and ~50% reduction on average 🥳 #myelixirstatus
1
2
18
1,237
Not ready for prime time, but... its looking good! 🥳 #AshFramework #myelixirstatus #oban
1
17
761
First pass at atomics are in main! Try it out and let us know how it goes! See the guide for more 🎉This is very new, and a lot more work in this direction is yet to be done, but it's a very exciting area. github.com/ash-project/ash/b…
2
16
904
🎉Announced Notifier extensions recently, but today I'm excited to announce the first built-in notifier: `Ash.Notifier.PubSub`. It allows you to effortlessly broadcast changes over PubSub. All of this will tie into the announcement of a killer feature coming soon, I can't wait!🥳
5
15
Working on an ElixirSense plugin for autocompleting resources. It is going well! There are tons of details to work out, but you can try it out on my fork of elixir_ls github.com/zachdaniel/elixir… (see vscode elixir plugin for installing elixir-ls from source github.com/elixir-lsp/vscode…)
2
1
16
🥳Excited to announce Embedded Resources! They function similarly to Ecto's Embedded Schemas, but they can leverage resource functionality like validation, calculations, and even authorization. They can even be extended! Check out the guide for more: hexdocs.pm/ash/embedded_reso…
1
5
15
Great video from Dewet Blomerus! Sums up some good aspects of Ash and also things we need to improve. Great to see 🎉piped.video/watch?v=50Tj8gGi…
1
3
16
1,433
🥳Finally got around to adding something I've wanted for a while: a fully typed GraphQL input object for resource filters! It supports filters on related data, and when custom/named filters are added, they will appear here as well 🎉
1
5
14
Join us for our first Ash Office Hours next Thursday! piped.video/live/FCp_MrfXoD4… Myself and anyone from the core team who can make it will be answering questions, making announcements and sharing what we're working on! We'll be doing it every month from here on 🥳
5
14
793
📢Just released: `Ash.Type.NewType` can make defining new types in your Ash applications expressive and easy! This allows you to add types that are simple extensions of other types i.e use another type but with specific constraints. It pairs beautifully with the `:union` type!
2
14
741
🎉Got my first test batch of Ash stickers on the same day as my @ElixirConf thank you packet🎁. What a nice surprise 🤗
2
12
Instead of virtual fields, Ash allows for `arguments`, which are values provided to an action that can be used in `changes`. Virtual fields are confusing, but arguments are much clearer. 🤓(Support for arguments should be in ash_json_api and ash_graphql in the next few hours)
1
1
13
🎉Initial multitenancy feature set released 🥳 See the guide for more! hexdocs.pm/ash/multitenancy.… Declarative multitenancy makes for a surprisingly simple implementation of something that can often be quite complex! Oh, and it plays *great* with the migration generator 🤓
2
1
15
You can now omit generic action return types, which is great for generic actions that perform side effects or otherwise have no need of a return type.
2
14
488
Replying to @pragdave
Awesome! 🤩 we’ve got a thriving community on our discord server, and we’re on the elixir forums/slack/discord, so please don’t hesitate to reach out if you have any questions 😄
14
1,510