You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: stack-graphs/CHANGELOG.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,22 +5,34 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
-
## Unreleased
8
+
## v0.11.0 -- 2023-06-08
9
9
10
10
### Added
11
11
12
12
- New `Defines` and `Refers` assertions test for the presence of definitions and references, respectively, without resolution.
13
13
- A method `StackGraph::get_file` to look up an existing file.
14
14
- A field named `fully_qualified_name` was added to `SourceInfo`.
15
+
- A new `serde` module (requiring the `serde` feature) adds serialization and deserialization of stack graphs and partial paths.
16
+
- Stack graphs can now record debug information for edges as it did for noeds. This is also displayed in the HTML visualization when hovering over an edge arrow.
17
+
- A new `storage` module (requiring the `storage` feature) implements a simple SQLite database for storing stack graphs and partial paths.
18
+
19
+
### Fixed
20
+
21
+
- A bug in `PartialPath::concatenate` that prevented stitching partial paths that were joined at a pop or push node.
15
22
16
23
### Changed
17
24
18
25
- The `IncorrectDefinitions` error is renamed to `IncorrectlyDefined`, and `IncorrectDefinitions` is the error used for the `Defines` assertion.
19
26
- The `PartialPaths::find_all_partial_paths_in_file` method has been replaced by `PartialPaths::find_minimal_partial_path_set_in_file`, which computes a smaller set. The `ForwardPartialPathStitcher::find_locally_maximal_partial_path_set` function can be used to compute the set previously returned by `find_all_partial_paths_in_file` from the minimal partial path set.
27
+
- The cycle detection algorithm, which had the dual repsonisbility of detecting path cycles and culling duplicate paths, has been replaced by a new approach consisting of a new cycle detection algorithm and an optional duplicate path detection algorithm. This fixes issues with the old approach which was based on a heuristic and would sometimes keep too many paths, and sometimes throw away too many. The new algorithms are precise instead of using a heuristic and resolve unpredictable resolution behavior.
28
+
- An empty scope stack postcondition is not required anymore for a path to be considered complete. (Symbol stack postconditions must still be empty in complete paths!)
29
+
- The visualization code requires the `visualization` feature instead of the `json` feature, and implies the `serde` feature.
30
+
- A new `CancelAfterDuration` cancellation flag implementation has been added to easily set timeout-based cancellation.
20
31
21
32
### Removed
22
33
23
34
- The method `StackGraph::get_file_unchecked` is removed. Use the new `StackGraph::get_file` instead.
35
+
- All the functionality related to `Path` has been removed in favor of using `PartialPath`. In general, the `Path` behavior of can be achieved by using a `PartialPath` with finite preconditions (i.e., no symbol or scope stack variables), which can be created using `PartialPath::eliminate_precondition_stack_variables`.
0 commit comments