Skip to content

Releases: elixir-tools/spitfire

v0.3.13

06 Jun 02:05
1350a1a

Choose a tag to compare

0.3.13 (2026-06-06)

Bug Fixes

  • attach do-blocks to dot calls with unary names (e9d0b8f)
  • cap operator newlines by gap to RHS (52f4a45)
  • classify map update pipe with binding ops (6f4d2ed)
  • consume semicolons in bare stab body (ca367cd)
  • don't advance past ) in empty call parens (dee5ef6)
  • empty parens as a function call (0d38212)
  • escaped \ operator as match in fn args (70ed091)
  • greedy alias chain in parse_alias (a996978)
  • handle {} in struct dot expression (1363ceb)
  • handle all struct type expressions (a9a2161)
  • handle do/end after dot-call expressions (871e059)
  • handle in_match_op on comma LHS in fn args (6ee2f2a)
  • handle newlines in empty call parens (3f530b7)
  • handle newlines in empty struct type parens (9730cc4)
  • handle nil/true/false in struct module attrs (9b27166)
  • handle open paren in lone module attribute (d013fe5)
  • handle semicolons in bare stab expression bodies (0cc8403)
  • handle tuple literal in struct type after @ operator (e1ee310)
  • handle unary ops in map update call skip (516496f)
  • include bracket access in outer module attr (5b0df75)
  • infinite loop in malformed tuples (e036e83)
  • infix operator newlines metadata computation (e9b2535)
  • low precedence operator as rhs of pipe in map (16f3898)
  • make ellipsis standalone before dot and dot_call (cd9eef5)
  • parse remote calls with args in struct types (0729b6f)
  • parse sigil after @ in struct literal (1525aba)
  • parse struct type calls like %@foo(){ (2502744)
  • parse struct types with @ attr call args like %@t(o){} (b81fcaa)
  • parse struct types with remote calls (00b4bf2)
  • precedence inside map key (9067e06)
  • push do-blocks into rightmost call for operator expressions (5f94955)
  • raise left_paren precedence above unary (1252a58)
  • range operator attribute in struct type (4e60123)
  • semicolon separated arrow in try body (7e15ea5)
  • semicolon separated arrows in case clause (5f09e66)
  • semicolon separated arrows in case clause with arg in second (7e0f982)
  • separate cond clauses after bare -> with ; (85cbf1c)
  • skip consecutive eol/semi in grouped expressions (d3e7fd2)
  • skip eoe tokens in parse_dot_expression (c3c1330)
  • stop bare stab body at semicolons (26f42eb)
  • stop filtering nil values from map update pairs (32be63f)
  • stop map update pipe scan at closing delimiter (5b7eef7)
  • struct with dynamic module via call + access (476dfef)
  • ternary operatorin struct argument (8a790d0)
  • treat pipe in map as map update when binding ops appear inside function call args (efbe6cf)
  • widen stab_state through infix operators (c264b35)

v0.3.12

16 May 16:27
17c1dd3

Choose a tag to compare

0.3.12 (2026-05-16)

Bug Fixes

  • don't crash on charlist with pure interpolation (#133) (7ca4ccb), closes #132

v0.3.11

23 Apr 21:20
7d4b443

Choose a tag to compare

0.3.11 (2026-04-23)

Performance Improvements

  • prefer recursion over multiple Keyword.has_key? (#129) (47fad18)
  • replace list length-checks with pattern matching (#128) (883764e)

v0.3.10

05 Mar 20:49
c1a4f1b

Choose a tag to compare

0.3.10 (2026-03-05)

Bug Fixes

  • don't crash on unclosed brace in tuple inside map inside anonymous function (#125) (44702ce)

v0.3.9

04 Mar 12:51
e3288a2

Choose a tag to compare

0.3.9 (2026-03-04)

Bug Fixes

  • prevent infinite loop when typing out anonymous function (#122) (8334932)

v0.3.8

04 Mar 03:14
4679425

Choose a tag to compare

0.3.8 (2026-03-04)

Bug Fixes

  • handle ellipsis before <-, ::, and when (#114) (221fe49)
  • parse newline ternary continuation after ellipsis (#115) (708da64)
  • preserve fn newline metadata after semicolons (#112) (52099ff)
  • preserve leading nil in stab clause body (#120) (f0a79a0), closes #113

v0.3.7

21 Feb 16:34
c7ce8e0

Choose a tag to compare

0.3.7 (2026-02-19)

Bug Fixes

  • allow list literals in struct type parsing (#111) (f2eabee)
  • parse assoc-map values outside key context (#102) (6751c15)
  • parse nested struct/map targets in struct literals (#105) (3d1cc61)
  • support dot-call struct targets like %e.(){} (#110) (706f0b0)

v0.3.6

16 Feb 19:56
23ae617

Choose a tag to compare

0.3.6 (2026-02-16)

Bug Fixes

  • parity with elixir parser based on property tests (#79) (8ca3746)

v0.3.5

10 Feb 18:16
0ad4c6f

Choose a tag to compare

0.3.5 (2026-02-10)

Bug Fixes

v0.3.4

10 Feb 02:56
85aed0e

Choose a tag to compare

0.3.4 (2026-02-09)

Bug Fixes

  • align ellipsis operator precedence with elixir (#96) (b4f94c9)