The Eclipse 4diac community is happy to announce the release of Eclipse 4diac 3.1. This release brings improvements to both 4diac IDE and 4diac FORTE, with a strong focus on usability, maintainability, and engineering efficiency for IEC 61499-based automation systems.
Eclipse 4diac provides an open source infrastructure for distributed industrial process measurement and control systems based on IEC 61499, and 3.1 continues that mission by making day-to-day development smoother and large projects easier to evolve.
A release focused on engineering experience
For 4diac IDE, the 3.1 release focuses on improving the development experience in several practical areas. Highlights include improved struct member access, enhanced refactoring, a modernised user interface with better HiDPI and dark mode support, improved graphical editing interactions, more stable type hashing, and stronger archive extraction security. On the runtime side, 4diac FORTE adds architectural cleanups and performance improvements, including a modularised IEC 61131-3 function library, memory optimisations, OPC UA improvements, and runtime enhancements for function blocks and composite connections.
This is important because many IEC 61499 applications are not small demos. They are long-living engineering assets that grow over time, depend on reusable types, and need to be updated without breaking existing systems. In that context, features such as better refactoring, clearer project structure handling, and more robust data-type support are not cosmetic extras. They directly affect how safely teams can evolve real automation software.
Better support for structured data and large projects
One visible improvement in 4diac IDE 3.1 is the strengthened support for structured data. The F_MOVE block and other generic variables now fully support member access pins, which makes it easier to work with structured data types directly in engineering models. The release also improves follow/go-to-pin handling for nested members and validates connections against the underlying struct field type. Together, these changes reduce friction when working with increasingly complex data structures in IEC 61499 applications.
Another especially relevant improvement is the enhanced refactoring support. Move and rename refactoring for folders now automatically updates type references and package names. This may sound like a small feature at first glance, but for larger projects, it is a major usability gain. Library structures and package hierarchies tend to evolve over time, and manual cleanup after moving types is both tedious and error-prone. By automating these updates, 4diac IDE 3.1 makes project restructuring much safer and more predictable.
Stronger foundations for library management
This release direction matches very well with the ongoing work around library management in IEC 61499. In practice, reusable function block types and data types are the foundation of larger engineering projects, but they also create maintenance challenges. Once a type changes, engineers often need to adapt dependent instances, update connections, resolve conflicts, and verify whether applications still remain valid. Our work on IEC 61499 library management addressed exactly this problem by proposing modules, versions, namespaces, and explicit dependencies as a better foundation for organising and updating type libraries.
Seen from that perspective, 4diac IDE 3.1 is an important step forward. The release does not just add isolated features; it improves the overall handling of larger and more structured projects. Better refactoring support, better handling of structured data, and a more robust UI all contribute to the same goal: helping engineers manage complexity as their IEC 61499 applications and libraries evolve. That is exactly where library management becomes a release topic rather than only a research topic.
From hidden errors to visible, fixable issues
Another area where this broader direction becomes visible is error handling. Our earlier work on IEC 61499 in Eclipse 4diac IDE focused on making errors and inconsistencies visible directly in the graphical environment instead of leaving them hidden in the model representation. The central idea was simple: engineers should be able to open, inspect, and repair broken applications in the graphical editor, rather than being forced into manual fixes outside their normal workflow.
That same philosophy fits well with the overall theme of 4diac IDE 3.1. The release improves error navigation, graphical interaction, and robustness while also strengthening the internal handling of references and structured data. In other words, 3.1 helps make project evolution more transparent and less fragile. For users, this means fewer hidden surprises when restructuring projects, changing types, or working with more complex models.
Refactoring as part of the bigger release story
The same applies to refactoring support. Our work on updating and refactoring modularised IEC 61499 libraries, as well as more recent work on repair-integrated refactoring in typed block-based modeling languages, addresses how type-level changes can be combined with guided repair so that models remain consistent while they evolve. That is especially relevant in IEC 61499, where small interface changes can have wide effects across many instances.
The release strengthens exactly the areas that matter for model evolution: project restructuring, handling of complex data, editor robustness, and runtime modularity. Library management and refactoring support fit naturally into this story because they address the same engineering reality: industrial automation software must remain maintainable over time.
Improvements across the full toolchain
This release story also works well because it is not limited to 4diac IDE. In 4diac FORTE, the 3.1 release modularises the IEC 61131-3 function library, improves memory behavior, reduces unnecessary allocations through std::string_view, and refines OPC UA alarm handling and namespace management. Together with the 4diac IDE improvements, this shows that Eclipse 4diac 3.1 is not just polishing surface details. It is improving maintainability and scalability across the engineering toolchain and the runtime platform.
That gives the release a very coherent message: better project handling in 4diac IDE, cleaner modularisation in 4diac FORTE, and a stronger foundation for evolving large IEC 61499 systems in a disciplined way.
Join our webinar in May
To continue this discussion, we will host a webinar in May focused on library management in Eclipse 4diac. The session will show how structured libraries, explicit dependencies, and improved maintenance workflows can help engineers manage IEC 61499 projects more effectively. We will also give a short look at refactoring support and error-guided repair, while keeping the main focus on library management as a practical topic for everyday engineering work. The webinar will take place on 26 May at 2 PM CEST.
With Eclipse 4diac 3.1, the project continues to improve both the engineering experience and the runtime foundation for open IEC 61499-based automation. For users working on real-world, long-living systems, this makes this release especially relevant.
