Changes in .3101 since .3095
Core
- E27533: add PE Verifier test suite
- E27642: coalesce and "Potential null value is implicitly cast to "not nullable String""
- E27235: Confusing error when assigning void
- E27752: IE: on Island Windows
- E27117: Island:
caseon type var doesn't work with mapped version (fine on Echoes) - E27754: Line after missing semicolon gets ignored
- E27730: Mercury: Not operator priority
- E27617: NRE when setting/removing BP during startup phase
- E27746: VS: Mismatch of relative debug host executable path
- E27546: Water/Debugger: support for LINQ Where
- E27311: Water: highlighting in disabled symbols works incorrectly
- Add a Unix-friendly CoreCLR debughost
- CLR debugger: fix for race condition setting BPs
- CLR Debugger: Harden runtime startup callbacks against native failures and timeouts
- Compiler/Code Model treated types as delegates if no system types are loaded
- Elements13 define was missing
- Fix CoreCLR native debugging on Unix by disabling named memory maps while retaining Windows cache reuse
- Header Importer: Fix for multi-character enum constant byte order
- Header Importer: Handle framework binaries with missing .tbd (e.g. UIUtilities)
- Import Swift async ABI metadata
- Island: Correct export visibility handling for value types, globals, and member owners in .fx
- Island: void main() woudld return 10 insytead of 0
- Merged EBuild
- Merged EUnit
- Merged Everwood5
- Merged IslandDelphi
- Merged libToffee
- Merged Profiler
- Merged RTL2
- Oxygene:
exit with - Oxygene: Units of Measure
- Setup will poffer to install .NET Core and link the appropriate Water/Core instance in the start menu
- Support derived unit operator lookup
- Swift ABI (wip)
- Swift ABI: wip
- Toffee: Honor ToString/description for boxed structs
- Update Core version of compiler/EBuild to .NET 10
Fire & Water
- E27713: Option to toggle Xaml (and UI) preview
- Account Manager: Actually log out of Everwood when removing a RemObjects account
- Account manager: Add account context menu option to copy the API Key
- Account Manager: confirmation message fix
- Account manager: Fix base URL field visibility when login sheet loads (Windows)
- Account Manager: Focus access key field by default on account setup, for sheets with URL
- Account Manager: inconsistent UI after removing the RemObjects account didn’t really log out
- Account manager: internal exception in AccessKeySecretKeyLoginSheetController
- Account Manager: Refresh account state in project view on logout, too
- CodeBot Avatar: Add persistent avatar snooze options for one hour, three hours, or the rest of the day
- CodeBot Avatar: Allow media thumbnail drag-and-drop
- CodeBot: Add Aurelo AI provider account and model strategy support
- CodeBot: Add CodeBot Server AI account support
- CodeBot: Add native loop execution and debugger loop operations
- CodeBot: Add NVIDIA NIM account support with API key authentication
- CodeBot: Add Perplexity account support and model strategies
- CodeBot: Add project management account and issue/PR tooling
- CodeBot: add project management tools and skill for GitHub/GitLab integration
- CodeBot: Add shutdown path to stop sessions, cancel runs, flush cache, and prevent further host resolution
- CodeBot: Add spacing around drag-dropped file paths when inserting into text, if needed
- CodeBot: Add State & Usage tab with folder access, deletion actions, and dynamic usage titles across platforms
- CodeBot: Add support for daily schedules with multiple run times
- CodeBot: Added code completion tokens in /image, /video, /audio slash prompts
- CodeBot: Added external-event scheduling controls
- CodeBot: Audio generation support to CodeBot media tools
- CodeBot: Clarify skill metadata guidance for language, context tags, and agents
- CodeBot: Cleaner guidance for replaceText tool call parameters
- CodeBot: Clear chat history did not clear transcript & state for reload
- CodeBot: Enable scheduling in Fire, not just Campfire
- CodeBot: Enable undo support & disable escape to clear message, for CodeBot message input
- CodeBot: Finalize canceled tool progress messages
- CodeBot: Fix scheduled prompt countdown cancellation
- CodeBot: Ignore invalid saved accounts when aggregating media model overrides
- CodeBot: Improve account login dialogs and service branding
- CodeBot: Improve CodeBot preferences layout
- Codebot: Initialize new AI accounts with a default model when selecting CodeBot account
- codeBot: Keep generated image annotations stable, even if target image name is reused
- CodeBot: Persist and restore split view, with constrained resize handling
- CodeBot: Ported floating prompt action controls for send/queue/steer to Water
- CodeBot: Prevent transient scheduled countdown messages from being cached in session history
- CodeBot: Skip/ignore invalid AI accounts during media model resolution
- CodeBot: Style AI account suffixes in provider menus
- CodeBot: Support for daily schedules with multiple run times
- CodeBot: Update Claude model strategy registration and capabilities
- CodeBot: Update model capability mappings to use GPT-5.3 mini instead of chat-latest
- CodeBot: Update OpenAI model strategies for GPT-5.6
- Debugger: better message for unknown edb command
- Debugger: don’t add empty BP command
- Enable copy-local references for Island projects
- Fire: Clear icon cache on theme change
- Fire: Ignore metadata-only filesystem change notifications
- Fire: Preserve solution format when AppKit provides extensionless URLs
- Fire: Refine file-watch fallback for item-level events
- Fire: Refresh and expose source-control status
- Fire: Stop debugging when dismissing the exception sheet with Command-.
- Fire: Synchronize file buffer access and URL updates with locking to avoid rare crash on load
- Improve Android tooling validation and run gating for modern JDKs/SDKs
- Improve audio annotation spacing and display styling in chat messages
- Improve image metadata handling for source paths and negative prompts
- Improvements to auto-update logic in Fire, Water, GitBrowser
- Increase solution build message limit
- Mark Solutions settings as clean after successful saves
- Support Gtk
.uifiles to nested code file matching - Treat .ui files as text/xml
- Trim build status labels before displaying them
- Water: add option to filter trees, same as Fire had
- Water: NRE fix
- Water: Title fix for License manager window
EBuild
- Add configurable .NET Core executable path override for debug settings
- Cooper: Fix bundletool aapt2 extraction on modern JDKs
- Cooper: Support modern JDK/Android SDK layouts and enable Android Run in Fire
- Derive Mono base path from the detected Mono executable location
- Expand Linux Mono path detection to support additional library locations
- Fix for SDK zipm extraction failue on some Linux systems
- Fix malformed Mono base folder error message
- Improve Apple device identification with type detection and product model mapping
- Improve bundle and copy up-to-date checks by using recursive folder timestamps
- Improve EBuild path discovery across Echoes and platform-specific installations
- Improve smart copy caching by tolerating timestamp precision differences
- Log inner exception details alongside the main exception callstack when SDK download errors occur
- Mark project, target, and context references as weak to avoid retain cycles and improve object lifetime management.
- Normalize .NET Core runtime version strings by appending a missing patch component for two-part versions before writing runtimeOptions
- NuGet: Add support for resolving from lib_manual folders and map them to lib during package lookup
- Update core target framework to .NET 10.0
Elements RTL
- Add controllable HTTP response streaming with callback cancellation and transport cleanup
- Add cross-platform keychain password helper (moved from EBuild)
- Add Milliseconds-based overloads for thread sleep and DateTime arithmetic
- Add unit-based TimeSpan.From overloads and deprecate legacy conversion methods
- Add unit-typed time APIs, improve timeout handling, and extend duration and Unix-time support with tests
- Adopt strongly typed time units across HTTP requests, time spans, stopwatches, and thread joins, while deprecating integer-based timeout overloads.
- Define standard Units of Measure
- Display fix in Convert.MillisecondsToTimeString
- Echoes: Drain process output asynchronously to prevent pipe deadlocks, with regression coverage for large concurrent stdout and stderr streams
- Echoes: HTTP requests follow HttpRequest.Timeout, not HttpClient's default
- Fix process output capture and return the task exit code
- Http: PathAndQueryString part was ignored in Windows/Island
- Preserve XML formatting options and line endings on parsed documents without retaining the parser instance
- Return the process exit code after capturing standard error output
Island RTL
- Fix Swift runtime loading paths and lazily resolve string type metadata
Island DelphiSupport
- Temporarily disabled two helpers due to bad E793 Untyped parameters require Delphi Compatibility Mode