Changes in .3061 since .3057
Core
- E27535: Android: Fix Android Sample Projects for build and deployment issues
- E27558: CM: NRE in GetShortName for method having array result
- E27543: Cocoa: ARC issue causes AV when inherited ctor call throws an exception
- E27326: Cocoa: InstanceType-inferred variable cannot be reassigned
- E27542: file-scoped members caused Toffee unrecognised selector (removed mangling on members)
- E27526: IE with interpolated string
- E27380: Refactor: Converting from unified to classic implementation lost array dimension
- E27513: Reloading references fails after they were rebuilt
- Confusing error locations for prematurely terminated raw string
- Debugger: CLR: Error when trying to call a non-static member on TypeValue self
- Debugger: Island/Darwin Release build doesn't break on exceptions
- Debugger: NRE when evaluate anonymous method (not supported for now though)
- Delphi Compatibility: $ZEROBASEDSTRINGS directive is now ignored for OFF, and errors for ON
- Delphi Compatibility:
const Empty: TEmpty = () recognised as empty named-field record init
- Delphi Compatibility:
const Lambda: Func<Integer> = () -> 99
- Delphi Compatibility:
deprecated directive’s message was ignored
- Delphi Compatibility:
experimental added
- Delphi Compatibility: Allow 'label' section after 'var' section (while still allowing 'label' as a variable name)
- Delphi Compatibility: Fix for include search path being tied to legacy preprocessor; allow relative include search path
- Delphi Compatibility: Handle
goto label inside case statement
- Delphi Compatibility: Ignore additional preprocessor directives: INLINE, LEGACYIFEND, DEFINITIONINFO, J+/J-, O+/O-, T+/T-, X+/X-, A1-A16
- Delphi Compatibility: Support
{$IF Declared(X)} in legacy preprocessor
- Delphi Compatibility: Warn if enum and label names shadow/duplicate)
- Header Importer: skip wildcard subfolders not found in any include path
- Merged EBuild
- Oxygene: allow finding .inc files anywhere in the project, if used w/o path (all .inc filesneed to be added first)
- Oxygene: parser fixes for Delphi compatibility
- Reverted E27154 due to regression on C# formatting
- VS: Internal error when evaluating "x.Where(b-> b = 'a')"
- VS: NRE after typing coma in multidim array (array [0..1,])
Fire & Water
- Auto-fix is applied several times for files in shared project
- Context menu option to open “Intermediate Folder”
- Editor:
experimental keyword for Oxygene (DCM only)
- Editor: Allow CC popup to grow further to the left, when invoking CC near the right edge
- Fire: Auto-layout bug caused a maximum size for the Reference view
- Fire: consistent icons for Fire, File, and Edit menus on Tahoe
- Menu actions to uppercase/lowercase selection or token
- Menu: general menu cleanup and consolidation into “Edit|Modify" submenu
- Regression: Island/Android defaulted to wrong (local computer) architecture
- Water: avoid Internal exception when the webview for Codebot was accessed before being fully initialized
- Water: bad default architecture arm64 for watchOS (Fire is fine)
- Water: Dropdown list for project creation style fixed
EBuild
- Bad fallback if DesiredDefaultArchitecture is not available caused Water to show $(DesiredDefaultArchitecture) as default setting
- It's 2026. Default to arm64 for all macOS-based platforms, when no actual local arch is known (i.e. on Windows)
- Provide IntermediateFolder in FinalOutput.xml
- Set
UseLegacyPreprocessor to true when importing Delphi & Lazarus projects