What elixir-lang/elixir shipped
Written by FoxPlug from public releases; not affiliated with Elixir. An automatic summary of the public release, pull request and commit data of github.com/elixir-lang/elixir. Elixir did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
Week of September 21, 2026
What shipped
- Automated release for latest main shipped. Release
- List subtraction operator now preserves left element types in the type system while validating both operands as proper lists. Pull request #15808
- Inspect.Algebra.fits? and format functions now carry worklist entries in registers instead of boxing them, eliminating intermediate allocations. Pull request #15946
- Common indentation spaces and newlines in Inspect.Algebra are now precalculated at compile time, reducing garbage creation during printing. Pull request #15947
- Date.from_gregorian_days/2 now correctly passes day fractions to from_iso_days/2, fixing errors with non-Calendar.ISO calendars. Pull request #15940
- Releases now correctly keep :erts in release applications without name collisions. Pull request #15935
- Calendar.ISO datetime shifting is approximately 1.5x faster and uses less memory by combining seconds and microseconds into one shift. Pull request #15924
- Calendar.ISO time shifting is approximately 1.5x faster by replacing duration options with tuple dispatch. Pull request #15925
- Calendar.ISO date shifting is approximately 1.2-2x faster by inlining duration units and using tail-calling pattern dispatch. Pull request #15927
- Error reporting for empty function arities now correctly distinguishes between :badfun and {:badarity, _} errors. Pull request #15922
Why it matters
This week focused on performance improvements across the standard library, particularly in Calendar operations and the Inspect module which see heavy use in everyday Elixir development. Several fixes address type system accuracy and error reporting, while memory optimization work reduces garbage collection pressure.
Changelog entry
- [Type System] Preserve left element types in list subtraction operator Pull request #15808
- [Date] Fix Date.from_gregorian_days/2 day fraction handling for non-Calendar.ISO calendars Pull request #15940
- [Release] Keep :erts in release applications without name collisions Pull request #15935
- [Inspect] Optimize Inspect.Algebra.fits? and format by eliminating intermediate allocations Pull request #15946
- [Inspect] Precalculate common indentation and newlines at compile time Pull request #15947
- [Calendar] Improve Calendar.ISO datetime shifting performance by ~1.5x Pull request #15924
- [Calendar] Improve Calendar.ISO time shifting performance by ~1.5x Pull request #15925
- [Calendar] Improve Calendar.ISO date shifting performance by ~1.2-2x Pull request #15927
- [Error Reporting] Correctly distinguish badfun from badarity for empty function arities Pull request #15922
- [Dialyzer] Update Inspect.Algebra.fits?/7 spec Pull request #15951
Latest main improves Calendar and Inspect performance, fixes type system accuracy for list operations, and reduces allocations across formatting and date/time operations.
This week's updates to Elixir improve performance across Calendar operations (datetime, date, and time shifting are now 1.2-2x faster) and the Inspect module, reduce memory allocations in formatting, fix type system accuracy for list subtraction, and correct error reporting for function arity mismatches. Changes target commonly-used standard library functions that benefit development and production workloads.