PackageTrack
Sign in Get early access

tree-sitter-scala

Scala grammar for tree-sitter

0.26.2 4.1M downloads/mo #4985 most downloaded on crates.io tree-sitter/tree-sitter-scala

What this package is like to depend on

Last release 15 days ago

08 Aug 2026

Release timing varies

gaps range from 5 weeks to 9 months

Some releases are documented

notes for 9 of 16 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

16 releases · first in 2023

5 releases in the last 12 months

see the full history below

Release timeline

16 releases · Jun 2023 to Aug 2026
2024 2025 2026
Release Pre-release

Releases

latest 16
  1. 0.26.2 08 Aug 2026
    Release notes

    NOTE: Download tree-sitter-scala.tar.gz for the complete source code.

    🐛 bug fixes

    • fix: Rework constructor annotations by @susliko in #533
    • fix: Fixes applied_constructor_type and early defs by @iigaz in #544
    • fix: Fixes indented block as the body of catch case by @exoego in #549
    • fix: Accepts braced-body members indented shallower than their siblings by @exoego in #550
    • fix: Fixes self types with empty bodies, empty-bodied lambdas, enum self types by @exoego in #551
    • fix: Keeps soft keyword inline usable as an identifier in expressions by @exoego in #555
    • fix: Restricts end marker names to alphanumeric identifiers by @exoego in #557
    • fix: Accepts Unicode as => and as <- by @exoego in #561
    • fix: Allows empty statements before a statement in blocks by @exoego in #564
    • fix: Accepts do and bare indented bodies after parenthesized for enumerators by @exoego in #567
    • fix: Fixes ascription to function types and ascribed match expressions by @exoego in #568
    • fix: Captures patterns and free escapes inside interpolated strings by @exoego in #569
    • fix: Fixes soft keyword extension and Scala 3 keywords in import paths by @exoego in #573
    • fix: Bare $ identifier called with arguments by @exoego in #574
    • fix: Annotation arguments and multiple argument lists in extends clauses by @exoego in #575
    • fix: Adds bounds check before memcpy in array.h by @anupamme in #577
    • fix: Automatic semicolon lookahead over comments and closing keywords by @exoego in #578
    • fix: Fixes braceless match with cases at the same indentation by @exoego in #580
    • fix: Keeps an internal comma from closing an indented block by @exoego in #581
    • fix: Continues a line that ends in a colon or a symbolic operator by @exoego in #584
    • fix: Parses a lambda parameter with a bare function type by @exoego in #593
    • fix: Fixes rest-of-block lambdas and comma-closed templates in indented blocks by @exoego in #601
    • fix: Ends an operator where a comment begins by @exoego in #631
    • fix: Keeps a //> comment plain when no using directive follows by @exoego in #636
    • fix: Ends a statement before a leading operator with no operand by @exoego in #637
    • fix: Annotates a literal type and every annotation of an ascription by @exoego in #641
    • fix: Ends an indented argument at the comma before the next one by @exoego in #642
    • fix: Takes the type arguments of an extractor pattern by @exoego in #644

    🚀 updates

    • feat: Wildcard in self type by @susliko in #521
    • feat: Varargs as a standalone rule by @susliko in #524
    • feat: Lazy repeated parameter types by @susliko in #527
    • feat: Trailing comma in $.indented_cases by @susliko in #528
    • feat: Allow $.indented_block in $.assignment_expression by @susliko in #529
    • feat: Braced block in $.with_template_body by @susliko in #530
    • feat: Colon argument with arguments in parenthesis on the same line by @susliko in #534
    • feat: Reserved keywords by @iigaz in #537
    • feat: Method values (f _) as simple expressions by @exoego in #556
    • feat: Scala 2 script header #!...!# by @exoego in #558
    • feat: forSome existential types by @exoego in #559
    • feat: Quoted keyword literals 'null / 'true / 'false by @exoego in #563
    • feat: Reads | after a definition type annotation as a union type by @exoego in #565
    • feat: Unicode math symbols as single-character type operators by @exoego in #572
    • perf: Lex block comments in the external scanner by @exoego in #576
    • feat: Start a colon argument with a context function lambda by @exoego in #586
    • feat: Bind an indented block to a for comprehension enumerator by @exoego in #589
    • feat: Lex floating point literals with digit separators by @exoego in #588
    • perf: Inline small hidden rules to shrink parser.c by @exoego in #591
    • feat: Attach end markers to the construct they close by @exoego in #596
    • perf: Shrink parser.c from 29.4 MB to 18.3 MB with a control-tail gate by @exoego in #600
    • feat: Infix operator precedence and associativity per SLS 6.12.3 by @exoego in #603
    • feat: XML literals and XML patterns by @exoego in #606
    • perf: Cuts parse time by a third by @exoego in #607
    • feat: Binary integer literals by @exoego in #608
    • feat: A type with more than one refinement by @exoego in #609
    • feat: Type bindings in a quote type block by @exoego in #610
    • feat: Allows a semicolon after a match type case by @exoego in #613
    • feat: erased modifier by @exoego in #614
    • feat: Given import selector outside braces by @exoego in #616
    • perf: Lex the erased modifier in the scanner, cut parser.c by 1 MB by @exoego in #618
    • feat: Takes a refinement as an intersection operand by @exoego in #619
    • feat: Named type arguments by @exoego in #621
    • feat: Scala 3.6 given syntax by @exoego in #623
    • perf: Reads the soft modifiers in the scanner, shrink parser.c by 2.76 MiB by @exoego in #627
    • feat: Capture checking syntax by @exoego in #629

    behind the scenes

    • Bump cargo lock file by @eed3si9n in #523
    • Update CMakeLists.txt by @eed3si9n in #531
    • ci: track parser size by @susliko in #535
    • test: Unskip subclass-with-multiline-params test, fixed on master by @exoego in #548
    • chore: Reserve _colon_eol and _operator_eol external tokens by @exoego in #582
    • chore: Reserve the floating point separators external token by @exoego in #585
    • test: Update expected values for Dotty and Lila modules by @eed3si9n in #590
    • chore: Reserve the end keyword external token by @exoego in #597
    • chore: Reserve the XML tag start external token by @exoego in #604
    • ci: Measure the Dotty test suite and drop non-Scala inputs by @exoego in #611
    • chore: Reserve the erased modifier external token by @exoego in #615
    • chore: Drop two unnecessary conflicts by @exoego in #620
    • chore: Reserve the soft modifier external tokens by @exoego in #625
    • chore: Reserve the using directive start external token by @exoego in #638
    • 0.26.2 by @eed3si9n in #646

    new contributors

    Full Changelog: v0.26.0...v0.26.2

    Open source →
  2. 0.26.0 18 Apr 2026
    Release notes

    NOTE: Download tree-sitter-scala.tar.gz for the complete source code.

    updates

    Full Changelog: v0.25.1...v0.26.0

    Open source →
  3. 0.25.1 18 Apr 2026
    Release notes

    NOTE: Download tree-sitter-scala.tar.gz for the complete source code.

    updates

    • feat: Leading infix operators by @susliko in #493
    • feat: Supports typed lambda argument for Scala 2 by @susliko in #496
    • feat: Supports access modifiers for enums by @susliko in #497
    • feat: Supports lambdas in braces with block bodies by @susliko in #501
    • feat: Supports extends clause with multiple argument lists by @susliko in #502
    • feat: Aliased imports without package prefix by @susliko in #515
    • feat: Supports dot-syntax for match expressions by @susliko in #514 + #516

    bug fixes

    • fix: Match types with braced syntax by @susliko in #494
    • fix: issue outdents before commas by @susliko in #499
    • fix: higher precedence for match-clause guards by @susliko in #504
    • fix: suppress automatic semicolon only when infix operator is actually followed by an operand by @susliko in #508

    behind the scenes

    new contributors

    Full Changelog: v0.25.0...v0.25.1

    Open source →
  4. 0.25.0 12 Mar 2026
    Release notes

    NOTE: Download tree-sitter-scala.tar.gz for the complete source code.

    updates

    behind the scenes

    • ci: Bump sync process to 0.25 by @eed3si9n in #489
    • chore: generate and sync latest changes by @github-actions[bot] in #490
    • Bump the version number to 0.25.0 by @eed3si9n in #491

    Full Changelog: v0.24.1...v0.25.0

    Open source →
  5. 0.24.1 12 Mar 2026
    Release notes

    NOTE: Download tree-sitter-scala.tar.gz for the complete source code.

    updates

    behind the scenes

    • Update GitHub Actions / skip node binding test by @eed3si9n in #481
    • ci: Bump create-pull-request action by @eed3si9n in #482
    • chore: generate and sync latest changes by @github-actions[bot] in #483
    • test: Update lila expectation by @eed3si9n in #484
    • Pin tree-sitter/workflows by @eed3si9n in #485
    • Bump to 0.24.1 by @eed3si9n in #486
    • Pin the workflow back to 6a7388cecfbc00765d032b2fca8f8abbe092ae8d by @eed3si9n in #487

    new contributors

    Full Changelog: v0.24.0...v0.24.1

    Open source →
  6. 0.24.0 08 Jun 2025
    Release notes

    updates

    behind the scene

    new contributors

    Full Changelog: v0.23.4...v0.24.0

    Open source →
  7. 0.23.4 27 Dec 2024
    Release notes

    updates

    behind the scene

    NOTE: Download tree-sitter-scala.tar.xz for the complete source code.
    Full Changelog: v0.23.3...v0.23.4

    Open source →
  8. 0.23.3 11 Nov 2024
    Release notes

    NOTE: Download tree-sitter-scala.tar.xz for the complete source code.

    Open source →
  9. 0.23.2 12 Sep 2024
    Release notes

    updates

    • tree-sitter-scala 0.23.2 updates to tree-sitter 0.23.0.

    behind the scene

    Full Changelog: v0.22.2...v0.23.2

    Open source →
  10. 0.22.1 08 Aug 2024

    Nothing published for this version

  11. 0.22.0 23 Jun 2024

    Nothing published for this version

  12. 0.21.0 13 Mar 2024

    Nothing published for this version

  13. 0.20.3 10 Mar 2024

    Nothing published for this version

  14. 0.20.2 20 Aug 2023

    Nothing published for this version

  15. 0.20.1 10 Jun 2023

    Nothing published for this version

  16. 0.20.0 06 Jun 2023

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive