Skip to content

Commit f292a07

Browse files
author
José Valim
committed
Update CHANGELOG
1 parent cce4db1 commit f292a07

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,28 @@ Elixir follows the recommendations in [Unicode Annex #31](http://unicode.org/rep
1818

1919
For a complete reference on Elixir syntax, see the [Syntax Reference](https://hexdocs.pm/elixir/syntax-reference.html). For technical details on Unicode support, see [Unicode Syntax](https://hexdocs.pm/elixir/unicode-syntax.html).
2020

21+
## IEx improvements
22+
23+
IEx got many improvements. The autocompletion system is now capable of autocompleting variables and user imports. New helpers have also been added:
24+
25+
* `exports/1` lists all exports (functions and macros) in a given module
26+
* `open/1` opens up the source of a module or function directly in your editor. For example, `open MyApp.Module`
27+
* `system_info/0` prints general information about the running system, such as number of cores, runtime version, allocation of memory in the VM and more
28+
29+
IEx also features a breakpoint system for code debugging. The following functions have been added to aid debugging:
30+
31+
* `break!/2` - sets up a breakpoint for a given `Mod.fun/arity`
32+
* `break!/4` - sets up a breakpoint for the given module, function, arity
33+
* `breaks/0` - prints all breakpoints and their ids
34+
* `continue/0` - continues until the next breakpoint in the same process
35+
* `open/0` - opens editor on the current breakpoint
36+
* `remove_breaks/0` - removes all breakpoints in all modules
37+
* `remove_breaks/1` - removes all breakpoints in a given module
38+
* `reset_break/1` - sets the number of stops on the given id to zero
39+
* `reset_break/3` - sets the number of stops on the given module, function, arity to zer
40+
* `respawn/0` - starts a new shell (breakpoints will ask for permission once more)
41+
* `whereami/1` - shows the current location
42+
2143
## Exception.blame
2244

2345
`Exception.blame/3` is a new function in Elixir that is capable of attaching debug information to certain exceptions. Currently this is used to augment `FunctionClauseError`s with a summary of all clauses and which parts of clause match and which ones didn't. For example:
@@ -146,6 +168,13 @@ This release brings further improvements to Calendar types. It adds arithmetic a
146168
* [Kernel] Cache the AST on definitions. This speeds up the compilation time from 10% to 15% measured across different projects.
147169
* [Stream] Introduce `Stream.chunk_every/2` and `Stream.chunk_every/4` with a more explicit API than `Stream.chunk/2` and `Stream.chunk/4`
148170

171+
#### IEx
172+
173+
* [IEx.Helpers] Add `break!/2`, `break!/4`, `breaks/0`, `continue/0`, `open/0`, `remove_breaks/0`, `remove_breaks/1`, `reset_break/1`, `reset_break/3` and `whereami/1` for code debugging
174+
* [IEx.Helpers] No longer emit warnings for IEx commands without parentheses
175+
* [IEx.Helpers] Add `system_info/0` for printing runtime system information
176+
* [IEx.Helpers] Add `open/1` to open the source of a given module/function in your editor
177+
149178
### 2. Bug fixes
150179

151180
#### Elixir

0 commit comments

Comments
 (0)