Go bindings:
- Added support for enclosing ranges
- Added syntax kinds to testutil output
Rust SCIP bindings:
- Bumped MSRV to Rust 1.81.0 (#316, #313).
- Bumped the pinned version of the
protobufcrate to the latest release v3.7.2. (#313)
Go bindings:
- Symbol parsing logic doesn't panic on multibyte code points.
- BREAKING CHANGE: IndexVisitor now accepts a context object and returns an error. When an error is returned, the visitor short-circuits.
CLI:
- The
testcommand now has a--check-documentsflag.
SCIP schema:
- Added kind
SymbolInformation.Kind.Conceptfor C++ (#305)
CLI:
- Cleaned up the formatting for the
testcommand. (#281)
Rust SCIP bindings:
- Bumped the pinned version of the
protobufcrate to the latest release v3.7.1. (#287)
CLI:
- Added a
testcommand for targeted testing of specific occurrences. See the CLI and test file syntax reference for details. (#236) - Breaking changes:
- Removed the
convertsubcommand for SCIP to LSIF conversion. (#275)
- Removed the
Schema:
- Added two new
SymbolKindvariants:ExtensionandMixin. (#277)
Go SCIP bindings:
- Added clearer documentation around document canonicalization. (#273)
- Breaking changes:
- Removed SCIP to LSIF conversion functionality. (#275)
SCIP schema:
- Added documentation that ranges must be half-open intervals.
Go SCIP bindings:
- Breaking changes:
- The
NewRangefunction does well-formedness checks and returns(Range, error)instead of*Range. When skipping checks,NewRangeUncheckedcan be used instead. - The
SortRangesfunction takes a[]Rangeinstead of a[]*Rangeto avoid extra heap allocations.
- The
- Features:
- Added new methods for
RangeandPositiontypes.
- Added new methods for
SCIP schema:
- Added new
PositionEncodingfield to specify how consumers should interpret the character offsets. (#224, #225)
scip CLI:
scip snapshotoutput includes thediagnosticsfield.
SCIP schema:
- Added new
SymbolRole:ForwardDefinition(#217)
scip CLI:
scip printsupports turning off colorful output using--color=falseor by setting the environment variableNO_COLOR=1. (#214)
SCIP schema:
- Added new
Kindenum constants to represent more detailed information about different pieces of syntax in different languages. (#195, #208, #209) - Added new
Languageenum constants. (#195, #207) - Minor documentation improvements. (#194, #206)
scip CLI:
- Added a new
--project-rootflag toscip stats. (#187)
Go bindings:
- Added missing validation for local symbols when parsing a symbol string. (#206)
- Fixed a bug related to escaping in symbol formatting. (#186) (#206)
- Fixed a bug in occurrence canonicalization. (#180)
- Fixed some bugs in the new streaming parsing APIs. (#176, #177)
Rust bindings:
- Added missing validation for local symbols when parsing a symbol string. (#206)
SCIP schema:
- Several new fields were added:
SymbolInformation.signature_documentation,SymbolInformation.display_name,SymbolInformation.kindOccurrence.enclosing_range
scip CLI:
- The
printsubcommand supports a new--jsonflag to emit JSON output instead of colored textual output. (#147) - The
snapshotsubcommand supports a new--comment-syntaxflag to customize the prefix used for inline comments in snapshot output. (#139) snapshotoutput now include override_documentation for occurrences. (#116)
Go bindings:
- Added new APIs to parse SCIP indexes in a streaming fashion at Document granularity. This allows consumers to process SCIP indexes with better control over memory usage. (#172)
- Fixed a panic when descriptors are incomplete (#171)
Rust bindings:
- Fixes a bug when emitting symbols which require escaping (#169)
- Fixes a bug in handling for macro symbols (#145)
- Fixed a bug in SCIP to LSIF conversion of indexes using the new
Relationship.is_definitionfield. Without this fix, the generated LSIF index would fail to process in Sourcegraph with a "unknown reference to $ID (expected a range)" error. (#108)
- The new
scip printsubcommand can be used to view a SCIP index without access to protoc. (#91) - The new
scip lintsubcommand can be used to identify correctness and redundancy issues with a SCIP index. (#92)
scip --versionnow works as expected instead of reporting 0.1.0. (#97)