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
andF_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
andutils-3.0.0
.
- Added missing dependencies for
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
- Removed obsolete CMake options:
-
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.
- Split the type library API into public and private parts; replaced
-
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.
- Fixed the
Many thanks to all contributors for their work and their feedback!
Cheers,
The Eclipse 4diac Team