v0.14.2
Pre-release
Pre-release
Enhancements
- [Enum] Improve performance of
Enum.join/2andEnum.map_join/3by using iolists - [Kernel] Ensure compatibility with Erlang 17.1
- [Kernel] Support
@external_resourceattribute to external dependencies to a module - [Mix] Allow built Git dependencies to run on a system without Git by passing
--no-deps-check - [Mix] Add
MIX_ARCHIVESenv variable (it is recommended for Elixir build tools to swap this environment) - [Task] Set
:proc_libinitial call on task to aid debugging - [Typespec] Delay typespec compilation to after expansion
- [URI] Allow
parse/1now accepts%URI{}as argument and return the uri itself
Bug fixes
- [CLI] Support paths inside archives in
-paand-pzoptions - [IEx] Remove delay when printing data from the an application start callback
- [IEx] Ensure we show a consistent error when we cannot evaluate
.iex.exs - [Kernel] Ensure derived protocols are defined with a file
- [Kernel] Change precedence of
&to not special case/ - [Kernel] Ensure we can only use variables and
\\as arguments of bodyless clause
Soft deprecations (no warnings emitted)
- [EEx] Using
EEx.TransformerEngineandEEx.AssignsEngineare deprecated in favor of function composition withMacro.prewalk/1(seeEEx.SmartEnginefor an example) - [Kernel]
Kernel.xor/2is deprecated - [Mix]
Mix.Generator.from_file/1is deprecated in favor of passingfrom_file: fileoption toembed_text/2andembed_template/2(note though thatfrom_file/1expects a path relative to the current file while thefrom_file: fileexpects one relative to the current working directory)
Deprecations
- [Kernel]
size/1is deprecated in favor ofbyte_size/1andtuple_size/1(this change was soft deprecated two releases ago)
Backwards incompatible changes
- [CLI] Remove support for the
--gen-debugoption as its usage is not documented by OTP - [Kernel] Sigils no longer balance start and end tokens, e.g. the sigil
~s(f(o)o)is no longer valid as it finishes in the first closing) - [Kernel] Variables set in
condclause heads are no longer available outside of that particularcondclause (this is the behaviour also found incase,receiveand friends) - [System]
build_info/0now returns a map