You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14-5Lines changed: 14 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -25,13 +25,16 @@ In this release, we will now prune the code paths to only the ones
25
25
listed as dependencies. Previously if you attempted to use an Erlang/OTP
26
26
or Elixir module without adding its dependency, we would warn. Now
27
27
the module won't be found altogether, which is also the behaviour you see
28
-
if you ran your application as a `mix release`.
28
+
if you ran your application as a `mix release`. If you are using an
29
+
application that does not correctly lists its dependencies, they will
30
+
have to be updated to correctly list all dependencies and avoid
31
+
fault behaviour in both development and production.
29
32
30
33
Furthermore, Erlang/OTP 26 allows us to start applications concurrently
31
-
and cache the code path lookups, considerably decreasing the cost of
32
-
booting applications. The combination of Elixir v1.15 and Erlang/OTP 26
33
-
should reduce the boot time of applications, such as when starting
34
-
`iex -S mix` or running a single test with `mix test`, from 10% to 30%.
34
+
and cache the code path lookups, decreasing the cost of booting applications.
35
+
The combination of Elixir v1.15 and Erlang/OTP 26 should reduce the boot
36
+
time of applications, such as when starting`iex -S mix` or running a single
37
+
test with `mix test`, from 5% to 15%.
35
38
36
39
## v1.15.0-dev
37
40
@@ -43,15 +46,18 @@ should reduce the boot time of applications, such as when starting
43
46
44
47
#### Elixir
45
48
49
+
*[Calendar] Add support for epoch time (%s) to `Calendar.strftime/2`
46
50
*[Code]`Code.format_string!/2` now converts `'charlists'` into `~c"charlists"` by default
47
51
*[Code] Add `:on_undefined_variable` to the compiler options to preserve the warning behaviour which was deprecated back in Elixir v1.4
48
52
*[Code] Add `Code.loaded?/1` and `Code.ensure_all_loaded(!)/1`
49
53
*[Code] Add `Code.prepend_paths/1`, `Code.append_paths/1`, and `Code.delete_paths/1`
54
+
*[Code] Support nested expressions in `Code.cursor_context/1`
50
55
*[Date] Add `Date.before?/2` and `Date.after?/2`
51
56
*[DateTime] Add `DateTime.before?/2` and `DateTime.after?/2`
52
57
*[Inspect]`Inspect` now renders `'charlists'` as `~c"charlists"` by default
53
58
*[Kernel] Add `t:nonempty_binary/0` and `t:nonempty_bitstring/0`
54
59
*[Kernel] Treat `@behaviour`s as runtime dependencies
60
+
*[Kernel] Do not add runtime dependencies for alias references in patterns and guards
55
61
*[Kernel] Warn for nested calls without parens inside keywords
56
62
*[Kernel] Introduce mechanism to collect several errors in a module. Previously, as soon as there was a compilation error, compilation would fail. Now the compiler became a bit smarter and will report multiple errors whenever possible as multiple `error: ...` messages, similar to `warning: ...`
57
63
*[Kernel.CLI] Support `--sname undefined`/`--name undefined` so a name is automatically generated
@@ -68,12 +74,14 @@ should reduce the boot time of applications, such as when starting
68
74
*[Supervisor] Add support for automatic shutdown in `Supervisor`
69
75
*[System] Support `:lines` in `System.cmd/3` to capture output line by line
70
76
*[Task] Remove head of line blocking on `Task.yield_many/2`
77
+
*[Task] Enable selective receive optimizations in Erlang/OTP 26+
71
78
*[Time] Add `Time.before?/2` and `Time.after?/2`
72
79
*[URI] Add `URI.append_path/2`
73
80
74
81
#### ExUnit
75
82
76
83
*[ExUnit] Add more color configuration to ExUnit CLI formatter
84
+
*[ExUnit.Callbacks] Accept `{module, function}` tuples in ExUnit `setup` callbacks
*[ExUnit.Formatter] When comparing to anonymous functions, defined at the same place but capturing a different enviroment, we will now also diff the environments
79
87
@@ -108,6 +116,7 @@ should reduce the boot time of applications, such as when starting
108
116
*[Code.Formatter] Remove unecessary parens in nullary type funs
109
117
*[File] Do not raise if there are file system race conditions in `File.cp/2`
110
118
*[Kernel] Expand macros on the left side of -> in `try/rescue`
119
+
*[Kernel] Raise on misplaced `...` inside typespecs
111
120
*[Kernel.ParallelCompiler] Make sure compiler doesn't crash when there are stray messages in the inbox
112
121
*[URI] Make sure `URI.merge/2` works accordingly with relative paths
0 commit comments