José Valim
759443e724
Release v1.20.4
v1.20.4
v1.20-latest
2026-08-28 12:02:55 +02:00
José Valim
0bba588757
Fix recursion on charlist error path
2026-08-28 11:59:47 +02:00
Alexander Gubarev
04c31907c5
Fix Task.yield_many/2 waits too long or forever when :limit exceeds task count ( #15737 )
2026-08-27 09:45:00 +02:00
José Valim
153489f9a6
Update CHANGELOG
2026-08-27 09:40:31 +02:00
Hasan mohamed
3ecb083d5d
Fix type checker crash on non-returning for ... into: expression ( #15747 ) ( #15770 )
2026-08-25 13:05:04 +02:00
Daniel Kukula
d2689c839e
Fix base64 swar singleton false positive ( #15773 )
2026-08-25 13:04:54 +02:00
Alexander Gubarev
309623adf1
Fix final sigma handling in :greek ( #15791 )
2026-08-25 13:04:14 +02:00
Łukasz Samson
ae432598e4
Fix inferred type of :erlang.split_binary/2 result when arg is bitstring ( #15790 )
2026-08-25 13:04:08 +02:00
José Valim
31288d2267
Update CHANGELOG
2026-08-05 09:20:30 +02:00
José Valim
6efe0fc7cb
Release v1.20.3
v1.20.3
2026-08-04 16:31:51 +02:00
José Valim
b3f2e0def7
Update CHANGELOG
2026-08-04 15:55:18 +02:00
Alexander Gubarev
fa6205cc20
Fix elixirc --profile time switch argv parsing ( #15647 )
2026-08-04 15:49:27 +02:00
Łukasz Samson
ea1519bcc0
Do not return {:ok, _} on maps with empty lines in map_put_static_value ( #15597 )
2026-08-04 15:19:29 +02:00
Łukasz Samson
bfd4dd35fa
Fix tuple_insert_static crash on non-normalized empty type ( #15542 )
...
Closes #15541 .
2026-08-04 15:18:22 +02:00
Łukasz Samson
0564a597c6
Improve send return type ( #15644 )
...
Teach the type checker that Kernel.send/2 returns the message operand.
2026-08-04 15:16:47 +02:00
José Valim
eded6248eb
Optimize tuple and map emptiness checks ( #15619 )
...
Short-circuit disjoint and subtype tuple elements
before exploring the general difference branches.
This is a backport 59e257d3 .
Assisted-by: Codex:GPT-5.6
2026-07-28 15:36:24 +02:00
José Valim
6bb46c30fc
Update CHANGELOG
2026-07-19 13:21:16 +02:00
José Valim
aa3dbdb289
Ensure %_{} is precise in guards, closes #15635
2026-07-19 10:06:36 +02:00
José Valim
a55c1f7b6a
Improve coverage of defguards
2026-07-17 16:20:35 +02:00
Łukasz Samson
76df4c6f58
Split tuple_insert_static into two paths ( #15518 )
...
- bdd_map on pure positive disjunction
- expand to the exact negation-free positive DNF, insert and union on negations and/or implicit :bdd_top
Fixes #15517
2026-07-16 17:50:51 +02:00
Alexander Gubarev
96f28d4362
Fix IEx.__break__!/3 fallback clause arity ( #15595 )
2026-07-12 13:52:34 +02:00
José Valim
f894bc480e
Provide proper signature for ++
...
And deal with compatibility checks in to_existing_atom/2.
Closes #15588 .
2026-07-11 11:16:46 +02:00
José Valim
51d6cfdb93
Batch cachers in parallel checker ( #15545 )
2026-07-06 17:19:32 +02:00
José Valim
83ae474c61
Clarify protocols come later, closes #15529
2026-06-26 16:56:00 +02:00
Łukasz Samson
2fbf952cad
Add missing Of.reset_vars call in receive/after badtimeout error path ( #15527 )
...
Variable refinement should not leak outside after block
2026-06-25 12:54:51 +02:00
Łukasz Samson
67772adcb2
Refer to the right function in remote_apply error on :maps.values/1 ( #15526 )
2026-06-25 12:54:51 +02:00
Łukasz Samson
be1234799d
Enable doctests on Descr, fix stale examples ( #15528 )
2026-06-25 12:54:51 +02:00
Łukasz Samson
4918e2d955
Thread full descr through fun_denormalize reduce ( #15524 )
...
Previously inner representation was threaded and returned, which broke expectations of caller `non_term_type_to_quoted`
Closes #15523 .
2026-06-24 13:24:08 +02:00
José Valim
cbf3836e8b
Refine types for andalso/orelse in expressions, see #15450
2026-06-24 11:41:18 +02:00
Łukasz Samson
989165cabb
Improve error returned from fun_apply ( #15522 )
...
- return badfun on empty type
- exclude call arity on badarity tuple
Fixes #15521
(cherry picked from commit 9a2029245d )
2026-06-24 10:34:45 +02:00
Guillaume Duboc
05d03543f6
Add put_dynamic for proper dynamic insertion ( #15520 )
2026-06-23 17:25:48 +02:00
José Valim
545dddf138
Release v1.20.2
v1.20.2
2026-06-23 14:02:47 +02:00
Łukasz Samson
bc30e7d696
Include bitstring in domain keys ( #15516 )
...
Fixes #15515
2026-06-23 10:44:27 +02:00
José Valim
73130012bb
Better organize tests
2026-06-21 21:36:40 +02:00
Łukasz Samson
f55abe5ff9
Correctly render list with negative leaves ( #15514 )
...
BDD leaves represent non empty lists
Fixes #15513 .
2026-06-21 21:34:37 +02:00
Łukasz Samson
394ab4bead
Return error from compatible_intersection with none ( #15512 )
...
Match fast path behaviour with `compatible?/2`
Fixes #15511
2026-06-21 21:33:45 +02:00
Łukasz Samson
f491a7eee4
Report empty_list: true on dynamic() in list_of ( #15506 )
...
Fixes #15505
2026-06-19 21:43:35 +02:00
José Valim
a64284921e
Fix optimized map difference with open key
2026-06-19 21:42:31 +02:00
Łukasz Samson
6bef18d523
Preserve optional static part on difference ( #15503 )
...
Fixes #15502
2026-06-18 09:22:29 +02:00
José Valim
8516737ea0
Avoid unecessary umbrella recompilation when a path dependency's manifest is newer but unchanged, closes #15454
2026-06-17 15:56:22 +02:00
José Valim
c52eb2a323
opt_union -> union
2026-06-17 08:56:07 +02:00
Łukasz Samson
527fb26bcd
Fix definition of term_or_dynamic_optional type ( #15498 )
...
Fixes #15497
2026-06-17 08:47:50 +02:00
José Valim
5c5909c2a1
Preserve empty list in dynamic list type constructor
...
Closes #15488 .
2026-06-15 20:30:22 +02:00
José Valim
3c7ee9ff20
Handle empty function type in fun_apply
...
Closes #15486 .
2026-06-15 18:48:29 +02:00
José Valim
51dce31a54
Preserve file meta from each clause in type system warnings
2026-06-15 16:03:50 +02:00
José Valim
0dd4cb4e0b
Update CHANGELOG
2026-06-15 13:58:58 +02:00
Łukasz Samson
4d1de1d971
Fix missed optimization of Kernel.put_elem/3 ( #15480 )
...
?reorder added in 87582af54 used wrong arity and wrong erlang call
2026-06-15 12:49:18 +02:00
Jean Klingler
b098c0406c
Fix bin comprehensions when option is used ( #15473 )
...
* Fix bin comprehensions - static size
* Fix bin comprehensions - pinned var size
* Fix bin comprehensions - operations
* Add tests for nested generators
2026-06-15 17:34:06 +09:00
José Valim
1ba39f3501
Raise better error messages when expected structs disappear, closes #15472
2026-06-14 13:46:51 +02:00
Jean Klingler
0f9072a1d4
Cleaner error message for unquote when quote is used in a pattern ( #15469 )
2026-06-13 21:16:40 +09:00