v0.14.2
Pre-release
Pre-release
Enhancements
- [Enum] Improve performance of
Enum.join/2
andEnum.map_join/3
by using iolists - [Kernel] Ensure compatibility with Erlang 17.1
- [Kernel] Support
@external_resource
attribute 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_ARCHIVES
env variable (it is recommended for Elixir build tools to swap this environment) - [Task] Set
:proc_lib
initial call on task to aid debugging - [Typespec] Delay typespec compilation to after expansion
- [URI] Allow
parse/1
now accepts%URI{}
as argument and return the uri itself
Bug fixes
- [CLI] Support paths inside archives in
-pa
and-pz
options - [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.TransformerEngine
andEEx.AssignsEngine
are deprecated in favor of function composition withMacro.prewalk/1
(seeEEx.SmartEngine
for an example) - [Kernel]
Kernel.xor/2
is deprecated - [Mix]
Mix.Generator.from_file/1
is deprecated in favor of passingfrom_file: file
option toembed_text/2
andembed_template/2
(note though thatfrom_file/1
expects a path relative to the current file while thefrom_file: file
expects one relative to the current working directory)
Deprecations
- [Kernel]
size/1
is deprecated in favor ofbyte_size/1
andtuple_size/1
(this change was soft deprecated two releases ago)
Backwards incompatible changes
- [CLI] Remove support for the
--gen-debug
option 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
cond
clause heads are no longer available outside of that particularcond
clause (this is the behaviour also found incase
,receive
and friends) - [System]
build_info/0
now returns a map