Module

mix compile

Changes by version

Elixir 1.19.3

· 1 change

Enhancement Tool: Mix

Allow forcing specific compilers, such as --force-elixir, --force-app, etc

Elixir 1.19.2

· 3 changes

Enhancement Tool: Mix

Add flag --no-check-cwd to skip compiler check to aid debugging

Bugfix Tool: Mix

Warn if elixirc_paths is not a list of string paths

Bugfix Tool: Mix

Address regression where umbrella children were compiled too early and without respecting compilation flags

Elixir 1.19.1

· 1 change

Bugfix Tool: Mix

Do not attempt to touch deleted files when compilation fails and then resumed with missing files

Elixir 1.19.0

· 6 changes

Enhancement Tool: Mix

Debug the compiler and type checker PID when MIX_DEBUG=1 and compilation/verification thresholds are met

Enhancement Tool: Mix

Add Mix.Tasks.Compiler.reenable/1

Bugfix Tool: Mix

Fix bug where reverting changes to an external resource (such as HEEx template) after a compilation error would make it so the source module would not be compiled

Bugfix Tool: Mix

Avoid failures when locking compilation across different users

Bugfix Tool: Mix

Fix race condition when renaming files used by the compilation lock

Soft Deprecation Tool: Mix

--no-protocol-consolidation is deprecated in favor of --no-consolidate-protocols for consistency with mix.exs configuration

Elixir 1.18.4

· 1 change

Enhancement Tool: Mix

Support the --no-listeners option

Elixir 1.18.0

· 3 changes

Enhancement Tool: Mix

Ensure only a single operating system process can compile at a given time

Bugfix Tool: Mix

Ensure warnings from external resources are emitted with --all-warnings when files do not change

Hard Deprecation Tool: Mix

:warnings_as_errors configuration in :elixirc_options is deprecated. Instead pass the --warnings-as-errors flag to mix compile. Alternatively, you might alias the task: aliases: [compile: "compile --warnings-as-errors"]

Elixir 1.16.3

· 1 change

Bugfix Tool: Mix

Ensure compile paths are accessible during compilation

Elixir 1.16.0

· 3 changes

Bugfix Tool: Mix

Ensure files with duplicate modules are recompiled whenever any of the files change

Bugfix Tool: Mix

Update Mix compiler diagnostics documentation and typespecs to match the Elixir compiler behaviour where both lines and columns start from one (before it inaccurately said that columns started from zero)

Enhancement Tool: Mix

Returning a four-element tuple as a position in Mix.Task.Compiler.Diagnostic

Elixir 1.15.8

· 1 change

Bugfix Tool: Mix

Ensure compile paths are accessible during compilation

Elixir 1.15.6

· 1 change

Bugfix Tool: Mix

Ensure :extra_applications declare in umbrella projects are loaded

Elixir 1.15.5

· 1 change

Bugfix Tool: Mix

Do not assume blake is always available

Elixir 1.15.4

· 1 change

Bugfix Tool: Mix

Track removed files per local dependency (this addresses a bug where files depending on modules from path dependencies always recompiled)

Elixir 1.15.1

· 4 changes

Bugfix Tool: Mix

Ensure the current project is available on the code path after its Elixir sources are compiled

Bugfix Tool: Mix

Guarantee yecc/leex are available when emitting warnings from previous runs

Bugfix Tool: Mix

Fix bug where an external resource was deleted after its

Bugfix Tool: Mix

Track removed modules and exports across local deps

Elixir 1.15.0

· 4 changes

Enhancement Tool: Mix

Set --all-warnings by default

Enhancement Tool: Mix

Reduce the amount of filesystem lookups for path dependencies by storing timestamps in manifests

Enhancement Tool: Mix

Track digests of @external_resources

Bugfix Tool: Mix

Include cwd in compiler cache key

Elixir 1.14.0

· 2 changes

Enhancement Tool: Mix

Add --no-optional-deps to skip optional dependencies to test compilation works without optional dependencies

Enhancement Tool: Mix

Include column information on error diagnostics when possible

Elixir 1.13.3

· 1 change

Bugfix Tool: Mix

Recompile project files when exports from dependencies change

Elixir 1.13.0

· 1 change

Enhancement Tool: Mix

Move Elixir version check to before deps are compiled, in order to give feedback earlier

Elixir 1.12.2

· 1 change

Enhancement Tool: Mix

Compile most recently changed files first

Elixir 1.12.0

· 1 change

Enhancement Tool: Mix

The :xref compiler is deprecated and it has no effect. Please remove it from your mix.exs file.

Elixir 1.11.2

· 1 change

Bugfix Tool: Mix

Do not discard tracers that are set programmatically

Elixir 1.11.0

· 2 changes

Enhancement Tool: Mix

Support the __mix_recompile__?/0 callback for custom behaviour on when Mix should recompile a given module

Bugfix Tool: Mix

Fix an issue where new protocol implementations would not propagate when running mix compile from an umbrella root

Elixir 1.10.2

· 1 change

Bugfix Tool: Mix

Do not write files to disk if --warnings-as-errors was given and warnings were emitted

Elixir 1.10.0

· 2 changes

Enhancement Tool: Mix

Add --profile time flag to profile compilation steps

Bugfix Tool: Mix

Do not filter out warning for external files from diagnostics

Elixir 1.9.1

· 1 change

Bugfix Tool: Mix

Raise readable error for mismatched sources during compilation

Elixir 1.9.0

· 2 changes

Bugfix Tool: Mix

Ensure Erlang-based Mix compilers (erlang, leex, yecc) set valid position on diagnostics

Bugfix Tool: Mix

Ensure compilation halts in an umbrella project if one of the siblings fail to compile

Elixir 1.8.1

· 1 change

Bugfix Tool: Mix

Do not include optional dependencies in extra applications as it is incompatible with shared deps in umbrellas

Elixir 1.8.0

· 3 changes

Enhancement Tool: Mix

Include optional dependencies in :extra_applications

Bugfix Tool: Mix

Ensure changes in deps propagate to all umbrella children - this fix a long standing issue where updating a dependency would not recompile all projects accordingly, requiring a complete removal of _build

Bugfix Tool: Mix

Avoid time drift when checking and updating compiler manifest files

Elixir 1.7.2

· 2 changes

Bugfix Tool: Mix

Properly mark top-level dependencies as optional and as runtime. This fixes a bug where Mix attempted to start optional dependencies of a package when those optional dependencies were not available

Bugfix Tool: Mix

Avoid deadlock when a config has a timestamp later than current time

Elixir 1.7.0

· 2 changes

Enhancement Tool: Mix

Improve support for external build tools such as rebar

Bugfix Tool: Mix

Properly track config files in umbrella projects and recompile when any relevant umbrella configuration changes

Elixir 1.6.0

· 2 changes

Enhancement Tool: Mix

Define a behavior for Mix compiler tasks and return diagnostics from compiler tasks

Enhancement Tool: Mix

Track struct dependencies between files and recompile them only if the struct changes

Elixir 1.4.3

· 1 change

Enhancement Tool: Mix

Recompile projects if OTP version changes

Elixir 1.4.0

· 1 change

Enhancement Tool: Mix

Automatically infer the list of applications for Mix projects