New features / improvements
- 1035: Release staging now builds macOS and Windows in parallel
- 1036: ListBox can now respond to keyboard input
- 1037: Running apps can now be stopped from the main toolbar
- 1042: Commits can now be cryptographically signed in Objo Studio
- 1045: Verbatim string literals make paths and regular expressions easier to read
- 1046: Objo syntax highlighting now stays consistent across every website
- 1053: Personal IDE Scripts can now be launched with reserved keyboard shortcuts
- 1060: ListBox columns can now retain stable tags when reordered
- 1061: Tree view nodes can store arbitrary values in Tag
- 1062: Objo projects can now be unit tested in Studio and CI
- 1069: Unit Testing Basics now demonstrates a failing test
- 1071: Test diagnostic logs now have comfortable line spacing
- 1077: The AI assistant can now create and update tests through chat
- 1083: Currency is now a value type: never Nothing, defaults to zero, and accepts exact literal values
- 1087: Method editors now remember their caret and scroll position when you switch away and back
- 1089: IDE Scripts can now read a selected method's parameters and return type
Fixes
- 1038: Designer controls can now compile when their names match project types
- 1039: Git integration is available when debugging Studio on Linux and Windows
- 1040: Git change gutters now match dark mode from startup on Linux
- 1041: Designer controls become children only when fully inside a container
- 1043: Calendar controls now remain visually intact when resized in the Designer
- 1044: Async operations now work safely in modal window events
- 1047: Built-in type name conflicts are now reported at compile time
- 1048: Function return-value warnings now explain both possible fixes
- 1049: Module methods can now call one another without qualification
- 1050: Inspector dropdowns now open beside their controls on Linux
- 1051: ContainerControl designers now include the full layout toolbar
- 1052: Empty Select Case branches now produce analyser warnings
- 1054: Events are no longer suggested or accepted as callable methods
- 1055: PagePanel page selectors now select the correct page
- 1056: ColourPicker SelectedView now opens the configured editing view
- 1057: Search fields now match other text inputs at 32 pixels
- 1058: Text field placeholders are now vertically centred
- 1059: Standard library members now report their declared types through introspection
- 1076: Renaming a splitter-managed control no longer clears the splitter's other managed controls
- 1079: Profiler panel is now available from the View menu
- 1080: Toolbar spacing is now restored correctly after re-widening a window
- 1082: Using a method name as a value is now flagged at design time
- 1084: ListBox PaintCellBackground now paints the empty area below the last row, matching Xojo
- 1085: String members now autocomplete after array indexing
- 1086: Deserialisation via FieldInfo.SetValue now preserves nested object graphs
- 1090: Methods in abstract classes can now be marked abstract
- 1094: macOS releases now validate Remote Debugger launches before Studio packaging