|
23 | 23 | * [Kernel] Add `:delegate_to` `@doc` metadata tag when using `defdelegate` |
24 | 24 | * [Kernel] Improve compile-time building of ranges via the `..` operator |
25 | 25 | * [Kernel] Compile charlist interpolation more efficiently |
| 26 | + * [Kernel.SpecialForms] Add `:reduce` option to `for` comprehensions |
26 | 27 | * [List] Add `List.myers_difference/3` and `List.improper?/1` |
27 | 28 | * [Macro] Add `Macro.struct!/2` for proper struct resolution during compile time |
28 | 29 | * [Map] Optimize and merge nested maps `put` and `merge` operations |
29 | 30 | * [Range] Add `Range.disjoint?/2` |
| 31 | + * [Record] Reduce memory allocation when updating multiple fields in a record |
30 | 32 | * [Registry] Allow associating a value on `:via` tuple |
31 | 33 | * [String] Add `String.bag_distance/2` |
| 34 | + * [Task] Add `$callers` tracking to `Task` - this makes it easier to find which process spawned a task and use it for tracking ownership and monitoring |
32 | 35 |
|
33 | 36 | #### ExUnit |
34 | 37 |
|
|
62 | 65 | * [Kernel] Expand operands in `size*unit` bitstring modifier instead of expecting `size` and `unit` to be literal integers |
63 | 66 | * [Kernel] Do not deadlock on circular struct dependencies in typespecs |
64 | 67 | * [Kernel] Raise proper error message when passing flags to the Erlang compiler that Elixir cannot handle |
| 68 | + * [Kernel] Do not leak variables in `cond` clauses with a single matching at compile-time clause |
65 | 69 | * [NaiveDateTime] Do not accept leap seconds in builder and parsing functions |
66 | 70 | * [String] Fix ZWJ handling in Unicode grapheme clusters |
67 | 71 |
|
| 72 | +#### IEx |
| 73 | + |
| 74 | + * [IEx.Helpers] Use typespec info (instead of docs chunk) and properly format callbacks in `b/1` |
| 75 | + |
68 | 76 | #### Logger |
69 | 77 |
|
70 | 78 | * [Logger] Allow Logger backends to be dynamically removed when an application is shutting down |
71 | 79 |
|
72 | 80 | #### Mix |
73 | 81 |
|
| 82 | + * [mix compile] Ensure changes in deps propagate to all umbrella children - this fix a long standing issue where updating a dependency would not recompile all projecys accordingly, requiring a complete removal of `_build` |
| 83 | + * [mix compile] Avoid time drift when checking and updating compiler manifest files |
74 | 84 | * [mix compile.app] Respect the `:only` option between umbrella siblings |
75 | 85 | * [mix compile.protocols] Reconsolidate protocols if local dependencies are stale |
76 | 86 | * [mix deps] Properly mark dependencies with different `:system_env` as diverged |
77 | 87 | * [mix new] Use `--module` value when setting up filenames |
78 | 88 |
|
79 | 89 | ### 3. Soft-deprecations (no warnings emitted) |
80 | 90 |
|
| 91 | +None. |
| 92 | + |
81 | 93 | ### 4. Hard-deprecations |
82 | 94 |
|
83 | 95 | #### Elixir |
|
0 commit comments