Description
openedon Jul 23, 2024
The next release will be 1.0.0 due to various breaking changes.
Most importantly, there are some breaking AST changes which were merged quite some time ago and we really need to get them into a released version as people are starting to really use this package for nontrivial tooling. Unfortunately, AST changes are kinda impossible to do depwarns for. I'm not sure what we can really do there other than making clear release notes. Also batching the breaking changes a bit so that packages which need to change can do those changes in one go?
My current plan for 1.0 is that I've been getting in some changes I need for JuliaLowering and trying to clear some of the backlog of things here.
One change which is required for consistency
Some AST changes which "might be good to do" include
- Use
K"function"
for short form function AST #466 - Change AST for iterations to use
iteration
kind #433 - Fix premature lowering of
K"core_@cmd"
etc #438 - Replace K"true" and K"false" with K"Bool" #488
char_range()
function for indexing into source strings #457
Bugs which are good to fix
- Make
using :A
an error; fixusing A: (..)
warning #477 - Newlines handled differently compared to old parser #316
- Allow any of
≔ ⩴ ≕
as identifiers #478
Here's some release notes which JuliaRegistrator incorrectly attributed to various 0.4.x releases and will need to be added manually in addition to whatever other release notes:
Merged PRs
- handle ZWJ and emoji sequences, don't break identifiers within graphemes (handle ZWJ and emoji sequences, don't break identifiers within graphemes #372) (@stevengj)
- Generic
sourcefile()
function (Genericsourcefile()
function #469) (@c42f) - Move overload of Base.range() to JuliaSyntax.byte_range() (Move overload of Base.range() to JuliaSyntax.byte_range() #463) (@c42f)
- Define
numchildren()
function (Definenumchildren()
function #464) (@c42f) - Set version on main branch to 1.0.0-DEV. (Set version on main branch to 1.0.0-DEV. #467) (@fredrikekre)
- Allow
Kind
s to be registered by packages outside JuliaSyntax (AllowKind
s to be registered by packages outside JuliaSyntax #461) (@c42f) - Add the VS Code settings file to .gitignore (Add the VS Code settings file to .gitignore #459) (@davidanthoff)
- Hashing fixup, equality support, and serialization support (Hashing fixup, equality support, and serialization support #452) (@LilithHafner)
- Delete unused down option from parse_docstring (Delete unused down option from parse_docstring #430) (@LilithHafner)
- Update docs (Update docs #400) (@hyrodium)
- Cleanup CI (Cleanup CI #454) (@LilithHafner)
- AST: Rearrange
do
to sit insidecall
/macrocall
(AST: Rearrangedo
to sit insidecall
/macrocall
#322) (@c42f) - Rethinking the
.
AST (Rethinking the.
AST #324) (@c42f)
Closed issues
- Don't define
Base.range(::SyntaxNode)
(Don't defineBase.range(::SyntaxNode)
#417) - GreenNode equality and hashing mismatch (GreenNode equality and hashing mismatch #449)
SyntaxNode
s are never equal (SyntaxNode
s are never equal #450)
- serialization support (serialization support #451)