1. Cleaner, More Predictable Content Delivery API Responses
If you’ve spent any time working headless (or sort of headless), you’ll spot this right away.
Content Delivery API responses in Umbraco 17 are just… more predictable. The property structures make more sense, and you don’t waste as much time tossing in defensive mapping code to handle odd cases.
Sure, it’s not going to knock your socks off. But it smooths things out. And honestly, when your frontend needs reliable JSON, it’s a bigger deal than you’d expect.
Why it’s a gem:
Less time debugging weird response shapes, more time building things that matter.
2. Backoffice Extensions That Don’t Feel Like Hacks
Customizing the backoffice always felt like, “There has to be a better way.” With v17, most of the time, there actually is.
The extension model in this version is finally dialed in. Adding dashboards, custom views, or integrations just fits better with modern frontend workflows. You don’t spend your time wrestling with the framework, and it’s much easier to understand how things fit together.
Why it’s a gem:
Now you can enhance the backoffice without slapping together leftover bits of AngularJS and hoping for the best.
3. Improved Dependency Injection Clarity
This one sneaks by until you go back to old versions.
Service registration and resolution line up with what you’d expect from .NET now—lifetimes are predictable, and you know exactly where things should get wired up.
If you build custom services, composers, or any kind of integration, this clears up a lot of that nagging confusion.
Why it’s a gem:
You stop asking “why is this scoped?” all the time and get to trust your setup a lot more.
4. Subtle Performance Wins in the Backoffice
There’s no flashy feature here—just a bunch of small, smart tweaks that really add up.
Content trees pop up quicker, moving around feels less clunky, and switching between sections doesn’t give you those awkward pauses. On big installs, you’ll feel the difference right away.
Editors might not know why things feel better, but they’ll definitely notice that they do.
Why it’s a gem:
Happier editors means you don’t have to field constant “the CMS is slow” complaints.
5. Better Alignment with Modern .NET Patterns
This isn’t the sort of thing that makes for an impressive demo, but it matters in the long run.
Umbraco 17 continues to ditch its quirky, Umbraco-only conventions and leans more on standard .NET ways of doing things. Configuration, hosting, project structure—it all feels much more familiar if you already know ASP.NET Core.
That makes it easier to get new people started, keeps your codebase cleaner, and stops you from having to explain a bunch of weird exceptions.
Why it’s a gem:
Now your Umbraco project just looks and acts like the rest of your .NET stack—which is exactly what you want.
The takeaway
Umbraco 17 has its big, shiny new features, but it’s the smaller, quieter upgrades you’ll actually notice once you get working.
They’re not headline-worthy, but they reduce headaches, add consistency, and genuinely make life better for developers and editors.
In the end, those little quality-of-life improvements are what make the difference between a CMS you tolerate and one you actually enjoy using.
And if you’ve found even more hidden gems in version 17, odds are they’re the same kind of thing: small changes that quietly make a huge impact.