Releases: flowr-analysis/flowr
Releases · flowr-analysis/flowr
Release v2.8.5 (Provide IDs in Linting Rules)
What's Changed
- Linters now provide the NodeId of involved nodes (#2206)
Full Changelog: v2.8.4...v2.8.5
Release v2.8.4 (Extractor Instrumentation, Bugfixes, and Support for more Versions)
What's Changed
- [R] Support Versions with leading
0prereleases by @EagleoutIce in #2191 - [Tree-Sitter] cannot read properties of undefined by @EagleoutIce in #2194
- feat(depquery): support
rpolarsby @EagleoutIce in #2195 - feat(plugin): support license file by @EagleoutIce in #2196
- fix: unbounded recursion in roxygen2 extraction by @EagleoutIce in #2198
- feat-fix: faulty guard condition by @EagleoutIce in #2199
- refactor: lighten cfg stack burden by @EagleoutIce in #2201
- fix: translating roxygen parse to iteration by @EagleoutIce in #2202
- [Dataflow] Extractor instrumentation is here! by @EagleoutIce in #2204
Full Changelog: v2.8.3...v2.8.4
Release v2.8.3 (Support for more Abort Functions, Doc-Retrieval for Params, extended Namespace Support)
What's Changed
- [exceptions] support cli abort by @EagleoutIce in #2182
- [Roxygen2] Doc Support with Params by @EagleoutIce in #2185
- [Namespace] support exportPattern and import/importFrom by @EagleoutIce in #2186
Full Changelog: v2.8.2...v2.8.3
Release v2.8.2 (Project Discovery Fixes, Call-Graph Slices)
What's Changed
- [Fix] do not avoid paths if parents follow criteria by @EagleoutIce in #2174
- [R] further extend versions by @EagleoutIce in #2175
- [Call Graph] feat provide call graph for a selective id only by @EagleoutIce in #2176
Full Changelog: v2.8.1...v2.8.2
Release v2.8.1 (Fix: Call-Graph Construction)
What's Changed
- [Fix] call graph generation may exceed call stack size by @EagleoutIce in #2166
- feat-fix: revert ho query to the original dfg (not cg) traversal! by @EagleoutIce in #2167
- refactor: clean up non-local read handling in flowR by @EagleoutIce in #2168
- refactor: assign with more than 2 args are fine, we just loose precisen by @EagleoutIce in #2169
Full Changelog: v2.8.0...v2.8.1
Release v2.8.0 (Call-Graphs, Roxygen 2 Support, Many Plugins, Registrations, Exceptions and Hooks)
Honestly, this is just a summary, I did a lot, and probably have forgotten some updates here 😅
New Views and Features
- We have call graphs (#2130) summarizing calling relationships, they are cashed and provided by the flowR analyzer.
- We have support for the Roxygen2 comment format including a complete AST model and value recovery (#2143)
- We support exceptions, their propagation, and catch handlers (#2150)
- We support R's
on.exithook (#2160) - We support S3 and S4 object registrations (#2154)
- Our function definition vertices in the Dataflow Graph now carry a
readParamparameter that tells us which parameters are read in the definition, they also provide an easier way to collect the parameters (#2137) - The dataflow information now additionally tracks the state of R's hooks (#2160)
- The flowR Analyzer now supports files with multiple roles and meta loading plugins that allow files to propagate their load (#2142)
New Queries
- Does Call checks whether a function call involves another function (e.g., to check whether a function calls
eval, #2139) - Inspect Recursive Functions checks whether a function is recursive (#2137)
- Inspect Exceptions of Functions checks for the exceptions that could be thrown within a function (#2157)
New Plugins
- Vignette Plugin to support labeling and loading R vignette Files (#2142)
- Test Info Plugin to load test files (#2142)
Performance
- Heavy improvement for call linkage resolution (#2128)
- Also various dedup-optimizations
Minor Updates and Bugfixes
- Feat: Vastly increased the range of supported R versions and ranges (#2126)
- Feat: Extended the format of supported author formats, alongside
DESC.infiles used in R base (#2122) and ORCID inclusions (#2140) - Feat: Dependency query now supports
trywith its output function and paths, dependency query functions now can have function-dependent defaults (#2159) - Feat: Support the
suggestfield in description fields, including parsing and processing them (#2141) - Feat: Improved Project Output in the REPL, and provided several new parsers and auto-completions (#2142)
- Feat: Function definitions now also provide control dependencies for their exit points (#2150)
- Fix: Diff highlight works for string indices (#2139)
- Fix: Inline files are no longer shown as
-1in the location map query (#2137) - Fix: For positive conditions
if(x) { return(...) } rest...we now add negative CDs torest...(#2135) - Fix: DFG diffing now includes
in,out, andunknownreferences (#2130) and partially wrong tests - Fix: Handling of
*applyargument mapping if used with positional args (#2136) - Fix: Loop Exit-Point Recognition (#2150)
- Fix: return type for namespace file in role based analyzer retriever (6ce3ca6)
- Dep: Bumped various dependencies and replaced parsers (#2139)
- Removed
ts-node-devdue to newnodesupport (#2139) - Doc: A lot more documentation (e.g., #2152, #2137, ...)
Full Changelog: v2.7.6...v2.8.0
Release v2.7.6 (Custom License Parsing)
What's Changed
- [dep] replace spdx expression parse by @EagleoutIce in #2120
Full Changelog: v2.7.5...v2.7.6
Release v2.7.5 (License and Author parsing, Ascii-DFGs, Minor Fixes and Features)
What's Changed
- [Description] License and Author Support by @EagleoutIce in #2112
- DF Summaries, Project Discovery Ignore-Lists, minor Bugfixes by @EagleoutIce in #2114
- [Fix] improve subselection of cfg serialization by @EagleoutIce in #2116
- [Repl] Ascii Art for simple DFGs by @EagleoutIce in #2118
Full Changelog: v2.7.4...v2.7.5
Release v2.7.4 (Performance Improvements)
What's Changed
- [Perf] link to last call repeatedly checks by @EagleoutIce in #2098
- perf: speedup call context query generation by @EagleoutIce in #2100
Full Changelog: v2.7.3...v2.7.4
Release v2.7.3 (Namespace-File Support)
What's Changed
- [DF-Shape] Fix shape inference issues identified during correctness evaluation by @OliverGerstl in #2094
- Add NAMESPACE-file-plugin by @stimjannik in #1983
New Contributors
- @stimjannik made their first contribution in #1983
Full Changelog: v2.7.2...v2.7.3