- Fixed a major bug in 0.1.10 where the parser cannot differentiate
async def
anddef
.
- Bump the bundled CPython version to 3.12.3
- Bump the bundled CPython version to 3.11.0
- Fixed segfaults when parsing with default filename
- Bump the bundled CPython version to 3.10.1
- Fixed a potential segfault issue when parsing sources with non-utf8 encoding
- [API Breaking] The default line/column numbers for parsing errors are now set to -1, to be consistent with CPython runtime behaviors
IndentationError
now gets correctly recognized as syntax error. This provides us with more precise locations info for the error.
- Expose 2 additional fields
end_lineno
andend_offset
from CPython3.10SyntaxError
. Fix an error in documentation where column numbers should start from 1 instead of 0. - Remove the optional
filename
argument from theparse_module
API. It turns out that this argument is actually dropped when computing error messages so it does not serve any purpose at the moment.
- Disable LTO build of CPython in release mode. Turning on LTO turns out to be rather detrimental to link time when building downstream binaries.
- Bump the bundled CPython version to 3.10.0
- Fix crashes when parsing non-UTF8-decodable string literals.
- \N escape sequence in string literals will no longer cause a syntax error.
- Module parsing APIs now accept an additional
enable_type_comment
argument, controlling whether to parse type comments or not.
- Fix linking flags and tests on Linux.
- Column number of default parsing error starts from 0 instead of 1.
- Correctly set up test dependency with
stdio
. - Make C bindings compatible with pre-OCaml-4.11 by always defining
Val_none
.
Initial release.
Import code from CPython 3.10.0b3.