zachdaniel
Ash Framework 3.0: Release Candidates
Ash Framework 3.0: Release Candidates!
The day is finally here! This is the culmination of years of work from the Ash team and community ![]()
We are ready for the adventurous folks to try out the latest release candidates of Ash and associated packages! Every Ash package (that the Ash team maintains) now has a published release candidate. See the GitHub issue for the status of known community packages. That same issue tracks our progress in updating example applications. While we can’t update those packages, any authors of community packages that need assistance with the upgrade should feel free to reach out with any questions/issues that they face.
We’ll be spending the next 3-4 weeks working on revamping our documentation, rewriting guides and adding a new cookbook (as well as giving a training at ElixirConf EU and Gig City Elixir!). During that time, we’ll be responding to feedback on 3.0, working out any kinks, and getting things ship-shape for the official launch.
What is changing?
While there are far too many things to put them all here, I want to give those who haven’t been following along with our 3.0 teasers an idea of where the focus is for Ash 3.0. There are three themes that cover most of the changes:
-
Security: We want to make sure that Ash is safe and secure by default, and that it is free of foot guns that could lead to security issues, data consistency or other critical failures. Some examples of this are:
-
Simplicity: Ash is a huge ecosystem, and there is a lot to learn about how it works. Every confusing term and inconsistency increases the mental burden on developers, and increases the likelihood of bugs and wasted time. Some examples of this are:
-
Developer Experience: With 2.x versions adding support for atomics and bulk actions, the core functionality of Ash is in a very good place. This gives us the time and mental cycles to devote to developer experience. While many of the 3.0 changes are focused on DX, we also expect to see a much greater focus on this moving forward! Some examples of this are:
How do I upgrade?
It is very important that you read and follow the upgrade guide! You will need to go through it section by section and consider if there are changes from that section that you must make. Don’t forget that some packages have their own upgrade guides for breaking changes contained in that package. Links to those guides are at the top.
We were initially targeting 1 developer day for an upgrade. I don’t think we managed to keep things quite so simple, but our initial feedback is good that the upgrade is a manageable piece of work.
What if I need help?
If you encounter an issue or change that is not covered in the upgrade guide please contact us or open a PR to add to the guide. Even if it’s just a note reminding folks to look out for something that might be a gotcha. Every little bit helps ![]()
Feel free to ask questions here on the forums or on our discord server if you need assistance.
What about 2.x?
Once 3.0 is out of release candidacy phase, Ash 2.x will receive a minimum of 6 months of critical bug fixes and security upgrades. Critical bug fixes include issues that have no reasonable workaround. Security upgrades includes things like updating potentially vulnerable packages, or fixing any issues related to policies, authentication, etc. We won’t be leaving folks in the dust, but it will absolutely be in your best interest to find a time in the next few months to upgrade, as there are many features in 3.0 to take advantage of and there are already more on the way!
Closing
It truly is a great time to be an Elixirist, and it is my sincerest hope that Ash Framework can contribute to Elixir and Elixir developers in tangible and significant ways. Thank you all for your time, contributions but above all, thank you for being an amazing community to be a part of!
I can’t wait to see what folks think of 3.0 ![]()
Oh, and one more thing…
I’d like to tease a project that we’ve been formulating for some time now, and is finally underway in earnest.
This is just a mockup, not the final cover, we’re not graphic designers ![]()
You’ll be hearing more from @sevenseacat in the coming weeks ![]()
Most Liked
zachdaniel
Special Thanks
The Core Team
You’ve all done amazing work, and your help and support is instrumental to Ash’s success.
The community
While there are too many folks to name, I’d like to highlight a few who have made an especially large impact lately.
- @vonagam | Consistently provides excellent pull requests (often fixing bugs that I personally added
) - @rbino | Upgraded AshGraphql to support Ash 3.0, one of the largest/most complex upgrades required!
- @dblack | Upgraded AshPhoenix to support Ash 3.0.
If you’ve been contributing but didn’t get a shout out, please know your contributions are not any less valuable. This only works because we’re all working towards a shared goal, and it’s an amazing privilege to be rowing in the same direction as so many fine folks. I’m currently investigating more ways that we can recognize community members for their great work ![]()
Alembic
Alembic is funding the time of myself, @jimsynz and often other Alembians to work on Ash. Their willingness to put their money where their mouth is shows not only their conviction that Ash is a better way to build software, but also the calibre of their team. They are putting Ash through its paces on tons of ambitious projects, which drives many of the benefits and improvements that Ash users receive! I’m beyond grateful for their support and expertise.
ElixirForum
I’d like to make a special callout to the fine folks running this forum, and the community here. A few months ago we made the choice to focus our support efforts here on ElixirForum. This was unequivocally a good choice! Not only has it helped increase the discoverability of Ash in general(via its wildly good SEO), it also makes sure that our support efforts don’t disappear behind a walled garden. We still have our discord server, and it is a great place to chat and interact with the Ash community, but we encourage users to ask questions here on the ElixirForum primarily. This community is well moderated, kind and helpful! A community is always representative of its leaders, and so I’d like to thank @AstonJ and others for their excellent stewardship.
In fact, now that we’ve got 300 threads we’ve been upgraded to a full 3-section Ash Forum, with dedicated sections for News, Chat, and Questions!
AstonJ
Congrats on the RC of Ash 3
It’s been fantastic seeing its progress here on the forum and you and the Ash team have done a great job onboarding people by answering their questions quickly and comprehensively ![]()
Also great to see you managed to get Dave to publish an Ash book for us all! I am sure it will be very popular!!
It’s also fantastic seeing the Elixir eco-system expanding with projects like Ash - it marks a new level of maturity for the language and I am sure will help with the next phase of adoption. So thank you and the Ash team (and all other similar projects) for your hard work ![]()
zachdaniel
Please check out our upcoming events as well! We’re giving a training that will be updated for Ash 3.0 at ElixirConf EU and Gig City Elixir ![]()
ElixirConf EU:
https://www.elixirconf.eu/trainings/ash-framework/
Gig City Elixir:
Popular in News & Updates
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance











