|
3 | 3 | ## v0.14.0-dev
|
4 | 4 |
|
5 | 5 | * Enhancements
|
| 6 | + * [ExUnit] Add `on_exit/1` callbacks that are guaranteed to run once the test process exits and always in another process |
6 | 7 | * [Kernel] Store documentation in the abstract code to avoid loading them when the module is loaded
|
7 | 8 | * [Kernel] Add `get_in/2`, `put_in/3`, `update_in/3` and `get_and_update_in/3` to handle nested data structure operations
|
8 | 9 | * [Kernel] Add `get_in/1`, `put_in/2`, `update_in/2` and `get_and_update_in/2` to handle nested data structure operations via paths
|
9 | 10 | * [Mix] Add `Mix.Config` to ease definition of configuration files
|
| 11 | + * [Mix] Add `mix loadconfig` task that can be called multiple times to load external configs |
| 12 | + * [Mix] Support `--config` option on `mix run` |
| 13 | + * [Mix] Support `HTTP_PROXY` and `HTTPS_PROXY` on Mix url commands |
| 14 | + * [Mix] Support `--names` options in `mix help` which emit only names (useful for autocompletion) |
10 | 15 | * [Protocol] Add `Protocol.consolidate/2`, `Protocol.consolidated?/1` and a `mix compile.protocols` task for protocol consolidation
|
| 16 | + * [Protocol] Add `Protocol.derive/3` for runtime deriving of a struct |
11 | 17 | * [String] Add `String.chunk/2`
|
12 | 18 | * [Struct] Add support for `@derive` before `defstruct/2` definitions
|
13 | 19 |
|
14 | 20 | * Bug fixes
|
| 21 | + * [File] `File.rm` now consistently deletes read-only across operating systems |
15 | 22 | * [Kernel] Ensure Mix `_build` structure works on Windows when copying projects
|
| 23 | + * [Kernel] Ensure `1.0E10` (with uppercase E) is also valid syntax |
| 24 | + * [Mix] Fix `mix do` task for Windows' powershell users |
| 25 | + * [Path] Fix `Path.absname("/")` and `Path.expand("/")` to return the absolute path `"/"`. |
16 | 26 |
|
17 | 27 | * Soft deprecations (no warnings emitted)
|
18 | 28 | * [Kernel] `size/1` is deprecated, please use `byte_size/1` or `tuple_size/1` instead
|
|
25 | 35 | * [Kernel] `defexception/3` is deprecated in favor of `defexception/1`
|
26 | 36 | * [Kernel] `raise/3` is deprecated in favor of `reraise/2`
|
27 | 37 | * [Kernel] `set_elem/3` is deprecated in favor of `put_elem/3`
|
| 38 | + * [Kernel] Passing an atom `var!/1` is deprecated, variables can be built dynamically with `Macro.var/2` |
28 | 39 | * [Mix] Exceptions that define a `:mix_error` field to be compatible with Mix are no longer supported. Instead please provide a `:mix` field and use `Mix.raise/1` and `Mix.raise/2`
|
29 | 40 |
|
30 | 41 | * Backwards incompatible changes
|
31 | 42 | * [Access] `Kernel.access/2` no longer exists and the `Access` protocol now requires `get/2` (instead of `access/2`) and `get_and_update/3` to be implemented
|
32 | 43 | * [Kernel] Retrieving docs as `module.__info__(:docs)` is no longer supported, please use `Code.get_docs/2` instead
|
| 44 | + * [Kernel] `Code.compiler_options/1` no longer accepts custom options, only the ones specified by Elixir (use mix config instead) |
33 | 45 | * [Mix] `mix new` no longer generates a supevision tree by default, please pass `--sup` instead
|
34 | 46 | * [Task] Tasks are automatically linked to callers and a failure in the task will crash the caller directly
|
35 | 47 |
|
|
0 commit comments