Skip to content

Releases: flowr-analysis/flowr

Release v2.9.6 (R Sweave File Support)

05 Feb 18:35

Choose a tag to compare

What's Changed

Full Changelog: v2.9.5...v2.9.6

Release v2.9.5 (Fix: Composing Named Environments)

05 Feb 09:49

Choose a tag to compare

Release v2.9.4 (Performance Improvements (CFG reversal, ...))

05 Feb 09:19

Choose a tag to compare

Release v2.9.3 (Linter Fixes, Multi-File Promotion, more Helper-Objects)

04 Feb 19:20

Choose a tag to compare

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)

03 Feb 20:42

Choose a tag to compare

What's Changed

Full Changelog: v2.9.1...v2.9.2

Release v2.9.1 (S7, `ns::isexported`, and Multiple Casings, Benchmark extend)

03 Feb 12:45

Choose a tag to compare

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

Full Changelog: v2.9.0...v2.9.1

Release v2.9.0 (Support for Recall, Namespaced Ids, and R Namespace-Files)

02 Feb 05:05

Choose a tag to compare

New Features

All of these features are documented alongside the in-code documentation and the wiki-pages:

  • We now support the Recall function (#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 if etc.) 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::parseStandalone and FlowrAnalyzer::normalizeStandalone as 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 automated not-based negation for else
  • 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 Identifier and DfEdge to 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., with flowr:npm)
    • New FlowrAnalyzerMetaContext and FlowrAnalyzerMetaDescriptionFilePlugin that 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 this namespaces (e.g. ggplot2::... within the ggplot2 namespace)
    • Support for scope inference (e.g., a::b <- c in a non-a namespace)
    • 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)

Minor Bugfixes

  • Call-Graph Generators now respect existing built-in edges of processors (#2287)
  • Synchronized linter settings with commas etc. (#2289)
  • fixed stale description properties in plugins (#2289)
  • support and use of this:void to signal "static-like" object members (#2289)

Release v2.8.15 (Linter Performance Improvements)

30 Jan 11:41

Choose a tag to compare

Release v2.8.14 (Fix: links for partial assignments)

29 Jan 18:42

Choose a tag to compare

Release v2.8.13 (fix linking function defs)

29 Jan 16:22

Choose a tag to compare

What's Changed

Full Changelog: v2.8.12...v2.8.13