.

Release Notes: CODESYS V3.5 SP21

Key Issue Type Summary Resolution Note
CDS-93210 Bug

Smart coding: Declared variable not suggested although "List components immediately when typing" is ON

Duplicate [[GENERAL]]
This issue duplicates CDS-86947 and is fixed with SP20 Patch 5
CDS-93169 Improvement

MemBlockMan: Add and use Reference to CAA MemBlockMan

Won't Fix [[GENERAL]]
The "Memory Block Manager (CODESYS)" library remains in the collection for CODESYS Essential. It is managed logically via the BASLIB package.
CDS-93144 Bug

RTE: ECAT Wiederanlauf Slaves nach powerfail nicht möglich

Fixed
CDS-93102 Bug

CLONE - LMM: Subsequent OnlineChange leads to an exception on second PLC

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-93086 Bug

CmpOPCUAServer: Overflow of PublishingInterval not handled correctly

Fixed
CDS-93037 Bug

CmpOPCUAServer: Handling of Anonymous OPC UA user does not work properly on RTE targets

Fixed
CDS-93018 Bug

ProjectCompare: Undo after accepting addition/deletion not working as expected

Duplicate [[GENERAL]]
The problem was fixed with CDS-93013.
CDS-93013 Bug

ObjectManager: Folder turns into project object after undo

Fixed [[GENERAL]]
Fix bug with wrong parent information used during undo of removed objects.
CDS-93008 Bug

CodeMeter Runtime does not start on Windows 10 Enterprise 2016 LTSB

Won't Fix [[GENERAL]]
The currently delivered CodeMeter runtime version is 8.20 (released with CDS-91379).
Since version 8.10 WIBU CodeMeter does not support Windows 10 Enterprise 2016 LTSB because of a bug, for which currently no fix is available.
As a result, Windows 10 Enterprise 2016 LTSB is not supported since CODESYS 3.5.20.40 until a fixed WIBU CodeMeter version will be released.
CDS-92943 Bug

CmpChannelMgr: flood of debug messages in logger when HMI ends connection

Fixed
CDS-92900 Bug

Compiler: Method based on a REFERENCE TO type leads to an error by writing a VAR_IN_OUT variable

Cannot Reproduce [[GENERAL]]
After CDS-89106 has been implemented this problem is no longer reproducible
CDS-92891 Bug

MultiCore: Download failed several fixed CPU core configured taskgroups with CmpTemplate

Fixed
CDS-92807 Bug

CmpOPCUAProviderIecVarAccess: NodeIDs are generated incorrectly on PPC targets

Fixed [[COMPATIBILITY_INFORMATION]]
This only affects symbols that are published via CommunicationManager. SymbolConfiguration is not affected.

The purpose of symbols published via CommunicationManager (instead of SymbolConfiguration) is that the NodeIds generated by the OPC UA Server are identical for the same IEC application on each PLC. This means that the clients do not need to be reconfigured when the PLC is replaced. This only worked on little endian systems. On big endian systems the NodeIds were slightly different. This has been fixed and the NodeIds are now identical regardless of the byte order.

For big endian systems, a compatibility code has been added that allows the “old” NodeIds to be accepted by the server. This allows clients that have stored the existing NodeIds somewhere to work without changes in most use cases. Only the comparison between stored and received NodeIds will cause problems. We assume that this is an atypical use case.
CDS-92800 Bug

LicenseManager: Parse license container serial number out of info string via "SN="

Fixed
CDS-92777 Improvement

[Dev] Update TargetFrameworkVersion of RepTool to v4.8

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
Changed required version of the .Net Framework for the RepTool.exe from V4.6.2 to V4.8
CDS-92773 Bug

Compiler: Error during online change after modifying function block

Duplicate [[GENERAL]]
Already fixed with CDS-90936
CDS-92722 Bug

Supervisor: Crash on unregister

Fixed
CDS-92677 Bug

CmpOpenSSLX509Cert: Version of csr is marked as unknown (2) but should be 1 (0x0)

Fixed
CDS-92075 Bug

Remove AxSHDocVw and SHDocVw from OnlineHelp.plugin references

Fixed
CDS-92063 Improvement

Setup OPCServer: New default: Gateway V2.3 accept local clients only

Fixed [[GENERAL]]
Gateway V2.3 is still part of the CODESYS OPC DA Server installation, but the default of the setup Property CDS_FIREWALL_GATEWAY23 is now <empty>.

For more details see CODESYS Security Advisory 2024-05, which is available on the CODESYS website:
https://customers.codesys.com/index.php?eID=dumpFile&t=f&f=18810&token=7288c344697bf37648e1ad475ea53a0a2bd9fc43&download=
CDS-92048 Bug

CmpOPCUAServer: OPCUA_Provider_ServerBasics does not allow to create monitored Items with uncertain status code

Fixed
CDS-92044 Improvement

Update InstallShield to latest version 2024 R1

Fixed [[GENERAL]]
InstallShield 2024 R1 is used to build the setups.
CDS-92042 Improvement

CmpAppBP: Extended logging necessary for breakpoint pool lock diagnosis

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
Extended diagnostic information available after:
- Set compiler define ENABLE_APPBP_DEBUG
- Extend logfilter in cfg-file:
[CmpLog]
CmpAppBP.Filter=0xFFFFFFFF
CDS-92038 Improvement

Device Categories: Change PROFINET Device Categories

Fixed
CDS-92037 Bug

CmpLog: Logger texts are not logged in CH_INIT_SYSTEM hook

Fixed
CDS-92026 Bug

Compiler: Unexpected behavior by using the CONSTANT keyword in a STRUCT definition

Fixed [[GENERAL]]
The CONSTANT keyword in a structure declaration will be ignored starting with compilerversion 3.5.21.0
New compiler warning C0580
CDS-92022 Bug

Compile: Not possible to use ALIAS on __SYSTEM.IQueryInterface for INTERFACE types

Duplicate [[GENERAL]]
Duplicate of CDS-91856
CDS-92011 Epic

CAN FD Preview

Fixed [[GENERAL]]
Caution: This is a preview release for CAN FD. There might be interface changes in next version.

To enable general CAN FD support set following define in CAADefines.h:
#ifndef CL2_CAN_FD
#define CL2_CAN_FD 1 /* enable CAN FD support */
#endif
Furthermore, a CANMinidriver has to implement CMD_CMDRV_FD additionally to CMD_CMDRV and register via CMD_Register2.

[[COMPATIBILITY_INFORMATION-OEM]]
Following macros were deleted:
CL2I_GetBlockDataPointer, CL2I_GetBlockTSP, CL2I_GetBlockNet, CL2I_SetBlockTSP, CL2I_SetBlockNet, CL2I_GetBlockSync, CL2I_SetBlockSync.
Use the corresponding structure members of CL2I_BLOCK and CL2_FD_BLOCK instead.
CDS-91991 Bug

CmpOPCUAServer: Session pointers provided by Session_Get and Session_GetByAuthenticationToken are used without resource locking / synchronization

Fixed
CDS-91989 Improvement

Integrate improvements to DeliveryManager from CDS_90551 back into trunk

Fixed
CDS-91948 Bug

PackageManager: ExternalCall always requires admin rights

Fixed
CDS-91939 Bug

CmpApp: AppStartApplication() parameter check for pApp=NULL missing

Fixed
CDS-91935 Improvement

Adapt xdp BPF example to work with VLAN tags

Fixed [[KNOWN_LIMITATIONS]]
This example bpf-program cannot be used in combination with Profinet. Only EtherCAT is supported for now.
CDS-91931 Improvement

Setup: Gateway: New default: Accept local clients only

Fixed [[GENERAL]]
For more information about the Gateway.cfg file see CDS-90834
The default of the setup Property CDS_FIREWALL_GATEWAY is now <empty>.

For more details see CODESYS Security Advisory 2024-05, which is available on the CODESYS website:
https://customers.codesys.com/index.php?eID=dumpFile&t=f&f=18810&token=7288c344697bf37648e1ad475ea53a0a2bd9fc43&download=
CDS-91930 Bug

Device Object: Object reference not set - in case a slave will be moved to a folder

Fixed
CDS-91925 Improvement

Package Manager: Dialog "Details" should be extended with certificate information

Fixed [[GENERAL]]
New tab within the details dialog of the package manager to show certificate information.
CDS-91901 Bug

Downloading Application: not all existing applications are shown with detailed informationor for editing/deleting

Fixed [[GENERAL]]
This fix adds an additional prompt to delete or keep unknown applications that are present on the PLC but not in the project. This prompt is triggered when a new application is downloaded.
This fix does not change the way how a reset of an application is done.
CDS-91898 Bug

CmpAppBP / x64 - RTE: Sporadic invalid opcode exception for breakpoint showing original code

Fixed
CDS-91894 Bug

Linux runtime returns error if called with "-v" option

Fixed
CDS-91889 Improvement

MBM: Without using CAA Memory Block Manager

Fixed
CDS-91885 Bug

VxWorks X86_64 : SysTimeRtcSet fails updating internal system clock

Fixed
CDS-91883 Bug

SysSafetyIoBase: SysSafetyMapShm functions shall not log any error return

Fixed
CDS-91870 Bug

SVG-Renderer: Security issues in OSS versions before (libcurl 8.11.1)

Fixed
CDS-91865 Bug

Default value not used for optional method input if it is used as end condition of a FOR loop

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-91863 Bug

[Scan] Missing Subdevice after Scan/Import

Fixed
CDS-91861 Improvement

[Dev] Improve loading of savecontext_profile auxiliary with CRLF

Fixed
CDS-91856 Bug

Compiler: Error while using __SYSTEM.IQueryInterface in combination with an alias

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-91853 Bug

Device, Editor: An array of DUT is not shown in PersistentVars editor when online

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-91844 Bug

Compiler: Unassigned Optional VAR_INPUT of method leads to compile error in a call with ARRAY[*] VAR_IN_OUT

Duplicate [[GENERAL]]
Already fixed with CDS-84503
CDS-91841 Bug

Runtime Documentation: Endless recursion occurred after entering a search text

Duplicate [[GENERAL]]
Duplicates CDS-88728
CDS-91840 Improvement

License Manager: Support "replace" action

Fixed [[GENERAL]]
Support subscription renewal with a changing set of licenses
CDS-91834 Improvement

MemBlockMan: Remove Reference to CAA Types and CAA Callback

Fixed
CDS-91829 Bug

CODESYSControl: Security issues in Expat versions before 2.6.4

Fixed
CDS-91825 Bug

CmpOPCUAProviderIecVarAccess: Wrong function to init OpcUa_NodeId

Fixed
CDS-91820 Improvement

CmpOPCUAServer: Cleanup RTS_OPCUA_SERVER_REPUBLISH

Fixed
CDS-91815 Bug

Redundancy Timeout values changed without notification of user

Fixed
CDS-91813 Improvement

Device-Scan Dialog: Cancel Scan

Fixed
CDS-91809 Bug

CmpRetain: DoubleBuffering not working as specified in case of ARM64

Fixed
CDS-91800 Bug

DeviceEditorEthercat: enabling/disabling many devices takes a very long time

Fixed
CDS-91793 Bug

SysTaskLinux: unset context only in signalhandler

Fixed
CDS-91786 Bug

PlugDevice: Dialog Select Safety PLC appears

Fixed
CDS-91777 Bug

FBD: Monitoring of operator output not correct

Fixed
CDS-91776 Bug

CODESYS Key: ECDSA pyhsical side channel vulnerability

Won't Fix [[GENERAL]]
Fix was provided by WIBU-SYSTEMS AG. No Fix by CODESYS necessary --> "Won't Fix".
For more details see:
https://customers.codesys.com/index.php?eID=dumpFile&t=f&f=18751&token=67384bc706d606a395afb3c0a0a794e49cc8d27d&download=
CDS-91773 Bug

Build Command was re-added (on accident)

Fixed
CDS-91771 Bug

Last installation overwrites an existing file link (same CODESYS version) on desktop

Won't Fix [[GENERAL]]
The behavior is as designed. The links to CODESYS in the Start menu differ only in the folder in which they are located, so the name of the link on the desktop is also the same and contains the link to the last installation.
The links for both versions can still be found in the start menu and can also be started from there.
CDS-91768 Bug

CmpAppBP / x64: Sporadic invalid opcode exception for breakpoint showing original code

Fixed
CDS-91764 Bug

CmpIecTask::GetTaskState wrong check for TS_NOT_CREATED

Fixed
CDS-91762 Improvement

CmpOPCUAServer: Speed up publish, when bMoreNotifications is set

Fixed
CDS-91761 Bug

CodeUsageTracker - Unhandled exception by copy-pasting code

Fixed
CDS-91756 Improvement

LibMan: Provide support for automated testing of several GUI components

Fixed
CDS-91755 Improvement

CmpOPCUAServer: Stop sampling of monitoredItems before closing all sessions on shutdown

Fixed
CDS-91754 Bug

CmpOPCUAServer: Datatype definition is not copied when calling OpcUaServerRegisterNodes

Fixed
CDS-91747 Improvement

PLCHandler: Set all pointers to NULL after the associated object has been deleted

Fixed
CDS-91743 Bug

DM / VxWorks : Runtime rebuild of customer source delivery not possible

Fixed
CDS-91741 Bug

RTE: Possible path traversal by Placeholder via symlink

Fixed
CDS-91739 Improvement

Reserve new IEC-keywords

Fixed
CDS-91736 Bug

Open Project: Message "Illegal characters in path" on extracting certain projectarchive

Fixed [[Known Limitations]]
The cause of this behaviour is a bug in a .Net assembly that prevents saving or extracting project archives that contain device descriptions with illegal path characters in their name.

New project archives can be saved and extracted with such devices.
Existing project archives that contain such device descriptions can be extracted only partially.
CDS-91728 Bug

LicenseMetrics: TaskGroupAssignmentMetric is not updated correctly after changes to Task Configuration

Fixed
CDS-91726 Bug

Debugging: Deadlock debugging test on Linux ARM + QNX

Cannot Reproduce
CDS-91721 Bug

Remove command Build from menu

Duplicate
CDS-91716 Bug

Linux no backtrace available in case of exception caused by SIGABRT

Fixed
CDS-91714 Bug

CmpRedundancy: Mark some API funtions as DO NOT USE and deprecated

Fixed
CDS-91711 Bug

PLCHandler: Uninitialised variable in PLCUtil:ReadLine

Fixed
CDS-91703 Improvement

Breakpoints: Provide support for automated testing of the Callstack view

Fixed -
CDS-91695 Improvement

Linux Targetvisu: startuptimeout for SysWindowMainTask should be overloadable

Fixed [[GENERAL]]
The startup timeout of the Targetvisualization can be adjusted by runtime builds using the following compiler define:
#ifndef SYSWINDOWMAINTASK_STARTUP_TIMEOUT_MS
#define SYSWINDOWMAINTASK_STARTUP_TIMEOUT_MS 10000
#endif
CDS-91688 Bug

Linux: Downgrade disturbing logger warnings to LOG_DEBUG

Fixed
CDS-91680 Bug

SysTimeRtcVxWorks.c : Decision criteria for TIMEZONE handling (timegm)

Fixed [[GENERAL]]
From VxWorks version SR0630, all timezone relevant functions implicitely respect the TIMEZONE environment variable in the new format:

:name_of_zone:name_of_daylight_zone:hhmm:daylight_start:daylight_end
for example:
* :EST:EDT:-0500:031502-0:110802-0
* - EST - Designation for the standard time zone
* - EDT - Designation for the alternative time zone, e.g. daylight savings time zone
* - -0500 - EST is 5 hours and 00 minutes behind UTC
* - 031502-0 - EDT begins on the first Sunday before (-0) 15 March (0315) at 02:00 (02)
* - 110802-0 - EDT ends on the first Sunday before (-0) 8 November (1108) at 02:00 (02)

[[KNOWN_LIMITATIONS]]
From VxWorks version SR0630, setting the timezone by SysTimeRtcSetTimezone() is not supported any longer, because the new format of the TIMEZONE environment variable cannnot be handled by this existing interface.
CDS-91658 Improvement

Add Interface for testdevelopment for the WatchList

Fixed
CDS-91657 Bug

CmpOpenSSL: Incorrect implementation of CryptoBase64Encode and CryptoBase64Decode

Fixed
CDS-91652 Bug

License Manager, Dongle: License upgrade from CODESYS Control Standard L to CODESYS Control Performance M fails

Cannot Reproduce
CDS-91643 Bug

CmpOpenSSL: Allow UTF-8 strings as name entry and document it

Fixed
CDS-91573 Improvement

CmpMemBlockDict: option to enable/disable implicit locking

Fixed
CDS-91571 Improvement

CmpRedundancyAcyclic: Event when the acyclic data transfer module can be used or can no longer be used

Fixed
CDS-91570 Bug

Communication settings: Exception in Echo Service

Fixed
CDS-91554 Bug

CmpCodeMeter/CmSDK: Long timeout in select() can lead to unavailable runtime and shutdown

Fixed
CDS-91550 Improvement

CmpOPCUAServer: MonitoredItem_ModifyQueue MemPoolLock(pMonitoredItem->hNotificationQueue); prior to MemPoolCreateDynamic()

Fixed
CDS-91549 Bug

IoDrvSafetySP: Driver fails, when the shared memory was not created, yet

Fixed
CDS-91539 Improvement

CmpOPCUAServer: EventMonitoredItems; Allow a higher limit for MaxQueueSize

Fixed
CDS-91537 Bug

CmpOPCUAServer: EventItems: MonitoredItemQueue OverflowEvent missing

Fixed
CDS-91526 Improvement

Provide information/interface for rebranded and renamed libraries for customer update mechanism

Fixed [[GENERAL]]
The new Interface IHardCodedUpdateProvider provides information for renamed libraries.
CDS-91520 Bug

CmpOPCUAServer: Memory Leak if MaxNotificationsToReturn is set to 1 and multiple monitored items in one subscriptions

Fixed
CDS-91518 Improvement

Delivery manager: create spdx SBOM with spdx_tools

Fixed
CDS-91513 Epic

Parser for any kind of structured text

Fixed
CDS-91503 Improvement

License Manager: If the container is broken, CODESYS should provide a clearer notification

Fixed [[GENERAL]]
A broken wibu license container is displayed by a explici icon.
A broken wibu license container can not be selected when installing a license.
CDS-91498 Bug

Arimo Font: Add copyright text

Fixed
CDS-91482 Bug

VxWorks X86_64 : SysTimeRtcSet fails updating HW RTC

Fixed
CDS-91481 Bug

Package Manager: Issues when installing visu stylesheets

Fixed [[GENERAL]]
Abort package installation if a component item requires CODESYS Visualization but the package is not installed.
CDS-91466 Bug

CmpCodeMeter: Not activated usage period license is displayed as invalid in license manager

Fixed
CDS-91445 Bug

CmpLog/SysFile: Logmessages in file have a unexpected trailing NULL char

Fixed
CDS-91434 Improvement

TargetSetting, Application: Add target setting to make boot_project configurations readonly

Fixed [[GENERAL]]
Created new targetsetting runtime_features\boot_project\read_only_settings which can be used to make all boot_project setting for the device not editable by the user.
CDS-91427 Improvement

package, plugin, GUID: include clear names to GUID Bit integer declarations

Fixed [[GENERAL]]
Read and write the package name as an attribute into a controlled extension in the profil.
CDS-91425 Improvement

TargetSetting: Wrong documentation for "memory-layout\\areas\\area_{0}\\flags"

Fixed
CDS-91419 Bug

CmpSchedule: SchedRegisterExternalEvent() adds already existing events to pool

Fixed
CDS-91406 Improvement

MemBlockMan: IDisposable should be offered for general reuse

Fixed
CDS-91397 Bug

SysCpuHandling X64 Windows: mitigation for split-lock problem for SysCpuAtomicCompareAndSwap and SysCpuAtomicAdd

Fixed
CDS-91393 Improvement

License Manager: When mixing the old license with the ABL license, the license is not recognized

Cannot Reproduce [[GENERAL]]
Mixed installation of new Application Based License (ABL) beside legacy runtime license is prohibited already by license central on the same license container!

ATTENTION:
An ABL license has no effect, if a legacy runtime license is already installed on another license container!!
CDS-91383 Bug

CmpRedundancy: Valid user interactions lead to error log messages

Fixed
CDS-91380 Improvement

RedundancyConnectionItf: Extend interface description for dual link feature

Fixed
CDS-91377 Bug

CmpCodeMeter: Container field "SerialNumber" broken for service SRV_CODEMETER_READ_CONTAINER_LIST

Fixed
CDS-91364 Bug

Precompile, FalsePositive: Initialisation of constant variable is not constant

Fixed
CDS-91361 Improvement

Add Library: Library version and vendor should be displayed

Fixed
CDS-91360 Improvement

ComponentManager: Log (un)loading of IEC components to PLC log as LOG_INFO

Fixed
CDS-91352 Bug

EVTPARAM_CmpRedundancySwitchState is not correctly documented

Fixed
CDS-91351 Bug

Security issues in WibuCmNet versions before 8.20

Fixed [[GENERAL]]
WibuCMNet has been updated to version 8.20.6539.500.
CDS-91350 Bug

Security issues in CodeMeter versions before 8.20

Fixed
CDS-91349 Bug

[Test] ApUnitTestFramework does not complete deferred plugin installation during test execution

Fixed
CDS-91348 Improvement

CmpHilscherCIFX: Remove unused CAA Libraries

Fixed
CDS-91343 Bug

OnlineManager / ABL: Online download should not touch running application if license not sufficient

Fixed
CDS-91340 Bug

ProjectInfoEditor: Can not display library categories created by an add-on

Won't Fix [[GENERAL]]
Issue is not required anymore.
CDS-91339 Bug

CmpRedundancy: Invalid typecast in ReadSettings for Profibus setting

Fixed
CDS-91323 Bug

Security issues in System.Data.SQLite.Core versions before 1.0.119.0 containing sqlite 3.46.1

Fixed
CDS-91322 Bug

CmpOpenSSL: Security issues in OpenSSL versions before 3.2.3

Fixed
CDS-91321 Bug

Exception while adding box type of an empty box via Input Assistant

Cannot Reproduce [[GENERAL]]
Not reproducible in actual 3.5 SP21
CDS-91318 Bug

CODESYSControl: Security issues in Expat versions before 2.6.3

Fixed
CDS-91317 Bug

WhiteParseTree: Support TypeExpressions in Implementation

Fixed [[GENERAL]]
The parser now produces IWhitePrefixOperatorExpressions instead of IWhiteSizeOfExpression for the SIZEOF operator, correcting a previously misdefined interface type.
CDS-91314 Improvement

OnlineDevice: Support bypassing the "Check Target Ident" service

Fixed [[GENERAL]]
Add OEMCustomization-Hook for section "OnlineManager" with key "RequestedDeviceIdentification". Returns a Tuple<uint, uint, uint> to bypass target device information settings, to log in to unmatching device. Consider the order from the tuple.
Item1 corresponds to the requested device type, Item2 corresponds to the requested device ID and Item3 corresponds to the requested device version.
CDS-91312 Bug

Licence Manager: The offline license activation fails when upgrading from VISU S to VISU M

Cannot Reproduce [[GENERAL]]
No longer reproducible. However, we are still in contact with Wibu in case such cases become more frequent.
CDS-91304 Bug

CmpRedundancy.library: Remove license request to productcode=0

Fixed
CDS-91299 Improvement

LibDevSummary: Applications of the Memory Block Manager

Fixed
CDS-91296 Improvement

LibDevSummary: Revising Dynamic Generation of FB Instances

Fixed
CDS-91291 Improvement

Online configuration change feature: Create license for 3s.dat and target setting

Fixed [[GENERAL]]
New runtime feature available to enable online configuration changes in the device description:
OnlineConfigurationChange.xml

ATTENTION:
In the target profile for a device manufacturer, you have to specify the corresponding license:
<Licenses>
<License>Online Configuration Change</License>
</Licenses>
CDS-91289 Bug

M4 Export - Order of typedefs in M4 unstable (for Properties)

Fixed
CDS-91288 Improvement

License Manager: Reduce API call CmGetBoxContents

Fixed
CDS-91282 Bug

[Targetvisu]: TV will crash (no response) during fast Visupage change on RTE

Fixed
CDS-91277 Bug

FB with EN/ENO has compile errors if used in a Transition

Fixed
CDS-91276 Bug

CmpOPCUAStack: Decoder API can not handle extension objects

Fixed
CDS-91270 Bug

Customize: The menu bar cannot be customized.

Won't Fix [[GENERAL]]
Our philosophy with the menu is, that each command decides for itself wether it is visible or not. Menus, that do not have any visible elements, are not shown either.
CDS-91269 Bug

ObjectManager: Profile information is just limited to V3 projects

Fixed [[GENERAL]]
New interface IProjectFormatProfileSupport has been introduced.
CDS-91262 Bug

NVL: Empty compiler error for NVL containing struct variable where struct is undeclared

Fixed
CDS-91256 Improvement

OnlineDevice: Error code should be reported when writing variables fails

Fixed
CDS-91254 Improvement

Linux QS Targets: Use dynamic logstrings in cfg

Duplicate [[GENERAL]]
Duplicate of CDS-91215
CDS-91251 Improvement

Redundancy: Define and document a minimum tcp buffer size

Fixed
CDS-91248 Bug

'Check All Pool Objects' function does not register all 'non-existing variables' within a library

Duplicate [[GENERAL]]
Duplicates CDS-88986
CDS-91246 Bug

LongPathFile: Exists does not check for <null>

Fixed
CDS-91245 Bug

WhiteTreeParser: Allow Expressions in SizeOf Operator

Duplicate
CDS-91244 Bug

Visu: If UTF-8 and Unicode is enabled at same time, text ids with umlaut are not working

Fixed
CDS-91241 Bug

WhiteTreeParser: Wrong parsing of pragma statements with nested curly braces

Won't Fix [[GENERAL]]
Pragmas can never be nested in-between curly braces. The second '}' comes from the lexer as an error token and is intended behaviour.
The example from above was false. The correct compiler check pragma looks like this: {IF COMPILERVERSION(<, '3.5.13.0')}
CDS-91240 Improvement

WhiteParseTrees: Add AccessSpecifier support for InterfaceBuilder

Fixed [[GENERAL]]
Add Access Specifier tokens to Factory of WhiteInterfaces.
CDS-91238 Bug

"Create application from XML Code file" does not import warning disable/restore pragmas

Fixed
CDS-91237 Improvement

WhiteParser: Fix parser issues for correct syntax

Fixed [[GENERAL]]
- Added support for pragmas and comments in POU Declarations
- Added support for access specifiers in interfaces
- Added support for `THIS` and `SUPER` keywords
CDS-91236 Bug

runtime doesn't startup with --printlostcycles option

Fixed [[GENERAL]]
Removed the following command line options for the runtime binary due to them beeing obsolete:
-d --debug
--printlostcycles
CDS-91227 Bug

PLCopenXML import does not work as expected

Fixed
CDS-91224 Bug

CmpOPCUAClient: Crash when server closes socket before responses of discovery service returns

Fixed
CDS-91222 Bug

Linux: SysFileCopy - possible data loss

Cannot Reproduce [[GENERAL]]
already fixed with CDS-80891 => Cannot reproduce in affected version
CDS-91221 Bug

RTS: Possible leak in CmpNativeControlExample

Fixed
CDS-91220 Bug

Online comparison application: difference is displayed, but no application changes are made beforehand

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-91218 Bug

VxWorks SysSockPing: ReplyTime not updated

Fixed [[GENERAL]]
SysSockPing now measures the time it takes to ping another device. In case of an error the reply time will be 0. The passed timeout is ignored but must be bigger than 0, otherwise the function will return ERR_PARAMETER. This is to keep compatibility with previous implementations.
CDS-91214 Bug

CANL2: PoolGetSize and XChgGetSize calls must use aligned block sizes

Fixed
CDS-91213 Improvement

TaskConfiguration: Filter mechanism(s) for 'Variable usage' view

Fixed [[GENERAL]]
New filter functionality in the "Variable Usage" view of the task configuration
- filter by variable name
- filter by variables used by different tasks
- filter by variables written by different tasks
CDS-91208 Bug

Wrong definition of the PRI_X64 macro for 64-bit platforms

Fixed
CDS-91207 Bug

CmpOPCUAServer: Sporadic error of CTT subscription testcases

Fixed
CDS-91204 Improvement

CmpMemGC: Allow configurable size of memory bounds

Fixed
CDS-91200 Bug

CmpXMLParser returns ENCODING ERROR with updated expat (2.6.2) library

Won't Fix [[GENERAL]]
Customer uses older version of expat built in in VxWorks.
Update of expat in VxWorks solved the problem!
CDS-91199 Bug

Change Runtime Password Policy allows setting an invalid minimal length of 100

Fixed
CDS-91197 Bug

Install RTE a selection for Softmotion RTE is available

Fixed [[GENERAL]]
It is no longer possible to choose CODESYS SoftMotion RTE during installation.
CDS-91192 Improvement

CAAFile: Improve robustness - check for NULL pointers

Fixed
CDS-91189 Improvement

LMM: New attribute for evaluating InhibitOnlineChange only with changes

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
New attribute "allow_add_or_remove_signature", which can be used in conjunction with SignatureFlag.InhibitOnlineChange.
In this case an online change is not inhibited if the signature is added to/removed from the (pre)compile context.
CDS-91187 Bug

Simulation: Wrong device identification is used for reading custom online device/application guids

Fixed
CDS-91185 Bug

AppBasedLicenses: Incomprehensible error message when project is too big for empty PLC

Fixed
CDS-91181 Bug

Linux: Exception in SysProcessExecuteCommand2

Fixed
CDS-91180 Bug

Visu, Overlay: SetClientSize triggered twice on window startup

Duplicate [[GENERAL]]
This issue duplicates CDS-91179.
CDS-91179 Bug

Visu, Targetvisu, Performance: Investigate multiple calls to ClientObjectRemoveAll

Fixed
CDS-91175 Bug

DeviceEditor: Task deployment does not show all data

Fixed
CDS-91172 Improvement

Visu, Webbrowser Element, support relative path for pdf file in targetvisu

Fixed [[GENERAL]]
Relative paths are now supported. These are relative to the visu folder.
CDS-91167 Improvement

[Product discontinuation] [Remove Product from Setup] remove IIoDrvPNAcyclicServices from setup

Fixed
CDS-91166 Bug

Deviceobject: Import of Default values for array does not work

Fixed
CDS-91157 Improvement

Build: PLCHandler: Remove obsolete Binaries from SDK

Fixed
CDS-91154 Bug

Internal properties are not hidden in online mode and value can be changed via online monitoring.

Fixed [[GENERAL]]
Internal properties from compiled libraries are no longer displayed in the watch window. The internal properties are still displayed if a soure library is used.
CDS-91149 Improvement

[Technical Debt] Move implementation of ITaskConfigUndoRedoPerformer from class TaskConfigController into an own class

Fixed
CDS-91148 Bug

CODESYS Control Runtime: Communication channels are not freed in rare cases

Fixed
CDS-91145 Improvement

Remove WebServerSSL documents from Setup

Fixed
CDS-91142 Improvement

[Technical Debt] Rework LanguageModel contribution of TaskConfigObject

Fixed
CDS-91141 Improvement

Update Notification: Sort notifications by date

Fixed
CDS-91129 Bug

Missing input in event function leads to wrong error message

Fixed [[GENERAL]]
1.There is now a comment in the generated function that the interface must not be changed.
2. Double-clicking on the compile error opens the “System Events” tab in the task configuration. Selects the affected event. The icon of the event is colored red.
CDS-91125 Bug

Simulation mode - Forced input - prepare value leads to unhandled exception

Fixed
CDS-91118 Improvement

m4 Export : IEC construct ALIAS / Type not supported

Fixed
CDS-91116 Bug

SysFile/SysDir: Possible path traversal by Placeholder via symlink

Fixed
CDS-91115 Bug

Project Inspection: Radio button selection changes on the "Project Inspection" window when user clicks "Back" and then "Next" button

Cannot Reproduce
CDS-91114 Improvement

Remove library MemoryBarrier from setup

Fixed [[COMPATIBILITY_INFORMATION]]
The internal library MemoryBarrier has been removed from CODESYS. This library is no longer needer. Please use the compiler operator __MEMORYBARRIER instead.
CDS-91113 Bug

MulitCore settings in .cfg may not work as expected

Cannot Reproduce
CDS-91106 Improvement

PackageManagerCLI: Log more exception information

Fixed [[GENERAL]]
The PackageManagerCLI now writes the StackTraces of Exceptions to the Window EventViewer.
CDS-91100 Bug

Compile: BIT_TO_REAL causes an exception

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-91099 Bug

[PLCopenXML] Error during import PLCopenXML

Won't Fix [[GENERAL]]
This issue will not be fixed because the functionality is as designed. In order to import the XML content, the top-level node with the project name needs to be selected and *not* the node of the device object below.
CDS-91092 Bug

Wrong value is monitored when using GVL with same name in pool and app

Fixed
CDS-91090 Bug

Persistent Variables: Data type of the mapped variable does not match the original data type

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-91089 Bug

Download ends with an “Invalid result package”.

Cannot Reproduce
CDS-91088 Bug

OPC UA Server: Statuscode within sampling is not evaluated correctly

Fixed
CDS-91085 Bug

Library Manager: Unbound Placeholders are not resolved when opening project

Fixed [[GENERAL]]
The check for unresolved unbound placeholders in the "Project Environment" dialog (implemented with CDS-65857 for V3.5 SP16, completely removed with CDS-79116 for V3.5 SP18) is now partially available again:
- no versions are determined during the check
- there is only an update option to the newest version of the library
CDS-91079 Bug

Compiler: Internal error 2 with online change

Cannot Reproduce
CDS-91063 Improvement

Add Setting and Define to disable safe-mode

Duplicate [[GENERAL]]
Duplicates CDS-74353
CDS-91059 Improvement

SVG-Renderer: Upgrade builds to recent VS versions

Fixed
CDS-91057 Bug

Qualify expression removes GVL identifier from certain expressions

Fixed
CDS-91051 Bug

CmpCodeMeter: Disconnect and connect a CmRuntime does not reconnect licenses

Fixed
CDS-91047 Improvement

FastOnlineChange: Various minor performance improvments

Fixed
CDS-91042 Bug

Util.SplitDateTime: Splitting of timestamp not working

Cannot Reproduce
CDS-91039 Bug

CmpIoMgr: cleanup Buscycle semaphore in case of exception (of IoDrv)

Fixed
CDS-91034 Improvement

Refactor reverse instance path scanner

Fixed
CDS-91033 Improvement

Linux: IEC task start offset - configuration from IEC code

Fixed [[GENERAL]]
- New IEC CmpIecTask.library functions available to set and get IEC task offset

FUNCTION IecTaskSetStartOffset : RTS_IEC_RESULT
VAR_INPUT
/// IEC task name
sIecTaskName : STRING;
/// Start offset in milliseconds from calculated task start
startOffsetUs : DINT;
END_VAR

The function must be called for all synchronized tasks, even if the offset is 0.

[[KNOWN_LIMITATIONS]]
- Only supported for linux targets yet! Has no effect on other platforms!
- A maximum of 30 tasks can be synchronized. Any synchronized task with an index higher than 29 will be ignored.
- Task cycle may not be greater than 500ms.
- The cycle time of each synchronized tasks must be a divider of 1s (i.e. 500 ms, 250ms, 200 ms etc.).
- Only for supported for tasks with realtime priority.
CDS-90980 Bug

Exception in white parsetrees in library

Duplicate [[GENERAL]]
Duplicates CDS-90233
CDS-90979 Bug

Compile Error: Internal error if interface method returns type of an implementation

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-90978 Bug

SysCpuHandling X64 VxWorks: mitigation for split-lock effect needed in atomic functions

Cannot Reproduce
CDS-90977 Bug

SysCpuHandling X64 RTE: mitigation for split-lock effect needed in SysCpuTestAndSetBit()

Fixed
CDS-90976 Bug

SysCpuHandling X64 Windows: mitigation for split-lock effect needed in SysCpuTestAndSetBit()

Fixed
CDS-90974 Bug

SysCpuHandling X64 Linux: mitigation for split-lock effect needed in atomic functions

Fixed
CDS-90970 Bug

Linux: sporadic Access Violation on Reset after OS Exception

Duplicate [[COMPATIBILITY_INFORMATION-OEM]]
With rework of SysTaskLinux the end and exit of a SysTask was changed. A new signal SIG38 and a new signalhandler is used to sync the end of a task.
This prevents sporadic race conditions at cleanup of tasks.
CDS-90967 Bug

Compiler: Warning disable pragma does not work for some warning IDs

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90966 Improvement

Compiler: Unused warning IDs in current compiler plugin

Fixed
CDS-90965 Bug

Compiler: Access violation for bit access to unaligned data type

Fixed [[GENERAL]]
Fixed with compilerversion >= 3.5.21.0
Note: The attribute 'pack_mode' should not be used.
As described in the documentation, we strongly advise against using the “pack_mode” attribute, as the behavior depends exclusively on the processor used and cannot be executed with high performance. Furthermore, it is not always possible for the compiler to ensure alignment for memory access with “pack_mode”. For example, every access via a pointer would have to be checked for an alignment at runtime.
CDS-90964 Bug

[DeviceObject]:Plug-Device Dialog does not update properly

Fixed
CDS-90956 Bug

Compiler: Warning C0370 is no longer reported

Fixed [[GENERAL]]
The warning C0370 was reported, when an instance was called more than once in a single cycle. We found out, that this warning is not used, so it was removed.
CDS-90953 Bug

CmpUserMgr: CheckPasswordPolicy counts number of unique characters wrong

Fixed
CDS-90951 Bug

IDE Crash when clicking cancel in project password dialog

Fixed
CDS-90947 Improvement

ABL: Follow-up time: Do not reset immediately follow-up time at second license loss

Fixed [[GENERAL]]
Runtime is now more tolerant against multiple license losses and keeps a gained follow up time until it would run out.
CDS-90946 Improvement

ABL: Follow-up time: Implementation to suppress single license request losses

Fixed [[GENERAL]]
Short license losses are now suppressed.
CDS-90943 Improvement

Breakpoints: Replace Sandbar with default toolbar

Fixed
CDS-90942 Improvement

Improve UDP library performance

Fixed
CDS-90939 Bug

Project Inspection: Creating new installations for SP17 projects does not work

Fixed
CDS-90936 Bug

Compiler: Compile error on Online Change when adding variable to FB which contains array with variable length

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-90913 Bug

Download missing device description: No command available to download from 3rd party server

Won't Fix [[GENERAL]]
Only deivces descriptions with CODESYS versions could be downloaded from the server.
Foreign description files like ESI, GSDML, ESD could not be downloaded due to legal reasons.
Therefore won't fix.
CDS-90908 Bug

PLCopenXML with AddDataProvider can't export explicit connector types

Fixed
CDS-90905 Improvement

Suppress storage version upgrades

Fixed [[GENERAL]]
Storage upgrade will be suppressed if "Enforce project compaitiblity to '<profile>'" is set in the project information. The user is able so "Do not ask again in this session" when the first upgrade is requested. This feature is only supported for libraries.
CDS-90889 Bug

M4 Export - Order of typedefs in M4 file is unstable for interface sub-elements

Fixed
CDS-90886 Bug

False Positive, Precompile: Error "Identifier not defined" due to ALIAS

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90885 Improvement

Update AxProtector to 11.40

Duplicate [[GENERAL]]
Duplicates CDS-88917.
CDS-90883 Bug

False Positive, Precompile, SHL: Error when trying to initialize constant

Fixed
CDS-90878 Bug

Compile: No error message for data structure member on direct address

Won't Fix [[GENERAL]]
The compiler is instructed to place the variable at a fixed memory location and therefore the component on a direct address is treated like a static variable. This behaviour is intended.
CDS-90870 Bug

Compile: Internal error 2 during OnlineChange

Fixed [[GENERAL]]
Fixed for Compiler Version >= 3.5.21.0
CDS-90866 Improvement

Online Help: Use standard Windows help viewer for CHM-based legacy help format

Fixed
CDS-90856 Bug

SimulationRts.cfg: PlaceholderFilePath configuration is wrong and therefore not working

Fixed
CDS-90853 Improvement

Use Geometry() of display directly without rotation

Fixed [[GENERAL]]
There's a new option "MappedScreenGeometry" in section [SysGraphicWindowQt] in order to allow disabling the automatic geometry mapping regarding the current orientation of the device.
CDS-90851 Bug

OPCUA Server on Linux ARM - memory overwrite during Browse

Fixed
CDS-90848 Improvement

Log exceptions that occur while running precompile

Fixed
CDS-90846 Improvement

Compiler should detect abstract members in invalid places

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
The errors are now displayed also in the "Precompile" message cathegory.
CDS-90842 Bug

[Setup] Setups and Merge Modules have the wrong author

Fixed
CDS-90835 Bug

Go To Definition: Null ref exception when trying to browse cross references of certain type

Cannot Reproduce [[GENERAL]]
The library manager is opened and displays the ISimpleTree interface without an exception
CDS-90832 Bug

NetVars: Omitted Watchdog Exception during Onlinechange

Fixed
CDS-90831 Bug

CmpOPCUAServer: Potential Deadlock when calling Providers from different threads

Fixed
CDS-90823 Bug

Performance issue during library update

Duplicate
CDS-90819 Bug

Compiler: Defines in interfaces don't work correctly with AND or OR with more than two operands

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90817 Bug

Attribute 'subsequent' on function blocks does not work as expected

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90814 Improvement

License Metrics Screen: must warn about other potentially required licenses

Fixed
CDS-90813 Improvement

LibMan: Cannot use a repository if path to it is too long

Fixed [[GENERAL]]
Support for pathes longer than 250 characters when installing libraries.
[[KNOWN_LIMITATION]]
The name of individual folders in the path must not be longer than 255 characters.
CDS-90812 Improvement

Library Parameters: Default show all nodes collapsed

Fixed [[GENERAL]]
New option "Initially collapsed nodes in Library Parameter dialog" in Tools | Options, section "Libraries", subsection "Advanced"
CDS-90809 Bug

Compiler: Compile error if __POUNAME() is assigned to additional input of FB_init

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90801 Bug

LibMan: Library parameters are not applied

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90797 Bug

Method bigger 80000 lines throws an exception

Fixed
CDS-90795 Bug

Precompile error - data type conversion

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90792 Bug

False Positive, Precompile: Error when trying to initialize constant

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90791 Bug

False Positive, Precompile: Error when assigning 0 to reference

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90790 Bug

False Positive, Precompile: Error when comparing interface with constant 0

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90789 Bug

False Positive, Precompile: Error when comparing pointer with this

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90786 Bug

In Simulation online mode: GoToDefinition on GVL namespace opens a non-existent or empty GVL object editor

Fixed
CDS-90782 Improvement

CmpOPCUAServer: Use CMUtil to get buildDate

Fixed
CDS-90779 Improvement

[Setup] new setup variant consisting of prerequisites and essentials only

Fixed
CDS-90777 Bug

Precompile errors C0046, C0080, C0004, C0090 with Modbus Application

Fixed
CDS-90766 Improvement

CmpCodeMeter: Improve online service

Fixed
CDS-90763 Bug

Error in Precompilation leads to any error nor warning in build

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
The same error is also reported during compile. It is not possible to download the application.
CDS-90757 Bug

Manage Gateways: Not possible to adjust gateways

Fixed
CDS-90756 Bug

Conversion STRING_TO_(L)TIME does not accept time units in uppercase

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90755 Improvement

Update Device of logical IO devices not consistent compared to other devices

Fixed
CDS-90753 Bug

Compile: Internal Error for overloaded conversion with constant expression

Fixed
CDS-90752 Improvement

CmpOPCUAClient: Create self signed certificates without cA flag

Fixed
CDS-90744 Bug

CommandManager: Fix annoying first-chance exception for customized commands

Fixed
CDS-90740 Bug

Vxworks (LLVM, X86) : When using IEC marker (exception info) a bad register save area is used

Won't Fix [[GENERAL]]
We investigated the issue in detail to get a good understanding of the mechanisms and logic involved. As a result we found a couple places for improvements and tested them but we have not found a final solution yet. We documented the findings and will further investigate the issue.
CDS-90726 Bug

Change to tabular view ends in exception when three backslashes are used for comments

Fixed
CDS-90725 Bug

Compiler: Remove unnecessary allocations in CompilerVersionsProvider

Fixed
CDS-90705 Bug

CmpRouter default setting for VxWorks in .cfg should be empty

Fixed
CDS-90701 Bug

Some in the GUI open editores do exponentially increased the compile/generate code times, or crash the IDE

Duplicate
CDS-90698 Bug

CmpOpenSSL: Errors in CPP build when USE_SYSLIB is set

Fixed
CDS-90693 Bug

Confusing error message for online change of variable type at direct location

Fixed [[GENERAL]]
For compiler version >= 3.5.21.0 an online change for a variable at a location with * is possible.
If a variable changes its type at a fixed location a new error message is generated that an online change in type at a direct location isn't possible.
CDS-90692 Bug

Update Compiler Version: wrong order of execution

Fixed
CDS-90688 Bug

Deviceobject: Compile error with project that used "always update" and structured io inside an array type

Fixed [[GENERAL]]
Compiler version >= 3.5.21.0 required to fix to compile error
CDS-90685 Bug

Libman-Editor: Crash on selection of library parameters

Fixed
CDS-90683 Improvement

Control RTE: Activate feature "CodeMeter_NetworkLicenses.xml"

Won't Fix [[GENERAL]]
Further improvements are required to safely enable networklicenses for RTE.
As a result, RTE does not support networklicenses for SP21.
CDS-90682 Improvement

Control Win + HMI: Activate feature "CodeMeter_NetworkLicenses.xml"

Fixed [[GENERAL]]
WinV3, WinV3x64 and HMI are now supporting networklicenses.

A minimal CmRuntime version >=7.60.5625 is required!

[KNOWN_LIMITATIONS]
If a required license is not found locally on the Control Win, this might cause an additional delay during download
CDS-90681 Bug

Libman, LibraryLoader: All libraries are loaded twice sometimes

Fixed
CDS-90679 Improvement

LibMan: Replace FindLibraryDialog2 with the fulltext search functionality used by "Add Library"

Fixed
CDS-90677 Improvement

LicenseDialog: OEM customization: allow to disable the License Finder button/machanism

Fixed [[GENERAL]]
New OEM Customization Hook: Category: "LicenseManager", Name: "LicenseFinderUri"
Type of the Hook is string: Possible return values:
* null: The button "Show licenses" will be not visible
* a valid URI of a "License Finder" server: The button "Show licenses" will be visible and the speicifed server will be used

The already OEM Customization Hook (Category: null, Name: "ProductName") will be used for the label of the store to use.
CDS-90674 Bug

Project size increases after find/replace in selection

Fixed [[GENERAL]]
Compact project on every save
CDS-90673 Improvement

MemBlockDictConfigSetKeyAspects: Allow !generateKey && pfCreateHashCallback==NULL && pfCompareKeysCallback==NULL

Fixed
CDS-90672 Bug

CmpTraceMgr : Exception in UnregisterCallbackSlotIfUnused( ) upon RESET COLD

Fixed
CDS-90671 Bug

DeliveryManager: DevDescs in toolkits can not be validated

Fixed
CDS-90670 Improvement

Targetvisu, Windows: Remove warnings from builds

Fixed
CDS-90668 Bug

Project Compare: Clicking Backspace leads to exception

Fixed
CDS-90667 Bug

Compile: missing warning with multiple use of one %M address

Won't Fix [[GENERAL]]
There was no warning in earlier versions either. The multiple use is a use case. The static analysis can report the use of and the overlapping of direct addresses.
CDS-90666 Bug

[LibMan]: Download Missing Libs-Button will be shown by adding EtherNetIP lib into library Project

Fixed
CDS-90664 Bug

[Dev+Test] Transition Object: erroneuos code for SFC analyzation

Fixed
CDS-90662 Bug

Compile: Compile error due 'TO_STRING' conversion

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90658 Improvement

Remove unused default library from Properties

Fixed [[GENERAL]]
The "default library" is no longer displayed in the library properties dialog by default
A new option (Tools | Options, Libraries | Advanced) "Show obsolete property 'Default Library'" can be used to display the "default library" again
CDS-90657 Bug

SourceDownload: Option to download to a specific device does not work

Fixed [[GENERAL]]
The description of the Source Download options page has been refined to align more accurately with the current implementation. Updates have also been made to the documentation to prevent any potential misunderstandings in the future.
CDS-90656 Bug

Wrong resolution for sublibrary with * default-resolution

Fixed
CDS-90647 Epic

Allow configuration of the stack size per task

Fixed
CDS-90640 Bug

compile error for variable in the declaration part is missing (UDINT_TO_UINT)

Fixed [[GENERAL]]
Existing projects and libraries may now produce new error messages for constant expressions in initial values. This always occurs when the same message would be produced when the constant expression is used in the code. In many cases, the calculated result of the constant message will not have been expected.
Initialisation values are still not checked in the same way than code. This issue will be adressed with CDS-90769.
CDS-90630 Bug

SysTask / SysTaskLinux: rework end of tasks (also musl libc)

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
Only for Linux systems:
SysTaskLinux now uses SIG38 to exit and cleanup SysTasks. Make sure to not block signal masks (for SIG38 or SIG39). SIG39 is now used for SysTaskSuspend + SysTaskResume.
CDS-90624 Bug

CmpRetain: SRAM PlcShell commands not availabe after booting without bootproject

Fixed
CDS-90619 Bug

Gateway SysTray: Config mode cannot be activated - hint for manual activation necessary

Fixed
CDS-90618 Improvement

codesyscontrol_qs_ppc create virtual qs target for compiletests

Fixed
CDS-90617 Improvement

License Manager: It should be possible to make multiple selections, and these should already be selected by default.

Fixed [[GENERAL]]
Licenses are now preselected per default during activation.
CDS-90616 Bug

RTE CX: Add function to use NVRAM freely

Fixed [GENERAL]
In case a NVRAM is available on the CX.... and CmpCX5000Mpd is used, it is now possible to get the address of the NVRAM for direct use in the apllication through the new library CmpCX5000Mpd.library.
Preventing the runtime from NVRAM access is possible as it always was in the properties of the CX5000 Network Driver in Windows device manager.
CDS-90587 Bug

Compiler: Numeric value of reference to enumeration with attribute 'to_string' is converted to string instead of string value

Duplicate [[GENERAL]]
Duplicates CDS-89200
CDS-90583 Improvement

Watchlist: Support Add to Watchlist for childnodes in the watchlist

Fixed [[GENERAL]]
The already existing command "Add to watchlist" is now supported within the watchlist itself for child nodes.
CDS-90582 Improvement

Watchlist, Monitoring: Support ADR operator in watchlist

Fixed [[GENERAL]]
Runtime version >= 3.5.5.0

New supported syntax in WatchView using the ADR operator, where the operand is a variable

ADR(<variable>)
e.g.
ADR(PLC_PRG.i)
ADR(PLC_PRG.arr[2])

Can be combined with the type specification (see CDS-56766)

ADR(<variable>):<Type>
e.g.
ADR(PLC_PRG.i):POINTER TO BYTE
ADR(PLC_PRG.arr[2]):POINTER TO STRING

[[KNOWN_LIMITATIONS]]
Only those operands for the ADR operator are supported, where the address of the variable can be determined during compilation, i.e. ADR(arr[i]) is not supported
CDS-90581 Bug

Menu commands of CODESYS SoftMotion are included in essentials

Fixed
CDS-90580 Bug

CmpOPCUAServer: AccessRights check does not work for copied nodes

Fixed
CDS-90579 Bug

RTE: network drivers: CmpET1000Drv: i219 not working correctly on some HW-platforms.

Fixed
CDS-90576 Bug

CmpBlkDrvCanClient fails to initialize if nothing is configured

Fixed [[COMPATIBILITY_INFORMATION]]
Default of NumChannels changed from 1 to 0.
CDS-90575 Improvement

Improve handling with actions within function block

Won't Fix [[GENERAL]]
Actions should be replaced by methods where ever possible. This is just a minor convenience issue that can be circumvented by using methods instead.
CDS-90556 Bug

DeviceRepository: possible GDI overflow while installing many EtherCAT files at once

Fixed
CDS-90555 Improvement

[Object Manager] Report unconsolidated changes to the project format

Fixed [[GENERAL]]
IProjectFormat2 interface has been introduce to process an unconsolidated list of changes.
CDS-90553 Improvement

PROFIsafe: Interface for Data Exchange

Fixed
CDS-90550 Bug

InitValueDialog: Unable to initialize array of enum

Fixed
CDS-90547 Improvement

LibMan, Parameterdialog: Support of intellisense when editing parameter value

Fixed
CDS-90523 Bug

Deadlockissues with TS_LibraryManager

Fixed
CDS-90517 Bug

OPC DA, Editor: OPCConfig.exe - Reset PLC does not correctly delete User/Password

Fixed
CDS-90516 Improvement

Comments: display of multiline comments incorrect

Fixed
CDS-90514 Bug

License Manager: It was stated that "the license activation has been completed successfully", but the license is not activated.

Cannot Reproduce [[GENERAL]]
Fixed with CDS-90246
CDS-90503 Epic

musl-c Toolkit

Fixed
CDS-90501 Bug

Compiler: Misleading error message when trying to access VAR_INST outside of the method

Fixed [[GENERAL]]
With compilerversion >= 3.5.21.0 there is a new error message:
C0576: Cannot access VAR_INST '<variable name>' of '<method name>' from outside the declaring method
CDS-90499 Bug

Compile, Const Generics: Online Change with Const generic doesn't work as expected

Fixed [[COMPATIBILITY_INFORMATION]]
For compiler versions >= 3.5.21.0, an error message is now displayed if a constant expression of a generic function block instance declaration changes, e.g:
In the declaration of the variable <variable>, the value for the constant <const> has been changed from 100 to 200: no online change possible!
This error message is only generated when an online change is attempted and prevents the online change. A later download is still possible.
CDS-90496 Bug

CMUtilHash doesnt work with hash-callbacks and key which needs to be copied

Fixed
CDS-90495 Bug

CMUtilHash compareCallback gets wrong keyASize

Fixed
CDS-90494 Improvement

Setup: Kill tasks in systray when uninstalling a CODESYS version

Fixed
CDS-90493 Bug

Setup: Uninstallation does not remove start menu entries

Cannot Reproduce [[GENERAL]]
Shortcuts are removed with uninstalling the setup.
CDS-90490 Bug

Go to definition: Online editors of library programs are not opened correctly with Go to definition

Fixed
CDS-90485 Bug

No Online Change for Generic Type referenced with namespace

Fixed
CDS-90484 Bug

No fast online change for project with special IO-Config

Fixed
CDS-90480 Bug

Update ModbusSlave (COM), add a second IEC Object

Duplicate [[GENERAL]]
Duplicates CDS-90071
CDS-90477 Improvement

Deviceobject: Performance issue with many devices for language model creation

Fixed
CDS-90471 Improvement

Application info dialog: Improve clearness of data

Fixed
CDS-90470 Bug

SysTaskVxWorks.c : Add NULL pointer check

Fixed
CDS-90469 Bug

Internal error with online change in LD2

Fixed
CDS-90468 Bug

[IECStringUtils]: Function FormatDateTime does not work with setting "Use Unicodestring"

Fixed
CDS-90466 Improvement

Add CmpBlkDrvCanClient to qs_edge

Fixed
CDS-90461 Improvement

CmpRedundancy: New Api or state to check if redundancy is configured

Fixed
CDS-90460 Bug

CmpRedundancy: Race condition in exception handling during startup

Fixed
CDS-90458 Improvement

DeviceTree should show information for Devices with corresponding bus cycle task

Fixed
CDS-90457 Bug

ST-Editor: Opening FB freezes IDE

Cannot Reproduce [[GENERAL]]
Cannot reproduce with 3.5.21.0
CDS-90454 Improvement

CmpIecVarAccess: Add exception handling to IEC calls.

Fixed
CDS-90449 Bug

Generate Code: Generate Code leads to freeze for project with specific ST POU with 6700 lines of code

Fixed
CDS-90443 Bug

DeviceEditor: Some ios are marked with "not updated" after online change

Fixed
CDS-90442 Bug

Compiler, OnlineChange: Unexpected reallocation in online change

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
[[COMPATIBILITY_INFORMATION]]
The memory layout of function blocks changes during online change if new variables are added. Now new variables are inserted in memory at the end of the function block as long as there is still space available due to alignment. If there is no more space available, a copy code is generated. Previously, the alignment was not taken into account and a copy code was always generated if a new variable was inserted.
CDS-90439 Bug

Breakpoint, Stepping: Current position not shown for Function blocks in library

Fixed
CDS-90435 Bug

Compiler: Source positions of calls to function blocks cannot be determined

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90433 Bug

LibDoc: Malformed table error cannot be identified

Fixed
CDS-90430 Bug

Runtime Toolkit Templates - Linux Makefile(s) incomplete and not working

Fixed
CDS-90429 Bug

Performance of compile decreases when large ST-POU is open

Cannot Reproduce
CDS-90428 Bug

CmpIecVarAccess: Possible very rare crash when writing values during OnlineChange

Fixed
CDS-90370 Improvement

SysSocketLinux: replace select with poll

Fixed [[GENERAL]]

On Linux select is limited to less than 1024 file descriptors. Because of that we changed SysSocketSelect to use poll() per default which does not have these limitations.

There is a new setting to go back to the old implementation that uses select():

/**
* <category>Settings</category>
* <type>Int</type>
* <description>
* You can specify whether select() or poll() should be used for SysSocketSelect. On Linux select is limited to less than 1024 file descriptors.
* 0(DEFAULT): Use poll()
* 1: Use select()
* </description>
*/
CDS-90369 Bug

RepositoryLocation.ini: Relative paths are not working after project open

Fixed
CDS-90366 Improvement

CmpRetain: Setting needed to clear SRAM once at startup

Fixed [[GENERAL]]
- New setting to initialize SRAM at next bootup:
[CmpRetain]
Retain.SRAM.InitAtFirstBoot=1
=>Is set to 0 after first reboot!

- If bootproject is not an offline bootproject (a bootproject copied from another PLC), you have to specify a second setting, that the RETAINs must be initialized:
[CmpApp]
Bootproject.RetainMismatch.Init=1
CDS-90348 Bug

IECTask delete leads to the error "The constant index '1' is outside the range from '0' to '0' " without further infromation for the user

Fixed
CDS-90347 Bug

Debugging: Very slow stepping in certain pou in a specific project

Fixed
CDS-90345 Bug

Refactoring: slow renaming if refactoring of a POU is executed

Fixed
CDS-90342 Bug

Attributes: (warning disable C0335) does not work

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90334 Bug

m4 Export: IEC Datatype RTS_IEC_SIZE gets wrongly exported as "RTS_IEC_BYTE *"

Fixed [[GENERAL]]
Now all types that start with RTS_IEC_ are exported without any further transformations.
CDS-90333 Bug

DeviceCommunicationEditor: Opening the editor modifies the project needlessly

Fixed
CDS-90329 Improvement

MemBlockMan: option to use id's for own component, for a better, directed check for memory consumption within the runtime

Won't Fix [[GENERAL]]
The following function requires an additional parameter:
* XChgCreateH
* XChgExtendH
* PoolCreateH
* PoolExtendH
Unfortunately, without a change in CmpCAAMemBlockMan.c, these requirements cannot be met in the IEC library "Memory Block Manager".
CDS-90328 Bug

CmpIecTask C++ Runtime: IEC exception calling IecTaskGetWatchdogHitCount from IEC

Fixed
CDS-90326 Improvement

Cleanup: Remove unused BouncyCastle references

Fixed
CDS-90320 Improvement

CAAStorage: Remove Reference to CAA Behavior Model

Fixed [[COMPATIBILITY_INFORMATION]]
The following not completely implemented and therefore not working FBs from CAA Storage library were removed:
* CursorClose, CursorMove, CursorOpen
* RowDelete, RowInsert, RowSelect, RowUpdate
* SavepointRelease, SavepointRollback, SavepointSet
* CursorSearchRowId, CursorSearch_DINT, CursorSearch_INT, CursorSearch_LINT, CursorSearch_LREAL, CursorSearch_NULL, CursorSearch_REAL, CursorSearch_SINT, CursorSearch_TEXT
* StorageClear, StorageClose, StorageOpen, StorageReorg
* TableClear, TableClose, TableOpen
* TransactionBegin, TransactionCommit, TransactionRollback

In case of according compile problems: Remove the instances as these were never working at all
CDS-90319 Bug

SysModuleLinux: dlerror resets error string and must not be used several times

Fixed
CDS-90314 Improvement

CmpCodeMeter: Reduce occurrences of "CodeMAccess3: License request rejected." when logfilter of CmpCodeMeter is set

Fixed
CDS-90312 Bug

ANY, __SYSTEM.AnyType : Does not work in a library, the use of Util.SETBIT leads to compiler error

Fixed [[COMPATIBILITY_INFORMATION]]
The issue CDS-77534 fixes a bug in the code for storing compiled-libraries-v3. But libraries that already have been saved with broken versions between V3.5 SP17 and V3.5 SP18 will stay broken. After loading such a library every ANY-Type will be treated as ANY: i.e: ANY_INT, ANY_BIT, ANY_NUM, ANY_STRING, ANY_REAL, ANY_DATE will all be treated as ANY. There won't be any error messages when a wrong type is assigned to the Input. It is therefore recommended to use ANY or to save the library not with the v3-Format or to save the library with a compilerversion >= SP 19.
CDS-90305 Bug

Tasklocal Variables List : a copie of the list leads to multiple errors without a sourve position or precise instructions for the user

Fixed
CDS-90304 Improvement

Tests, IecTextEditor: Create test interface to test intellisense in testmanager

Fixed
CDS-90302 Bug

Refactoring: Does not work for parameters expressed as a call

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-90300 Improvement

Release Notes: Add information concerning the included AddOn versions

Fixed
CDS-90298 Improvement

LibraryManager: Use file watcher for observations of LibRepo cache file

Won't Fix [[GENERAL]]
This issue was only created to fix a possible issue with deadlocks. Since the deadlocks disaspeared on their own it is not neccessary anymore.
CDS-90297 Improvement

LibraryManager: Improve threading behaviour of DongleWatcher

Won't Fix [[GENERAL]]
This issue was only created to fix a possible issue with deadlocks. Since the deadlocks disaspeared on their own it is not neccessary anymore.
CDS-90296 Bug

PackageManagerCLI: single package installation may block if no Installer is installed

Fixed [[GENERAL]]
Removed check for package updates when reading the package database.

[[COMPATIBILITY_INFORMATION]]
PackageEngine.GetInstalledPackage() does not cotain update informations per default anymore. The inclue update informations IPackageEngine3.SearchForNewPackageUpdates() or IPackageEngine3.AutomaticUpdateSearch(true) has to be called prior.
CDS-90281 Improvement

ABL network licenses: Improve license check time with several installed ABL licenses

Fixed [[GENERAL]]
Not using the logfilter for CmpCodeMeter for network licenses improves the time for licensing checks by several factors.
CDS-90279 Bug

SysTaskLinux: sync/starttime mechanism not working for long Task-names

Fixed
CDS-90273 Bug

Remote TargetVisu stops on Download or connection loss on Linux

Fixed
CDS-90267 Bug

IntelliSense does not work in certain case

Won't Fix [[GENERAL]]
A valid identifier cannot start with a number, if a identifier is entered you have to start it with a letter. Other IDEs behave identically in this situation.
CDS-90263 Epic

Real Time Ethernet Communication

Fixed
CDS-90260 Bug

Compiler: Internal error for pointless TO_BOOL conversion

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90257 Bug

"codegenerator\do-persistent-code" is wrong in target settings documentation

Fixed
CDS-90254 Bug

Security issues in CodeMeter versions before 8.10a

Fixed
CDS-90253 Bug

Security issues in Bouncy Castle versions before 2.4.0

Fixed
CDS-90252 Bug

Security issues in WibuCmNet versions before 8.10a

Fixed [[GENERAL]]
CODESYS uses now the version 8.10a of the WibuCmNet assembly.
CDS-90250 Bug

SVG-Renderer: Security issues in OSS versions before (libxml2 2.13.4, libcurl 8.10.1, Cairo 1.18.2, libpng 1.6.44, libjpeg-turbo 3.0.4)

Fixed
CDS-90249 Bug

TargetVisu: Security issues in Qt versions before 6.7.3

Fixed
CDS-90248 Bug

Online Manager: writing error in "A login in read-only mode is also not possible" message

Cannot Reproduce
CDS-90246 Bug

License Manager doesn't show unactivated licenses

Fixed
CDS-90235 Improvement

Provide command to export essentials and add konfiguration

Fixed [[GENERAL]]
There is a new command "Export installation configuration" below "Tools" menu.
A service has been created to generate a installation configuration.
If possible, the installation configuration will be inlcuded into the bug report archive.
furthermore the project archive has been extended to include the installation configuration as well.
CDS-90234 Bug

OnlineChange: Inputs Not Updated if IoConfigLateInit is set as compiler define

Fixed [[GENERAL]]
Compiler version >= 3.5.21.0 required
CDS-90233 Bug

Internal Error in white parse trees for Code containing partial access

Fixed
CDS-90231 Bug

CmpIecVarAccess: Performance issue on channel close / session delete

Fixed
CDS-90228 Improvement

Compiler: Add compile attribute for lowercase namespace

Fixed [[GENERAL]]
There is a new attribute init_namespace_lowercase. Which can be applied to STRING and WSTRING variables and will initialize them with the namespace of the library in which they are declared, the namespace will be in lowercase.
CDS-90224 Bug

DeviceObject: Onlineconfig mode is not enabled with setting max_number_of_apps 2

Fixed
CDS-90219 Epic

LicenseDialog: support network licenses

Fixed
CDS-90217 Bug

Resolve conflict crash codesys when use 3-way merge view

Fixed
CDS-90216 Improvement

Check to prevent usage of multiple applications when static-area is used

Won't Fix [[GENERAL]]
The compiler should not check targetsettings. There might always be a reason for an OEM-customer for an unusual selection of settings.
In this case, it is absolutely OK to have more than one Application allowed and a static-area defined.
First, the static area could allocate only a fraction of the whole available NVRAM.
Second, a second area could just not need any retain data.
Third: the user is allowed to override the target settings. So the user can devide the static area between several applications.
CDS-90212 Improvement

POU for implicit checks, CheckBounds, example should usable without compile errors

Fixed
CDS-90205 Bug

Intellisense does not work as expected with variables in TypeCast functions and with variables in custom functions

Duplicate [[GENERAL]]
Duplicates CDS-86947
CDS-90201 Bug

VxWorks 7 : Load of runtime causes stack fault on subsequent memory display

Won't Fix [[GENERAL]]
Wont fix note:
The internal/local symbol "d" from OpenSSL clashes with the VxWorks kernel command "d".
The behavior is as designed, if the CODESYS runtime kernel object is loaded with "ALL" symbols (not only GLOBALs). (Even if Windriver recommends doing that for debugging purposes)

The VxWorks kernel docu mentions:
10.3 Kernel Object-Module Loader / Linking and Reference Resolution:
The system symbol table allows name clashes to occur...
Documentation about "loadLib" mentions:
There is no way to make a module symbols available for debugging and, at the same time, prevent other modules from linking against those symbols.

There is no chance to circumvent this restriction (if all symbols are loaded).
CDS-90200 Bug

KeyboardHandling: Tap is not released

Fixed [[GENERAL]]
Issue was alread fixed in Webvisu with CODESYS Visualization 4.6.0.0, see VIS-3846. The problem also existed in the non-Qt Targetvisu which was fixed here.
CDS-90199 Bug

'suppress_warning' should work for DUT object

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
Also strings with a leading 'C' (e.g. C0125) is now allowed as error number in the attrbute value.
CDS-90198 Improvement

Create CmpMemBlockDict component

Fixed
CDS-90192 Bug

CheckBounds not called

Won't Fix [[GENERAL]]
To enable the check-functions in libraries the define "checks_in_libs" has to be added to the application. When doing this the attached application correctly generated the call to checkbounds in FB_Rob_PE.Code
CDS-90189 Improvement

X.509: Support verifying certificate chains for encrypted communication

Fixed
CDS-90186 Bug

Project Inspection: The current installation is offered as alternative to open the project with

Fixed
CDS-90184 Bug

Remove read only flag does not work

Fixed
CDS-90182 Bug

Essentials: Missing Sonarlint migration leads to local changes in most of the projects

Fixed
CDS-90181 Improvement

IPM: Increase usability by adding package information and sorting functionality

Fixed [[GENERAL]]
The IPM now has a new button which can show from which Package a Plugin is coming from.
The Plugin-List of the profile can now be sorted by Name, Version or Package
CDS-90178 Bug

ClassicCrossReferenceList, IDE freezes on search

Won't Fix [[GENERAL]]
The new cross reference list works performant in this case. Since the attached project is highly artifical there will be no fix for this issue.
CDS-90176 Bug

Frame: Property Dialog should not use the Default Icon

Fixed
CDS-90175 Bug

RTE: LINT errors calling CallLint_CoDeSysControl_RTE_3SRTESrv3.bat

Fixed
CDS-90165 Improvement

Engine: Introduce Command Line Option to skip project Recovery

Fixed [[GENERAL]]
Created the new (optional) commandline switch "--skipprojectrecovery" for the CODESYS executable that skips project recovery during startup
CDS-90157 Improvement

License Manager: Workstation not showing all licenses

Fixed
CDS-90156 Bug

CmpOPCUAServer: CMPOPCUASTACK_ALLOW_SHA1_BASED_SECURITY does not compile anymore

Fixed [[GENERAL]]
Accident of CDS-83618. Only affects targets which allow OPC UA SHA1 security policies at compile time.
CDS-90150 Bug

Import PLCOpenXML: Importing a function block with VAR_GENERIC leads to error

Fixed
CDS-90144 Bug

PLCOpenXML, Import: no importable objects when PLC devdesc not installed

Fixed
CDS-90143 Improvement

CmpIecVarAccess: Setting to limit the number of variable lists

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
New [CmpIecVarAccess] setting "MaxNumVarLists" with default value 1000.
CDS-90138 Bug

Memory reserve needs a clean before it works

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90137 Bug

Status page stops updating if “Device” view is hidden

Won't Fix [[GENERAL]]
If the device tree is not shown then the monitoring for the icon state is suspended. This is to lower the number of monitored variables. The status page uses the same information ((APEnvironment.DeviceController.GetModuleStatus) to show the connector state of the device. As the monitoring is suspended also online data for this page will be not shown.
This is intended. Therefore won't fix.
CDS-90135 Bug

IDE crashes when attempting to scan in "Online Change Memory Reserve" editor

Cannot Reproduce [[GENERAL]]
Cannot reproduce with version 3.5.21.0 CurDev146
CDS-90130 Bug

Different views and instances while monitoring, no data online

Fixed
CDS-90129 Bug

Exeption while adding library and ST-editor is active

Duplicate [[GENERAL]]
Duplicates CDS-90099
CDS-90128 Bug

Storage layer: Support long paths

Fixed [[GENERAL]]
Storage implementation now supports long paths.
CDS-90127 Improvement

LibDevSummary: Fix Link to PLCopen Coding Guidelines

Fixed
CDS-90123 Improvement

Support of UTF8 and UTF16 string contants needed

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
There are new UTF8+UTF16 string literals available in CmpStd.h:
- RTS_UTF8STRING_TEXT("UTF8 string constant")
- RTS_UTF16STRING_TEXT("UTF16 string constant")

You can enable the support with:
- Using C11 std lib
- Setting the following define: RTS_ENABLE_C11STRINGLITERALS
You can disable is with the define: RTS_DISABLE_C11STRINGLITERALS

Here the definition:
#if ((__STDC_VERSION__ >= 201112L || defined(RTS_ENABLE_C11STRINGLITERALS)) && !defined(RTS_DISABLE_C11STRINGLITERALS))
/* UTF-8-string macros */
#ifndef RTS_UTF8STRING_TEXT
#define RTS_UTF8STRING_TEXT u8
#endif
/* UTF-16-string macros */
#ifndef RTS_UTF16STRING_TEXT
#define RTS_UTF16STRING_TEXT u
#endif
#else
/* UTF-8-string macros */
#ifndef RTS_UTF8STRING_TEXT
#define RTS_UTF8STRING_TEXT
#endif
#ifndef RTS_UTF16STRING_TEXT
/* UTF-16-string macros */
#define RTS_UTF16STRING_TEXT
#endif
#endif
CDS-90116 Improvement

2038 Linux 32Bit: Add defines _TIME_BITS=64 and _FILE_OFFSET_BITS=64 to build

Fixed
CDS-90114 Improvement

AutoDeclare: Create correct code for DUTs

Fixed
CDS-90109 Bug

[Setup] CodeMeter Control Center SysTray Icon is missing after Installation

Fixed
CDS-90105 Bug

SafePOU is no longer yellow after reopening the project

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-90104 Bug

VERSION type returned by GetVersion() undocumented/not defined at edit-time

Fixed [[GENERAL]]
Go to Definition can not work for built-in-types, since there is not source code available for them.
The version type now has documented members
CDS-90102 Bug

BPManager: Some Execution Points might be broken after Edit

Fixed
CDS-90100 Bug

LibMan: with each click on an enumeration, the content of Inputs/Outputs tab moves down one line

Fixed
CDS-90099 Bug

LibMan: Add Library generates assertion if LibMan window is docked

Fixed
CDS-90098 Bug

ProjectCompare: LibMan cannot commit accepted changes

Fixed [[GENERAL]]
The diff-viewer implementation, which is intended to provide a "Commit accepted changes" feature (i.e. accept modifications without closing its diff-view) and is based on GenericDiffViewer with IDiffGenericContentProvider must update its implementation of IDiffGenericContentProvider to IDiffGenericContentProvider2.

The current implementation is realized for LibraryManager, TaskEditor and TaskConfigEditor only. In particularly, this fix provides no support ReceiptManagement and Visualization diff-viewers.
CDS-90097 Bug

Error with enum, arithmetics not allowed but no arithmetics are done

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90094 Bug

CFC:Incorrect precompile error in the CFC editor

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90093 Bug

Compiler: Internal error during compile for structures containing function block instances on a stack location

Fixed
CDS-90089 Bug

Compiler: Crossreferences and refactoring for IecSymbolPublishingObject no longer working

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-90087 Bug

Find Replace: Duplicate LineIds

Fixed
CDS-90086 Improvement

Add new Base Libraries Addon to setup

Fixed [[GENERAL]]
Latest versions of six basic libraries have been moved to a new Base Libraries add-on in the setup, which can be updated independently (Element Collections, Common Behaviour Model, Net Base Services, Segmented Buffer Manager, SharedData Utilities for MultiCore, Asynchronous Job Manager).
CDS-90072 Bug

Slow loading visu (White screen) at startup

Fixed [[GENERAL]]
The issue with the noticable empty window in TV Overlay is fixed here. The performance problem regarding the background image will be done with VIS-4437.
CDS-90071 Bug

Update modbus-slave doubles IEC object

Fixed
CDS-90068 Bug

Precompile: Errors appear temporarily in the message view

Cannot Reproduce [[GENERAL]]
Cannot reproduce the issue with versions newer than SP19
CDS-90067 Bug

OPC UA Stack: dangling SecureListener pointer leads to crash during SecureChannel timout handling

Fixed
CDS-90066 Bug

GVL without variables access in PLC_PRG crashes CODESYS

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
[[COMPATIBILITY_INFORMATION]]
Code is no longer generated for statements without side effects.
Therefore it is also no longer possible to set breakpoints on statements without side effects.
CDS-90065 Bug

NullReferenceException during login with open logger page

Fixed
CDS-90064 Bug

Non-escaped characters in description field causes import/export of csv to fail

Fixed
CDS-90041 Bug

CmpIecVarAccess : Extended mem pool search upon deletion of var lists

Fixed
CDS-90037 Improvement

Compiler, fast online change performance: Option to suppress message output

Fixed [[GENERAL]]
Starting with compilerversion 3.5.21.0 the compile option "report compiled POUs during incremental compile" is evaluated when reporting the POUs which will be downloaded in an online change
CDS-90028 Bug

OPC UA Client: Exception when Deleter responses out of order

Cannot Reproduce [[GENERAL]]
Was already fixed with CDS-87774
CDS-90026 Improvement

Frame: Add OEM hook to handle certain windows messages

Fixed [[GENERAL]]
Added a new Customization Hook with Section="Frame" and Key="WndProcCustomization".
This can be set once at startup to modify the WndProc call of Main Frame. This can be used to customize the title bar.
CDS-90024 Bug

CmpApp: Exception in online change event callback code EVT_PrepareOnlineChange leaves runtime partly unusable

Fixed
CDS-90022 Bug

M4 Export: Changes in library are not exported in case of previous M4 export

Fixed
CDS-90021 Bug

M4 Export: Wrong name for argument struct of properties of interfaces

Fixed [[GENERAL]]
There might be conflicts in the generated m4 file with methods starting with "GET" or "SET" and having the name of a property
CDS-90020 Improvement

M4 Export: Fix up Dialog

Fixed
CDS-90019 Bug

M4 Export: A interface passed a parameter is not exported correctly

Fixed
CDS-90018 Bug

CrossReferenceView: IndexOutOfRangeException on Display Cross References

Cannot Reproduce [[GENERAL]]
After the bugfix of CDS-88927 this problem is no longer reproducible
CDS-90016 Improvement

Compiler, performance: Option to use fast and simple checksum calculation for code id

Fixed [[GENERAL]]
With the following customization hook:
Key: "LanguageModelManager"
Value: "DisableChecksumComputation"
The compiler calculates after generate code and online change a faster random number to identify the compilation instead of a checksum. If the compileinfo then gets lost, the identification will be different.
CDS-90014 Improvement

Compiler, performance: Result of IsUpToDate should be cached until next project change

Fixed
CDS-90011 Bug

Debugging of a compiled library function does not work correctly if a property is passed as input parameter

Fixed [[GENERAL]]
If the messagebox "There is no source available..." after a StepIn is closed without loading a source library, the current statement will stay inside the compiled library instead of automatically stepping over it instead.
CDS-90000 Bug

Util.JoinDateTime create an exception if 0 is used for month

Fixed [[GENERAL]] Ranges of Input Values now be checked.
CDS-89997 Bug

Return value from CFC property is not correct

Fixed [[GENERAL]]
Requires Compiler Version >= 3.5.21.0
CDS-89995 Bug

CmpDevice session timouts for SIL3 protocol handler

Fixed
CDS-89982 Bug

Task Configuration: Target setting from multicore-cores is not used correct

Fixed
CDS-89981 Improvement

Start without profile should work if there is only one

Fixed
CDS-89975 Improvement

SysMemVxWorks.c : Remove or adapt superflous log message

Fixed
CDS-89973 Improvement

CmpUserDBTemplate: New template needed for CmpUserDB without user creation/deletion

Fixed
CDS-89970 Bug

FBD Monitoring: LREAL highest and lowest possible Values are rounded wrong

Fixed
CDS-89969 Bug

Targetvisu, Overlay: Dynamic images not working

Fixed
CDS-89962 Bug

TargetVisuQt5 sporadic: Element sometimes flies to the right when the Bring To FG button is clicked

Cannot Reproduce [[GENERAL]]
This issue could not be reproduced.
CDS-89960 Improvement

M4 Export: Create Interface for injecting code into generated M4 file

Won't Fix [[GENERAL]]
It is a better solution to fully generate the c file in this case, since it will not contain much code and the code is trivial to generate without deeper compiler knowledge
CDS-89959 Bug

CmpDeviceSrv.c : Possible semaphore deadlock upon closing session

Fixed
CDS-89957 Bug

DeviceObject: Plug Device results in an Error message after update device

Fixed
CDS-89953 Improvement

API or Hook needed to replace the CODESYS message "Selected target system is different from the connected device....."

Fixed [[GENERAL]]
Added a new Customization Hook with Section="OnlineManager" and Key="TargetMismatchHandler" and Type=Func<_3S.CoDeSys.Core.Online.TargetMismatchException2, bool>.
Instead of showing an error message, perform custom behavior for a TargetMismatchException. Return true, if the exception was handled. Return false, if the original error message should be displayed.
CDS-89951 Bug

VxWorks: High cpu load caused by SysEthernetGetPortConfigAndStatus()

Fixed [[GENERAL]]
Settings are now read only once at first call of SysEthernetGetPortConfigAndStatus()
CDS-89940 Improvement

[Technical Debt] Rework method GetStructuredLanguageModel of class AbstractMethodObject

Fixed
CDS-89925 Improvement

"Save Project as" should preserve the current storage format of the project/library

Fixed [[GENERAL]]
When saving a project or library the selected storage format is saved and preselected when saving again if the new option "Pin storage format" has been set within project information.
CDS-89871 Bug

Inconsistent Online View of Properties between FB and Pointer to FB

Fixed
CDS-89867 Bug

IProjectArchiveService.ExtractArchiveFile with project path = null causes ArgumentNullException

Fixed
CDS-89866 Bug

CmpCodeMeter/CmpApp: In case of downloading a second application previous licenses are not unlocked

Fixed
CDS-89865 Bug

compiler: unexpected compile error after clean all

Fixed
CDS-89861 Bug

CmpApp WinV3 x64: POU tables garbage memory at shutdown using multi applications

Fixed
CDS-89850 Improvement

License Metrics Dialog: Do not update dialog when not visible

Fixed
CDS-89849 Improvement

Engine: Support option handling within sandbox

Fixed
CDS-89847 Bug

Intellisense, ST editor: Intellisense does not work with type convertion functions (e.g. TO_INT())

Duplicate [[GENERAL]]
Duplicate of CDS-86947
CDS-89845 Bug

Vxworks (LLVM, X86) : With Compiler Optimization O2 exception source position and callstack not returned (again)

Fixed
CDS-89840 Bug

Transfer with download: filename with asian characters is not downloaded any more

Fixed [[KNOWN_LIMITATIONS]]
This issue has no effect in general because all of its relevant code changes had to be reverted in a subsequent issue for compatibility reasons.
CDS-89836 Bug

VarStatInitValueChecker: Memory leak due to static reference to scope and compile context

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-89835 Bug

„New Project“ Dialog: everything after the last used dot in the project name is removed from the then used project name

Fixed
CDS-89834 Bug

[HMI] Targetvisu show only white Background after downloading

Fixed
CDS-89831 Bug

Monitoring of long WSTRING covers IEC code

Fixed
CDS-89829 Bug

Linux: signalstack overflow on ARM64

Fixed
CDS-89828 Improvement

CmpOPCUAStack Interfaces: Browse Names are missing in library

Fixed
CDS-89827 Bug

ABL / CmpOPCUAProviderIecVarAccess: "Communication <xyz>" license locked without using symbolconfig

Fixed
CDS-89819 Bug

Compiler: It is possible to create methods/properties without body

Fixed [[GENERAL]]
Compilerversion 3.5.21.0 introduces a new compile error C0573
CDS-89816 Improvement

Exclude old compilerversions from sonarqube analysis

Fixed
CDS-89806 Improvement

SysEthernetLinux XDP: add example for bpf to templates

Fixed
CDS-89805 Improvement

License Finder Dialog: for bundles: list all contained products

Fixed [[GENERAL]]
License dialog shows included licenses.
CDS-89804 Improvement

License Finder Dialog: add button to copy license path

Fixed [[GENERAL]]
Add copy link button in license view
CDS-89803 Improvement

License Finder dialog: add option to select store variant (international/North America)

Fixed [[GENERAL]]
The view for showing missing licenses now contains a field for changing which shop is supposed to open (international or NA)
CDS-89798 Bug

CmpLog: Incorrect documentation of the MaxFiles setting and the iMaxFiles member of the LogOptions struct

Fixed
CDS-89796 Improvement

Licensed Software Metrics: Only update display in deviceobject after generate code

Fixed [[GENERAL]]
The notification to rebuilt the metric tree is kept unchanged in case of OnObjectAdded/OnObjectRemoved events.
All other object events simply cause the metric tree to switch into the mode "not up to date" (only the column "Size" is affected).
After "Generate Code" the metric tree is again in mode "up to date" and the current metric values are cached for a subsequent "not up to date" mode
CDS-89795 Bug

Package Manager: License information provides not much useful information

Fixed [[GENERAL]]
Adopt new licensing model in Package Manager UI
CDS-89790 Bug

Compiler: Changed initial values of VAR_Inst are not updated on Download

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89788 Bug

UnitTest CmpLog: Exception occurred with Debian12

Duplicate
CDS-89779 Improvement

[Product discontinuation] Remove use case libraries from setup

Fixed [[GENERAL]]
The following libraries have been removed from the CODESYS Setup:
* UseCases/File Access/3.5.17.0
* UseCases/Memory/3.5.17.0
* UseCases/Network Communication/3.5.19.0
* UseCases/Serial Communication/3.5.17.0
* UseCases/Storage/3.5.17.0
* UseCases/Time and Date/3.5.17.0
CDS-89778 Bug

Compile: Clean needed after changing library placeholder resolution manually

Won't Fix [[GENERAL]]
The issue here is a mismatch between the development system and the runtimesystem. The compile-info of the project was created with an older version of the runtime system. While the newly used library 3.5.19.5 requires a newer version of the runtime system. Such an updates always requires either an Update Device or a Clean aktion. This is the reason why it is recommended to resolve all external libraries only with device-placeholders and create a new version of the device-desription for every change.
CDS-89769 Improvement

Scanner, Parser, Performance: Reduce number of scanner allocations

Duplicate [[GENERAL]]
Duplicates CDS-89543
CDS-89765 Bug

OnlineChange: Potential memory overwrite after OnlineChange

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-89764 Bug

Unhandeld exception during clean all While Library with constant is open

Fixed
CDS-89763 Bug

StringUtils?: CODESYS silent close when login to simulation with specific project

Won't Fix [[GENERAL]] Won't fix - Error is caused on application side.

The error is caused by incorrect transfer parameters of Stu.CharBufferString.CopyFrom.diSourceOffset and .diTargetOffset (Stu = StringUtils.lib).
The offsets in question are "1 relative" (see library documentation / tooltip), so the transfer value "0" leads to a critical memory access violation, especially for diTargetOffset.

If this issue is corrected, the project can be used in simulation mode. See attached files
- core_Modified.library
- CoreLib_compare_Overview.PNG
- CoreLib_compare_LoggerAdapter-Write.PNG
- CoreLib_compare_SplitStringsIntoLines.PNG

The problem can also be seen on a runtime (e.g. WinCtrl64 3.5.20.10) - here the garbage collector reports an error which indicates a memory violation.
See attached pictures:
- Original_coreLib_WinCtrl64.PNG - error
- Modified_coreLib_WinCtrl64.PNG - no error

Recommended solution:
Eliminate the causes of the memory corruption in the application - see possible solution in attached modified "core lib".
CDS-89761 Improvement

Remove IFormatter-Interface for go!-Builds

Fixed
CDS-89760 Bug

Project Compare: Performance when importing MDP devices is bad

Fixed
CDS-89754 Bug

Project compare: accept changes may change device tree

Fixed
CDS-89751 Improvement

RSMUtility: Without referencing "Memory Block Manager".

Fixed
CDS-89750 Improvement

Util: Without referencing "Common Behavior Model".

Fixed
CDS-89738 Bug

PLCOpenXML Import: closing Import dialog via X button blocks cursor in rotating state

Fixed
CDS-89736 Improvement

APUnitTestFramework: SingleInstance resolution does not consider global.dependencies for system instances

Fixed
CDS-89732 Bug

PLCOpen: Import failed with POINTER TO BYTE defined as Input variable

Duplicate [[GENERAL]]
Duplicate of CDS-89399
CDS-89728 Bug

Unclear Compilererror with Property

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-89727 Improvement

Do no longer report compatibility warnung for call of FB-Exit

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89722 Bug

Error message "error updating MDP" with Project Compare

Duplicate [[GENERAL]]
Already fixed with CDS-89760
CDS-89721 Bug

Operation GT, ST editor: Intellisense does not work for structure elements with comparator ">"

Cannot Reproduce [[GENERAL]]
With the bugfix of CDS-86947 this problem is no longer reproducible
CDS-89719 Bug

LibraryManager: No error message is displayed if wrong certificate is used to sign libraries

Fixed
CDS-89716 Improvement

Linux SysEventWait: use new function sem_clockwait dependent on libc at runtime not compiletime

Fixed [[GENERAL]]
On Linux systems, SysEventWait now (per default) uses sem_clockwait dynamically if available.
It now depends on the libc version (>= 2.30) available at runtime, not on the toolchain for the compilation.
E.g. on debian system, at least version 11 (Bullseye) must be used for the benefit.
CDS-89706 Bug

Simulation: CODESYS freezes when trying to download application

Fixed
CDS-89705 Bug

CmpUserObjectsDBFile: Denied rights must be dominant against granted rights

Fixed
CDS-89704 Improvement

[Object Manager] Support loading project from url

Fixed [[GENERAL]]
New interface IProjectLocalPathProvider has been introduced.
CDS-89702 Bug

CmpCodeMeter/CmpApp: In case of downloading a new application while running previous licenses are not unlocked

Fixed
CDS-89699 Bug

RTE LwIP crash in internal task

Fixed
CDS-89697 Improvement

CmpSecureChannel: Remove obsolete security setting "CreateSelfSignedCert" from secure channel

Fixed
CDS-89695 Bug

DeviceEditor: The Editor sometimes receives no update

Fixed
CDS-89684 Improvement

Optional Device Description Export: Export via mouse context menu

Duplicate [[GENERAL]]
Already implemented with CDS-80942. Therefore duplicate
CDS-89682 Improvement

Implement EoE for xdp

Fixed
CDS-89671 Bug

CmpCodeMeter: GetMinLicense() does not return last valid license if minimal license is occupied in some cases

Fixed
CDS-89669 Improvement

PLCHandler: Windows: Remove support for VS2012 and VS2013

Fixed
CDS-89667 Bug

RTS, CAAStorage: TextCopyToWString no reliably usable

Fixed
CDS-89666 Bug

CmpWebServer: WebServerReadRequest() - Exception caused, if the number of bytes read is -1

Fixed [[GENERAL]]
For more details see CODESYS Security Advisory 2024-05, which is available on the CODESYS website:
https://customers.codesys.com/index.php?eID=dumpFile&t=f&f=18604&token=d5e1e2820ee63077b875b3bb41014b1f102e88a3&download=
CDS-89663 Bug

Precompile: Some precompile for fieldbus FBs are generated

Duplicate [[GENERAL]]
Duplicates CDS-89502
CDS-89661 Improvement

[TS_LicensingAppBasedLicenses]: CmpCodeMeter - Create service get cached licenses

Fixed
CDS-89657 Bug

CmpRedundancy : Mode SIMULATION (forced by setting) cannot be left

Fixed
CDS-89654 Improvement

[Technical Debt] Remove unused PlaceholderDialog class

Fixed
CDS-89652 Improvement

Online help: rename option text

Fixed [[GENERAL]]
This feature brings a possibility for OEMCustomization to change the additional hint text and the text and target of the linklabel.

Section: "OnlineHelp"
Key: "HintTextOfflineHelp"
Datatype: string

Section: "OnlineHelp"
Key: "DownloadLinkOfflineHelp"
Datatype: string

Returning a "null" value for one of these keys will result in hiding the associated label in the option page.
CDS-89641 Improvement

CmpApp: Add Log-IDs in CheckValidated

Fixed
CDS-89637 Bug

Compile: Error messages for access to enum using the library namespace if the library contains an object with the same name as the namespace

Fixed [[GENERAL]]
This issue describes multiple problems:
* When writing Test. the pou named Test in the library is preferred over the library namespace called Test. This works as intended and is described in the Shadowing Rules page of the online help
* Wrong code might be is generated for the to_string function of enums in libraries, which might lead to compile errors without source position. Fixed with this issue
* The namespace operator cannot be used to access enum values from enums in libraries. Fixed with this issue
CDS-89635 Bug

CmpCodeMeter: Local license is not locked after restart of CmRuntime or used symblconfig license

Fixed
CDS-89633 Bug

StackSize: Stack overflow detected in SP20 which does not happen in SP19

Won't Fix [[GENERAL]]
The stack size calculation has been changed for SP 20. For this reason the result might change for existing projects. In the reported case, the stack size calculation for SP 19 did not find the deepest call stack, that the new algorithm now reports.
The stack calculation is in any case not complete. External functions are not considered, virtual function calls are calculated with a worst case assumption, and recursions are not considered for the stack calculation.
The calculation in SP 20 however, reports a possible call stack, and the calculated stack size for this callstack is correct.
CDS-89624 Bug

[MessageView] Event MaySwitchCategory is not unsubscribed

Fixed
CDS-89622 Improvement

[Essentials] Improve documentation for IProgessCallback/IEngine.StartLengthyOperation()

Fixed
CDS-89616 Bug

Project recovery cannot be used if codesys is started with project given as command line argument

Fixed
CDS-89546 Improvement

Package Manager: Allow installation of older package version

Fixed [[GENERAL]]
The prohibition to install older packages over newer ones has been revised. It is again possible to install older versions over newer ones (as it was possible before SP19 Patch 3). The only exception is the CODESYS Licensen Provider Enabler add-on.
CDS-89542 Improvement

CmpIecTask: Configurable stack size from CODESYS TaskConfig

Fixed
CDS-89537 Bug

Persistent Variable List: Link to onlinhelp does not work

Fixed
CDS-89530 Bug

Embedded SizeCheck fails on Bookworm build host

Fixed
CDS-89528 Improvement

Implement Checkbox at Scandialog to Ignore Devicerevision

Won't Fix [[GENERAL]]
The scan dialog searched for the exact device identification. As the scan is device Independent it is not usuell to add a fieldbus specific option here.
-> Won't fix
CDS-89527 Bug

Error window appears after performing Ctrl+X (Cut) in SFC POU Code declaration area

Fixed
CDS-89525 Improvement

Device categories: rename "Modbus TCP Master" by "Modbus TPC Client" and "Modbus TCP Slave" by "Modbus TCP Server"

Fixed
CDS-89524 Bug

[BugReport] ObjectDisposedException after detach 2nd monitor

Cannot Reproduce [[GENERAL]]
Can not be reproduced
CDS-89521 Bug

CmpLog: ISO 8601 local time, timezone offset for JST is wrong on Linux

Fixed
CDS-89520 Improvement

Setup: Working Directory for Simulation should be in the user profile

Fixed [[GENERAL]]
The working directory for the simulation is now %APPDATA%/CODESYS/Simulation.

For more details see CODESYS Security Advisory 2024-02, which is available on the CODESYS website:https://customers.codesys.com/index.php?eID=dumpFile&t=f&f=18354&token=f3e92a942c3a2f90c272a5ded7598c6a0b5f4924&download=
CDS-89519 Bug

UA-AnsiC: Decoding of huge Arrays leads to memory overwrite

Fixed [[GENERAL]]
Workaround: Starting from version 3.5.15.0 of the affected products, the incorrect calculation of the buffer size can be avoided if the maximum supported array length of the OPC UA stack of the CODESYS Control runtime system is limited to a value of 10129639 or less.

This can be achieved by adding the following setting in the CODESYS runtime configuration file (e.g. CODESYSControl.cfg):
[CmpOPCUAStack]
Stack.MaxArrayLenth=10129639

For more details see CODESYS Security Advisory 2024-03, which is available on the CODESYS website:
https://customers.codesys.com/index.php?eID=dumpFile&t=f&f=18355&token=e3e5a937ce72602bec39718ddc2f4ba6d983ccd1&download=
CDS-89518 Bug

[Proxy] CDS crash if you use Proxy with certificates

Fixed
CDS-89508 Bug

Linux SysProcessExecuteCommand(-2) does not close the used pipe if an error occurs

Fixed
CDS-89504 Improvement

CmpRedundancy: Implementation of a new area type for cyclical synchronization of selected data

Fixed [[GENERAL]] Data areas can now be registered as AREA_CYCLIC_INPUT. These areas will be synchronized once when setting up the redundancy and in every following redundancy task cycle while in active/standby mode.
To use the new area, both runtimes must have a version equal or greater than 3.5.21.0.
CDS-89502 Bug

Precompile errors C0046, C0004, C0080 with applications with Modbus and GPIO's

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-89498 Bug

compile error C0018 if project is modified/downloaded in specific way

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89496 Bug

Compiler: no error given when an FB passes an array of derived_struct to an array of base_struct

Fixed [[GENERAL]]
Starting with compilerversion 3.5.21.0 a compile error C0032 is reported when assigning mismatching variable length arrays (except: assigning variable length arrays of pointers is still possible)
CDS-89490 Improvement

New Project: Make Control Win x64 default Device

Fixed
CDS-89489 Bug

License Finder: "display" of UA and Visu licenses very errorprone

Cannot Reproduce [[GENERAL]]
Already fixed in CDS-89805
CDS-89486 Bug

Licence Manager does not work in some constellations

Cannot Reproduce [[GENERAL]]
Wibu license gateways got activated again
CDS-89481 Bug

Linux targetvisu multitouch in frames doesn't work as expected if overlay mode is active

Duplicate [[GENERAL]]
Duplicates CDS-87301
CDS-89462 Bug

Project export: Unjustified dialog to extend profile

Fixed [[GENERAL]]
Only check the selected nodes for serialization errors before export.
CDS-89459 Bug

CmpOPCUAProviderIecVarAccess: Array with 0 Elements should be read with OpcUa_Good instad of OpcUa_BadInternalError

Fixed
CDS-89458 Bug

Compiler: Crash when a Exception occurs in the codeoptimizer

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89456 Improvement

LibMan: Possibility to set SafetyColors

Fixed
CDS-89449 Improvement

Download Dialoges: Context and Onlinhelp page attachment (F1)

Fixed
CDS-89439 Bug

IntelliSense does not work if local enum and method has the same name

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89432 Bug

CODESYSControl: Security issues in Expat versions before 2.6.2

Fixed
CDS-89416 Improvement

ComponentManager: Support network licenses

Duplicate [[GENERAL]]
Duplicates CDS-83657
CDS-89415 Improvement

CmpCodeMeter: Support network licenses

Duplicate [[GENERAL]]
Duplicates CDS-83657
CDS-89414 Improvement

CmpApp: Support network licenses

Duplicate [[GENERAL]]
Duplicates CDS-83657
CDS-89412 Bug

Compiler: Compile error in existing visu project

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89411 Improvement

CmpIecTask: CMPIECTASK_STACK_SIZE should be available as setting

Fixed [[GENERAL]]
New setting to specify stacksize of all IEC tasks:
[CmpIecTask]
StackSize=0x1000000

[[KNOWN_LIMITATIONS]]
1. __CURRENTTASK operator cannot be used (profiler and tasklocal GVLs):
When using this setting, the IEC operator __CURRENTTASK does not work (https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_operator_currenttask.html)
2. Tasklocal GVLs cannot be used
3. Compilerror can occur, if TargetSetting "memory-layout/max-stack-size" in DevDesc is not adapted to the same value

[[GENERAL]]
CDS-61076 is the best solution in future, that the stack size can be configured by the enduser!
CDS-89408 Bug

Online mode: "Value" column may be empty after login or is surely empty when switching to "Tabular view" and back to "Textual view"

Fixed
CDS-89407 Bug

Linux RemoteTargetvisu Client (RTV) QT6 : compile errors

Duplicate
CDS-89405 Improvement

DeviceObject: Add CAA Device Diagnosis library with qualified access flag set.

Fixed
CDS-89403 Bug

IN_OUT can not be assigned to ANY_BIT

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89400 Bug

PLCHandler: ConnectRs232ViaGateway and ConnectViaGateway3 don't support the StateChangeCallback

Fixed
CDS-89399 Bug

PLCopenXML: Pointer in VAR_INPUT leads to a NullReferenceException

Duplicate
CDS-89386 Improvement

OnlineCommands: The Cognitive Complexity of LoginWithParameters needs to be reduced.

Fixed
CDS-89380 Improvement

Application Settings: Possibility to configure IEC task stacksize

Duplicate [[GENERAL]]
Duplicate of CDS-61076
CDS-89376 Bug

Setup: CODESYS Control Win V3: Move working directory to %APPDATA%

Fixed [[GENERAL]]
For more information, see the documentation "CODESYS Installation Extended OEM Adaptions" and CODESYS Security Advisory 2024-02, which is available on the CODESYS website:https://customers.codesys.com/index.php?eID=dumpFile&t=f&f=18354&token=f3e92a942c3a2f90c272a5ded7598c6a0b5f4924&download=
CDS-89375 Bug

Persistent Variables: Unsolvable and incorrect warning when deleting variables

Fixed [[GENERAL]]
CompilerVersion >= 3.5.21.0
CDS-89373 Improvement

DeviceObject: Count fieldbus instances in application code.

Fixed
CDS-89371 Improvement

License Metrics: Provide API for functionblock instance counting.

Fixed [[GENERAL]]
New interface ILMCompiledApplicationQuery5 with new methods
InstancePaths(string, Guid) and InstancePaths(string, Guid, EInstancePathsLookupFlag).
The string parameter is the attribute the functionblocks must have.
Both methods return an enumerable of IInstancePathInfo2 instances.
CDS-89369 Improvement

Replace \r\n with Environment.NewLine in Compiler

Fixed
CDS-89367 Improvement

PLCHandler: allow adding new user in case User Management is enforced but no user exists yet

Fixed
CDS-89365 Bug

Monitoring: Value of variable in dependency can not be monitored

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89355 Bug

Compile: Internal error of type ArgumentOutOfRangeException

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89353 Bug

Compiler: Property of type bool is interpreted as int if it contains AT %I*

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
A new error message C0392 is reported for AT-Declarations on properties
CDS-89350 Bug

SynEdControl: Possibility to suppress special keys

Fixed
CDS-89347 Improvement

Skip unit tests with .Net7 bugs in go pipline

Fixed
CDS-89342 Bug

[Wibu] Request for License not possible with empty Softcontainer

Fixed [[GENERAL]]
Default vendor names will be generated. The user has to select the best matching vendor name.
CDS-89337 Bug

compiler error C0032 - cannot convert type POINTER TO INT to type ANY_INT

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-89336 Bug

Compiler: VAR_INST suggested by IntelliSense (list components) outside of the method

Fixed [[GENERAL]]
The problem with the misleading error message will be fixed with CDS-90501
CDS-89320 Improvement

Project Inspection: Use new Installer CLI opition

Fixed [[GENERAL]]
Use --packageFile if available when creating a new installation from project inspection
CDS-89319 Bug

PLCHandler: new[] vs. delete mismatch in CPLCComBase

Fixed
CDS-89312 Bug

SysFileLinux: SysFileCopy_: src equals destination must not destroy file

Fixed [[COMPATIBILITY_INFORMATION]]
SysFileCopy does now check if source and destination files can be opened/accessed before executing the copy command.
CDS-89295 Bug

CmpOPCUAProviderIecVarAccess: NodeID of information model size is depended on enum size

Fixed
CDS-89293 Bug

CmpRedundancy: Synchronization doesn't work if 1st Redundancy Link is broken

Fixed
CDS-89292 Bug

Two new variables in separate modules in the IO mapping cannot be committed individually

Fixed
CDS-89291 Improvement

CmpStd: RTS_IEC_UTF8STRING must be supported

Duplicate [[GENERAL]]
Duplicates CDS-90123
CDS-89290 Improvement

M4 Export: UTF8 IEC strings should be exported as RTS_IEC_UTF8STRING

Won't Fix [[GENERAL]]
There is no UTF8-IEC-string type.
There is a setting for the project, to interpret Literal-Values as UTF8 encoded, which is a decision of the programmer. The setting then has only effect on the interpretation of literal values and for monitoring.
If a library using STRING expects a specific encoding, this should be documented explicitly. Most libraries using STRING will work with UTF8-encoding as well as with LATIN-1 or other byte-encodings.
CDS-89287 Improvement

Integrate XDP into SysEthernetLinux

Fixed [[GENERAL]]
SysEthernetLinux now supports communication using xdp. A special compile switch, BPF and setting is necessary to use it
[[KNOWN_LIMITATIONS]]
- EoE is not supported
- No burst support
- Currently there's a two second sleep after opening the adapter to give the driver time to start
CDS-89282 Improvement

Remove APUnittestFramework from LanguageModelMangerTestsPrecompile

Fixed
CDS-89279 Bug

Compiler: Internal error for the use of __VARINFO with a bit variable from a structure within a function block

Cannot Reproduce [[GENERAL]]
With compilerversion 3.5.21.0 this problem is no longer reproducible
CDS-89265 Bug

OpcUaServerRemoveNodes2() always returns BadNotImplemented

Fixed
CDS-89264 Bug

CmpCodeMeter: Hidden memory leak of ContainerIteratorPool

Fixed
CDS-89254 Bug

CmpApp/CmpAppEmbedded/CmpOpenSSL: Inconsistent log filter

Fixed
CDS-89253 Bug

License Manager: Cannot install license ticket to RTE CX on Wibu Dongle with serial number 2-xxxxxx

Fixed
CDS-89251 Improvement

Libman, Performance: Only check signed compiled-libraries once

Fixed
CDS-89250 Improvement

CmpOPCUAServer: improve error handling at resource allocation

Fixed
CDS-89249 Bug

CmpRedundancyConnectionIP: Unnecessary sleep times of 5ms

Fixed
CDS-89245 Bug

Precompile, Missing error VAR_TEMP and Method

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89244 Bug

CmpCodeMeter :: CmEmbedded: CmAct container broken after runtime update from SP16 to SP19 with own SysTargetGetSerialNumber_Secure() implementation

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
Workaround:
SysTarget :: SysTargetGetSerialNumber_Secure():
Ignore value of *pnMaxLen, if pszSerialNumber=NULL, because it is called uninitialized!
CDS-89242 Bug

Compiler: Download required after switching to Simulation mode and back

Fixed
CDS-89238 Bug

ArgumentOutOfRangeException: when attempting to open the input help

Fixed
CDS-89237 Improvement

CmpCodeMeter - Networklicenses. Change errorlevel in WaitForCodeMeterRuntime()

Fixed ..
CDS-89235 Bug

DeviceEditor: Application.Idle must be removed after closing the device editor

Fixed
CDS-89224 Improvement

Using current CefSharp version (>=116.0.230) in context with 3.5.19.60

Won't Fix [[GENERAL]]
This issue will not be fixed because CefSharp has been replaced by WebView2 starting in SP19. Technically, there is no way back because we have already obsoleted the related interfaces for CEF.
CDS-89223 Improvement

DeviceObject / Profinet: Placeholder Device

Fixed
CDS-89216 Improvement

PackageManagerCLI: InstallAll: Improve error message if installation of a package fails

Fixed
CDS-89212 Bug

CmpOPCUAServer: Server stop publishing if the systemtime is set backward

Duplicate [[GENERAL]]
Duplicate of CDS-89716
CDS-89210 Bug

DeviceEditor: Information page is not shown if wrong additional file reference is set in the device description

Fixed
CDS-89204 Bug

LongPathFile Exception does not name the file

Fixed [[GENERAL]]
IOException names affected file
CDS-89200 Bug

Attribute To_String : not working for enum on VAR_IN_OUT

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-89199 Improvement

CmpOPCUAServer: rework MonitoredItem_GetNextEventNotification regarding MonitoringMode, ui32NumNotifications and bWasTriggered

Fixed
CDS-89191 Epic

Rework Parser to support Language Versions

Fixed
CDS-89189 Bug

IO Mapping Editor: Wrong monitoring expression is generated for top-level unmapped SAFEBOOL channels

Fixed
CDS-89186 Bug

Library Manager: Assertion failed when installing customer package

Fixed [[GENERAL]]
The problem, that libraries with unknown object data both prevent an installation of the library itself and prevent an installation of a package containing such a library can longer reproduced starting with V3.5 SP19
CDS-89180 Bug

Wrong warning information if login to existing standard application is done

Won't Fix [[GENERAL]]
The use-case of logging in a old project with a newer version of codesys is not supported anymore since the release of SP17. In this case the version with which the project was created should be used instead.
CDS-89178 Improvement

Performance, Unittests: Speed up unittests

Fixed
CDS-89163 Bug

LibMan: Inputs/Outputs tab does not show all links, in case window width is too small

Won't Fix [[GENERAL]]
Not worth any effort, because a functionblock implementing 10 interfaces is no realistic usecase
(Implementing so many interfaces indicates a wrong software design)
CDS-89162 Improvement

OPC Server DA setup: Update included Gateway V2 to latest version

Fixed
CDS-89156 Improvement

DeviceObject: Change Initial Parameter Value on Online Change

Fixed
CDS-89145 Improvement

Performance, ProjectArchive, InstallLibrary: Improve LibraryBrowserLibrary handling

Fixed
CDS-89144 Bug

Linux: Compile errors when HilscherCifxLib Feature is used

Fixed
CDS-89133 Bug

Changing abstract properties leads to inconsistent data

Won't Fix [[GENERAL]]
A new compiler message was added with CDS-89819.
CDS-89128 Improvement

CmpOPCUA* Components: Treat warnings as error within windows build

Fixed
CDS-89127 Improvement

CmpOPCUAStack: closed secure channels are deleted too late

Fixed
CDS-89122 Bug

Compiler: Potential stackoverflow with large enums and to_string attribute

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89119 Bug

PreCompile: Access on result of function call not possible

Fixed
CDS-89115 Improvement

[Technical Debt] Rework ImplicitMethodsGenerator

Fixed
CDS-89111 Bug

Linux: J1939 doesn't work if CmpSocketCanDrv setting "Loopback=1" is set. The setting RecvOwnMsgs=0 is ignored

Fixed [[COMPATIBILITY_INFORMATION]]
The setting RecvOwnMsgs from CmpSocketCanDrv section now has an effect. To not break existing application the default changed from 1 (enabled) to 0 (disabled).
CDS-89110 Bug

Libraries exist as duplicates in the project archive

Fixed
CDS-89109 Bug

Linux: SysFileCopy doesn't work

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
SysFileCopy internally uses SysProcessLinux -> this uses posix_spawn.
For old libc Versions (< 2.24) posix_spawn uses fork() instead of vfork().
This is now avoided by setting the flag "USEVFORK" for posix_spawn.
CDS-89099 Improvement

[Setup] Add CycloneDx file to license information

Won't Fix [[GENERAL]]
SPDX will be used as an SBOM compatible format.
CDS-89098 Bug

Setup: The error message issued for a missing WebView2 runtime refers to the wrong download URL

Fixed
CDS-89094 Improvement

DeviceUserManagement: Information Message for password expiration

Won't Fix [[GENERAL]]
This improvement is no longer needed as the customer has confirmed that no changes are required. The existing functionality is sufficient.
CDS-89073 Bug

Missing compile error in customer project if two different arrays are assigned

Fixed [[GENERAL]]
Compilerversion >=3.5.21.0
CDS-89071 Improvement

Login dialogs: Improve text of dialogs

Fixed
CDS-89069 Bug

Project Inspection: Download and setup a new version does not work

Cannot Reproduce [[GENERAL]]
Cannot reproduce
CDS-89068 Improvement

Create QS targets for TV and RTV Packages for ARM64

Fixed
CDS-89054 Improvement

Project Inspection: Set package name for installing packages

Fixed
CDS-89051 Bug

Invalid Code in LateCompiledExpr crashes codesys

Cannot Reproduce [[GENERAL]]
The crash cannot be reproduces with 3.5.21.0.
There is an internal error message with compiler version 3.5.21.0 with a refernce to "__LATECOMPILEDEXPR".
CDS-89050 Bug

WhiteParseTrees don't handle __LateCompiledExpr Operator correctly

Fixed
CDS-89048 Improvement

Increase TTL for KNX stack

Fixed
CDS-89047 Bug

Precompile, False Positive: wrong resolution for FBs with "extends" or VisuElements

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-89044 Improvement

[TS_LicensingCodemeter_Network]: Create linux qs target which supports networklicensing

Fixed
CDS-89041 Bug

PLCHandler: Wrong PlcSymbolDesc for struct members with DontExpandComplexTypeArrays activated

Fixed
CDS-89035 Bug

OnlineChange ist not possible after closing project because of changes in IoConfig_Globals_ModuleList

Fixed
CDS-89029 Bug

LibMan, Summary: CDS crashes sometime after executing the with 'Display all occurrences in library hierarchy and close dialog' command

Fixed
CDS-89028 Bug

LibMan, Summary: Dialog does not support F1 / Onlinehelp

Fixed
CDS-89027 Bug

Parameter list editor: The parameter values entered are not retained if a library is included twice, in the device tree and in the pool

Fixed
CDS-89022 Bug

Wrong parameter list is shown in online-mode

Cannot Reproduce [[GENERAL]]
With V3.5 SP21 this problem is not reproducible
CDS-89006 Bug

Fix errors in IoDriver presentations and examples

Fixed
CDS-89004 Bug

RTE: OEM licensing does not work

Fixed
CDS-89001 Bug

OPC Server cannot write to %MX variables.

Fixed
CDS-88997 Improvement

Fix filegeneartion tool for easyunit strings in gvl

Fixed
CDS-88989 Bug

RTE driver for ET1000: MessageSignaledInterruptProperties not possible with old ethernet cards

Fixed
CDS-88988 Bug

illegal memfree within OpcUaNodeIdCopyTo after OpcUaBrowseDescriptionInitialize

Fixed
CDS-88986 Bug

Compile error C0032 from library with no error on lib-check

Fixed
CDS-88985 Bug

CmpAuditLog: Not compilabe under C++ runtime

Fixed
CDS-88984 Bug

Project Compare: Missing Property icons

Fixed
CDS-88981 Bug

open project throw permanent a message for missing plugin in special circumstances

Fixed
CDS-88974 Bug

CmpRunStopSwitch: Correct template component

Fixed
CDS-88972 Improvement

M4 Export: Export interface types as Wrapper struct around instance-pointer

Fixed
CDS-88967 Epic

M4 Export Improvement Bundle

Fixed
CDS-88966 Bug

Cross reference list shows _IMPLICIT_APPLICATION_INFO of a PRG object

Fixed
CDS-88965 Bug

LibManObject: Wrong null check

Fixed
CDS-88961 Bug

CmpRetain: Retain file from SP12 cannot be loaded with bootapplication SP19

Fixed
CDS-88960 Bug

ST Editor System.ArgumentOutOfRangeException

Fixed
CDS-88954 Bug

C0094: Double-click on compiler error does not lead to the error location

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-88951 Improvement

Project Wizard: Remove Device Application

Fixed
CDS-88949 Improvement

FlowControl: Documentation online services

Fixed
CDS-88944 Bug

LibManControl: Pointless InvalidProjectHandleException on ProjectClose

Fixed
CDS-88930 Improvement

IParameter: Make property “IsFunctional” public in interface IParameter

Fixed
CDS-88928 Improvement

Commit new filegeneartion tool for easyunit (csv to tc.h/gvl/csv mit equivalenzklassen)

Fixed
CDS-88927 Bug

Cross Reference List: filtered results are affected by the width of column "Context"

Fixed
CDS-88922 Epic

Redundancy: Data Sync Interface

Fixed
CDS-88921 Improvement

SysEthernetRTE: Blink Ethernet Adapter LEDs for RTE

Fixed
CDS-88920 Improvement

SysEthernetLinux: Blink Ethernet Adapter LEDs for Linux

Fixed
CDS-88919 Bug

DeviceEditor: Entered values for LINT and ULINT are not accepted correctly

Fixed
CDS-88917 Bug

Security issues in AxProtector versions before 11.40

Fixed [[GENERAL]]
AxProtector v11.40 is used to protect the runtime.
CDS-88916 Bug

SVG-Renderer: Security issues in OSS versions before (libcurl 8.7.1, zlib 1.3.1, libxml2 2.12.6, Cairo 1.18.0, pixman 0.43.4, libpng 1.6.43, libjpeg-turbo 3.0.2)

Fixed
CDS-88898 Bug

Controls: Deadlock in text editors freezes brand-labelled IDE

Fixed
CDS-88897 Bug

RTS: Security issues in sqlite versions before 3.45.2

Fixed
CDS-88894 Bug

CmpOpenSSL: Security issues in OpenSSL versions before 3.2.2

Fixed
CDS-88891 Bug

Compile: Internal error 2 during OnlineChange

Fixed
CDS-88890 Bug

Static Analysis error SA0003: "Empty statement" is reported for correctly implemented transition objects

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-88883 Bug

Scan dialog: After installing the missing DevDesc the alias address of the device is not displayed

Cannot Reproduce [[GENERAL]]
Not reproducible with SP20. Changes in the devicescan fixed this already.
-> Cannot reproduce
CDS-88880 Bug

LibMan: Inconsistent behaviour/labelling of the search progress dialog

Fixed
CDS-88879 Improvement

CmpOpenSSL - X509CertVerify3: Add option to disable partial chains

Fixed [[GENERAL]]
There is a new option for X509CertVerify3 to disable the acceptance of partial certificate chains.
CDS-88878 Improvement

LMM: Remove dead code in LibraryTable's checksum calculation

Fixed
CDS-88877 Improvement

make it possible for customers to encrypt our runtime with Wibu AxProtector

Duplicate
CDS-88867 Bug

Transition Object: wrong language model when Analyzation is activated

Fixed [[GENERAL]]
Compiler version higher or equal 3.5.21.0 required.
In cases where a transition implementation produces multiple statement an explicit assignment to a transition output variable is required, otherwise a new compiler message will be generated.
CDS-88866 Bug

PropertyObject: No login without change using special library

Fixed
CDS-88856 Improvement

Investigate: Possible performance improvement for precompile messages

Fixed [[GENERAL]]
Delayed start of precompile analysers after opening a project to improve performance
CDS-88844 Bug

EasyUnit: Fix several problems with static function mocks

Fixed
CDS-88842 Improvement

Update UA AddressSpace generation tool to work with UA 1.05

Fixed
CDS-88835 Bug

PLCOpenXML Import: Object GUID is not preserved on Replace existing object

Fixed
CDS-88823 Bug

DeviceObject: Rename error with Chinese Characters leads to wrong rename of IEC object

Won't Fix [[GENERAL]]
Currently not supported ==> no bug
Feature will be implemented with CDS-68497
CDS-88812 Bug

ControlWin x64: CmpApp: Unwind info invalid for splitted transmitted POU code

Fixed
CDS-88804 Bug

Not possible to map a logical I/O, if CODESYS is set to german language

Fixed
CDS-88797 Improvement

Devicerepository: import for SCI files (Slave Configuration Information)

Fixed
CDS-88796 Bug

Crash while change setting "Behavior for outputs in stop"

Duplicate [[GENERAL]]
Duplicate entry for CDS-87637
CDS-88791 Bug

Compiler, NET7, unit tests: Fix the cultureinfo to load resources

Fixed
CDS-88774 Epic

Targetvisu, Overlay: Improve performance

Fixed [[GENERAL]]
Several smaller performance improvements where realized. To take full benefit of the improvements, it is recommended to use a recent version of the addon CODESYS Visualization too.
CDS-88765 Bug

CM: Exception occurred calling CMRemoveComponent() twice with same component handle

Fixed
CDS-88761 Bug

CmpIecVarAccess: Results of IecVarAccesSwap are not evaluated correctly within onlineservice

Fixed
CDS-88755 Bug

installation is canceled if several versions of add-ons are present in the installation folder

Fixed
CDS-88754 Bug

Watch window, Intellisense: No Intellisense support in Watch after typing "Device."

Fixed
CDS-88749 Bug

MultiCoreLicense is not working with Standard L

Cannot Reproduce
CDS-88746 Bug

Object is lost after move to invalid parent via scripting

Fixed [[COMPATIBILITY_INFORMATION]]
Moving a object to a new parent that does not accept the object as a child the operation is rolled back.
[[GENERAL]]
Move operation is rolled back if the new parent does not accept the moved object as a child
CDS-88745 Bug

Compiler: No optional inputs in Try-Block

Cannot Reproduce [[GENERAL]]
Error is no longer present in SP 21 due to code refactoring
CDS-88744 Improvement

CmpCodeMeter: Cyclic check of cached licenses needed that are requested only once

Fixed
CDS-88742 Bug

Flow Control: Flow Control dont work if a FBD method of the same function block type (not instance) is called from two tasks

Fixed
CDS-88741 Bug

Intellisense : Wrong IntelliSense entry in case of two Function Blocks with the same name in different libraries

Cannot Reproduce [[GENERAL]]
Starting with V3.5 SP20 this problem is no longer reproducible
CDS-88740 Bug

PLCHandler: V3 Interfaces: SyncWriteVarsToPlc() / SyncWriteVarListToPlc() may block indefinitely

Fixed
CDS-88739 Bug

FileCommands: Build configuration is x64/x86 although the plugin can be built for any CPU

Fixed
CDS-88733 Bug

Run static analysis deletes the compile info which is very bad

Fixed
CDS-88732 Improvement

Linux: SysEthernetLinux: sendethframe / getethframe new event in case of too slow operation

Fixed
CDS-88731 Improvement

Linux: SysTaskLinux: SysTaskWaitInterval: new event in case of jitter in cyclic task

Fixed
CDS-88729 Bug

Shell, pinf command: Changing the application with/without project info POU leads to an exception

Fixed
CDS-88726 Bug

Project save as: Storage versions of future versions are offered

Fixed [[GENERAL]]
"Save as" only shows versions up to the codesys version that is running.
CDS-88724 Bug

Project save as: Different profiles cannot be distinguished

Fixed [[GENERAL]]
"Save as" now shows the profile name if the profile name is not contained within the version that is already shown. (Profile name "CODESYS V3.5 SP20" would not appear as that would just be duplicated information)
CDS-88723 Bug

Compiler, NET7: Handle changed behaviour of System.Text.Encoding.Default on .NET Core

Fixed [[GENERAL]]
Adjusted tests since CODESYS_GO does not support UTF8Encoding=false
CDS-88722 Bug

Compiler, NET7: Handle changed behaviour of double.Parse on .NET Core

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-88693 Bug

Compiler: Error C0107 with VAR_GENERIC CONSTANT in GVL

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-88689 Improvement

Linux: SysTaskLinux: sync/starttime mechanism for cyclic SysTasks via setting

Fixed [[KNOWN_LIMITATIONS]]
- A maximum of 30 tasks can be synchronized. Any synchronized task with an index higher than 29 will be ignored.
- The timestamp (StartOffset) for a synchronized task must be a divisor which divides the cycle time without leftover (e.g cycle time % offset == 0)
- Task cycle may not be greater than 1s
CDS-88684 Improvement

Compiler: Better error message in case of missing codegenerator

Fixed
CDS-88624 Improvement

Refactoring: Move InternalsVisibleTo attributes to AssemblyInfo.cs

Fixed
CDS-88623 Bug

CmpOPCUAServer: HasTypeDefinition references are missing for fragments generated with CODESYS

Fixed
CDS-88622 Bug

CmpOPCUAServer: Fix operation result for unknown method nodeid

Fixed
CDS-88619 Improvement

OnlineDevice: The default for cycle-independent monitoring should be inverted for better usability

Fixed [[GENERAL]]
The default for cycle-indepedent monitoring has been inverted from FALSE to TRUE. This default value is used if the device description of the controller does not explicitly specify the value.
CDS-88617 Bug

CmpOPCUAServer: Fix returned error codes of certificate validation according to UA specification

Fixed
CDS-88615 Bug

CmpOPCUAServer: Fix results for GetMonitoredItems and ResendData Method

Fixed
CDS-88612 Bug

Device Repository: “Unhandled exception” error when using 'export device' without related files

Fixed
CDS-88611 Bug

C0050: NVL without {attribute 'qualified_only'} shows error message that cannot be jumped to

Won't Fix [[GENERAL]]
Outcommented implicit inserted code "{attribute 'qualified-only'}" can lead to side effects.
CDS-88607 Bug

CmpOPCUAProviderIecVarAccess: Fix evaluation of AccessLevelEx

Fixed
CDS-88603 Improvement

Inline Code for SetBit, ClearBit

Won't Fix [[GENERAL]]
We have investigated the issue: the code generator can't provide better code than a small expression. A gain in performance is not expected. The code would be just better readable. Therefore we decided not to implement the feature.
CDS-88602 Improvement

UI: Pause some UI updates while lengthy operations are running

Fixed
CDS-88599 Bug

CmpOPCUAProviderIecVarAccess: Missmatch between actual access right and shown access right for builtin types

Fixed
CDS-88598 Bug

RTE: Windows-System Log only add log message if a status is changed

Fixed
CDS-88595 Bug

Monitoring of VAR_TEMP via Callstack not working.

Fixed
CDS-88584 Bug

RemoteTargetvisu, Windows. Redirecting targetvisuremote.cfg should be created on x86 OS

Fixed
CDS-88582 Bug

Installation for Project missing Plugins

Fixed [[GENERAL]]
Improvements only installing the required add-ons.
CDS-88573 Improvement

Compiler: The source position of invalid project defines in the declaration part is inaccurate

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-88556 Bug

WhiteParserService: Matching service throws NullRefException

Cannot Reproduce [[GENERAL]]
With V3.5 SP21 not reproducible
CDS-88552 Bug

SysSocketLinux.c : For QNX the UpdateNetworkAdapterInfo( ) causes cyclically CPU performance peak

Fixed A new setting is available to disable the cyclic update of the default gateway, while still initializing it once:

[SysSocket]
DisableGetDefaultGateway=1

In This case, the event EVTPARAM_SysSocket_GetAdditionalAdapterInfo can still be used to update the default gateway at runtime.
CDS-88551 Bug

Project Inspection cannot resolve needed Add-Ons

Fixed
CDS-88549 Improvement

Create new compiler version plugin for SP21

Fixed
CDS-88544 Bug

Error message about internal temp file

Fixed [[GENERAL]]
Fix error that occurs if a editor is saved simultaneously due to timer or event
CDS-88531 Bug

Runtime Security Policy: Enforcing User Management while it was deactivated leads to error

Fixed
CDS-88529 Improvement

Compiler: Fix trivial sonarqube issues

Fixed [[GENERAL]]
Fixed for LanguageModelManager project.
See CDS-89700 for Compiler35210 project
CDS-88528 Improvement

WhiteParseTree: Undocumented interfaces

Fixed
CDS-88525 Bug

Compile: "Internal" Null Reference error when running command "Check all Pool Objects"

Cannot Reproduce [[GENERAL]]
No longer reproducible with compilerversion 3.5.20.0
CDS-88523 Bug

X64 Compiler: Crash on runtime with large POUs on Callstack

Duplicate [[GENERAL]]
Duplicates CDS-88812
CDS-88518 Improvement

License Manager: Cannot create context file for offline licensing

Fixed
CDS-88517 Bug

Go to definition wrong in library for initial value of enumeration

Fixed
CDS-88516 Improvement

Licensed Software Metrics: Display usage of MultiCore feature on device

Fixed
CDS-88515 Bug

Generate Code: Nested structured size not calculated correctly

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-88514 Bug

CAA Device Diagnosis, Documentation: Reconfigure example code does not compile.

Duplicate [[GENERAL]]
Already fixed with SP18, only the online help has shown the old content.
CDS-88512 Bug

LibMan: Library Parameter Editor stores parameter values with incorrect key

Fixed
CDS-88511 Bug

LibMan: Hidden Library Parameters get reset, when using Library Parameter Editor

Fixed
CDS-88506 Bug

Wrong Code for x64 codegenerator for try-catch statement with CONCAT

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-88505 Bug

TargetVisu, Overlay, QT6: The overlay targetvisu draws Frames with line width 1 asymmetrically on Windows

Won't Fix [[GENERAL]]
The problem only occurs if the display settings are not set to 100%. In all other cases (f.e. 125%) Windows does the scaling and also the antialiased drawing.
CDS-88498 Improvement

EngineTests: Switch to APUnittestFramework 3.5.21.0

Fixed
CDS-88497 Bug

LibMan: Exception when opening a special project

Fixed
CDS-88493 Bug

CmpCodeMeter: Disconnect and connect a CmRuntime does not reconnect licenses

Cannot Reproduce
CDS-87889 Bug

WhiteParseTrees: CASE without END_CASE results in infinite loop

Fixed
CDS-87888 Bug

Running Static Analysis in an interface library generates Build Errors

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-87881 Improvement

CmpCodeMeter: Update CodeMeter Embedded SDK to latest version 3.10

Fixed
CDS-87877 Improvement

IOEMCustomizationProvider: Extend interface to allow to deactivate all shortcuts

Fixed
CDS-87863 Bug

Package Manager: Localization of popup menus and sub menus does not override standard.opt.menu

Fixed [[GENERAL]]
Localizations of menus are updated
CDS-87846 Bug

Export with a selected storage version may not work correct

Fixed
CDS-87843 Improvement

Adapt company name of CmpPLCHandlerDataModelDefault und CmpPLCHandlerDataModelLP64 libs

Fixed
CDS-87838 Bug

Compiler: Internal Error when using GVL Properties

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-87835 Bug

Set online path result in an online change

Won't Fix [[GENERAL]]
There is no easy way to determine quickly (i.e. without generating the online change code) which of the referenced libraries are really used by application code.
To check whether the suggestion to make an online change is really necessary the user can use the "Application Information" dialog and execute the command "Generate Code" to show the "Online Ccomparison (Generated Code)".
In case of the user project the dialog will show no difference which results in the fact, that the user can go online without an online change.
A message "Code has not changed. No online change necessary." is reported in the message view in this case.
CDS-87834 Bug

Refactoring: Renaming EtherCAT task doesn't adapt bus cycle task

Fixed
CDS-87833 Bug

SysFile: Nameless placeholder causes logfiles folder

Fixed
CDS-87823 Bug

CmpUserMgrItf: Correct documentation errors regarding the password policy

Fixed
CDS-87781 Improvement

Project Load: Detailed information what AddOn is missing would be helpfull

Won't Fix [[GENERAL]]
For projects having been created with CODESYS SP19 and newer the project inspection offers a details compare view showing the differences between the project and the installation.
CDS-87780 Bug

No Link to OLH for Command 'Add Device' (Update device) Dialog

Fixed
CDS-87773 Bug

Visu, IntegratedVisu: Dynamic text with index variable type from nested library is not displayed

Fixed
CDS-87772 Improvement

[PackageManagerCLI] Support signing packages with certificate thumbprint

Fixed [[GENERAL]]
PackageManagerCLI does now support the signing of packages with a certificate from the certificate store of the current user.
PackageManagerCLI.exe --profile="<profile name>" --signPackage="<path to the unsigned package>" --certThumbprint="<Thumbprint>"
CDS-87769 Bug

Display function "Read current metrics from device" Button more prominently

Fixed [[GENERAL]]
The table cell displays a LinkLabel, which also reads the license limits from the device.
CDS-87762 Bug

CmpRedundancy: AutoSyncEnabled setting doesn't cover re-sync after receiving delayed messages

Fixed
CDS-87753 Improvement

Message View: Showing the message automatically when messages are added should be suppressable

Fixed [[GENERAL]]
There is a new OEMCustomization entry which prevents the message view popup:

Section: MessageView
Key: SuppressViewOpening
Type: Boolean
Effective value: true
CDS-87734 Bug

Monitoring: For a FB with a BOOL VAR_IN_OUT message “Value of the expression cannot be retrieved” gets shown

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-87732 Bug

Two items with same name at device tree

Fixed
CDS-87731 Improvement

CmpSchedule / IEC EventTasks: Possibility to synchronize tasks with each other

Won't Fix [[GENERAL]]
Rejected because IEC events task are not synchronized! No general usecase.
=>As designed
CDS-87725 Improvement

CmpOPCUAClient: Support X.509 user token

Fixed [[GENERAL]]
The CmpOPCUAClient component now supports the X509UserToken. The GetUserCredentialsCallback will ask for a certificate handle. A private key must be available. The certificate may be loaded from file, imported via p12 or generated by the CODESYS Runtime.
CDS-87724 Bug

Access violation during/after online change

Fixed
CDS-87713 Bug

OnlineChange: NullRefException during online change after swapping library

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-87712 Improvement

TargetVisu, Qt6 support: Setup nightly Qt6 rtv linux build

Fixed
CDS-87694 Bug

Precompile: Warning C0195 cannot be suppressed in Declaration

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-87685 Improvement

CmpCodeMeter: Disable CmRuntime licenserver searchlist for AppBased networklicenses

Fixed [[General]]
New setting with which the codemeter search list (configuratble via codemeter web admin) can be used or deactivated. Currently, this takes only effect for non-AppBased Licenses! For those, this search list is never used.
[CmpCodeMeter]
UseCodeMeterServerSearchList=[1/0] Default:1
CDS-87651 Improvement

Simulation: Extend ISimulationManager with context information

Fixed
CDS-87650 Bug

Output Default values are applied even after a reboot in "start in run"

Won't Fix [[GENERAL]]
Won't fix as CDS-82749.
The same reason as for this Jira in the release note
CDS-87638 Bug

Document Project, Print Preview: aborts with NullReferenceException if there are too many participants in the project

Fixed
CDS-87633 Improvement

Rebranding, Improve Display of Libraries with same name in AddLibrary

Fixed [[GENERAL]]
Only the rebranded variant of a library is listed in the search result. This ensures that really the newest version of the library will be used and not an outdated version.
CDS-87632 Improvement

SysPCIVxWorks.c : Build macro NOPCI causes INIT failure of SysPci component

Fixed
CDS-87621 Epic

RTS: SysSockPoll interface function

Won't Fix [[GENERAL]]
Implemented with improvement.
CDS-87602 Bug

VxWorks SysSocket returns wrong error codes

Fixed
CDS-87596 Improvement

CODESYS IDE should pass the selected language to the CODESYS Installer

Fixed [[GENERAL]]
Installer is gettings started in the same language as CODESYS when started via command
CDS-87594 Bug

CmpLog::LogFormatTimestamp(): Wrong calculation of UTC offset for LT_TS_BACKEND_LOCALTIME logger type

Duplicate
CDS-87592 Bug

Single run of PackageManagerCli doesn't add menus to user settings

Fixed
CDS-87589 Bug

PLCopenXML can not be imported in some cases

Fixed
CDS-87587 Bug

Unexpected folders are created on connecting to controller

Fixed
CDS-87586 Bug

LibMan: Unbound placeholders are not resolved when library is modified and reinstalled

Fixed
CDS-87585 Bug

User Management: Import from Disk leads to message “Not logged in to device”

Fixed
CDS-87572 Bug

M4 export: referenced types are not exported if they are in the library itself

Fixed
CDS-87570 Improvement

TargetSetting - codegenerator/operating-system: Only supported value "Linux"

Fixed [GENERAL]]
There is a new target setting "codegenerator\\systemv-calling-convention".
For x86-64 code generation only: Use the System V calling conventions.
Is automatically switched on for codegenerator\\operating-system='Linux'"
CDS-87561 Bug

M4 Export: Documentation for exported unions is wrong

Fixed
CDS-87559 Improvement

[Install] Setup.exe should detect if a newer Gateway/WIN V3 is currently installed

Won't Fix [[GENERAL]]
In interactive mode, the user has full control over the installation of the respective services by using the "customized install" option.
In silent mode, evaluation of any already existing services can be done by the software that triggers the setup. The silent mode can then be configured depending on the results of the evaluation, e.g. by using CDS_INSTALL_SERVICES=0 if a newer version has been detected during evaluation.
Hence, the requested behaviour can be achieved with existing mechanisms => Won't Fix
CDS-87558 Improvement

SysTimeRtc Linux: open flags of rtc file should be configurable

Fixed
CDS-87555 Improvement

[Technical Debt] Rework CodeOptimizer_pass1

Cannot Reproduce
CDS-87455 Bug

Targetvisu, Overlay: Crash with many elements on a page

Fixed
CDS-87451 Improvement

CmpOPCUAServer: Add information about exceptions to CmpSupervisor

Fixed
CDS-87450 Improvement

CmpOPCUAServer: Check redundancy state. Switch off all ports if server is standby

Fixed [[General]]
There is a new Setting within the CODESYSControl.cfg which allows to enable or disable the redundant behavior of the OPC UA Server
[CmpOPCUAServer]
Redundancy.Mode=Transparent

By now this setting has to options:
1. Disabled: The OPC UA Server does not enable any redundant feature
2. Transparent: The OPC UA Server switches off the ports of on the passive PLC

This features uses CmpRedundancy to determin the state of the PLC
CDS-87396 Bug

Possible exception in TabbedViewManager.LoadViews

Fixed
CDS-87394 Bug

IECTextEditor: Generate Code with a project containing many variables in a POU leads to UI freeze

Duplicate
CDS-87336 Bug

CODESYS Control Win V3: Low privileged Windows users can modify files in working folder

Fixed [[GENERAL]]
The working directories of the affected products are moved to "%APPDATA%\CODESYS\", which is usually located in C:\Users\<user>\AppData\Roaming\CODESYS\ and can only be accessed by the respective user.

If the PLC is started with the "CODESYS Control Win SysTray PLC Control", it runs in the Windows user account "LocalSystem" and therefore the effective working directory is "C:\Windows\system32\config\systemprofile\AppData\Roaming\CODESYS\" or C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\CODESYS\. An administrator account is required to access these folders.

At startup, before the working directory is set, the "CODESYSControlService.exe" and the "GatewayService.exe" write log messages to the Windows Event Log. These can be read in the Windows Event Viewer under "Windows Logs" > "Application" under the details of the logged event.

For more details see CODESYS Security Advisory 2024-02, which is available on the CODESYS website:https://customers.codesys.com/index.php?eID=dumpFile&t=f&f=18354&token=f3e92a942c3a2f90c272a5ded7598c6a0b5f4924&download=

[COMPATIBILITY_INFORMATION]
The secured working directory of the ControlWin might have some effects on the behaviour of existing projects using certain features when the ControlWin is executed as a system service:
* Using ActiveX-Controls in the Targetvisu: If a used ActiveX-Control accesses files from the ControlWin working directory the following effects have to be considered:
** Readonly access to files is still possible if these are located within $PlcLogic$/$visu$
** Modifications of these files by the runtime system are not visible to the ActiveX-Control within the Targetvisu
** Access to files in the working environment outside $PlcLogic$/$visu$ is not possible
** Workaround: Either locate the according files within $PlcLogic$/$visu$ or run the ControlWin as Windows-User and not as a system service
* Filetransfer-Feature of the Targetvisu: Filetransfers using the according visualization feature (not streaming) between the Targetvisu and the runtime system no longer work
** Workaround: Run the ControlWin as Windows-User and not as a system service
* Placeholder directory redirection for $visu$ or $PlcLogic$/$visu$: Targetvisu will not work correctly and an according log message will be generated
** Workaround: Remove the placeholder directory redirection or run the ControlWin as Windows-User and not as a system service
CDS-87318 Epic

CmpApp/CodeMeter: Support of usage period, expiration time and maintenance period

Fixed
CDS-87311 Improvement

PLCHandler: Extend VS projects to support Windows ARM64

Fixed
CDS-87310 Improvement

[Essentials] Switch all code from Compression CRC32 to the one in Utilities

Fixed [[GENERAL]]
Removed all references to the Compression GAC
CDS-87302 Bug

IoDrvUtility: State returns undefined for Profinet submodule

Fixed
CDS-87301 Epic

Targetvisu, Touch, Overlay: Scrolling not working on items with Input configuration

Fixed
CDS-87291 Bug

ABL: Invalid License Metrics on Download, „Application app=Application has invalid license metrics!“

Duplicate
CDS-87290 Bug

PackageManagerCLI: Batch installation does not abort in case of a exception

Fixed [[GENERAL]]
The new parameter "--cancelOnException" for the PackageManagerCLI allows to cancel the execution when an exception occurs.

It works for the following commands during their primary function:
--install
--installAll
--uninstall
--uninstallAll
CDS-87244 Bug

Compiler: No literal value for constant structure variable with literal value

Fixed [[GENERAL]]
The ConstantEvaluator of the LanguageModelUtilities should be used instead of "IExpression.Literal(IPrecompileScope scope)"
CDS-87217 Epic

Retain: Double Buffering of Retain data

Won't Fix [[GENERAL]]
Obsolete epic, as improvement is a single separated jira.
CDS-87208 Bug

[Setup] Start menu shortcuts are not always deleted at uninstall

Fixed
CDS-87191 Bug

DeviceObject: CutomItems increase project size

Won't Fix [[GENERAL]]
Due to the basic software architecture, compacting at a time other than loading is not possible.
CDS-87188 Bug

Sign with certificate: Download failed, unknown reason

Fixed
CDS-87181 Improvement

CmpOPCUAProviderIecVarAccess: Add option to allow NodeIDs of type string for information models

Fixed [[GENERAL]]
Enable base64 encode string Node IDs.
CDS-87114 Bug

Transition: Monitoring by variable not working

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-87103 Improvement

Fieldbus Libraries: Change Vendor to CODESYS

Fixed
CDS-87089 Bug

CmpRedundancy: Possible AccessViolation due to skipped EventPost for vfinit

Fixed
CDS-87003 Bug

CmpIecVarAccess: IecVarAccessBrowseRecursive does not stop if the given node was reached

Fixed
CDS-87000 Improvement

[Technical Debt] Compiler, Refactor Parser

Duplicate [[GENERAL]]
Duplicates CDS-89397
CDS-86974 Improvement

[Setup] Write package manager log if installation fails

Fixed
CDS-86960 Bug

Usability: Reset search window after focus loss

Fixed
CDS-86947 Bug

IntelliSense not working at Conversion Function

Fixed
CDS-86935 Improvement

RunTime Security: Add logs when there are errors with application Signing or Encryption

Fixed
CDS-86927 Bug

Tabular Declaration Editor: Paste, copy/paste, delete does not work after closing the POU editor while editing cell "data type"

Fixed
CDS-86920 Bug

GVL, POU: Adding attribute with Unicode Characters decreases performance

Fixed
CDS-86899 Improvement

CmpCAAAsyncManager / CmpAsyncMgr: global counter for currently running jobs needed

Fixed [[GENERAL]]
New C and IEC interface function in CmpAsyncMgrItf/CmpAsyncMgr.library to get current number of async jobs and maximum number of async jobs:

typedef struct ASYNCJOB_CURRENT_MAX_
{
RTS_UI32 current;
RTS_UI32 maximum;
} ASYNCJOB_CURRENT_MAX;

RTS_RESULT CDECL AsyncGetNumOfJobs(ASYNCJOB_CURRENT_MAX *pNumOfJobs, ASYNCJOB_CURRENT_MAX *pNumOfJobTasks);
CDS-86897 Bug

Persistent variable become 0 after full download application a few times

Won't Fix [[GENERAL]]
Error is caused in customer firmware and not in runtime system!
CDS-86764 Epic

Linux: User Management backend for OS user management (PAM)

Fixed
CDS-86740 Improvement

SysSharedMemoryOpen2: Include different behavior between RTE and WinV3 in docs

Fixed
CDS-86723 Improvement

CmpApp / SessionManagement: First CODESYS login should not block the read/write client without write rights in UserManagement

Fixed [[COMPATIBILITY_INFORMATION-EndUser]]
If as user has one of the access rights Add/Remove, Modify or Execute on the application, it will be logged in as read/write client. If only the access right for View is given, the user will be logged in as read-only client. Then the next user can log in as read/write client if he has sufficient rights.

AuditLog:
- Error log message is removed, if a user is reduced from ReadWrite client to ReadOnly client
- In this case, only an info message is provided now
CDS-86715 Bug

Licensed Software Metrics: data shown unreliable

Duplicate [[GENERAL]]
Duplicates CDS-89796
CDS-86669 Bug

M4 Export: arrays of variable size used in methods are not exported correctly

Fixed
CDS-86665 Improvement

RTE: LwIP: It should be possible to add ether-types to the first level input filter of the LwIP through the cfg-file.

Fixed With a cfg-file entry like
[SysEthernet]
EthertypeFilters=
up to 5 filters can be added. The filter is a short in hex, no trailing 0x, in intel-byte-order. (E.g. EtherCAT would be 0x4a88)
Comma separate more than 1 entry.
CDS-86662 Bug

OPC DA, Editor: OPCConfig.exe - User and Password are not saved in .ini file

Fixed
CDS-86653 Improvement

Check existence of .dependency file while starting

Fixed
CDS-86635 Bug

IntelliSense: Lightbulb without function appears after inserting a variable via list components

Fixed
CDS-86621 Improvement

CODESYSControl: create new standard placeholder $DevDesc$

Fixed [[COMPATIBILITY_INFORMATION]]
A new Placeholder is made public: $DevDesc$, if present, this folder is expected to hold "PLC.devdesc.xml", the current device description of this PLC.
If not configured it leads to a subdirectory DevDesc in the working directory and will be created on write access.
For security reasons this Placeholder may be configured as a hidden folder and will then be created at startup:

[SysFile]
PlaceholderFilePath.1=.devdesc, $DevDesc$
CDS-86574 Bug

Increasing Memory allocation during project comparison

Won't Fix [[GENERAL]]
This issue cannot be fixed in CODESYS. Instead, it will be fixed in the code of the device manufacturer.
CDS-86568 Bug

POU Editor: OnlineView of non compiled Editors looks wrong

Fixed
CDS-86541 Improvement

LicenseManager: Display UsagePeriod, ExpirationTime and MaintenancePeriod

Fixed [[GENERAL]]
Show usage period and expiration date of licenses in license manager.
Add new attribute "Maintenance period" in license manager.
CDS-86509 Improvement

Targetvisu, Overlay: Performance improvement by less texture uploads

Fixed
CDS-86508 Improvement

CmpRetain: Implement Double Buffering

Fixed [[GENERAL]]
CmpRetain now provides a new doublebuffer mechanism for InSRAM/InSHM configurations.
- Prerequisites: device description targetsetting:
"report-retain-persistent-update-in-cycle" must be set to 1
- and runtime configuration must be using InSRAM/InSHM and new setting "Retain.DoubleBufferEnabled=1"

Two new events are also provided. For detailed expert usage see example/template component CmpRetainEvents.
CDS-86477 Bug

Template IoDrvVerySimple_Array: Hardware exception during call of IoDrvUpdateMapping()

Duplicate
CDS-86467 Bug

PLCOpenXML export does not export properties with abstract correct

Fixed [[GENERAL]]
Getters and Setters can have different AccessSpecifiers (e.g. PUBLIC get and PRIVATE set).
If these are set, the AccessSpecifier of the property itself will get lost when exporting (e.g. INTERNAL Property with PROTECTED get and PRIVATE set. The INTERNAL specifier will get lost, so the property will be PUBLIC on import.)
CDS-86365 Bug

CmpApp: Timeout at OnlineChange is not handled correctly

Fixed
CDS-86344 Bug

Hide mouse pointer is not respected on start runtime

Fixed [[GENERAL]]
The originally described issue was not a problem in the runtime system source code. Instead, there was a problem in the internal build environment regarding this target device that was caused by the changes to the runtime system builds with 3.5.17.0.
Therefore, the original problem was not fixed in the runtime system source code but will be fixed in the according build environment.

To simplify diagnosis of similar issues in the future, optional compiler defines of the Targetvisualization will now be printed as debug messages at startup of the runtime system. In case these diagnosis messsages should disturb, they can be disabled with the compiler define NO_DEFINE_LOGGING
CDS-86296 Bug

Crash with breakpoint in system event

Fixed
CDS-86280 Improvement

Control Linux: Implement generic solution for SysSocket Adapterinfo DYNAMIC_IP flag

Fixed On Linux, the runtime now checks the IFF_DYNAMIC flag to determine if an interface is dynamic or not.

Additionally, a new setting is available to force the runtime to handle an interface as dynamic:

/**
* <category>Settings</category>
* <type>Int</type>
* <description>
* You can specify if all IPs for an interface should be considered as Dynamic. Note that this does not alter the actual configuration of the interface.
* Instead, it forces the runtime to handle the interface as it is configured as specified.
*
*
* Examples:
*
* LinuxInterfaceIpDynamic=eth0
* LinuxInterfaceIpDynamic=eth0,eth1,eth2
* </description>
*/
CDS-86191 Bug

IoDrvTemplate: No driver found

Fixed [[GENERAL]]
Fix bugs in the device description IoDrvTemplate.devdesc.xml to avoid erroneous device tree configuration.
CDS-86189 Improvement

M4 Export : Support exporting of Interfaces

Fixed [[GENERAL]]
An external interface does not make really sense. Only a concrete implemention can be external not the interface itself. This is why the generated linking code reported errors. After this fix no linking code will be generated for external interface methods.
CDS-86134 Improvement

CmpLog: Support of dynamic logger text length

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
- To support dynamic logger strings, you can use the corresponding feature "Logger_DynamicLogStrings".
NOTE: This will activate dynamic logger strings in all logger instances!
- Alternatively you can define LOG_SUPPORT_DYNAMIC_STRINGS and increase the
maximum logger length e.g. LOGVALUE_INT_MAX_INFO_LEN_DEFAULT=512.

- The maximum length of logger strings can be specified with the setting "MaxInfoLength" in the cfg-file.
MaxInfoLength=-1 means, unlimited logger strings!

- To support dynamic logger text strings in a logger backend, you have to adapt the way to access these strings:
Instead of using LogEntry.szInfo you have to use the following new macro to get the dynamic logger strings:
char *pszLogString = LOG_GET_STRING(LogOptions *pLogOptions, LogEntry *pLogEntry)
CDS-86131 Bug

CmpOPCUAServer: crash with many OPCUA-Subscriptions

Fixed
CDS-86053 Improvement

LibDevSummary: Add information to parameter lists for libraries

Cannot Reproduce
CDS-86006 Improvement

M4 export: Export POUs of type function with "Enable System Call" enabled

Fixed
CDS-85944 Bug

Compiler: Error 'Ambigous use of name ...' is not evaluated correctly

Cannot Reproduce
CDS-85933 Bug

Context menu does not work with specific menu configuration

Cannot Reproduce [[GENERAL]]
The issue is not reproducible since 3.5 SP 20.
The corresponding fixing issue was
CDS-86912 Context menu stops working sometimes
CDS-85920 Epic

PLCHandler: Support ARM64 platform on Windows

Fixed
CDS-85892 Bug

Library Manager: Library Summary highlights too many libraries

Cannot Reproduce [[GENERAL]]
Cannot reproduce with 3.5.21.0
CDS-85888 Improvement

Redundancy: On stop reason shutdown, set local controller to simulation

Won't Fix [[GENERAL]] There is no need to implement this feature because it is only a simulated problem and not a real one.
CDS-85884 Bug

Localization:Chinese translation not correct for the word "Clean" in the error message box

Cannot Reproduce
CDS-85870 Improvement

CmpUserMgr: Interval for key generation should be configurable

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
- Compiler Define USERMGR_ASYMMETRIC_KEY_UPDATE_INTERVAL;
-- If define is 0: New key generation is done only, if no valid key can be found! No cyclic update!
-- If define >0: key generation is done after this specified interval in milliseconds

[[COMPATIBILITY_INFORMATION-EndUser]]
- New security setting:
/**
* <category>SecuritySettings</category>
* <description>Setting to specify interval in seconds to generate a new asymmetric key pair for encrypted password transfer.
*</description>
*/
#define CMPUSERMGR_KEY_INT_USERLOGIN_ASYMMETRIC_KEY_UPDATE_INTERVAL CMPSETTINGS_CATEGORY_SECURITY ".UserLogin.AsymmetricKeyUpdateInterval"
#define CMPUSERMGR_KEY_INT_USERLOGIN_ASYMMETRIC_KEY_UPDATE_INTERVAL_DESC "Interval in seconds to generate a new asymmetric key pair for encrypted password transfer"

#ifndef CMPUSERMGR_VALUE_USERLOGIN_ASYMMETRIC_KEY_UPDATE_INTERVAL_DEFAULT
#define CMPUSERMGR_VALUE_USERLOGIN_ASYMMETRIC_KEY_UPDATE_INTERVAL_DEFAULT (USERMGR_ASYMMETRIC_KEY_UPDATE_INTERVAL / 1000)
#endif
#ifndef CMPUSERMGR_VALUE_USERLOGIN_ASYMMETRIC_KEY_UPDATE_INTERVAL_MIN
#define CMPUSERMGR_VALUE_USERLOGIN_ASYMMETRIC_KEY_UPDATE_INTERVAL_MIN 3600 /* 1h minimum update interval */
#endif

IMPLEMENTATION NOTES:
- If setting is 0: New key pair generation only, if no valid key can be found =>No more key generation during runtime!
- If setting is >0: Key pair is only generated after this interval in seconds!
- If SecuritySetting UserLogin_AuthenticationType == ONLY_LEGACY: =>Key pair is not generated!
- Lowest update interval is limited to CMPUSERMGR_VALUE_USERLOGIN_ASYMMETRIC_KEY_UPDATE_INTERVAL_MIN = 1h
CDS-85812 Improvement

Login: Add Warning about deactivated creation of boot application

Fixed
CDS-85799 Bug

IntelliSense: IntelliSense (list components) shows local variables of a library FB if it has the same GUID as the local FB

Fixed
CDS-85733 Bug

VxWorks ARM64: Exceptions not handled correctly

Fixed
CDS-85731 Bug

Automatically window switches when installing a library

Fixed
CDS-85702 Improvement

Generics: Support multiple levels of inheritence

Won't Fix [[GENERAL]]
We explicitly limit the access to the generic function block constants to the function block itself. The generic constants are integral parts of the type definition and not just inputs and therefore private to the function block type.
The only way to use the constant of a function block should be via public interfaces, e.g. a method or a property.
So, if you want to derive a generic function block that offers the same generic constants as its base function block, it is recommended to declare the generic constants explicitly:

FUNCTION_BLOCK POU
VAR_GENERIC CONSTANT
cc : DINT := 10;
END_VAR

FUNCTION_BLOCK POU1
VAR_GENERIC CONSTANT
cc1 : DINT := 10;
END_VAR EXTENDS POU<cc1>

You could for example also use a derived function block to define a fixed constant value for the base type:

FUNCTION_BLOCK POU_10 EXTENDS POU<10>

This could be useful for a value that is often used throughout a project, or a typical default of the generic function block.
CDS-85698 Improvement

Generics: Support for default generic value

Won't Fix [[GENERAL]]
We consider implicit default values as a source of potential problems. The default value is currently only used for precompile checks. If you change the value to fix some precompile check, you might not be aware to create new function block types for every declaration with default value.
If you want to offer a function block type with an explicit definition of the generic constant, there is a simple and clear way to do so:

FUNCTION_BLOCK POU
VAR_GENERIC CONSTANT
cc : DINT := 10;
END_VAR

FUNCTION_BLOCK POU_10 EXTENDS POU<10>

This way you can even offer several different "default" values for different typical situations.
CDS-85467 Bug

Closing the PLCOpen Import Editor by [X] the mouse "loading symbol" remains permanent

Duplicate
CDS-85438 Improvement

IEngine: Detach and Attach Editors in Frame property

Fixed
CDS-85364 Bug

GWClient: Windows: Buildconfiguration "Debug" fails, because _USRDLL is not set

Fixed
CDS-85359 Bug

m4 export: inconsistent output with attribute external name and _

Fixed [[GENERAL]]
Double underscores are problematic in IEC and in C / C++. Therefore we now generate a warning when used as attribute-value for the attribute "external_name".
Now there are warnings in the "Generate runtime system files" category of the message view for each generated usage of the name with double underscores.
If really necessary, a user has to fix any issues manually in the generated files.
CDS-85316 Bug

LibMan: Typo „implicitely ” in message during deletion of default library

Fixed
CDS-85256 Bug

Breakpoints: Crash with customer project

Duplicate [[GENERAL]]
Duplicates CDS-88812
CDS-85178 Improvement

CmpApp.library: Add AppCheckBootprojectConsistency()

Fixed
CDS-85128 Bug

Runtime stores IO config parameters incorrectly

Fixed
CDS-85124 Bug

Reset origin during RUN/STOP transition leads to Segmentation fault

Cannot Reproduce
CDS-85057 Improvement

Build: PLCHandler: Windows: Support ARM64 (VS2022)

Fixed
CDS-84993 Bug

DeviceObject: Drag-Drop, Copy-Paste of Logical Exchange Variable deletes the associated Logical IOs in the Safety-Application

Fixed
CDS-84958 Bug

compile_m4.py: Convert m4 => h: misplaced #endif of #ifdef CPLUSPLUS

Fixed
CDS-84955 Bug

M4 Export: Inconsistent export of enum values

Fixed [[GENERAL]]
Additionally the problem with calculations in array borders has been fixed for the following operators: + - * /
CDS-84885 Bug

Runtime crash after exception

Duplicate [[GENERAL]]
Duplicate of CDS-84888
CDS-84802 Bug

Dynamic array in VAR_IN_OUT is shown as Input

Fixed
CDS-84795 Bug

Runtime Templates: Error in event handling in CmpTemplate

Fixed
CDS-84503 Bug

Compiler: error appears Function 'IncWordArray2' requires at least '3' and maximum '4' inputs

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-84457 Bug

Auto Declare: the list of components shows dublicate entries with autocomplete

Cannot Reproduce [[GENERAL]]
Already fixed starting with version V3.5.19.0
CDS-84450 Bug

ST: Properties window stays open when switching from Visu to ST

Won't Fix [[GENERAL]]
The described behaviour is "as designed" in order to have a stable workspace layout without constant windowsize changes and will therefore not be changed.
CDS-84408 Improvement

Compiler: Possibility to define location of Compile-File

Cannot Reproduce [[GENERAL]]
The new interface IProjectSideCarLocationProvider, which has been introduced with SP20, allows the customers to set the location of the side car entries for a project. The customer need to be careful since the location is an Uri.
CDS-83779 Improvement

OPC UA Server: Deleting of monitored items may be slow

Fixed
CDS-83657 Epic

Support of AppBasedLicenses on license servers

Fixed
CDS-83561 Bug

IntelliSense: IntelliSense (list components) does not properly consider access modifiers (private, protected, internal, temp)

Fixed
CDS-83518 Bug

External FB Implemtation with Any Input -> Broken Interface.M4

Fixed
CDS-83488 Bug

Tabular Declaration: Initialization of Array of Struct containing Array of Struct leads to error pop-up

Fixed
CDS-83445 Improvement

OnlineDevice: Read password policy before adding first user

Fixed
CDS-83438 Improvement

DeviceUserManagement: Send password policy before adding the first user

Fixed
CDS-83385 Improvement

PackageManagerCLI: Support batch uninstallations

Fixed [[GENERAL]]
Multiple packages can be uninstalled using PackageManagerCLI.exe. The option --uninstall now accepts a list of guid (Id) and version devided by a '|'. Forthermore a file containing these pairs line by line is accepted.
Remarks: Not installed packages will be skipped silently.
CDS-83267 Bug

CmpRedundancy: Synchronization sequence deletes the database of the persistence manager

Fixed
CDS-83241 Improvement

OPC UA Server: Handle ActivateSessionRequest in a background task

Fixed
CDS-83122 Improvement

SysTimeRTCVxWorks: read the TIMEZONE variable

Duplicate [[GENERAL]]
Duplicate of CDS-91680
CDS-83079 Bug

Library Manager: the information from application is not updated on rename

Fixed
CDS-83077 Bug

Flow Control: Execution of Flow Control stops after some time in combination with a TON

Cannot Reproduce
CDS-82875 Improvement

OPC UA Server: SO_REUSEADDR schould used as a socket option for server sockets

Fixed
CDS-82790 Improvement

Network Scan: support scan beyond subnets, using ARP

Fixed [[GENERAL]]
Added a new feature "Extended Network Scan".

The regular network scan only finds devices that are in the same subnet as the gateway. This can be insufficient for complex networks with multiple subnets. The extended network scan can be performed to find other devices in the network. These found devices can not be connected to directly and are only displayed as information. To actually connect to devices found in this extended scan, the user has to change their network configuration.

The extended network scan is integrated in the "Scan Network" dialog in device editor tab "Communication Settings". This dialog has a new button "Extended Network Scan" to scan the network and list all found devices.
CDS-82785 Improvement

Compile: Attribute subsequent for Function Blocks

Duplicate [[GENERAL]]
Already fixed with CDS-90817: Attribute 'subsequent' on function blocks does not work as expected.
Compilerversion >= 3.5.21.0
CDS-82506 Bug

LD | LDT: A date before 1970 is not processed correctly

Fixed [[COMPATIBILITY_INFORMATION]]
LDATEs and LDATE_AND_TIME are now processed as signed values.
The range of values
TO_LDT(ULINT#16#0) => LDT#1970-1-1-0:0:0
TO_LDT(ULINT#16#8000000000000000) => LDT#1677-9-21-0:12:43.145224192
TO_LDT(ULINT#16#7FFFFFFFFFFFFFFF) => LDT#2262-4-11-23:47:16.854775807
Base is Nanoseconds,
The change has effect on comparison, differences and Conversions.
CDS-82356 Improvement

CmpCodeMeter: Online Service to transport UsagePeriod, ExpirationTime and MaintenancePeriod of licenses

Fixed
CDS-82236 Bug

[Linux ARM]: Sampling with CODESYS Profiler doesn't work anymore

Cannot Reproduce
CDS-82227 Bug

Online Application: If Source Download is set to "Prompt at program..." no manual download is possbile

Cannot Reproduce
CDS-82053 Improvement

DeviceCommunication: possibility to store password for communication with device in a local password storage

Duplicate
CDS-82033 Improvement

OPC UA Server should not sends FIN after 120 sec, but after secure channel timeout

Won't Fix [[GENERAL]]
The OPC UA standard does not provide any definitions regarding session/channel timeouts.
An OPC UA client inactive for 120s is not a valid use case.
So any changes for this topic would be highly speculative - most likely not worth the effort - thats why won't fix.
CDS-82015 Improvement

Find in Project, Cross Reference, Task Configuration, System Events: Functions in the System Events Tab should be discoverable via Cross Reference and Find All

Fixed [[GENERAL]]
The configured event handler functions are now considered in
- the Cross Reference List
- Find
- Find & Replace
- Refactoring rename
CDS-81995 Epic

Tool Qualification CODESYS Essentials

Fixed
CDS-81944 Bug

Compile: Error is not detected if using dynamic_creation attribute

Cannot Reproduce
CDS-81804 Bug

Assertion when trying to resolve place holders (old project)

Cannot Reproduce
CDS-81768 Bug

LibMan: Unexpected unbound placeholder created when downgrading device

Duplicate [[GENERAL]]
Duplicates CDS-83534
CDS-81766 Bug

Possible access on uninitialised variable in CmpOpenSSL

Fixed
CDS-81636 Bug

M4 Export: an ANY_STRING variable appears twice

Duplicate [[GENERAL]]
Duplicate of CDS-83518
CDS-81502 Improvement

Multicore: SchedProcessorLoad tasks are also setup for cores on which IEC tasks must not run

Fixed [[COMPATIBILITY_INFORMATION]]
With the standard configuration (ProcessorLoad.Maximum=80) ProcessorLoad tasks are created for each available core.

One can disable the complete ProcessorLoad monitoring with the following configuration, i.e. no ProcessorLoad tasks are created:
[CmpSchedule]
ProcessorLoad.Enable=0

With the following configuration ProcessorLoad tasks are only created for this core set at runtime initialization:
[SysCpuMultiCore]
IecCoreSet={1,2}

In this example, only cores 1 and 2 are used.
CDS-81390 Bug

License Manager: license is not activated correctly

Cannot Reproduce
CDS-81052 Bug

CDS: Opening CODESYS without second monitor - CODESYS not visible

Fixed
CDS-80954 Bug

unbound placeholder: Project compare does not show different resolutions for an unbound placeholder

Duplicate [[GENERAL]]
Duplicates CDS-81643
CDS-80863 Bug

UpdateDevice dialogue switches from Update Device to Append Device after an update of a Safety PLC

Fixed
CDS-80855 Bug

Device Editor: Drag'n'drop of interface onto a FB seems to work due to appearing dialog, but does not create any element

Fixed
CDS-80808 Bug

PLCHander: Interface ARTI V2: Possible deadlock or long lock, when using several instances

Fixed
CDS-80781 Improvement

CmpOPCUAStack: Implement and publish Pub/Sub security policies within the UA Stack and publish interface to IEC

Fixed
CDS-79861 Improvement

OPC UA Server: Add additional RtsX509AltName(s) with IpAddress(es) to Certificate

Fixed [[GENERAL]]
There is a new security Setting for the OPC UA Server which allows the configuration of IPs used within the OPC UA servers certificate.

[CmpOPCUAServer]
SECURITY.CertificateIpAddresses
CDS-79574 Bug

Intellisense: 'List components' does not work if a dot is inserted between a symbol and an existing dot

Fixed
CDS-79055 Bug

__QUERYPOINTER reports successful despite interface not belonging to an object of the same type as the pointer

Won't Fix [[GENERAL]]
This behaviour is as designed. The operator returns an untyped pointer to the base interface, it will always succeed if the interface is not 0.
Excerpt from the manual:
The operator receives an interface reference or a FB instance with the
required target types as the first operand and a pointer as the second operand. After processing __QUERYPOINTER, Pointer_Dest receives the pointer to the reference or instance of a function block that the ITF_Source interface reference currently refers to. Pointer_Dest is not typed and can be cast to any type. You have to make sure of the type. For example, the interface could offer a method that returns a type code.
CDS-79016 Improvement

SysEthernet: Global semaphore blocks tasks even on different ethernet adapters.

Fixed
CDS-78696 Improvement

[Technical Debt] Breakpoints: Refactor Common

Fixed
CDS-78596 Improvement

Prepare Value Dialog: Insert a String without ' at the begin and end does not work

Fixed
CDS-78529 Improvement

[Technical Debt] WatchList: Refactor ChildNodeCreator

Fixed
CDS-78508 Bug

ControlWinX64: Runtime crash when stepping into method.

Duplicate [[GENERAL]]
Duplicates CDS-88812
CDS-78488 Bug

OPC UA Stack: Empty array cannot be encoded

Duplicate
CDS-78350 Bug

Online Change: Details view recognizes temp vars on FBs as incorrectly added

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-78305 Bug

OPCUA Client : Disconnection callback called with wrong state

Fixed :
CDS-78154 Bug

CmpX509CertItf: X509CertGetContent returns wrong value type for alternative name Email

Fixed
CDS-78042 Improvement

Library Manager, Download Missing Libraries: "*" (newest Version) libraries should be downloaded

Duplicate [[GENERAL]]
Duplicates CDS-81827
CDS-77878 Improvement

Profinet Certification: Blink Ethernet Adapter LEDs

Fixed [[GENERAL]] This function causes the orange LED of an Ethernet adapter specified via the Mac address to blink for a certain period of time. The function is only available with certain hardware and only in certain operating systems.
CDS-77450 Bug

OPC UA Server: BrowseNext does not work if MaxNodesToReturn is set to 1 in some cases on CmpOPCUAProviderIecVarAccess

Fixed
CDS-77188 Bug

OnlineCommands: Improve all Cognitive Complexity issues in Commands.cs

Fixed
CDS-77080 Improvement

LibMan: make first text search not cause CODESYS to be "Not responding"

Duplicate [[GENERAL]]
Duplicates CDS-76374
CDS-76959 Improvement

Control RTE: CODESYS Networkdriver - implement the possibility to do whireshark traces

Fixed It is possible to monitor Ethernet frames with ethertype in [0x9288,0xa488] using wireshark (ETC and Profinet IO frames)
[SysEthernet]
LoopbackMAC=<a MAC-address in hex:hex... notation> or ff:ff:ff:ff:ff:ff to indicate monitoring is desired over all RTE-adapters.
CDS-76810 Bug

OPCUAServer: missedSamples might be calculated wrong in MonitoredItem_Sample

Fixed
CDS-76762 Improvement

VxWorks : Year 2038 Problem ( Type definition of time_t to be long long )

Fixed [[GENERAL]]
The VxWorks kernel option _WRS_CONFIG_TIME_T_LONG_LONG must be set to avoid the year 2038 problem.
CDS-76637 Bug

OnlineManager: Download: strange Percentage shown in status for big downloads

Fixed
CDS-76631 Bug

Watchlist, Monitoring: Wrong monitoring values for a GVL in the pool if a GVL with the same name already exists in the application

Cannot Reproduce
CDS-76492 Bug

Add library doesn't work if POU is on the right side of the LibMan

Cannot Reproduce [[GENERAL]]
The issue cannot be reproduced with V3.5 SP21
CDS-76094 Improvement

CmpIecTask: Add counters for lost cycles in Task_Desc structure

Fixed [[GENERAL]]
- New C- and IEC interface functions to get lost cycle counters:
RTS_RESULT CDECL IecTaskGetOmittedCycleCounters(RTS_HANDLE hIecTask, IecTaskOmittedCycleCounters *pOmittedCycleCounters);
- Worked only on targets with full CmpSchedule and the activated feature "IecTask.OmittedCycleInfos.xml"

[[KNOWN_LIMITATIONS]]
This feature does not work for tick-less systems.
CDS-75045 Improvement

Display actual stack usage of tasks in UI

Fixed [[GENERAL]]
There is a new tab in the task configuration editor: "Stack Usage".
After successful compile the callstack of the maximum stack consumption is displayed.
CDS-74720 Improvement

OPC UA Server: Should support "Data Change Filter"

Duplicate [[General]]
Is Implemented as part of CDS-42704
CDS-74508 Bug

Standard.CTU: Using an instance as VAR_IN_OUT variable leads to compile errors on 64bit devices

Fixed [[GENERAL]]
Compiler Version >= 3.5.21.0
CDS-74442 Bug

Compiler: Project compiling error in Simulation mode

Cannot Reproduce
CDS-74353 Improvement

CODESYSControl ComponentManager: safe mode should be configurable, disable if required

Fixed [[GENERAL]]
Added features to specify the behavior of the safemode:
- SafeMode_Shutdown - If the safemode is triggered, the runtime will shut down in the next comm cycle.
- SafeMode_Disable - The safemode does not have any effect. But still, a log message with LOG_EXCEPTION is sent.
CDS-74313 Bug

Compiler: When adding serveral properties with different return types, mouse over and the browse functionalities are not working correctly

Cannot Reproduce
CDS-73385 Improvement

sercos master library - CmpSercos3Master: Remove from runtime kernel

Fixed
CDS-71712 Improvement

Project Settings: handle warnings as errors

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-71160 Bug

Conversion functions LDATE- and LDT_TO_STRING don´t support full type range

Duplicate [[GENERAL]]
Duplicates CDS-82506
CDS-70340 Bug

OPC UA Client / Server: Subscriptions not working after connection loss on client side

Fixed
CDS-69583 Improvement

OPC UA Server: Add support for new data type LDATE, LDATE_AND_TIME, LTIME_OF_DAY

Fixed
CDS-68417 Epic

Implement Import/Export of POUs according to IEC 61131-10

Fixed
CDS-68070 Improvement

LibManEditor: Placeholder dialog should display icons

Cannot Reproduce
CDS-67863 Bug

Precompile check needs additional change to finish

Cannot Reproduce
CDS-67775 Bug

Compiler, SmartCoding: "List Components" feature Incorrectly shows GVL members for a datatype with the same name

Duplicate
CDS-67692 Bug

PLCHandler: new[] vs. delete mismatch in CopyPlcParameterDesc and DeletePlcParameterDesc

Cannot Reproduce [[GENERAL]]
Was already fixed by CDS-85748 (V3.5.20.0).
CDS-67634 Bug

IntelliSense: Should not appear on editing a string

Fixed
CDS-67383 Bug

Autoformat in multi-line pragma

Duplicate [[GENERAL]]
Duplicates: CDS-76593
CDS-67289 Bug

LibManEditor: DocumentationView always displays back button

Won't Fix [[GENERAL]]
The behavior of the back button only refers to the documentation tab. This behavior can be accepted.
=> Won't fix.
CDS-67201 Bug

Implement Interfaces: missing namespace for global constants

Cannot Reproduce
CDS-66981 Bug

Intellisense: The implicit output variable for the function return value is displayed in intellisense

Fixed
CDS-66665 Bug

Intellisense: Failing when using a Struct and Action with the same name in a POU

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-66658 Bug

PLCopenXML: Breaking import leads to crash, high CPU usage or functionality loss

Cannot Reproduce
CDS-66295 Bug

Codegeneration: internal error:System.NullReferenceException on using Return with Parameter

Cannot Reproduce
CDS-65919 Bug

Pragma "{error ...} have no effect, if the project is already compiled

Cannot Reproduce
CDS-65848 Bug

LibMan: Enumerations in a parameter list of a library does not show a drop down selection for its value in the library manager

Won't Fix [[GENERAL]]
Starting with V3.5 SP19 the editing functionality directly in the editor of the library manager is no longer supported. With CDS-90547 the intellisense support will be added to the new library parameter dialog.
CDS-65808 Bug

Compiler: Exception if FB_Init has wrong return type

Cannot Reproduce
CDS-65068 Bug

Find/Replace: some Hot Key Control not working when window is docked

Fixed
CDS-64095 Bug

IntelliSense: auto-complete not showing local variables in MIN()/MAX() in ST Editor

Cannot Reproduce [[GENERAL]]
Starting with V3.5 SP16 this problem is no longer reproducible
CDS-64092 Bug

IntelliSense appears in comments starting with /// (more than two slashes)

Fixed [[GENERAL]]
The problem with the option "List components immediatly when typing" has been fixed with CDS-64902.
CDS-64091 Bug

IntelliSense: REF= is corrected to REF==

Fixed
CDS-63193 Bug

Compiler: Null reference exception in multiple assignment of interfaces

Cannot Reproduce [[GENERAL]]
Cannot be reproduced with Compiler Version 3.5.21.0
CDS-63087 Bug

CmpLog: EVT_LogAdd not usable within IEC code

Fixed [[COMPATIBILITY_INFORMATION-EndUser]]
There is a new function LogCopyInfo() ind CmpLog.library to copy the argument list into the given logger string!
This is mandatory, if you use a callback function at the event EVT_LogAdd and if you would like to read out the complete logger text string including the argument list!

IEC Code Example:
=== DECLARATION ===
METHOD EventCallback : UDINT
VAR_INPUT
pEventParam : POINTER TO EventParam;
END_VAR
VAR
pLogAddParam : POINTER TO EVTPARAM_CmpLogAdd;
result : RTS_IEC_RESULT;
strLen : DINT;
szLogString : STRING(512);
END_VAR

=== IMPLEMENTATION ===
CASE pEventParam^.EventId OF
CmpLog.EventIDs.EVT_LogAdd:
pLogAddParam := pEventParam^.pParameter;
strLen := SIZEOF(szLogString);
LogCopyInfo(pLogAddParam^.hLog, pLogAddParam^.pszInfo, pLogAddParam^.pargList, ADR(szLogString), ADR(strLen));
END_CASE
CDS-62923 Improvement

Optional Inputs for Functions

Duplicate [[GENERAL]]
Duplicates CDS-56722
CDS-62916 Bug

LibMan: strange error message appears, if there is a space in the title of the lib

Duplicate [[GENERAL]]
Duplicates CDS-75850
CDS-62913 Bug

FBD, LD, IL: Non qualified global variables are insert with prefix

Cannot Reproduce [[GENERAL]]
Cannot reproduce with V3.5.20.0
CDS-62589 Bug

Limited number of variable in the variable declaration area

Duplicate [[GENERAL]] numbere of elements in watchlist had to be limited in order to avoid exceptions. By double click on type, the range can be extended.
CDS-62129 Bug

BrowserCommands: Go To Definition on reserved word displays error message

Cannot Reproduce
CDS-62048 Bug

CoreDump, Monitoring: Unable to expand interface variables

Cannot Reproduce
CDS-61991 Bug

OPCUA Server, Win V3 x64: Memory leak if we use an encrypted communication

Cannot Reproduce [[GENERAL]]
Not reproducible anymore. Tested with CODESYS Runtime 3.5.20.0 with and without encrypted communicaiton
CDS-61835 Bug

Softmotion PLC: Warning "C0100: Library Softmotion_BusTaskInterval.." occur if any other error is happen

Cannot Reproduce
CDS-61359 Improvement

Compile: Allow editing build behavior for multiple POUs

Cannot Reproduce [[GENERAL]]
It is possible to use the exclude from build property on a folder and it is applied to all POUs contained in that folder.
CDS-61079 Bug

Library Manager: By selecting and deselecting a missing library in the download dialog, a download can be started even if the URL is missing.

Fixed
CDS-61076 Improvement

TaskConfig: Configurable stack size

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0 and Runtimeversion >= 3.5.21.0
Not supported if the target setting "runtime_features\compact_download" is set
CDS-60967 Bug

Message "Internal Error: Unsupported conversion type" for BOOL_TO_SAFEBOOL

Cannot Reproduce
CDS-60934 Bug

DevDesc: Download devdesc deletes compile-information

Duplicate [[GENERAL]]
Duplicates CDS-65784
CDS-60717 Bug

Unbound placeholder: unbound placeholders are not processed when adding device

Cannot Reproduce
CDS-60466 Bug

ST, IntelliSense: Shaded local variable, by using the same name for enum member, cannot be entered via IntelliSense

Cannot Reproduce [[GENERAL]]
Starting with V3.5 SP20 this problem is no longer reproducible
CDS-59680 Bug

LMM: Static call within indexaccess is virtual

Fixed
CDS-59633 Bug

LanguageModelManager: Wrong Instance Path for Breakpoint in dynamic created FB.

Cannot Reproduce
CDS-59234 Improvement

Multiselect of interfaces in add Object Dialog

Cannot Reproduce [[GENERAL]]
It is possible to enter more than one interface in the wizard
CDS-58868 Bug

IntelliSense: Attribute "hide_all_locals" hides the first local variable

Fixed [[COMPATIBILITY_INFORMATION]]
Hidden variables of a functionblock are now visible in child objects (methods, properties, actions) of the functionblock
CDS-58800 Bug

Intellisense: Member variables of another method can be seen

Fixed
CDS-58733 Bug

LibraryLoader: Not all members are reinitialized correctly if the primary project is switched

Fixed
CDS-58474 Bug

LibMan: Placeholder-Resolution is wrong for "Visu" libs inside "SM3 Basic" library

Cannot Reproduce
CDS-57671 Bug

Comment for return type of function/method not shown in Library Manager or Tooltip in case of specific return datatypes "STRING" or "ARRAY OF STRING"

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-57538 Bug

PLCopen import: Canceling import by clicking the windows close button not completed

Duplicate
CDS-57157 Bug

Libman: The library version in a second CODESYS instance is not adjusted immediately

Cannot Reproduce [[GENERAL]]
The issue cannot be reproduced anymore with V3.5 SP21
CDS-56839 Bug

Input Assistant: Auto complete does not work proper

Fixed
CDS-55736 Bug

OPC UA / Server: Function blocks are filtered as variable nodes but displayed as object nodes

Fixed
CDS-55005 Bug

[M4 Export] Export of calculated constant does not work

Fixed
CDS-54570 Bug

Communication: Device login after setting device active is unnecessary and leads to additional authentication

Fixed
CDS-54546 Bug

Search & Replace IL: in IL Editor does not work as expected

Won't Fix [[GENERAL]] IL is no longer supported.
CDS-54253 Bug

Incorrect use of the __CAST command results in an unhandled exception

Cannot Reproduce [[GENERAL]]
Cannot be reproduced anymore with V3.5 SP21
CDS-53686 Bug

LibMan: Company name in the "add library" dialog is not displayed correctly

Cannot Reproduce [[GENERAL]]
The issue cannot be reproduced anymore with V3.5 SP21
CDS-53513 Bug

Conditional Breakpoint: No possible to set a conditional breakpoint on a VAR_INPUT of a method in a library

Cannot Reproduce
CDS-53440 Improvement

MultiCore / VxWorks : SysMCGetLoad enable own OEM implementation

Fixed [[GENERAL]]
SysCpuMulticore on VxWorks "SysMCGetLoad_" is now marked as "weak", so own implementations can overload this function.
CDS-53398 Bug

Intellisense: Protected Properties are not shown in Intellisense

Fixed
CDS-52981 Bug

LMM: PropertyInfo not working with FBs from libraries using qualified-access-only

Cannot Reproduce [[GENERAL]]
Issue cannot be reproduced anymore using V3.5 SP21
CDS-52916 Bug

LibraryManager: Add *-Lib change resolution of used libraries

Cannot Reproduce
CDS-52690 Bug

Occasional crash of CODESYS when installing a library from a different CODESYS instance

Fixed
CDS-51887 Bug

PersistentVars: Dummy variable attribute values changed when copied

Duplicate [[GENERAL]]
Duplicates CDS-89375
CDS-51413 Bug

Refactoring, Rename: Rename of methodname in a library, does not rename the methodproperty and the usages

Cannot Reproduce
CDS-51195 Bug

LibMan: Documentation of properties from compiled libraries not visible

Cannot Reproduce [[GENERAL]] Not reproducable with SP 18.
CDS-50446 Improvement

Autodeclare: adapt inserted code to respect possible naming restrictions

Cannot Reproduce [[GENERAL]]
Already implemented in V3.5 SP21.
CDS-50244 Bug

LibMan:Wrong header - Interface can extend several Interfaces but not implement them

Fixed
CDS-50231 Bug

LibMan: command "browse" for cross refs and call tree not useful for libraries, but preferably for library content

Cannot Reproduce
CDS-49352 Improvement

LibMan: It should be possible to copy text from the documentation

Cannot Reproduce [[GENERAL]]
Copy & Paste is possible in the documentation view.
CDS-48972 Bug

IntelliSense: Programs are not suggested by IntelliSense when declaring a POINTER TO variable

Won't Fix [[GENERAL]]
Won't Fix. POINTER TO <Program> ist not supported, in this case the compile error C0177 is reported, for this reason it is not offered with intellisense.
CDS-48228 Bug

M4 Export: Stringvalues in VAR_GLOBAL Constant are not exported

Fixed [[GENERAL]]
String constants are now always generated as UTF-8 encoded strings, despite of the compiler setting for the library.
In the end, the encoding of a constant 'Ä' in a library will always be defined by the compiler setting of a project using the library. UTF-8 is the only way to have an encoding that can be enforced on any platform. We recommend to use STRING-constants only containing characters within the ASCII-set.
CDS-48158 Bug

LMM: ArgumentOutOfRangeException when calling __QUERYPOINTER with only one argument

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-47892 Improvement

Online Commands: Improve boot application handling in login dialogs

Fixed
CDS-46600 Bug

LibMan: newly installed libraries can not be used before opening the Library Manager

Cannot Reproduce
CDS-46383 Bug

ST, Library, Breakpoint: Not possible to set an conditional breakpoint in a library

Cannot Reproduce [[GENERAL]]
The issue cannot be reproduced anymore with V3.5 SP21
CDS-46286 Bug

Intellisense: Attribute 'hide' hides type in different library with same name

Cannot Reproduce [[GENERAL]]
Starting with V3.5 SP16 this problem is no longer reproducible
CDS-45866 Improvement

SysTimeRTC: Solve year 2038 problem

Fixed [[GENERAL]]
The 2038 bug does only affect certain 32 Bit runtimes, such as Linux, QNX, VxWorks.
This jira DOES NOT FIX the 2038 bug, because it can only be fixed by the system the runtime is build for and deployed on.
Additional information will be delivered.
A info on affected systems is generated on startup.
CDS-45477 Improvement

LibMan: Automatic creation of links to variable definitions

Cannot Reproduce [[GENERAL]]
The types of extended function blocks, interfaces and variable types are active links in the Inputs / Outputs view of the llibrary element.
CDS-45210 Improvement

Compiler, Library: Implement optimized STRING-Functions

Duplicate CDS-36597
CDS-44509 Improvement

Precompile: error C0032 should become a warnig

Cannot Reproduce [[GENERAL]]
Cannot be reproduced anymore with V3.5 SP21.
CDS-44065 Improvement

M4-Header-Generation: Support ANY_TYPE

Cannot Reproduce [[GENERAL]]
ANY_TYPE is both supported for functions and functionblocks
CDS-43297 Bug

Compile : subrange types, wrong maximum value

Cannot Reproduce
CDS-43244 Bug

LMM: Hastype pragma cannot be used to check for interfaces

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-43110 Improvement

Checkpointer for index access on pointer

Fixed [[GENERAL]]
CheckPointer calls will now be generated for index accesses to pointers.
CDS-42704 Epic

OPC UA Server: Certification by the OPC-Foundation - Embedded 2017 UA Server Profile

Fixed
CDS-42472 Bug

LibMan: Strange dialog asking to search for source of external files

Cannot Reproduce [[GENERAL]]
The issue cannot be reproduced anymore with V3.5 SP21
CDS-41902 Improvement

Cross Reference: give detailed information about the POU in which a cross reference is found.

Cannot Reproduce
CDS-41580 Bug

OnlineChange: Long jitter at OnlineChange if a new Var is added

Duplicate [[GENERAL]]
Duplicates CDS-90832
CDS-41111 Bug

Intellisense: Intellisense is wrong for VAR_TEMP variables

Fixed
CDS-40475 Improvement

M4 export: Missing features.

Cannot Reproduce [[GENERAL]]
Strings and WStrings are currently exported as Pointer to RTS_IEC_STRING
CDS-39870 Improvement

Compile: It should be possible to suppress Compile warnings for compiled libs

Duplicate Duplicates CDS-37402
CDS-39414 Improvement

LibMan: Improve the search results of the new Add Library dialog

Cannot Reproduce [[GENERAL]]
The issue cannot be reproduced anymore with V3.5 SP21. The filter for library categories does not exist anymore, all libraries are searched by default.
CDS-37277 Bug

LMM: FOR loop with subrange counter doesn't work correctly

Fixed [[GENERAL]]
Compilerversion >= 3.5.21.0
CDS-33291 Improvement

OnlineManager: Provide password manager for online users / device login

Fixed

 

CODESYS AddOns Version
CODESYS Automation Server Connector 1.35.0.0
CODESYS Base Libraries 4.0.0.0
CODESYS SoftMotion 4.17.0.0
CODESYS Security Agent 1.3.0.0
CODESYS C Code Integration 4.0.0.0
CODESYS Core Dump 4.2.0.0
CODESYS Code Generator ARM 4.0.3.0
CODESYS Code Generator ARM64 4.0.1.0
CODESYS Code Generator Blackfin 4.0.0.0
CODESYS Code Generator Cortex M3 4.0.1.0
CODESYS Code Generator PowerPC 4.0.1.0
CODESYS Code Generator RX 4.0.0.0
CODESYS Code Generator SH 4.0.0.0
CODESYS Code Generator TIC28x 4.0.0.0
CODESYS Code Generator TriCore 4.0.1.0
CODESYS Compiler Versions Archive 4.0.0.0
CODESYS Communication 4.5.2.0
CODESYS RISC Front End 4.0.2.0
CODESYS Target Settings Export 4.0.0.0
CODESYS Trace 4.2.0.0
CODESYS IO-Link 4.3.0.0
CODESYS Safety Support 4.0.0.0
CODESYS Redundancy 4.1.0.0
CODESYS NetX 4.0.0.0
CODESYS Memory Tools 4.1.0.0
CODESYS Modbus 4.4.0.0
CODESYS Ethernet Adapter 4.2.0.0
CODESYS EtherCAT 4.9.0.0
CODESYS CANopen 4.3.0.0
CODESYS EDS Import 4.2.0.0
CODESYS EtherNetIP 4.7.1.0
CODESYS PROFIBUS 4.1.1.0
CODESYS SAE J1939 4.2.0.0
CODESYS PROFINET 4.6.0.0
CODESYS Scripting 4.1.0.0
CODESYS Recipes 4.5.0.0
CODESYS Embedded Runtime Extension 4.1.0.0
CODESYS Device Reader 4.0.0.0
CODESYS Visualization Support 4.5.0.0
CODESYS Visualization 4.7.0.0
CODESYS CFC 4.4.0.0
CODESYS Application Composer 4.3.2.0
CODESYS LD FBD 4.6.0.0
CODESYS SFC 4.4.0.0
CODESYS Ladder 1.1.0.0
CODESYS Usage Analysis 1.2.0.0
CODESYS String Libraries 4.0.0.0
CODESYS Library Dependency Inspection 1.1.0.0