Enhancements and Fixes in 4diac IDE
Type Refactoring & Package Management
Improved type rename support:
Preserved error markers and STRUCT_DEMUX visibility during type renames
Added quick fix to align package names with the folder structure
... [More]
Improved connection handling during refactoring:
Added recursive connection deletion
Merged compatible connections during reconnect
Preserved marker information while simplifying marker cleanup
Build & Export
Improved incremental export performance by avoiding unnecessary exports
Triggered full exports when relevant source files are removed
Fixed export builds to only process existing files
Editor & UI Improvements
Improved alignment of type information fields
Enhanced scrolling behavior in property sheet tables on Windows
Fixed rendering of member access tables
Improved Bulk Editor selection handling
Moved member access viewer into its own package
Improved project creation by decoupling it from the UI
General Improvements
Consolidated Plant Hierarchy saving and replaced printStackTrace with proper logging
Updated GitHub Actions dependencies
Enhancements and Fixes in 4diac FORTE
Management Commands
Refactored management command processing by separating command parsing from execution
Simplified command handling with improved response management and cleanup methods
Enhancements and Fixes in 4diac Documentation
XML Schema Support
Added an XSD for Adapter Types
Improved reuse of common XML schema definitions through shared attribute groups
Many thanks to all contributors for their work and their feedback! [Less]
|
Enhancements and Fixes in 4diac IDE
Bulk Editor
Added a prototype Bulk Query Language
Converted the Bulk Editor into a multi-page editor
Improved handling of error markers during save operations
Refactoring & Type Management
Added package
... [More]
rename refactoring support
Added type rename button integrating with refactoring workflows
Introduced processor-based package rename refactoring with Structured Text participation
Added package proposals in rename dialogs
Extracted rename handling into dedicated helper classes
Added extensive test infrastructure and regression tests for type and struct renaming
Structured Data & Libraries
Added additional tests for STRUCT_MUX, F_MOVE, and struct rename scenarios
Updated F_LOWER_BOUND and F_UPPER_BOUND function blocks and moved them into the arrays package
Improved standard library handling during p2 updates
Improved library manager security and GitLab downloader security
Enhanced library discovery and version selection support
Structured Text Editor
Fixed type resolution issues for function call arguments
Fixed exceptions during standard function lookup
Validation & Property Editing
Improved validation of unused instances with adapter connections
Fixed editability handling for VAR_IN_OUT property sheets
Improved refresh handling for member access viewers
UI & Editor Improvements
Updated shadow rendering to newer Draw2d APIs
Fixed column ordering in internal variable sections
Corrected comments and documentation for event-related function blocks
Build & Platform
Started restricting access to internal plugin APIs
Updated versioning for the 3.3 development cycle and 3.2 maintenance branch
Removed obsolete GitLab settings and resolved various warnings
Enhancements and Fixes in 4diac Documentation
XML Schema Support
Introduced a first Data Type XSD for 4diac IDE XML files
Many thanks to all contributors for their work and their feedback! [Less]
|
Enhancements and Fixes in 4diac IDE
ECC & Replay Debugging
Added evaluator model breakpoints for ECC debugging
Added graphical outline support for the ECC editor
Enhanced replay debugging:
Event highlighting and comparison visualization
... [More]
Navigation between highlighted events
Timeline comments with add/remove commands
Keyboard shortcuts
Improved undo/redo support
Better selection handling and event positioning
Validation & Quick Fixes
Added validation for unused pins in composite FBs and subapplications
Added quick fixes to automatically remove unused pins
Editor & UI Improvements
Improved initial value editor behavior
Updated coloring and usability of editable pin properties
Added FBT macro support to the AsciiDoc preview
Fixed NPE during ECC transition dragging
Type System & Refactoring
Fixed type name refresh issues
Replaced obsolete refactoring update edits
Reduced unnecessary marker updates and duplicate markers
Improved marker handling performance
Documentation & Release Maintenance
Updated integrated documentation to the latest 3.2.x branch
Updated dependencies for the 3.2 release
Build & Maintenance
Updated CodeQL integration
Added missing workflow permissions
Removed unnecessary stream creation and performed various cleanup refactorings
Enhancements and Fixes in 4diac FORTE
OPC UA
Fixed multiple OPC UA issues:
Memory leak in logger handling
Incorrect variable handle usage
Wrong type mapping for UA_Byte
Out-of-bounds access during method initialization
Enabled OPC UA builds on Linux CI workflows
Switched to modern find_package integration for open62541
Runtime Robustness
Fixed use-after-free in GEN_CSV_WRITER
Fixed buffer overflow in the FBDK ASN.1 layer
Fixed illegal casts in several runtime components
Improved sanitizer configuration handling
Data Type Handling
Fixed BCD conversion issues for larger target data types
Corrected 64-bit literal handling in tests
Fixed floating-point conversion related casts
CI & Maintenance
Updated CodeQL integration
Added required workflow permissions
Enhancements and Fixes in 4diac FBE
Release Alignment
Updated to Eclipse 4diac FORTE 3.2 release components.
Many thanks to all contributors for their work and their feedback! [Less]
|
This release introduces major feature upgrades and optimization across the entire ecosystem, most notably:
Replay Debugging: A brand-new framework allowing exact, step-by-step reproduction of application runs from FORTE traces or manual events
... [More]
, complete with parallel branching timelines.
IDE UI & Usability Overhaul: A new low-clutter visual grid, modernized ECC and Interface editors matching IEC 61499 color semantics, and smoother transition splines.
Runtime & Performance Boosts: 4diac FORTE now features reduced binary sizes, faster floating-point formatting, native ANY_STRUCT support, and a modularized OPC UA feature layer.
Explore the Full Details
For a complete, in-depth breakdown of every single new feature, validation rule, and dependency upgrade in this version, check out the official details page: Eclipse 4diac 3.2 New and Noteworthy [Less]
|
Enhancements and Fixes in 4diac IDE
Release & Documentation Updates
Updated the Splash screen, Intro pages, and official Documentation for the 3.2 Release.
Reworked and enhanced the “What’s New” page and corrected tutorial and
... [More]
table-of-contents links.
Deployment & Debugging Tools
Fixed an issue in the deployment evaluator where fake time was written to devices after event execution; it is now correctly set beforehand to ensure exact timing sync.
Polished the replay debugging tools UI by assigning distinct colors to columns and cleaning up overall aesthetics.
Ensured original events are marked as read-only during replay sessions.
Importing & Type Management
Fixed an issue where missing parameter types in devices, resources, or segments resulted in a null type; they now default to ANY.
Reworked the importer’s type lookup to enforce the creation of error data types when needed, adding proper container variable declarations.
Cleaned up the parameter handling logic for devices, resources, and segments within the importer.
Ensured the TypeLibrary is completely cleared when a project is closed.
Model & Serialization Fixes
Fixed an issue where ECTransition comments were incorrectly derived and lost during model copying (ECoreUtil.copy()).
Harmonized how transition comments are parsed and serialized in XML using a centralized approach.
Fixed a date typo bug present in Client blocks.
Preserved member access pin attributes automatically during Function Block updates.
Refactoring & Maintenance
Refactored rename change logic into a dedicated helper class to streamline code reuse.
Added explanatory comments for how old names are utilized within the dependency updater.
Enhancements and Fixes in 4diac FORTE
OPC UA Integration
Upgraded the integrated open62541 stack to version 1.5.4.
Refactored the OPC UA Event layer to natively support the open62541 v1.5 API.
Regenerated the OPC UA data types inside the dedicated 4diac namespace for system testing.
Many thanks to all contributors for their work and their feedback! [Less]
|
Project: Strengthening Refactoring Quality through Automated Testing
Contributor: Dimitris Kalligaridis
Organization: American College of Greece, Athens, Greece
Field of Study: IT, specializing in Intelligent Systems and Automation (Senior)
Mentors:
... [More]
Michael Oberlehner and the Eclipse 4diac Community
About Me
Hi, I am Dimitris, a senior student at the American College of Greece, graduating this summer with a BSc Hons in IT, specializing in Intelligent Systems and Automation. Last summer, I interned at Amazon as a Software Development Engineer in the Devices OS Security team, and this summer I am excited to be participating in Google Summer of Code 2026 with Eclipse 4diac. [Less]
|
Enhancements and Fixes in 4diac IDE
UI & Property Sheet Enhancements
Added a member access property sheet to the instance section and refactored the member access tree viewer into its own dedicated class to accommodate struct pins.
Harmonized
... [More]
the look and feel by enabling the “Edit Interface” sections for standard FB instances, creating clear structural separation between untyped SubApps and instance sheets.
Shifted the BulkEditor context menu to leverage native Eclipse infrastructure and disabled the auto-layouting context menu when the selection is empty.
Validation & Modeling Fixes
Eliminated false-positives in unused instance validation by ensuring the check confirms whether an internal FB belongs to an FB network.
Restricted the HTML preview feature to trigger exclusively on read-only files.
Fixed an undo-command bug to properly restore connections after a structural block has been deleted.
Replay Debugging & Timeline Features
Introduced a new state comparison view along with its associated handling commands.
Added search capabilities directly within debugging timelines.
Added capabilities to delete specific timelines and event markers.
CI/CD & DevOps
Implemented a automated GitHub workflow to automatically tag and flag inactive issues and pull requests as stale.
Enhancements and Fixes in 4diac FORTE
Testing Infrastructure
Enforced the IEC 61131-3 module as a mandatory requirement when running tests, introducing force options and clear log diagnostics for dependent blocks like GEN_F_MOVE.
Resolved several memory leaks in the test suite by ensuring proper resource and global fixture initialization and deinitialization.
Enhancements and Fixes in 4diac Documentation
Redesigned and cleaned up the main documentation overview page, streamlining text by grouping technical topics into highly legible tables and resolving broken layout links.
Improved and expanded the project deployment documentation.
Enhancements and Fixes in 4diac FBE
OPC UA Support (open62541)
Refactored the open62541 version 1.4 recipe to introduce integrated support for Alarms & Conditions.
Updated the open62541 recipe to version 1.4.16, enabling the alarms feature by default.
Introduced a new recipe for open62541 version 1.5.
Core Build Dependencies & Runtime Sync
Synced the internal FORTE dependency to align with the current release branch.
Upgraded core underlying libraries across the build recipes:
boost updated to 1.91.0-1
libmodbus updated to 3.1.12
libpcap updated to 1.10.6
libressl updated to 4.3.2
zlib updated to 1.3.2
Many thanks to all contributors for their work and their feedback! [Less]
|
Project: Enhancing Execution Control Chart ECC Experience
Contributor: Vikash Kumar Sinha
Organization: Sant Longowal Institute of Engineering and Technology (SLIET), Punjab, India
Field of Study: Computer Science (3rd Year)
Mentors: Alois Zoitl and
... [More]
Eclipse 4diac Community
About Me
I’m Vikash Kumar Sinha, a 3rd-year Computer Science student from Sant Longowal Institute of Engineering and Technology (SLIET), Punjab, India. I’m passionate about open-source development and building robust industrial automation tools. This summer, I’m thrilled to be contributing to Eclipse 4diac as part of Google Summer of Code 2026, focusing on enhancing the ECC (Execution Control Chart) editor’s user experience. [Less]
|
|
The final release is scheduled for June 10, 2026.
Information on the changes is available on the New and Noteworthy pages.
Testing of the current development branches is encouraged to assist in the final stabilization phase. Please report any issues via our GitHub issue trackers.
|
Enhancements and Fixes in 4diac IDE
Validation & UI Enhancements
Added validation warnings for unused FB/SubApp instances and optional warnings for multiple output event connections.
Refreshed block styles with new fill colors (ice blue for
... [More]
typed blocks, sand brown for untyped) and added dark mode support.
Improved spline routing control points and simplified library setup wizards.
Editors and Refactoring
Enhanced the Bulk Editor with row-copying support, attribute filtering, and bug fixes for invalid values.
Introduced a prototype AsciiDoc editor and text macro processing for Type Documentation.
Fixed structural refactoring commands, folder copying bugs, and stale type library references.
Connectivity & Maintenance
Updated Eclipse Milo to v1.1.3 and fixed the P2 update site to include OPC UA and experimental features.
Removed dead code and added a CodeQL GitHub Action workflow for security scans.
Enhancements and Fixes in 4diac FORTE
New Function Blocks & Library Enhancements
Added E_D_FF_ANY to allow data latching for any data type instead of just booleans.
Introduced LTIME variants for standard timer blocks (FB_TOF, FB_TON, FB_TP).
Upgraded E_TP pulse timers to use precise rising-edge triggering (E_R_TRIG).
Implemented standard array handling blocks (F_LOWER_BOUND, F_UPPER_BOUND, F_LEN_ARRAY).
Testing & Bug Fixes
Created a dedicated forte_systemtest executable to separate system tests from regular runtime builds.
Added delegate connection tests and fixed test-suite memory crashes caused by uninitialized testing blocks.
Fixed data casting and string copying errors inside the Modbus communication layer.
Added a CodeQL analysis workflow to check incoming pull requests for bugs.
Many thanks to all contributors for their work and their feedback! [Less]
|