Wojtek Mach
d4d5da2ccf
mix help app:APP: Always try loading apps and support Erlang apps (#14894 )
2025-11-08 12:23:04 +01:00
José Valim
666c082105
&Mod.fun/arity are valid app terms, closes #14891
2025-11-08 12:23:03 +01:00
José Valim
d2c9d39efe
Allow forcing specific compilers
2025-11-08 11:47:24 +01:00
Jean Klingler
97d16038fe
Fix how UTF8 env is stored in .app file ( #14890 )
2025-11-04 16:21:08 +09:00
José Valim
caf39255a4
Ensure relative MIX_BUILD_PATH is discarded on deps
...
Closes #14875 .
2025-11-02 10:17:18 +01:00
José Valim
6440fb90a3
Ensure mix escript.install works with deps.partition, closes #14885
2025-11-02 09:50:18 +01:00
José Valim
8793c68822
Remove line breaks from deprecations table
2025-10-30 21:59:52 +01:00
Gonzalo R
49ac038d67
docs(logger): :process_label is not really ever included in the metadata as of now ( #14880 )
2025-10-30 17:48:20 +01:00
Leslie and wolfgang
3827b73d2d
Fix struct update example in guide ( #14877 )
...
Co-authored-by: wolfgang <wolfgang.yin@gmail.com >
2025-10-30 22:53:07 +09:00
José Valim
dc8a19028f
Commit test changes to MIX_BUILD_PATH
2025-10-30 08:27:25 +01:00
José Valim
357c346a9f
Ensure MIX_BUILD_PATH is expanded
2025-10-30 08:13:48 +01:00
Jean Klingler
6df9eb338c
Document since for --no-check-cwd + fix typo ( #14874 )
2025-10-30 07:39:03 +09:00
José Valim
fa85b95250
Pass the scm when touching compilation manifest for deps
2025-10-29 23:28:40 +01:00
José Valim
a89655c434
Ensure latest version of applications are loaded after compilation
2025-10-29 14:35:23 +01:00
Jean Klingler
730fd0f824
Warn on deprecated ~~~ unary op in tokenizer ( #14870 )
2025-10-29 19:27:48 +09:00
José Valim
29d3b0cf3a
Rely on term_to_binary/1 format to protect from incomplete file writes
2025-10-28 20:27:22 +01:00
José Valim
ae94e6eb25
Add checksum to manifest files
...
Closes #14866 .
2025-10-28 12:01:03 +01:00
José Valim
661e537cda
Add --no-check-pwd to mix compile
2025-10-28 12:01:02 +01:00
José Valim
4a5c076b7f
Warn if elixirc_paths is not a list of string paths, closes #14862
2025-10-28 08:11:04 +01:00
Jean Klingler
297bc8302b
Fix dialyzer warning on IO.inspect :label ( #14865 )
2025-10-28 16:06:40 +09:00
José Valim
f6413152ff
Ensure flags are passed down to umbrella children
...
Closes #14852 .
Closes #14860 .
2025-10-26 13:26:45 +01:00
José Valim
c2edbaf173
Raise on invalid .app files ( #14861 )
...
Since regular expressions now have regexes,
they can end-up in .app files, and then apps
can no longer boot.
This changes makes it so they fail loudly.
2025-10-24 23:56:06 +02:00
José Valim
ac9a659bc6
Reset ansi escapes before newlines in Logger
...
Closes #14855
Closes #14841
2025-10-24 12:19:22 +02:00
José Valim
cc5837caa7
Pass signatures on the side instead of module map
2025-10-23 00:18:29 +02:00
José Valim
1738ed453f
Do not include signatures twice in beam files
2025-10-23 00:01:32 +02:00
José Valim
3e18aafa0a
Measure and optimize writing of .beam files in the compiler
...
This should provide meaningful benefits when working with
containers and network mounted drives.
2025-10-22 10:47:03 +02:00
José Valim
613f631487
Simplify always true and always false bdd nodes
2025-10-21 12:51:11 +02:00
José Valim
f08a84af10
Make bdd functions public to aid debugging
2025-10-21 12:40:29 +02:00
Travis Vander Hoop
e9bf5df25a
Update documentation for formatter's :excludes option ( #14842 )
2025-10-18 20:35:08 +02:00
José Valim
2e7bb9b47f
Do not spawn partitions when all dependencies are local and ok, closes #14843
2025-10-18 19:07:28 +02:00
José Valim
83c68cecc1
Simplify computation of mismatched parts for error messages
...
Before we were doing:
common = intersection(actual, expected)
uncommon = difference(actual, common)
But the second clause is:
actual and not (actual and expected)
Which is literally the same as:
actual and not expected
But much faster as it avoids the large nesting of BDDs.
Closes #14836 .
2025-10-18 18:54:39 +02:00
José Valim
184b724483
More optimizations for differences
...
* when a1 < a2
* when a1 == a2 and c2 == bottom and d2 == bottom
* when a1 == a2 and u2 == bottom
2025-10-18 18:33:18 +02:00
José Valim
47fea9580a
Perform expensive operation once
2025-10-18 18:32:44 +02:00
José Valim
6a6678f337
Do not attempt to touch deleted files
2025-10-18 18:32:32 +02:00
José Valim
ec87c6b111
Improve protocol violation warnings
2025-10-18 18:32:28 +02:00
José Valim
0c595489b6
Improve protocol type error to list possible root causes
2025-10-18 18:32:22 +02:00
José Valim
baa25991fa
Do not escape dbg options, closes #14839
2025-10-17 22:15:22 +02:00
Daniil Kulchenko
a5c9121a7c
Fix EEx.compile_string passing invalid options to tokenize ( #14835 )
...
EEx.compile_string/2 was passing all options to tokenize/2, but
tokenize/2 only accepts tokenize_opt (:file, :line, :column,
:indentation, :trim). This caused dialyzer to correctly flag calls
with :engine or :parser_options as type errors in Elixir 1.19+.
The fix filters options before passing to tokenize/2, keeping only
the valid tokenize_opt keys, while still passing the full options
list to EEx.Compiler.compile/3 which needs :engine, :parser_options,
and custom engine options.
Fixes #14834
2025-10-16 23:49:53 +02:00
José Valim
177dc8ab59
Release v1.19.0
2025-10-16 08:52:04 +02:00
José Valim
bba8835ecc
Fix IEx parser fetching on mix release
2025-10-16 08:46:48 +02:00
José Valim
dea8456022
Escape meta within existing quote extensions ( #14832 )
...
Closes #14829
Closes #14830
2025-10-14 13:05:44 +02:00
José Valim
ee14357bcd
Add --shell to mix cmd ( #14827 )
2025-10-09 10:07:18 +02:00
José Valim
2fa136e60a
Deal with relative paths in mix cmd, closes #14787 ( #14788 )
2025-10-09 09:27:16 +02:00
Eksperimental
f382affce3
Fix typos in v1.19 ( #14826 )
2025-10-09 08:48:14 +02:00
José Valim
36190985d2
Include a hint for defimpl type checking
2025-10-08 18:27:39 +02:00
José Valim
74fab3caf4
Update parallel compiler docs, closes #14821
2025-10-07 17:54:41 +02:00
Eksperimental
f1a6a4e019
Improve Kernel.ParallelCompiler warning ( #14820 )
2025-10-07 17:54:41 +02:00
Eksperimental
c7884ca393
Elixir v1.19 introduces a warning related to structs, ( #14818 )
...
hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of:
user = some_fun()
%User{user | name: "John Doe"}
it is enough to write:
%User{} = user = some_fun()
%{user | name: "John Doe"}
Since this could be seen by new-comers to the language, offering a better user experience by avoiding abbreviations. Favoring the usage of "some_function" instead of "some_fun"
2025-10-07 17:54:41 +02:00
José Valim
6f3fb272af
Add mix help app:APP, closes #14782
2025-10-07 17:47:31 +02:00
José Valim
8c14d3a818
Add newline after inspection, closes #14819
2025-10-07 17:15:24 +02:00