Project

General

Profile

Development Priorities

TODO: this list is not complete at this time.

Post-Conversion Developer Tools

IDE Support

  • #3881 In conversion and analytics, where we report line/column from cache file we also should report the original unpreprocessed file (proc/class/include) and line/column.
  • #1757 ANTLR v4 upgrade
  • #3882 Enable front end for simple use as a syntax check and improve the error output.
  • #11355 VSCode extension (replaces #3883 and #6319)
  • #10700 expose analytics features in our IDE support
  • #3703 implement TRPL based linting support
  • #10726 calculate and report code quality metrics
  • #10701 implement support for generative AI code assist

Misc

  • #8786 incremental schema conversion and updates

Analytics

  • #11435 provide full access to Code Analytics from agentic AI

Call Graph

  • #11437 re-implement call graph hints
  • #11436 instrument FWD runtime to generate call graph hints as the converted application executes
  • #11438 provide access to Call Graph from agentic AI

Conversion Improvements

Incremental Conversion

  • #6629 incremental conversion for OpenClient proxy programs
  • #10639 Incremental conversion: unexpected DMO generation for space-only changes

App by App Conversion / More Dynamic Conversion / Smarter Conversion

  • #7169 drive conversion order using user-specified dependencies
  • #9638 resolve OO dependencies during parsing using annotations in already converted classes
  • #11404 implement annotation-based resolution for database dependencies
  • #6407 name_map.xml improvements
  • #6320 sharded schemata
  • #11423 implement centralized status/error tracking for conversion/dev tools
  • #9639 centralized name management (and conversion) OR jar based resolution
  • #8525 eliminate the runtime dependency on registry.xml
  • #10459 migrate all project configuration into a single jSON configuration file

Conversion Failure Recovery

  • #7179 rework the conversion process to ensure that it can finish an entire run even when there are failures after parsing
  • #7318 prevent abend during conversion in case of failures when processing TRPL rules
  • #6889 rollback the files as 'unconverted' if (incremental) conversion fails

TRPL/General Conversion Improvements

  • #11156 Conversion fails if source folder is a symlink
  • #6252 cleanup of p2j.cfg.xml
  • #6255 simplify the namespace configuration, part deux
  • #1735 lambdas (most is done, finish it)
  • #9635 TRPL 2.0
  • #1770 / #3211 multithreaded conversion
  • #3711 improve/fix comments conversion
  • #9636 update/complete parser to OE 12.8.x
  • #1755 implement database-backed filtering/walking optimization
  • OO improvements
    • #9488 fill in all built-in OO skeletons
    • #9638 resolve OO dependencies during parsing using annotations in already converted classes
    • #9637 eliminate need for .NET skeletons by dynamically inspecting assemblies
  • refactoring
    • #1740 global include refactoring/de-duplication
    • #1730 macro pattern matching
    • #9721 Refactor include code by optimizing ASTs in an AI-type approach

User Interface

Mobile Support

#11349 ensure that the web client works on iOS devices (both iPad and iPhone)
#11350 ensure that the web client works on Android devices (both tablet and phone)
#3875 complete dynamic layout support for remaining 4GL widgets (and OCX controls)
#11351 implement 4GL language and runtime enhancements for layout strategies (responsive design)
#11352 implement web client support for mobile optimizations and enhancements
#11353 implement support for deployment of the web client as a mobile application using capacitor and/or apache cordova
#11354 implement native mobile client

Runtime Support

Logging

  • #8383 silent errors in logs
  • #3853 LOG-MANAGER runtime instrumentation/entrytypes support
  • #7147 Make FWD log outputs consistent (Jetty etc...)
  • #7236 Inconsistencies in stderr and logs related to MESSAGE and AppError constructor
  • #7279 Enhance CentralLogger to support configurable LogFormatter
  • #1848 make logging settings controllable dynamically at runtime