Releases: flowr-analysis/flowr
Releases · flowr-analysis/flowr
Release v2.9.6 (R Sweave File Support)
Release v2.9.5 (Fix: Composing Named Environments)
Full Changelog: v2.9.4...v2.9.5
Release v2.9.4 (Performance Improvements (CFG reversal, ...))
Release v2.9.3 (Linter Fixes, Multi-File Promotion, more Helper-Objects)
What's Changed
- [Linter] Fix Endless Recursion, Multi-File Support, SourceLocation/... Helpers by @EagleoutIce in #2306
SourceLocation.*SourceRange.*SourcePosition.*LintingResults.*- Linters no return locations instead of ranges
resolveValue*API now supports blocklists
Full Changelog: v2.9.2...v2.9.3
Release v2.9.2 (Improved Ranges, FunctionArgument helper, s* oop modes)
What's Changed
- Do not use invalid ranges for virtual nodes by @EagleoutIce in #2299
- New
FunctionArgumenthelper
- New
- feat: s3 and co annotations by @EagleoutIce in #2300
Full Changelog: v2.9.1...v2.9.2
Release v2.9.1 (S7, `ns::isexported`, and Multiple Casings, Benchmark extend)
What's Changed
- added detectPotentialCasings which returns all possible casings an identifier could match by @Ellpeck in #2291
- [Namespace] isexported convenience helper by @EagleoutIce in #2292
- Also reports conditionals
- Increase Benchmark Suite by @EagleoutIce in #2295
- 50 -> 75 files, better ordering
- S7 basics by @EagleoutIce in #2297
- Support for resolve of
null - Support for
NextMethod(S3) - Support for
new_generic - Support for S7 method assignments and resolve
- Shortened
additionalTokens
- Support for resolve of
Full Changelog: v2.9.0...v2.9.1
Release v2.9.0 (Support for Recall, Namespaced Ids, and R Namespace-Files)
New Features
All of these features are documented alongside the in-code documentation and the wiki-pages:
- We now support the
Recallfunction (#2287)- Now, Environments link their closure / the name which created then
- New built-in processor:
BuiltInProcName.Recall - Updated the Capabilities accordingly
- Namespaces written in R (with
ifetc.) are now supported syntactically (#2290)- the namespace file (and loading plugin) now support 2 parsers, the old "simple" one and a new-one based on tree-sitter
- the main flowR context now provides convenience access to the analyzer in plugins
- the flowR Analyzer now supports
FlowrAnalyzer::parseStandaloneandFlowrAnalyzer::normalizeStandaloneas sync, tree-sitter-only convenience functions,
these automatically reuse analyzer settings - Namespace-Files now may hold conditional format specifications, offering the conditions as
RNodes with an automatednot-based negation forelse
- Identifiers are now scoped with full support (#2289)
This finally fully deprecated the old pointer-analysis framework which was outdated/wrong for a long time (and already disabled by default)- New helper objects
IdentifierandDfEdgeto work with flowR's representations more easily - Adapted the code consistently to use these helper objects
- The wiki doc context now supports linking external pages with
linkPage(e.g., withflowr:npm) - New
FlowrAnalyzerMetaContextandFlowrAnalyzerMetaDescriptionFilePluginthat store meta information on the project (namespace, title, ...) - Support for named identifier resolution and definition (
a::b <- 2; print(a::b), ...) - Support for namespace resolves in
thisnamespaces (e.g.ggplot2::...within theggplot2namespace) - Support for scope inference (e.g.,
a::b <- cin a non-anamespace) - Support for scoped built-ins
- Replacement functions are now treated as S3 generics (which they are)
- This also includes adapting the full code-base to the new identifier format and the extended semantics (alongside Boy/Girl-Scout fixes)
- New helper objects
Minor Bugfixes
Release v2.8.15 (Linter Performance Improvements)
Full Changelog: v2.8.14...v2.8.15
Release v2.8.14 (Fix: links for partial assignments)
Release v2.8.13 (fix linking function defs)
What's Changed
- [Dataflow] Big improve for linked fns resolve by @EagleoutIce in #2278
- link to nested calls by @EagleoutIce in #2279
- refactor: perf by @EagleoutIce in #2280
Full Changelog: v2.8.12...v2.8.13