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
+7-23Lines changed: 7 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -88,29 +88,7 @@ As of Elixir v1.12, implicitly decreasing ranges are soft-deprecated and warning
88
88
89
89
Elixir v1.12 has the additional of many functions across the standard library. The `Enum` module received additions such as `Enum.count_until/2`, `Enum.product/1`, `Enum.zip_with/2`, and more. The `Integer` module now includes `Integer.pow/2` and `Integer.extended_gcd/2`. Finally, the `Kernel` module got two new functions, `Kernel.then/2` and `Kernel.tap/2`, which are specially useful in `|>` pipelines.
90
90
91
-
## v1.12.0-rc.1 (2021-04-24)
92
-
93
-
### 1. Enhancements
94
-
95
-
#### Elixir
96
-
97
-
*[Code] Add `Code.cursor_context/2` to return the context of a code snippet
98
-
*[Module] Add `Module.reserved_attributes/0` to list all reserved attributes by the language
99
-
*[String] Update to Unicode 13.0
100
-
101
-
#### ExUnit
102
-
103
-
*[ExUnit] Add `ExUnit.async_run/0` and `ExUnit.await_run/1`
104
-
105
-
### 2. Bug fixes
106
-
107
-
#### Elixir
108
-
109
-
*[Kernel] Do not ignore unimplemented signatures from generated functions
110
-
*[Path] Do not crash when a volume is given to `Path.absname/1`, such as "c:"
111
-
*[Protocol] Do not forbid `defdelegate` and `defexception` in protocol bodies - the restriction for `defdelegate` will be added back on v1.13 though (regression)
112
-
113
-
## v1.12.0-rc.0 (2021-04-03)
91
+
## v1.12.0
114
92
115
93
### 1. Enhancements
116
94
@@ -121,6 +99,7 @@ Elixir v1.12 has the additional of many functions across the standard library. T
121
99
122
100
#### Elixir
123
101
102
+
*[Code] Add `Code.cursor_context/2` to return the context of a code snippet
124
103
*[Code] Do not add newlines around interpolation on code formatting. Note this means formatted code that has interpolation after the line length on Elixir v1.12 won't be considered as formatted on earlier Elixir versions
125
104
*[Calendar] Support basic datetime format in `Calendar.ISO` parsing functions
126
105
*[Code] Improve evaluation performance on systems running on Erlang/OTP 24+
@@ -147,12 +126,14 @@ Elixir v1.12 has the additional of many functions across the standard library. T
147
126
*[Module] Add `Module.get_definition/2` and `Module.delete_definition/2`
148
127
*[Module] Allow `@on_load` to be a private function
149
128
*[Module] Validate `@dialyzer` related module attributes
129
+
*[Module] Add `Module.reserved_attributes/0` to list all reserved attributes by the language
150
130
*[Range] Add `Range.new/3` and `Range.size/1`
151
131
*[Regex] Add offset option to `Regex.scan/3` and `Regex.run/3`
152
132
*[Registry] Support `:compression` on `Registry` tables
153
133
*[Registry] Support `Registry.values/3` for reading values under a given key-pid pair
154
134
*[Stream] Add `Stream.zip_with/2` and `Stream.zip_with/3`
155
135
*[String] Add `:turkic` mode option to String case functions
136
+
*[String] Update to Unicode 13.0
156
137
*[System] Add `System.trap_signal/3` and `System.untrap_signal/2`
157
138
*[Tuple] Add `Tuple.sum/1` and `Tuple.product/1`
158
139
*[URI] Support RFC3986 compliant encoding and decoding of queries via the `:rfc3986` option
@@ -164,6 +145,7 @@ Elixir v1.12 has the additional of many functions across the standard library. T
164
145
*[ExUnit] Print how much time is spent on `async` vs `sync` tests
165
146
*[ExUnit] Improve error messages for doctests
166
147
*[ExUnit] Compile doctests faster (often by two times)
148
+
*[ExUnit] Add `ExUnit.async_run/0` and `ExUnit.await_run/1`
167
149
168
150
#### IEx
169
151
@@ -194,12 +176,14 @@ Elixir v1.12 has the additional of many functions across the standard library. T
194
176
*[Kernel] Public functions without documentation now appear as an empty map on `Code.fetch_docs/1`, unless they start with underscore, where they remain as `:none`. This aligns Elixir's implementation with EEP48
195
177
*[Kernel] Do not crash when complex literals (binaries and maps) are used in guards
196
178
*[Kernel] Properly parse keywords (such as `end`) followed by the `::` operator
179
+
*[Kernel] Do not ignore unimplemented signatures from generated functions
197
180
*[Macro]`Macro.decompose_call/1` now also consider tuples with more than 2 elements to not be valid calls
198
181
*[Macro] Fix `Macro.to_string/1` double-escaping of escape characters in sigils
199
182
*[Macro] Fix `Macro.underscore/1` on digits preceded by capitals: "FOO10" now becomes "foo10" instead of "fo_o10"
200
183
*[Macro] Preserve underscores between digits on `Macro.underscore/1`
201
184
*[OptionParser] Properly parse when numbers follow-up aliases, for example, `-ab3` is now parsed as `-a -b 3`
202
185
*[Path] Fix `Path.relative_to/2` when referencing self
186
+
*[Path] Do not crash when a volume is given to `Path.absname/1`, such as "c:"
203
187
*[Task] Ensure `Task.async_stream/2` with `ordered: false` discard results as they are emitted, instead of needlessly accumulating inside the stream manager
204
188
*[URI] Do not discard empty paths on `URI.merge/2`
0 commit comments