# Objo Studio v26.6.5 Released

**URL:** <https://ifnotnil.com/t/objo-studio-v26-6-5-released/4723>\
**Category:** Objo\
**Created:** [22 June 2026 10:46 UTC](https://ifnotnil.com/t/objo-studio-v26-6-5-released/4723 "2026-06-22T10:46:50Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Garry](https://ifnotnil.com/user_avatar/ifnotnil.com/garry/32/2_2.png) [@Garry](https://ifnotnil.com/u/Garry)\
**Post date:** [22 June 2026 10:46 UTC](https://ifnotnil.com/t/objo-studio-v26-6-5-released/4723/1 "2026-06-22T10:46:50Z")

</div>

Objo Studio 26.6.5 is now available, and this really is a big one.

The full [changelog](https://objo.dev/changelog/version-26-6-5) includes 28 fixes and 18 new features / improvements, but I wanted to call out four changes in particular.

## Avalonia 12

Objo Studio has moved to [Avalonia 12](https://avaloniaui.net/blog/avalonia-12).

This is mostly an under-the-hood change, but it matters a lot. Avalonia is the cross-platform UI framework that powers Studio itself, the visual designer, the desktop app host, and the Remote Debugger. Keeping Objo on the current Avalonia foundation gives us a stronger base for future controls, better platform behaviour, performance work, accessibility improvements, and long-term desktop support across macOS, Windows, and Linux.

That said, major framework migrations can bring bugs. This touched a lot of surface area: windowing, focus, keyboard input, menus, rendering, themes, layout, and native platform integration. I’ve tested it carefully, but if you notice any visual weirdness or behaviour that feels different in 26.6.5, please let me know in the [forums](https://forum.objo.dev).

## Debugger watchpoints

Objo Studio already had conditional breakpoints, which let you pause on a specific line only when a condition is true.

26.6.5 adds **watchpoints** too. These let you tell the debugger to pause when an expression reaches an expected value.

That’s useful when you know something bad eventually happens, but you don’t yet know exactly where. Instead of scattering breakpoints through your code, you can watch a value and let Studio stop when it becomes interesting.

 ![watchpoints](https://ifnotnil.com/uploads/default/original/2X/2/20752322ca65e4eabf98a1a29f15910095668c52.png)

## Multiline strings

ObjoBasic now supports triple-quoted multiline strings:

```objo
Var sql As String = """
  SELECT id, name
  FROM people
  WHERE active = TRUE
  """

```

This makes a lot of everyday code nicer to write: SQL queries, JSON, templates, help text, test data, and any other string where escaping line breaks used to get in the way.

Interpolated multiline strings are supported too:

```objo
Var message As String = $"""
  Hello {name}
  You have {count} messages.
  """

```

## Mark your own APIs as deprecated

You can now mark your own types and members as deprecated in the IDE.

When deprecated APIs are used, Studio reports analyser warnings at the call site.

This is handy for larger projects, shared modules, and any codebase where you want to move an API forward without breaking everything immediately. You can keep the old member around, guide yourself or other developers toward the replacement, and clean things up over time.

 ![deprecations](https://ifnotnil.com/uploads/default/original/2X/a/a15ed6e2ea95e128eea33616e3dec6ac1abae891.png)

You can download Objo Studio 26.6.5 from the [usual download page](https://objo.dev/download). The full [changelog](https://objo.dev/changelog/version-26-6-5) is available too.

---

<div class="post-metadata">

**Author:** ![bgrommes](https://ifnotnil.com/user_avatar/ifnotnil.com/bgrommes/32/2651_2.png) [@bgrommes](https://ifnotnil.com/u/bgrommes)\
**Post date:** [22 June 2026 12:21 UTC](https://ifnotnil.com/t/objo-studio-v26-6-5-released/4723/2 "2026-06-22T12:21:56Z")

</div>

Also: first class support for Sql Server, which I’m eager to test on both native and Azure DB, on Windows Server.

---

<div class="post-metadata">

**Author:** ![Garry](https://ifnotnil.com/user_avatar/ifnotnil.com/garry/32/2_2.png) [@Garry](https://ifnotnil.com/u/Garry)\
**Post date:** [22 June 2026 13:44 UTC](https://ifnotnil.com/t/objo-studio-v26-6-5-released/4723/3 "2026-06-22T13:44:40Z")

</div>

How did I forget that? 😆

Yep, I’ve also added first-class support for Microsoft SQL Server and Azure SQL.

[SQLServerDatabase docs](https://docs.objo.dev/#/stdlib/sqlserverdatabase).

I’ve add a `SQLServerDatabase` class alongside the existing SQLite, MySQL, and PostgreSQL database classes. It implements the shared `Database` interface, so the familiar connection, query, prepared statement, transaction, and table metadata APIs work the same way.

That means apps that live in the Microsoft database world can now talk directly to SQL Server or Azure SQL from ObjoBasic, without falling back to ODBC driver or DSN setup for the common SQL Server case.

---

<div class="post-metadata">

**Author:** ![TomasJ](https://ifnotnil.com/user_avatar/ifnotnil.com/tomasj/32/4998_2.png) [@TomasJ](https://ifnotnil.com/u/TomasJ)\
**Post date:** [22 June 2026 15:12 UTC](https://ifnotnil.com/t/objo-studio-v26-6-5-released/4723/4 "2026-06-22T15:12:58Z")

</div>

We’ve talked about the watchpoints “on value” in another topic just recently and now you have it. awesome! Very good work!

---

<div class="post-metadata">

**Author:** ![thorstenstueker](https://ifnotnil.com/letter_avatar_proxy/v4/letter/t/aca169/32.png) [@thorstenstueker](https://ifnotnil.com/u/thorstenstueker)\
**Post date:** [22 June 2026 15:37 UTC](https://ifnotnil.com/t/objo-studio-v26-6-5-released/4723/5 "2026-06-22T15:37:10Z")

</div>

Using the underlaying functionality of Dotnet makes everything possible- I am waiting how this will compete with XoJo. Looking on it it wins against it from scratch. Cause it is more professional in this early state than XoJo ever was in my opinion. Don’tstop this work and search Partners for the case that one day you can’t work on it anymore.

---

<div class="post-metadata">

**Author:** ![Alberto](https://ifnotnil.com/letter_avatar_proxy/v4/letter/a/ea5d25/32.png) [@Alberto](https://ifnotnil.com/u/Alberto)\
**Post date:** [22 June 2026 18:47 UTC](https://ifnotnil.com/t/objo-studio-v26-6-5-released/4723/6 "2026-06-22T18:47:20Z")

</div>

> [@Garry](#):
>
> Objo Studio has moved to [Avalonia 12](https://avaloniaui.net/blog/avalonia-12)

As mentioned here:

> [@Objo Studio v26.6.2 Released](https://ifnotnil.com/t/objo-studio-v26-6-2-released/4710/15):
>
> I’m also impressed from Objo Studio so far. But there is an issue in Avalonia UI on macOS, that i was not aware of. If you use the modern metal Rendering-Mode, then the GUI will stretch and jitter while resizing a window, [see here](https://github.com/AvaloniaUI/Avalonia/issues/20971). Only way so far is to use deprecated OpenGL Mode or Software Rendering mode. Which mode does Objo Studio use? I really hope Avalonia can figure this out. Google Chrome also uses Skia and does not show this behaviour on macOS.

until Avalonia fixes their Metal implementation, is there a way in Objo to select OpenGL?

 ![image](https://ifnotnil.com/uploads/default/original/2X/b/bb7ec8c92b5e8ed559b057fd584722494fccf350.png)

---

<div class="post-metadata">

**Author:** ![Garry](https://ifnotnil.com/user_avatar/ifnotnil.com/garry/32/2_2.png) [@Garry](https://ifnotnil.com/u/Garry)\
**Post date:** [23 June 2026 09:05 UTC](https://ifnotnil.com/t/objo-studio-v26-6-5-released/4723/7 "2026-06-23T09:05:14Z")

</div>

I’ve checked this properly now.

Objo Studio currently follows Avalonia’s normal macOS renderer selection. On my M4 Max MacBook Pro running macOS Tahoe 26.5.1, Studio is using Metal:

So Studio is not quietly running in OpenGL or software mode here. I’m also **not** seeing the resize jitter in normal Studio use on this machine, although I know the Avalonia issue exists and can be reproduced in some Avalonia 12 apps/content.

At the moment Objo does not expose a user-facing “use OpenGL” switch for Studio or for Objo-built desktop apps. I’m reluctant to force OpenGL globally because OpenGL is deprecated on macOS, and this appears to be a transient live-resize rendering artefact rather than a correctness issue.

That said, I’m watching the Avalonia issue. If Objo users start seeing this in real projects rather than only synthetic resize tests, I’ll add an opt-in macOS fallback, probably as a launch option or setting, rather than changing everyone to OpenGL by default.
