New features / improvements
- 1104: Canvas controls can now draw their own focus indicators
- 1106: Licence activations can now be managed directly in Studio
- 1115: Modal windows can open at explicit positions
- 1116: TreeView rows can now be resized and custom painted
- 1121: Return inside a comment line now splits it into two continued comment lines
- 1125: ListBox and TreeView can refresh individual rows and nodes
- 1129: Windows apps can be published as unpackaged folders or portable ZIPs
- 1134: Elementary shapes render directly in the visual designer
- 1138: Array.AppendAll can append a selected source range
- 1159: Objo applications can interact with local and hosted LLMs
- 1160: Arrays can now be created with an initial size and value
- 1165: Menu bar designer supports searchable item tags
- 1166: Canvas and ImageViewer now provide consistent completed-tap activation
- 1167: Studio can copy and paste multiple members at once
- 1175: AI Assistant can be opened in a separate window
- 1177: Expand thinking setting updates open conversations immediately
- 1179: Controls can be organised directly in the Designer hierarchy
- 1180: ListBox rows can now be selected and deselected programmatically
- 1200: ListBox columns can be shown and hidden without losing their widths
- 1201: Copied code retains its displayed indentation outside Studio
Fixes
- 1105: Debugged macOS apps now show the project name in the Dock and app switcher
- 1107: Licence checks now give clear feedback and activation lists remain readable in dark mode
- 1108: Concrete arrays can now be used where interface arrays are expected
- 1109: Debugger now pauses reliably with large collections
- 1110: TreeView node tags now remain available after creation methods return
- 1111: Controls added during container Opening now receive their Opening events
- 1114: Method parameter fields keep their UI font size when the editor font changes
- 1117: Control and method name conflicts now identify the control correctly
- 1118: AI assistant now works with DeepSeek's thinking models
- 1119: DeepSeek streams complete in the AI Assistant
- 1122: Await Task.Delay(...) now compiles as a standalone statement
- 1123: Pie and Doughnut charts with a single data point now render a full circle
- 1126: Menu bars retain keyboard focus when opened
- 1127: ScrollBox background colour changes no longer judder in PagePanels
- 1130: TimePicker font size is honoured in the designer and at runtime
- 1132: Studio remains responsive after Minimize All with Settings open
- 1133: Invalid property types now report at their declaration without misleading generic call errors
- 1135: Desktop apps can detect modifier keys held during startup
- 1136: Graphics.TextWidth now includes trailing whitespace
- 1137: Menu bar item names now produce valid event handlers
- 1139: ClearRectangle now erases rectangular regions on Canvas and Picture graphics
- 1141: Canvas Paint handlers now receive the Canvas as Me
- 1142: ListBox and TreeView targeted-repaint tests drain deterministically
- 1143: Module constants and variables resolve from module methods regardless of declaration order
- 1144: Qualified and unqualified module member access shares one value
- 1145: Imported module constants and variables resolve by bare name
- 1146: Unary Not formatting is now consistent in method arguments
- 1148: Search results now open at the matching line
- 1149: MarkdownViewer text can be selected when SelectionEnabled is enabled
- 1150: MarkdownViewer properties are available in the visual designer inspector
- 1151: GroupBox clipping and Calendar values are configurable in the visual designer
- 1152: AudioPlayer volume, pan, and looping are configurable in the visual designer
- 1153: The visual designer only shows typography settings supported by each control
- 1154: Same-type multi-selection retains control-specific inspector properties
- 1161: Code folding state is preserved when switching members
- 1162: ComboBox text no longer remains highlighted after choosing an item
- 1163: Menu and toolbar handlers now recognise Me as the event source
- 1164: ListBox checkbox cells now report their unchecked state correctly
- 1168: Changing a ListBox's column count no longer crashes with a selected row
- 1169: Console output typography can be configured independently
- 1170: Enumeration value names remain editable when they begin with a keyword
- 1171: Blank and comment-only lines no longer accept breakpoints
- 1172: Toolbar Editor shows the correct cursor while reordering items
- 1173: New toolbar buttons now have distinct visible labels
- 1174: Duplicate designer control names no longer crash Studio
- 1178: Pasted controls now stay inside the selected TabPanel tab
- 1184: ListBox columns remain usable when resizing overflowing percentage layouts
- 1185: ListBox frozen columns remain visible after dynamic data loading
- 1186: Control font sizes now match the Inspector
- 1187: For loops reject incompatible bounds instead of terminating the app
- 1188: Unexpected VM type failures now report the failing Objo source location
- 1189: TimePicker popups now close with Escape
- 1190: RadioButtonGroup keyboard focus advances without an extra group outline
- 1191: Window content retains its designed height when a menu bar is present
- 1192: Canvas mouse events now work without a Paint handler
- 1193: Same-named properties no longer hijack method calls
- 1194: AI Assistant setting descriptions now wrap within the Settings window
- 1196: Class member variables no longer terminate applications
- 1197: Designer controls are available in parameterised window constructors
- 1199: ListBox columns can be completely hidden with zero widths