Core
- E27587: Android Templates: VS asks to choose Target Framework, which is not applicable
- E27596: Weird N13 “Method CreateFromFile exists, is there a semicolon missing?” error with linebreaks in method call
- Android: bundletool updated to 18.3
- Android: New Wear OS project templates
- CC regression: Insert text include "in " when namespace is inserted
- Debugger: CLR: fixes for indexer evaluations
- Delphi import: cleaner exception type
- Internal: Adjustments to “E27569: C#: inconsistent initialization for out vars in Cocoa vs .NET”
- Island/Delphi: Support for Windows/arm64 prep-work (wip)
- Oxygene Delphi Compatibility:
absolute keyword (Island, Echoes, Toffee; not implemented for JVM)
- Oxygene Delphi Compatibility:
label keyword recognised after var/const (was interpreted as var/const name)
- Oxygene Delphi Compatibility:
weak keyword/type disambiguation
- Oxygene Delphi Compatibility: adjust DCM-gated keywords: Oxygene allows initialization/finalization, cdecl/stdcall (supported for external methods), overload (doc-ed as ignored). 'packed' is DCM, use [Packed]
- Oxygene Delphi Compatibility: Allow accessing
@TType.InstanceMethod (static type, not an instance) as a method pointer
- Oxygene Delphi Compatibility: Allow cast from method pointer to pointer and back (requires DCM;
unsafe in Echoes)
- Oxygene Delphi Compatibility: Function name can mean function address in DCM mode (missing @)
- Oxygene Delphi Compatibility: Legacy Preprocessor: avoid mutating types
- Oxygene Delphi Compatibility: Legacy Preprocessor: can resolve sizeof() for compiler inbuilt (e.g., Integer, Pointer) and referenced types (e.g., TMethod)
- Oxygene Delphi Compatibility: Legacy Preprocessor: Support
SizeOf(pointer)
- Oxygene Delphi Compatibility: Pointers to functions implicitly convert to untyped Pointer in DCM mode
- Oxygene Delphi Compatibility: Support $MESSAGE directive (and ignore the $WARNINGS and HINTS directives)
- Oxygene Delphi Compatibility: support (field: @func) const init syntax in DCM
- Oxygene Delphi Compatibility: Support self-referential typed constants (
@ConstName.Field in own initializer)
- Oxygene Delphi Compatibility: Tweaks for generic and non-generic types of the same name
- Oxygene:
packed is back as a normal keyword (used often).
- Merged EBuild
- Merged InternetPack
- Merged IslandRTL
Fire & Water
- Debugger console:
thread frame
- Debugger console: option to collapse single-letter commands (efg
tfl for thread frame list)
- Debugger: handle/highlight which thread is “current” dynamically, based on the current stack frame
- Project Settings: Crash regression for Toffee/iOS
- Project Settings: Don't show unsupported architectures in picker for Island/Delphi (i.e. Windows/arm64 for Delphi 12 and below)
- Project Settings: Don't use unsupported local device architecture as the default/desired architecture for Island/Delphi
- Project Settings: Settings tweaks/cleanjup for Delphi Compatibility
- Project Settings: Sort architectures properly and consistently (best first)
- RO/DA: Connect button should enable as soon as a valid URL is typed
- RO/DA: Don't generate _Invk for .remoteRODL files, even if the project uses Server.dll
- RO/DA: Don't generate ServerAccess file when using local RODL file
- RO/DA: Fix the Connect button and Browse dialog in Connect To Remoting SDK Server
- RO/DA: Newly generated _Intf files were (sometimes?) creating an implicit Target
- Water: can't open .elements/.sln if it was specified w/o full path in the command line
- Water: CTRL+D window is sometimes too small
- Water: hide "Open in Service Builder" button for
.remoteRODL files
- Water: NRE closing/switching to another project while the current project is debugging
- Water: show full file path in treeview hint
- Water: some missing icons in the jumpbar
EBuild
- Android: bundletool updated to 18.3
- Island/Delphi: support for importing Windows/arm64 if present (wip, disabled)
- Sort supported architectures properly and consistently (worst to best/newest)
Island RTL
- Don't optimize Island RTL for Windows, until we fix the index out of range issue