Skip to the content

Difference between Umbraco 13 and Umbraco 17

Feature Umbraco 13 Umbraco 17
.NET Support Runs on .NET 8 (LTS) Runs on .NET 10 (LTS)
Backoffice UI AngularJS-based (outdated) Modern Web Components
JavaScript Support AngularJS only JavaScript, TypeScript, React, Vue (Lit recommended)
Performance Good, but heavier admin UI Faster, lightweight, optimized
Scalability Small to medium websites Cloud, Docker, load-balanced setups
Date Handling Mix of local time and UTC All dates stored in UTC
Extensions & APIs Legacy APIs and Angular extensions New extension system with clean APIs
Developer Experience More legacy patterns Modern tooling and cleaner architecture
Maintainability Higher technical debt Easier upgrades and long-term maintenance

Detailed Comparison: Umbraco 13 vs Umbraco 17

1. Underlying .NET Support

Umbraco 13 is built on .NET 8 (LTS), offering solid performance and security. Umbraco 17 runs on .NET 10 (LTS), providing longer support, improved performance, and better future compatibility for enterprise projects.

2. Backoffice & UI Modernisation

Umbraco 13 uses an AngularJS-based backoffice, which relies on an outdated framework and results in a heavier admin experience. Umbraco 17 introduces a modern backoffice built with Web Components and modern JavaScript, resulting in a faster, cleaner, and more maintainable UI.

Umbraco 13 – AngularJS Example

<div ng-controller="MyDashboardController">
    <h3>{{title}}</h3>
</div>

<script>
    function MyDashboardController($scope) {
        $scope.title = "My Dashboard";
    }
</script>

Umbraco 17 – Web Component Example

<my-dashboard></my-dashboard>

<script>
    class MyDashboard extends HTMLElement {
        connectedCallback() {
            this.innerHTML = "<h3>My Dashboard</h3>";
        }
    }
    customElements.define('my-dashboard', MyDashboard);
</script>

3. JavaScript & Framework Support

Umbraco 13 backoffice customization is tightly coupled with AngularJS. Umbraco 17 supports plain JavaScript, TypeScript, and modern frameworks such as React and Vue. However, Lit is recommended because it aligns natively with the Web Components architecture used by Umbraco.

4. Performance Improvements

Umbraco 17 delivers faster backoffice loading times and improved runtime performance. The removal of AngularJS and adoption of lightweight Web Components significantly reduces overhead compared to Umbraco 13.

5. Scalability & Infrastructure

Umbraco 13 is well suited for small to medium-sized websites. Umbraco 17 is designed for cloud-native environments, containerized deployments, and load-balanced setups, making it ideal for large-scale solutions.

Example:
Umbraco 13 → Single-server setup
Umbraco 17 → Cloud, containers, load balancing

6. Date Handling Improvements

Umbraco 13 uses a mix of local time and UTC, which can cause scheduling and time-zone-related issues. Umbraco 17 stores all dates in UTC, ensuring consistent behavior across regions and deployments.

7. Extensions & API Changes

Umbraco 13 relies on legacy APIs and Angular-based extensions. Umbraco 17 introduces a new extension system with cleaner APIs, better separation of concerns, and improved long-term maintainability.

More details: Migrating extensions from Umbraco 13 to 17

About the author

BJ Patel

BJ Patel is an expert user of Umbraco. Always keen to share hints and tips on getting the best out of Umbraco.

comments powered by Disqus

Join Our Community

This is a promo pod

Join Our Community Become a part of our developer community. Share your projects, get feedback, and collaborate with like-minded individuals.

Your contributions help us continue creating valuable content. Consider supporting us by sharing our content.

Junagadh, Gujarat

Latest Blog Posts

Support Us.