Weekly Progress

Elements Channels

A new Elements build comes out every week. Pick the channel that matches how close to the edge you want to work.

Changes in .3093 since .3081

Core

  • E27624: (DCM) could not pass int to Delphi SDK method with Int8-backed range parameter
  • E27695: Allow DCM-mode hard cast to a generic type (eg, 'T(Value)')
  • E27688: Bad reformat for C# attributes
  • E27688: Bad reformat for top-level attributes
  • E27681: C# String interpolation loses whitespace
  • E27715: C#/Echoes: Initializer-less local in a goto-target block is re-defaulted, clobbering a value assigned before the goto
  • E27601: Cannot return value from local method inside return-less closure
  • E27652: Cocoa: typeOf() doesnt honor mapped type
  • E27692: Cocoa: Two errors (one IE) accessing char member -- part 1: do not NRE when checking operators and coming from a wrong expression
  • E27692: Cocoa: Two errors (one IE) accessing char member -- part 2: Check if value is boxed and use real one instead
  • E27474: Debugger: CLR: bad reference exception when evaluating sometimes
  • E27641: Enum parameter is passed as the wrong default parameter
  • E27679: Keep Java file-scoped classes in their original package
  • E27489: PEverify: Oxygene: Invalid IL
  • E27594: PEverify: Stack depth differs depending on path error: do not emit jump after raise in case expressions
  • E27694: RTL2 Char extensions don't work on .NET
  • E27716: Toffee/Oxygene: block destroy helper omits captured block/object slot when nested callback block captures method context plus byref callback holder
  • E27664: Toffee: Compiler allowed using any (valid) .NET namespace w/o. error
  • E27649: Toffee: generic tuple returns nil
  • E27686: VS was missing Project Setting Picker for Delphi SDK
  • E27665: VS: Form Designer generated InitializeComponent as static
  • E27547: Water/Debugger: support delegate variables
  • E27547: Water/Debugger: support delegate variables (Mono)
  • E27546: Water/Debugger: support for LINQ Where (CLR)
  • E27546: Water/Debugger: support for LINQ Where (Mono)
  • DCMl Allow Oxygene lambda params with inferred types
  • Debugger: DebugHost parsing error on function bp with ":" in name
  • Debugger: Support delegate variables (Cooper)
  • Echoes: proper error when Xaml cannot be processed because IComponentConnector cannot be found
  • Fix: ensure untyped var/out parameters are rejected outside DCM (found building non-DCM DelphiRTL);
  • Merged EBuild
  • Merged InternetPack
  • Merged IslandRTL
  • Merged libToffee
  • Merged RTL2
  • Ship lld/Mac for Windows, to use via CrossBox
  • Spring4D: move compatibility tests into EUnit CI

Fire & Water

  • Add assembly reference diagnostics option for Echoes (fixes)
  • Added new assembly reference diagnostics feature for Echoes
  • Allow “a” to filter messages list for Analysis
  • Breakpoints Manager: Auto-layout fix for Fire
  • Breakpoints Manager: Could not delete first breakpoint in list
  • CodeBot Avatar: A standalone macOS companion character for Fire, Campfire, CodeBot CLI and GitBrowser, with animated UI, status bubbles, approval prompts and more
  • CodeBot: Add AI model strategy options to CodeBot preferences
  • CodeBot: Add an explicit deep reasoning profile
  • CodeBot: Add Beads backlog tool support
  • CodeBot: Add Claude Fable as the latest default strategy and introduce a separate Claude V4 profile
  • CodeBot: Add Gemini model strategy with image & video generation support
  • CodeBot: Add Grok latest model strategy with image & video generation support
  • CodeBot: Add Kling account and image/video generation support
  • CodeBot: Add mixed OpenAI+Grok/Gemini model strategies
  • CodeBot: Add new ComfyUI account type
  • CodeBot: Add new LM Studio account type (replacing hardcoded option)
  • CodeBot: Add new Ollama account type
  • CodeBot: Add prompt send-lock controls
  • CodeBot: Added cross-platform power management support and keep CodeBot runs awake while active, updating sleep exceptions as run state changes and on completion.
  • CodeBot: Added two Ollama model strategies
  • CodeBot: Allow delaying a scheduled prompt just before it happens
  • CodeBot: Allow multi-modal prompt attachments (files and images)
  • CodeBot: Allow optional memory timestamps and include them in prompts when present
  • CodeBot: Allow skill ccess in Proactive planner
  • CodeBot: Allow switching to different providers for mixed model strategies
  • CodeBot: Cleaner options for configurable CodeBot image and video model/provider overrides
  • CodeBot: debugger profile and tools for interactive debugging
  • CodeBot: Direct media slash command support, /image and /video
  • CodeBot: Enable more in-depth orchestration logic not active in last week’s build
  • CodeBot: Faster chunked transcript persistence and restore
  • CodeBot: Fix for footer not updating when model changes
  • CodeBot: Fixed Gemini account creation
  • CodeBot: History compaction
  • CodeBot: Image Generation
  • CodeBot: Improve/streamline CodeBot cache persistence speed and behavior
  • CodeBot: Improved cache flushing and session save reliability
  • CodeBot: Improved media-generation profile guidance and routing, persist generated image metadata/cache paths, and update UI handling for partial media previews
  • CodeBot: Improves media generation follow-up handling
  • CodeBot: limit auto-loaded skill injection to supported agent profiles, don’t auto-load local skills
  • CodeBot: Manager Sheet: Simplify the memories view
  • CodeBot: MCP Client: UI for connecting endpoints, OAuth
  • CodeBot: MCP Server: Deny, dont Approve for non-interactive clients that do not support elicitation
  • CodeBot: MCP Server: Handle elicitation better, and support for local approvals
  • CodeBot: Model Strateges review
  • CodeBot: Model strategies
  • CodeBot: Model Stratgies: Update Claude latest strategy to use Sonnet 4.6 by default and route review/deep reasoning to Opus 4.8
  • CodeBot: Model Stratgies: Use "gpt-5.4-mini" as simple-task model in default OpenAI strategy
  • CodeBot: More cache reload guarding
  • CodeBot: More fluid UX when updating progress
  • CodeBot: Multi-modal token usage in footer summaries
  • CodeBot: New and improved prompt action controls (send, queue, steer, cancel) in Fire
  • CodeBot: Per-solution usage tracking and HTML Report
  • CodeBot: Process manager for long-running tasks, show active processes in Info
  • CodeBot: prompt tightening
  • CodeBot: Refine CodeBot routing and message analysis profile behavior
  • CodeBot: Refresh chat typography and layout for cleaner look
  • CodeBot: Render prompt attachments in CodeBot transcript
  • CodeBot: Scheduled prompt attention sounds
  • CodeBot: Scheduled prompts
  • CodeBot: Segmented CodeBot cache migration and older transcript loading
  • CodeBot: Show activity indicator while streaming long tool calls
  • CodeBot: Show last-run agents in footer info and include injected skills
  • CodeBot: Show media tool request details in tool-call UI (wip)
  • CodeBot: solution-file:// links for unknown files should not bubble outside of the app.
  • CodeBot: Support for adding analysis messages from the security review workflow
  • CodeBot: Support for proactive model requests (for now, Campfire-only)
  • CodeBot: Support for prompt queuing
  • CodeBot: Support for prompt steering
  • CodeBot: Time and location awareness (wip, Campfire-only)
  • CodeBot: Tweaks to question buttons UI
  • CodeBot: Update agent model mappings: enable Claude Sonnet for coding/reasoning, bump Opus review/deep reasoning to 4.8, and add grok-build as a high-priority coding/review option
  • CodeBot: Update AI usage and workspace menu items
  • CodeBot: Update OpenAI capability mappings to use chat-latest instead of gpt-5.5-instant for lightweight and general workloads
  • CodeBot: Use new GPT-5.5 Instant capability mappings and expand GPT-5.5 strategy
  • CodeBot: white scrollbars in the dark theme, in Water
  • Debugging: Add a button to open the Add Breakpoint Sheet
  • Editor: Add build message action menus and richer fix-it labels (tweaks)
  • Editor: Add build message action menus, for CodeBot and Fix-Its
  • Editor: Blame gutter did not show when files end with a trailing empty line
  • Editor: Cycle stacked build messages from count badges via click
  • Editor: Show message counts in line-below alongside the message, if cursor is on current line
  • Editor: Tweak how cut off code is rendered on lines w/ build messages
  • Fire/Water: Unify debug toolbar icons through shared image names and icon definitions
  • Fire: editor and debug console views didn’t all/always update to new colors fully, when theme changed
  • Fire: Hopefully final/good fix for Navigation Pane sometimes going wild after a debug session
  • Fire: Improve file watch change detection with snapshots and ignore .git events
  • Fire: jump bar labels didn’t honor dark theme
  • Fixed colors for XAML preview dark path in dark themes
  • GitBrowser: add CodeBot Avatar support (only if running)
  • GitBrowser: add Git operation timeout support
  • GitBrowser: add repository tree worktree nodes
  • GitBrowser: add worktree selection and cleanup actions
  • GitBrowser: build fix
  • GitBrowser: detect worktree inventory changes and refresh worktree icons for popup updates
  • GitBrowser: Expand worktree context actions and cross-worktree analysis
  • GitBrowser: Fix macOS bundle identifier capitalization
  • GitBrowser: GitNavigationPanelViewController should be the ITreeControllerDelegate
  • GitBrowser: Guard against null repository during branch popup loading and author highlighting
  • GitBrowser: Improve worktree tree selection and labels
  • GitBrowser: make remote branch popup selection more robust
  • GitBrowser: Preserve the actual folder when dispatching Git operations asynchronously
  • GitBrowser: Refresh status by directly updating the repository instead of triggering the status changed handler
  • GitBrowser: repository folder dragging from tree
  • GitBrowser: route worktree comparison action through a reusable comparison handler
  • GitBrowser: Use the actual worktree path for context menu actions, script discovery, solution scanning, and shell execution to correctly target active worktree folders instead of the repository root.
  • GitBrowser: Windows: drop unneccessary settings
  • GitBrowser: Windows: Enable and refresh repository menu actions based on repository
  • GitBrowser: Windows: Improve menu labels for repository groups and IDE-specific solution opening
  • GitBrowser: Windows: Prefix commit tags with pin markers
  • GitBrowser: Windows: use navigation panel controller
  • Initialize source control asynchronously to avoid rare lockup in Fire on solution load
  • Internal: Rename question event enum cases in status mapping
  • Keep fix-its in sync with text edits
  • Limit theme updates to theme-change notifications only
  • New menu command to only copy all build error messages
  • NRE proofing
  • Preserve analysis messages during (re)builds
  • Rare race condition building statistics when the project was reloaded
  • Refresh CodeBot models when account settings change
  • Return social post create results with completed status and published ID side effect
  • Reverted "Water: workaround for Account loading on .NET Core"
  • Sort provider model choices case-insensitively for consistent UI ordering
  • Type in Accountmanager created wrong account type for Perplexity
  • Unnecessary Project reload could be caused if the project file had trailing whitespace or incompatible CR/LF line endings
  • Unternal: default uses clause fix?
  • Update video generation model mapping to grok-imagine-video-1.5
  • Water: add posibillity to delete recent and favorite projects from main menu and welcome window
  • Water: Dark fonts in the dark theme in Xaml preview
  • Water: don't show popup menu for recent list
  • Water: Don’t show CodeBot menu on Welcome screen
  • Water: Dropdown and popup menus scroll with buttons top and bottom, and the mouse wheel or trackpad
  • Water: Fixed window icon for maximized state
  • Water: image tweaks for codebot tab and in-editor actions
  • Water: missing background in dark themes for the corner between vertical and horizontal scrollbars
  • Water: Opening Options closes CodeBot pane
  • Water: SearchTreeView main node sometimes fails to update
  • Water: The selection border should overlay the checkmark's container
  • Water: workaround for Account loading on .NET Core

EBuild

  • .NET Core didn’t always codesign macOS stubs due to wrong platform check
  • Add remote/local LLD path support for Toffee builds
  • Always run lld locally for Toffee builds instead of dispatching through CrossBox (wip)
  • Island/Linux: fallback for resolving arm64—>aarch64

Elements RTL

  • Account decoding issue
  • Add Cancel support to HTTP requests
  • Add Echoes.Core target and rename classic Echoes.Full configuration
  • Add HTTP upload/download progress callbacks (Cocoa)
  • Add proxy support
  • Add proxy support (none, system, custom)
  • Build fixes for Isalnd & ToffeV2
  • Build fixes for Island & ToffeV2
  • Cocoa: Prevent async Process completion from sometimes hanging by signaling output handlers reliably and closing stalled output pipes after a timeout before invoking the finished callback.
  • Consolidate platform-specific RTL projects into a unified cross-platform build and add a separate legacy solution preserving the previous split project layout.
  • DateTime.ToUnixDate
  • Don’t recycle json value nices when making a unique copy, for somw reason we started getting overrelease issues
  • Echoes: HTTP: unwrap to show original, and do not crash on an unexpected exception type
  • Echoes: Use UTF-8 encoding for redirected process stdout and stderr
  • Expse Pid on Process
  • Expse Pid on Process (Echoes and Cocoa)
  • Expse Pid on Process (Island)
  • Forgot= Island WebAssembly target configuration 🙂
  • Harden HTTP response streaming and Cocoa callback error handling
  • Http: Harden HTTP response streaming and Cocoa callback error handling
  • Http: unwrap to show original, and do not crash on an unexpected exception type
  • Implemented DateTime.ToUnixDate
  • Improved Convert.MillisecondsToTimeString to handle days and intermediate zeros
  • Improved Convert.MillisecondsToTimeString to handle says too
  • Json: Allow nil filename for .TryFromFile
  • Json: Allow nil filename for .TryFromFile
  • Json: Don’t reuse Json value nices when making a unique copy (for ARC prrofing on Cocoa)
  • Json: Parse Json integers directly to Int64 with overflow fallback to floats, and replace locale-based Toffee Int64 parsing with strict digit validation to avoid misclassifying numeric tokens.
  • Json: Reuse Json string escaping for property names
  • Locking fix
  • Make process output handling nullable-safe and guard event signaling
  • Parse JSON integers directly to Int64 with overflow fallback to floats, and replace locale-based Toffee Int64 parsing with strict digit validation to avoid misclassifying numeric tokens.
  • Potential Cocoa thread safety issue for Convert with Current/Invariant formatter
  • Potential Cocoa thread safety issue for Locale.Current/Invariant
  • Potential thread safety issue for Locale.Current/Invariant
  • Process: Guard process output parsing against nil UTF-8 string conversion results
  • Process: more thouroigh quoiting and unquoting of command line parameters for all platforms
  • Process: more thourough quoting and unquoting of command line parameters for all platforms
  • Process: Prevent async process completion from hanging by signaling output handlers reliably and closing stalled output pipes after a timeout before invoking the finished callback.
  • Read stdout and stderr asynchronously during process execution to prevent blocking and ensure both streams are fully captured before converting and closing the handles.
  • Request cancelation: locking not required (according to docs); solves compile error locking on Darwin
  • Reuse JSON string escaping for property names by adding a shared render helper and applying it during serialization, ensuring names are quoted and escaped consistently with string values.
  • Serialization: Allow registering decoder types explicitly and fall back to the registry when the lookup misses
  • Simplify configuration-specific build settings for Debug and Release
  • String.Split(array of char)
  • String.Split(array of char) [disdabled because it fails to link]
  • Tests for CollapseSpace

Internet Pack

  • Add security-safe-critical attributes to server entry points
  • Add security-safe-critical attributes to server entry points to fix HTTP Server on .NET Classic
  • Add WebSocket client support
  • NRE fix for inner exception
  • Remove AllowPartiallyTrustedCallers assembly attribute from non-Compact Framework builds
  • Send each SSE object in one write (one chunk)
  • Use Instantiate() for worker creation on Toffee to adjust to RTL2 Reflection fix in compiler

RemObjects Infrastructure

  • Add fallback single-model strategy selection when configured strategy is missing
  • Add Kling AI client for image and video generation with task polling, model support, and JWT bearer auth via access/secret keys, plus configuration support for new credentials.
  • Add runtime tests ensuring tool-result success checks allow non-tool method mentions and suggested action examples without blocking completed assistant responses.
  • Add steering-message support (wip)
  • Add tests for child side-effect success and stale lease recovery
  • Adopt Codable-based agent event and approval JSON serialization
  • Bad model type filters for Gemini client
  • Clamp model output tokens and stop exposing server ISE details
  • Clarify run recovery behavior after interruptions and model requests
  • ComfyUI: Adjust fallback queue progress to report queued state
  • Delay remote tool dispatch until run is waiting
  • Expose usage tracking helper as public
  • Honor background routing for child runs and skip conversation history on isolated background threads
  • Log agent prompt size breakdowns
  • Normalize provider-prefixed media model names for resolved clients by stripping matching provider prefixes before creating model references and assigning the client model.
  • NRE and cast fix
  • Prefer structured progress callbacks over byte progress when available (also mitigatibg possible AV)
  • Record notice events for unverified tool-backed success claims instead of failing runs
  • Refactor runtime initialization to lazily ensure and reuse the agent runtime during settings updates, reset runtime/worker when starting a new chat, and guard model strategy access when no runtime is active.
  • Remove unused session-memory overview summaries
  • Remove useless cjustom JSON conversion helpers
  • Restored missing Memory classes
  • Revert bad rename for question event types to asked/response across AI session handling
  • Subagent titles have much better descriptions of what child tasks do and why
  • Support media model aliases when resolving AI clients by falling back from suffixed model names to their base model before lookup.
  • Track tool side-effect metadata in function results and events, and use completed side effects to verify tool-backed success claims with more precise final-response detection.
  • Track usage request lifecycle events
  • Use typed side-effect status enums with wire-format conversion and validation, replacing raw string handling in serialization and runtime checks.

Island RTL

  • Windows: Registry.SetValue should use the DeleteExistingValue method that ignores ERRORFILENOT_FOUND error

RemObjects Infrastructure AI

  • Add generated media cost tracking
  • Add image generation request tracking with metadata persistence
  • Add more general image generation support (and implement Grok & Gemini)
  • Add proactive scheduling support
  • Add Scheduling support
  • Add video generation support, including Gemini and grok
  • Allow optional timestamp on memory
  • Allow tool, annotation, and progress events from child events on foreground threads
  • Don’t prevent skills from non-private stores from being auto-loaded
  • Return "N/A" for missing usage costs instead of defaulting to $0.00