|
1 | 1 | # v0.10.4-dev |
2 | 2 |
|
3 | 3 | * Enhancements |
| 4 | + * [Code] Eval now returns variables from other contexts |
4 | 5 | * [Dict] Document and enforce all dicts use the match operator (`===`) when checking for keys |
5 | 6 | * [Enum] Add `Enum.slice/2` with a range |
| 7 | + * [Enum] Document and enforce `Enum.member?/2` to use the match operator (`===`) |
6 | 8 | * [IEx] Split `IEx.Evaluator` from `IEx.Server` to allow custom evaluators |
7 | 9 | * [IEx] Add support for `IEx.pry` which halts a given process for inspection |
8 | 10 | * [Kernel] Improve stacktraces on command line interfaces |
|
26 | 28 | * Deprecations |
27 | 29 | * [Kernel] `pid_to_list/1`, `list_to_pid/1`, `binary_to_atom/2`, `binary_to_existing_atom/2` and `atom_to_binary/2` are deprecated in favor of their counterparts in the `:erlang` module |
28 | 30 | * [Kernel] `insert_elem/3` and `delete_elem/2` are deprecated in favor of `Tuple.insert_at/3` and `Tuple.delete_at/2` |
| 31 | + * [Kernel] Use of `in` inside matches (as in `x in [1,2,3] -> x`) is deprecated in favor of the guard syntax (`x when x in [1,2,3]`) |
29 | 32 | * [Macro] `Macro.expand_all/2` is deprecated |
30 | 33 | * [Protocol] `@only` and `@except` in protocols are now deprecated |
31 | 34 | * [Protocol] Protocols no longer fallback to `Any` out of the box (this functionality needs to be explicitly enabled by setting `@fallback_to_any` to true) |
|
34 | 37 | * Backwards incompatible changes |
35 | 38 | * [CLI] Reading `.elixirrc` has been dropped in favor of setting env vars |
36 | 39 | * [Kernel] `Kernel.access/2` now expects the second argument to be a compile time list |
37 | | - * [Kernel] `fn -> end` quoted epression is no longer wrapped in a `do` keyword |
| 40 | + * [Kernel] `fn -> end` quoted expression is no longer wrapped in a `do` keyword |
| 41 | + * [Kernel] Quoted variables from the same module must be explicitly shared. Previously, if a function returned `quote do: a = 1`, another function from the same module could access it as `quote do: a`. This has been fixed and the variables must be explicitly shared with `var!(a, __MODULE__)` |
38 | 42 | * [Mix] Umbrella apps now treat children apps as dependencies. This means all dependencies will be checked out in the umbrela `deps` directory. On upgrade, child apps need to point to the umbrella project by setting `deps_path: "../../deps_path", lockfile: "../../mix.lock"` in their project config |
39 | 43 | * [Process] `Process.group_leader/2` args have been reversed so the "subject" comes first |
40 | 44 | * [Protocol] Protocol no longer dispatches to `Number`, but to `Integer` and `Float` |
|
0 commit comments