Module

Module

Changes by version

Elixir 1.19.0

· 1 change

Enhancement Tool: Elixir

Do not automatically load modules after their compilation, guaranteeing a more consistent compile time experience and drastically improving compilation times

Elixir 1.18.0

· 2 changes

Bugfix Tool: Elixir

Include module attribute line and name when tracing its aliases

Hard Deprecation Tool: Elixir

Deprecate Module.eval_quoted/3 in favor of Code.eval_quoted/3

Elixir 1.17.0

· 1 change

Bugfix Tool: Elixir

Return default value in Module.get_attribute/3 for persisted attributes which have not yet been written to

Elixir 1.16.0

· 2 changes

Enhancement Tool: Elixir

Add support for @nifs annotation from Erlang/OTP 25

Enhancement Tool: Elixir

Add support for missing @dialyzer configuration

Elixir 1.15.0

· 3 changes

Enhancement Tool: Elixir

Mark functions as generated in "Docs" chunk

Enhancement Tool: Elixir

Add Module.get_last_attribute/3

Bugfix Tool: Elixir

Ensure that Module.get_attribute/3 returns nil and not the given default value when an attribute has been explicitly set as nil

Elixir 1.14.0

· 2 changes

Enhancement Tool: Elixir

Support new @after_verify attribute for executing code whenever a module is verified

Bugfix Tool: Elixir

Fix loop while unifying type variables

Elixir 1.13.0

· 2 changes

Enhancement Tool: Elixir

Support :nillify_clauses in Module.get_definition/3

Enhancement Tool: Elixir

Add Module.attributes_in/1 and Module.overridables_in/1

Elixir 1.12.0

· 5 changes

Enhancement Tool: Elixir

Raise on invalid @dialyzer attributes

Enhancement Tool: Elixir

Add Module.get_definition/2 and Module.delete_definition/2

Enhancement Tool: Elixir

Allow @on_load to be a private function

Enhancement Tool: Elixir

Validate @dialyzer related module attributes

Enhancement Tool: Elixir

Add Module.reserved_attributes/0 to list all reserved attributes by the language

Elixir 1.11.3

· 1 change

Bugfix Tool: Elixir

Do not warn for attributes used in @after_compile

Elixir 1.10.3

· 1 change

Bugfix Tool: Elixir

Fix accidental breaking change where bodiless clauses had their body value on @on_definition callbacks set to an empty list instead of nil

Elixir 1.10.1

· 1 change

Bugfix Tool: Elixir

Ensure the code verifier handles the :erlang.size/1 guard properly

Elixir 1.10.0

· 4 changes

Enhancement Tool: Elixir

Add Module.has_attribute?/2

Enhancement Tool: Elixir

Add @compile {:no_warn_undefined, mfa_or_module} to turn off undefined function warnings

Bugfix Tool: Elixir

Raise instead of silently failing when performing a write module operation during after-compile

Bugfix Tool: Elixir

Fix @macrocallback definitions with a when clause

Elixir 1.9.0

· 1 change

Enhancement Tool: Elixir

Add Module.get_attribute/3

Elixir 1.7.4

· 1 change

Bugfix Tool: Elixir

Avoid warnings when using Module.eval_quoted in the middle of existing definitions

Elixir 1.6.2

· 1 change

Bugfix Tool: Elixir

Do not remove docs for previous function declaration when @impl true is used

Elixir 1.6.0

· 1 change

Enhancement Tool: Elixir

Introduce @deprecated and @since attributes

Elixir 1.5.0

· 2 changes

Bugfix Tool: Elixir

on_definition/6 callback receives body wrapped in a keyword list, such as [do: body]. This solves a bug where it was impossible to distinguish between a bodyless clause and a function that returns nil.

Enhancement Tool: Elixir

Using Erlang parse transforms via @compile {:parse_transform, _} is deprecated

Elixir 1.3.1

· 1 change

Bugfix Tool: Elixir

Do not expect stacktraces to be always present when dispatching to locals during the module compilation

Elixir 1.1.0

· 2 changes

Enhancement Tool: Elixir

Improve name inference for function signatures in documentation metadata

Bugfix Tool: Elixir

Do not accept non-Elixir module names in Module.split/1

Elixir 0.15.1

· 1 change

Enhancement Tool: Elixir

Module.function/3 is deprecated, please use :erlang.make_fun/3 instead

Elixir 0.10.0

· 2 changes

Enhancement Tool: Elixir

Calling Module.register_attribute/3 no longer automatically changes it to persisted or accumulated

Enhancement Tool: Elixir

Calling Module.register_attribute/3 no longer automatically changes it to persisted or accumulated