Skip to main content

Eclipse 4diac Weekly #38

Update on what development happened across the Eclipse 4diac project in the week from May 30 to June 6, 2025.

This week’s updates bring notable cleanups, UI improvements, and enhancements across both the 4diac IDE and 4diac FORTE. For 4diac IDE, the team streamlined function block libraries, improved property sheet behavior, and introduced a new contract check system. 4diac FORTE received major CMake cleanups, refined its type system, and improved handling of variable arrays.

Enhancements and Fixes in 4diac IDE

  • Code Clean-up and Simplification

    • Removed unused contract check code.
    • Performed code cleanup while switching to URL-safe base64 encoding for hashes.
    • Made reload in type library private.
    • Fixed missing using string directive in the global constant exporter.
    • Removed deprecated function blocks F_MUX_2_1 and F_MUX_2_2 as part of library streamlining.
  • UI and Editor Enhancements

    • Updated BulkEditor to use only a single scrollbar for better usability.
    • Fixed non-editable VarConfig property sheets and removed the export of unwanted attributes.
    • Prevented addition of unwanted VarConfig attributes when edited in the property sheet.
  • Feature Additions and Fixes

    • Introduced a new static contract check system.
    • Added query type with hash support to the DeviceInteractor.
    • Added type exporters for device and segment elements.
    • Fixed export of generic parameter dependencies in forte_ng export.
  • Dependency Management

    • Added missing dependencies for utils-1.0.0 and utils-3.0.0.

Enhancements and Fixes in 4diac FORTE

  • CMake and Build System Clean-up

    • Removed obsolete CMake options:
      • WINCE ifdefs (#465)
      • FORTE_SUPPORT_QUERY_CMD
      • FORTE_EXCLUDE_FBS
      • FORTE_STRINGINITIALSIZE
    • See discussions: GitHub Discussion 452
  • Feature Enhancements

    • Added type hash and query support for global constants.
    • Introduced lower and upper bound functions for arrays.
    • Handled in-out connections for:
      • Variable arrays
      • Multi-dimensional variable arrays
  • API and Architecture Refinements

    • Split the type library API into public and private parts; replaced CTypeLib with a namespace.
    • Moved private static methods of Resource to .cpp files to reduce API exposure.
    • Removed Split Config function blocks from IO Config due to lack of use (#482).
    • Removed SingleLinkedList from all IO interfaces.
  • Generic Function Block Enhancements

    • Cleaned up unused elements in GenFBs following the redesign of generic FBs.
  • Fixes

    • Fixed the Query type command behavior.
    • Explicitly included <cstdint> to fix build issues with MinGW.

Many thanks to all contributors for their work and their feedback!

Cheers,
The Eclipse 4diac Team

Back to the top