Changes in .3005 since .2997
Core
- E27247: C#/Toffee: IE using badly defined var
- E27247: C#: do not allow declaring variables without type or init value
- E27276: Compiler: IE in RemObjects.Elements.Code.CallExpressionTransform.ResolveExpression
- E27222: HI: support for
@compatibility_alias
- E27231: HI: two errors caused the import of visionOS 2 and 26 SDKs to fail
- E27149: Island/Windows: Internal Error (NRE) when passing local method as block
- E27246: Oxygene: cannot have {$HINT} on case/else
- E27251: Oxygene: more fun with unterminated {$HINT
- E27258: Water: unhandled exception is emitted to debugger w/o details
- Allow compiler to run on Linux/arm64
- Better error reporting in EchoesTarget.LoadCorTypes
- Changes for how LLVM library is loaded on Linux/Core
- Cleanup: consolidated AvailabilityPlatform parsing to one place
- Cleanup: Formatting fixes
- Cleanup: in DebugEngine
- Cleanup: internal cleanup & refactoring in compiler (wip)
- Cleanup: Toffee
- Debugger: Island/Cocoa: bug reading Dwarf info with inlined subroutine
- Debugger: Island/remote: small fix in DoLoad
- Debugger: Island: add "_" prefix to symbol name when GetSymbol for Cocoa
- Header Importer: allow passing
--developer
folder, to make HI command lines more "portable"
- install.sh: codesign llvm dylib for local use after install
- install.sh: merge the macOS binary of EBuild/Core
- install.sh: sudo the EBuild/Core binaries
- Island/Linux: Migrated to fully use "arm64" archiecture name instead of "aarch64"
- Merged DelphiRTL
- Merged EBuild
- Merged Everwood5
- Merged IslandDelphi
- Merged IslandRTL
- Merged libToffee
- Merged RTL2
- Oxygene: template cleanup for unified syntax
- Profiler: stop shipping aspect .dll, it's now in the core System Aspects
Fire & Water
- E27221: Fire: debugging from Fire always runs the external installed (Intel) mono
- E27186: Water: "Default" column in settings is not read-only
- E27236: Water: "stop on BPs" option shows as active after IDE restart
- E25965: Water: Add Drag & Drop support in table controllers, e.g. for Arguments Manager
- E27112: Water: add tool tips for Navigation Panel tabbar
- E27179: Water: Alt+Ctrl+Left hotkey doesn't work from editor control (wip)
- E27234: Water: can’t get back to Code after BP (wip)
- E27211: Water: Code Completion view doesn't adjust for visible items length
- E27216: Water: CrossBox dropdown can grow very wide
- E27224: Water: Jumpbar doesn’t draw all > separators consistently
- E27119: Water: NRE at RemObjects.Fire.App.SolutionTreeController.draggedFileIsValidReference__forProjecttarget
- E27227: Water: Searching in solution could be too slow in certain cases
- E27233: Water: TableView shows wrong font color for selected, unless hovering
- E27206: Water: The platform logo overlaps the rest of the text
- Account Manager: CodeBot uses new account system (clean up old settings after migration)
- Bookmarks showed zero-based line number (off by one) in Recents/Open Quickly
- CodeBot: ability to replace a specific range of lines in a file
- CodeBot: access to symbol information, ability to navigate to code files
- CodeBot: Allow using Apple Intelligence on macOS 26 (prep work)
- CodeBot: API tweaks for Claude (failed on some OpenAI-specific parameters)
- CodeBot: API tweaks for Gemini (didn’t like Streaming)
- CodeBot: API tweaks for Grok (didn’t like some options)
- CodeBot: function calls triggered UI updates on the background thread, and thus failed
- CodeBot: Handle receiving "error" package in streaming format (e.g., from LM Studio)
- CodeBot: Internal tweaks & code cleanup
- CodeBot: Model for LM Studio (and Apple Intelligence) was not persisted properly
- CodeBot: More platform- and language-specific guidance in the system prompts (Internal NRE when the current file was not an Elements code file)
- CodeBot: NRE when invoking CodeBot and the current view is not a code file
- CodeBot: Revised getCurrentSolutinInfo/getProjectInfo APIs
- CodeBot: System Prompt tweaks
- CodeBot: When asking for file content with an invalid (or relative) path, give proper guidance
- CodeBot: When asking for file content, show the filename that was asked for in the chat
- CodeBot: When executing more than one function call in one go, we would get an invalid response
- CoeeBot: Added safety measures to prevent code generation and execution in one go.
- Debugger: exception filling threads/stackframes was not shown properly in the debug log
- Debugger: show Message for skipped exceptions
- Default to use .NET Core version of EBuild, if available
- Delphi SDK Import: IDE stayed in "building" color mode afterwards
- Editor: Backspace right after smart-enter should move the cursor back up to the old line, undoing the enter
- Editor: expand snippets that take content even when cursor is after the content (fix)
- Editor: Oxygene: fix for smart-end after "implementation" triggering in some cases where it shouldn't
- Editor: Smart line completion (such as
then begin
) should be overtyped by /
, not commented out.
- Editor: Smart-enter should insert
end
/}
after any indented code that follows, not before
- Editor: Support "surround with" for typographic quote characters
- Enter after whitespace in the middle of a line loses the space on undo (regression)
- Expose per-language settings in Preferences (Fire ok, Water wip)
- Fire .2999 built against macOS 15 SDK would crash on launch on Tahoe, because the OS pretended to be "macOS 16"
- Fire: changed Deployment Target to 12.0
- Fire: Color fix in About window for dark mode
- Fire: Keep the debug toolbar in view when debugging and closing the debug pane (tweaks)
- Fire: Layout tweaks for New File/Project sheet
- Fire: Option to use internal mono runtime to debug .NET projects
- Fire: Tweaked preferences for when to enable using the .NET Core compiler
- Fire: Tweaks for status images in jumbbar and tabs, for macOS 26+
- Fire: Tweaks for status text in jumbbar (don’t show error count after "debug session failed")
- Fire: UI improvements for how Fire looks on macOS 26 (regression fix for Debug panel on 15 and below)
- Fire: UI improvements for how Fire looks on macOS 26 (use Glass Effect for popups)
- License Manager: fixed sorting
- NRE proofing
- NRE Showing context menu for not-in-project file
- Potential NRE in stringFrom(FBLCursor start) to(FBLCursor end) if lines werent loaded yet
- Project Settings: use
.icon
only for new Toffee Application Icon setting
- Refactor|Move code into class body: failed on long files due to integer overflow
- Some AutoLayour warning cleanup
- Support for setting Accent Color on Asset Catalog, for macOS and iOS apps
- Support for setting macOS 26 style .icon and legacy .icns
- Tweaked preferences for when to enable using the .NET Core compiler
- Typo fix in debugger exception message
- Water: Bookmarks were not persisted across restart
- Water: Dephi SDK Import: after importing, adjust the freshly converted project to use the new SDK & reference
- Water: Dephi SDK Import: ask to import Delphi SDKs, if needed, after importing a Delphi project from Welcome screen
- Water: Dephi SDK Import: Build log: capture all messages when running a custom tool (wip)
- Water: Dephi SDK Import: Pre-select the first not-yet-imported version in the Import Sheet
- Water: Dephi SDK Import: Show more granular status during import
- Water: Dephi SDK Import: Show proper build goal in jumbbar
- Water: Fixed wrong keyboard shortcut displayed in main menu
- Water: Hitting 'Enter' in the editor did not scroll when needed, and moved cursor out of visible area
- Water: Menu showed Ctrl+Shift+C sortcut for two different commands
- Water: Migrating to .NET Core 8.0 LTS
- Water: Regression setting CodeBot account
- Water: Showing a sheet from action of a message sheet would fail
- Water: Tweaks to License Manager; more options in Help menu
Toffee
- LINQ
ThenBy
and ThenByDescending
operators
EBuild
- .NET Core: allow "tizen" as known/supported sub-platform
- .NET Core: Better support for building Maui apps (wip)
- .NET Core: Set platform defines based on specified framework sub-platform (eg
net9.0-android
)
- Build EBuild for .NET Core 8.0
- Cleanup: naming of EBuild-specific entry point and helper classes in compiler
- Delphi Project Import: Add proper Island base references so they won't show as "implicit"
- Delphi SDK Import: don't try to build Delphi Support for architectures that were skipped
- Delphi SDK Import: don't try to build Delphi Support for platforms that were skipped
- Delphi SDK Import: logging cleanup
- Delphi SDK Import: More detailed status updates during import
- Delphi SDK Import: Omit "Delphi support folder is not set." warning when building Island.DelphiSupport itself
- Delphi SDK Import: on Windows, use a locally installed version of the support library, if we can't check out via git
- Delphi SDK Import: tweaks for fallback for i386 in root folder
- EBuild/Core: build for Linux/arm64 (wip)
- Fixes for converting Delphi projects (dont use DCCUsePackage, it lists _all known packages)
- Island/Linux: Migrated to fully use "arm64" archiecture name instead of "aarch64"
- NRE fix for if ArchitecturesForCurrentOS is empty (shouldn't happen)
- NuGet: favor subplatform-specific folders over generic ones (e.g.,
net9.0-android
vs net9.0
)
- NuGet: tweaks for finding Maui packs, because… the folder scheme is… different
- Set platform-specific defines based on specified .NET Core framework sub-platform (eg
net9.0-android
)
- Show if EBuild is running native or not
- Support for logging percentage/progress of a task/phase for IDE
- Target names with spaces would raise Xml exception.
- Toffee: Fix for linking for visionOS with
lld
- Toffee: if no local SDK versions are available matching a
MinimumSDKVersion
, download newer
- Toffee: if no SDK versions are available and we have no Xcode, still attempt using the latest version available for download instead of failing
- Toffee: Linker errors from
lld
(vs ld
) weren’t parsed properly
- Toffee: Process macOS 26 .icon files; new
LegacyApplicationIcon
setting for prior OSs
- ToffeeHelpers: consolidated to fully fall back to IslandHelpers now
- Treat
.dpk
as source file; Treat .icon
as AssetCatalog
- When building an Island/Delphi solution, automatically ask to import the Delphi SDK, if needed (additional fixes)
Island RTL
- Process for Windows would AV, and pass wrong arguments
- Process.Start would AV on Windows, without WorkingDirectory
Island DelphiSupport
- Project fix
- Set MinimumSDKVersion 11.0 for macOS/arm64 projects
Elements RTL
- Environment.OSArchitecture inconsistently reported
aarch64
on Linux, instead of arm64
- Environment.ProcessArchitecture reported Environment.OSArchitecture, on Linux
- Json:
From*
overload on JsonArray and JsonObject
- Json: Remove(node) for JsonArray
- Stopwatch: ToString fix