summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@plataformatec.com.br>2016-09-17 22:40:54 +0200
committerJosé Valim <jose.valim@plataformatec.com.br>2016-09-17 22:40:54 +0200
commitc05151f2789f0652f81148597c2a236672e19282 (patch)
tree03c2b4972ea3d464a6860e6926eda4c4bbcc2e44
parent77ae863bd02ca90496b96854249b8942ac76b8b4 (diff)
downloadelixir-c05151f2789f0652f81148597c2a236672e19282.tar.gz
Update CHANGELOG
-rw-r--r--CHANGELOG.md36
-rw-r--r--lib/elixir/src/elixir.hrl1
2 files changed, 33 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 443d05522..ec4a8eaeb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,10 +7,20 @@
#### Elixir
* [Enum] Add `Enum.map_every/2` that invokes the given function with every nth item
+ * [Enum] Add `min/2`, `max/2` and `min_max/2` that allow a function specifying the default value to `Enum`
* [Integer] `Integer.digits/2` now accepts negative integers
* [Integer] Add `Integer.mod/2` and `Integer.floor_div/2`
* [List] Add `List.pop_at/3`
+ * [OptionParser] Expand multi-letter aliases in OptionParser
+ * [Kernel] Add `Kernel.rand/0` and `Kernel.rand/1`
+ * [Process] Add `Process.send_after/4`
* [Stream] Add `Stream.map_every/2` that invokes the given function with every nth item
+ * [URI] Allow 0 as URI scheme default port
+
+#### ExUnit
+
+ * [ExUnit.Doctest] Allow inspected structures with multiples lines and unicode characters in the doctest result
+ * [ExUnit.Formatter] Replace lhs/rhs with left/right in the formatter for clarity
#### IEx
@@ -23,29 +33,49 @@
* [Mix] Add warning for invalid paths on `mix deps.clean`
* [Mix] Provide "did you mean?" suggestions for `mix xref`
+ * [Mix] Add the ability to specify one or more apps in `mix cmd`
+ * [Mix] Compress archive files built by `mix archive` as they are now unzipped during installation
* [Mix.Rebar] Add `MIX_REBAR` environment variable for overriding local rebar
+### 2. Bug fixes
+
+#### Elixir
+
+ * [Kernel] Don't crash in `macro_exported?/3` when dealing with Erlang modules
+ * [Kernel.SpecialForms] Produce meaningful warning when with's else clauses have no effect
+ * [Macro] Wrap fn calls in parens in `Macro.to_string/1`
+ * [Stream] Ensure `Stream.take/2` does not consume next element on `:suspend`
+ * [String] Fix infinite recursion in `String.replace_leading/3` and `String.replace_trailing/3` when given an empty string
+
#### ExUnit
- * [ExUnit.Doctest] Allow inspected structures with multiples lines and unicode characters in the doctest result
+ * [ExUnit] Fix a race condition in `assert_receive` where we would assert a message was not received but show it in the list of messages when the message is delivered right after the timeout value
-### 2. Bug fixes
+### Mix
+ * [Mix.Project] Only copy files from source when they're newer than destination (for Windows machines)
### 3. Soft deprecations (no warnings emitted)
#### Elixir
* [Enum] `Enum.partition/2` has been deprecated in favor of `Enum.split_with/2`
- * [Stream] Deprecate `Stream.uniq/2` in favor of `Stream.uniq_by/2` (to mirror the `Enum` API)
### 4. Deprecations
#### Elixir
+ * [Behaviour] The `Behaviour` module is deprecated. Callbacks may not be defined directly via the `@callback` attribute
+ * [Enum] Deprecate `Enum.uniq/2` in favor of `Enum.uniq_by/2`
+ * [Float] `Float.to_char_list/2` and `Float.to_string/2` are deprecated (use the :erlang functions if such conversions are desired)
* [Kernel] Deprecate support for making private functions overridable. Overridable functions must always be public as they must be contracts.
+ * [OptionParser] Deprecate aliases with multiple letters, such as `-abc`
+ * [Stream] Deprecate `Stream.uniq/2` in favor of `Stream.uniq_by/2`
#### IEx
* [IEx.Helpers] `import_file/2` is deprecated in favor of `import_file_if_available/1`
+#### Mix
+
+ * [Mix.Utils] `underscore/1` and `camelize/1` are deprecated \ No newline at end of file
diff --git a/lib/elixir/src/elixir.hrl b/lib/elixir/src/elixir.hrl
index b02a133dc..c440985b3 100644
--- a/lib/elixir/src/elixir.hrl
+++ b/lib/elixir/src/elixir.hrl
@@ -2,7 +2,6 @@
-define(ann(Opts), elixir_utils:get_ann(Opts)).
-define(line(Opts), elixir_utils:get_line(Opts)).
-define(generated(Opts), [{generated, true}, {location, ?line(Opts)}]).
-%% TODO: remove once we drop Erlang 18 support
-define(generated, [{generated, true}, {location, 0}]).
-record(elixir_scope, {