Umbraco
View on Wikipedia| Umbraco | |
|---|---|
| Original authors | Niels Hartvig and Umbraco Core Team |
| Initial release | 2000 |
| Stable release | |
| Written in | C# |
| Operating system | ASP.NET Core, Microsoft Windows, SQL Server, SQLite, SQL Azure, MySQL |
| Type | Content management framework, Web framework, CMS, WCMS, Community and Blog software |
| License | MIT License |
| Website | umbraco |
| Repository | |
Umbraco is an open-source content management system (CMS) platform for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based infrastructure. Since version 4.5, the whole system has been available under an MIT License.
Umbraco was developed by Niels Hartvig in 2000 and released as open source software in 2004.[2] In 2009, CMS Wire described it as one of the leading .NET-based open source CMS systems.[3][4] In 2010, with 1000 downloads a day,[5] Umbraco was in the top five most popular downloads via the Microsoft Web Platform Installer, two places below its main rival DotNetNuke.[6]
Technology
[edit]Umbraco is primarily written in C#, stores data in a relational database (commonly Microsoft SQL Server) and runs on Microsoft Kestrel server which can run on Windows or Linux. Umbraco's front-end is built upon Microsoft's .NET, using ASP.NET Core.
Umbraco uses standard ASP.NET features such as ASP.NET "master pages" to facilitate the creation of reusable page layouts, and supports both Razor and XSLT. XSLT has been used for scripting, and in the past there was much debate as to which yielded better performance, since XML has been used for database storage and for the cache file (umbraco.config)[7][8]
Beginning with Umbraco 9, the platform underwent a major architectural transformation by migrating to .NET 5 and ASP.NET Core, a shift that enabled better performance, cross-platform capabilities, and improved scalability.[9] This marked a move away from legacy .NET Framework dependencies and brought Umbraco in line with Microsoft's modern development ecosystem.
Since then, Umbraco has adopted Microsoft's Long-Term Support (LTS) release cadence, regularly updating its core to align with new .NET versions[10]
Database tier
[edit]In 2008, a data abstraction layer for Umbraco was built, making it possible to support databases other than SQL Server. In version 4.0 of Umbraco, support for MySQL, SQL Server and VistaDB come as standard.[11]
With Umbraco 4.6, released in 2010, VistaDB support was removed, and replaced with support for SQL Server Express and SQL Server Compact Edition, due to licensing issues with VistaDB's parent company.[12]
As of Umbraco 6, support for MySQL has waned, as the development team has spent more time supporting Microsoft's SQL Server products.[13] MySQL 5.6.5 or newer is required to support Umbraco 6.1 or newer.
Umbraco 7 featured a completely revamped back-end administration UI, with the use of AngularJS for a single-page application experience. It has also been announced that they will implement Angular 2.0.[14]
Beginning with Umbraco 9, the platform's migration to .NET 5 and ASP.NET Core enabled broader cross-platform database compatibility. This included support for SQLite, which is now commonly used in development and test environments. While Microsoft SQL Server remains the preferred option for production deployments, Umbraco's adoption of the modern .NET ecosystem has made it more flexible in supporting alternative data storage options in self-hosted scenarios.[15]
Deployment
[edit]The standard release of Umbraco is typically deployed on IIS in an environment which supports Full Trust. While a Full Trust environment is mandatory to install and operate the standard release, the codebase has been branched and modified to produce a version of the framework and backend UI which supports Medium Trust.[16][self-published source?]
Research has also been undertaken on running an Umbraco website on Mono on Linux.[17][18]
Umbraco can be deployed on a single physical server running the database and web tier, and this deployment model can be appropriate for small low-cost sites. Umbraco sites which serve content under higher load can also be deployed on a load balanced cluster. Load balanced Umbraco installations can use software or hardware load balancers, and load balanced network files can be shared using a SAN, NAS or a cluster file system or using a file replication service between nodes in the cluster.[19][self-published source?]
Releases
[edit]Version 4.1 Beta II was released on 16 February 2010 which refactors a number of key components of the framework,[5] including the UI tree control to improve performance and the user experience and parts of the data access layer to reduce the number of database calls.[citation needed]
Version 5 (codenamed "Jupiter") is a rewrite of the framework, built using ASP.NET MVC,[20] published in January 2012. Problems (performance and code complexity) inherent in the architecture of the new Version 5 data access layer[21] led to Version 5 being dropped in June 2012 despite having been released on a commercial license,[22] and development efforts refocused on integrating selected Version 5 front end enhancements into Version 4.
Version 6 was released on 31 January 2013, and was focused on additional support for MVC 4 and a new streamlined API.[23]
Version 7 was released on 21 November 2013. It is updated concurrently with version 6, but provides a redesign of the back-office user interface.[24]
Umbraco 8 was released on 26 February 2019.[25][26][27]
Umbraco 9 was released on 28 September 2021. This marks the first version fully on .NET 5 and ASP.NET Core.[28]
Umbraco 10 was released on 16 June 2022. This release brought Umbraco to .NET 6 and ASP.NET Core 6 and SQLite support.[29]
Umbraco 11 was released on 1 December 2022. This release brought Umbraco to .NET 7 and ASP.NET Core 7 and a new Block Grid Editor.[30]
Umbraco 12 was released on 29 June 2023. This release brought a headless API called the Content Delivery API, and support for Entity Framework Core.[31]
Umbraco 13 was released on 14 December 2023. This release brought Umbraco to .NET 8 and C# 12.[32]
Umbraco 14 was released on 30 May 2024. This release brought a new backoffice built in TypeScript and Lit, and removed the existing deprecated AngularJS version[33]
Umbraco 15 was released on 14 November 2024. This release brought Umbraco to .NET 9 and introduced Microsoft HybridCache and Tiptap RTE.[34]
Umbraco 16 was released on 12 June 2025. This version introduced Tiptap as the default rich text editor (RTE), replacing the previous editor. Tiptap was first made available in Umbraco 15. Other updates in version 16 included improvements to the back-office user interface and new options for locking, moving, and hiding properties.[35]
Community
[edit]2020 - The Umbraco corporation employs over 70 staff[36] and is supported by a core team of over 15[5] developers who work on the open source core platform. Umbraco's community site, "Our Umbraco", has more than 200,000 registered users[37] and developers.[citation needed] Since 2005, an annual developer conference Codegarden has taken place in or in the region of Copenhagen, except in 2007, when it was held in London. In 2009, the conference had 170 attendees[citation needed] and subsequently took place in Copenhagen in June 2010[38] and June 2011, then growing to 350 attendees for June 2012 and 2013.[citation needed]. It now takes place in Odense each year and in 2023 had 782 physical attendees and 969 virtual attendees.[39]
In the UK there has been an annual developer conference Umbraco Spark which takes place in Bristol each spring. Umbraco Spark has had over 150 attendees and has been running each year since 2019 (with a 2-year gap during the COVID-19 pandemic). The next Umbraco Spark will be on 8 March 2024.[40]
In the United States, The Umbraco US Festival is a key event for the Umbraco community in the United States, held periodically since 2014. The 2024 festival, hosted in Chicago, featured over 150 attendees, workshops, and presentations focused on Umbraco features, advantages, and accessibility.[41]
Reception
[edit]In August 2009, Umbraco was included in a list of 10 CMS platforms recommended by the Danish Version2 magazine. Among these were three systems initially developed in Denmark: Sitecore, TYPO3, and Umbraco.[42]
See also
[edit]References
[edit]- ^ "Releases - our.umbraco.com". umbraco.com. Retrieved 2025-06-12.
- ^ "About Umbraco". Umbraco HQ. Retrieved 2010-02-07.
- ^ Ric Shreeves. "Open Source CMS Market: Lights Beyond LAMP". CMSwire. Retrieved 2010-02-07.
- ^ Barb Mosher. "Quick Take Review: Umbraco Web Content Management System". CMSwire. Retrieved 2010-02-07.
- ^ a b c Leif Martin Kirknes. "Fra garasjebedrift til suksess-CMS (From the garage company to success-CMS)" (in Norwegian). Computerworld (Norway). Archived from the original on 2014-07-26. Retrieved 2010-02-17.
- ^ "Microsoft /Web". Microsoft. Retrieved 2010-02-07.
- ^ "XML Schema". our.umbraco.org. Archived from the original on 4 October 2015. Retrieved 25 January 2015.
- ^ "Publishing and republishing". Retrieved 25 January 2015.
- ^ "Umbraco 9 release | Umbraco powered by .NET 5 & ASP.NET Core". umbraco.com. Retrieved 2025-06-13.
- ^ "Umbraco Long-term Support (LTS) and End-of-Life (EOL)". umbraco.com. Retrieved 2025-06-13.
- ^ Umbraco I/S. "One CMS any DB". Umbraco I/S. Archived from the original on September 16, 2010. Retrieved 2010-02-07.
- ^ Umbraco I/S. "Introducing JUNO". Umbraco I/S.
- ^ Reilink, Jan. "Umbraco doesn't like users with MySQL databases". Sysadmins of the north. Archived from the original on 24 July 2013. Retrieved 12 July 2013.
- ^ "Umbraco and Angular 2.0". Per Ploug. Retrieved 25 January 2015.
- ^ "Running Umbraco On Linux/macOS | Umbraco CMS". docs.umbraco.com. Archived from the original on 2025-04-27. Retrieved 2025-06-13.
- ^ Benjamin Howarth. "Medium Trust with Umbraco 4.0.x". Umbraco I/S. Retrieved 2010-02-07.
- ^ Kevin M. Fitzgerald. "Umbraco and Mono: Can it be done?". Retrieved 2010-02-07.
- ^ Jesper Kildebogaard (12 Jan 2010). "Dansk open source-CMS har fået BBC og Fox på kundelisten (Danish open source CMS has the BBC and Fox on its customer list)" (in Danish). Version2. Archived from the original on 16 February 2010.
- ^ Shannon Deminick. "Installing Umbraco for load balanced environments". Umbraco I/S. Retrieved 2010-02-07.
- ^ "Umbraco 5.0". Umbraco. Archived from the original on 2011-07-29. Retrieved 2011-08-10.
- ^ "Umbraco 5 Performance Issues". Umbraco. Retrieved 2012-06-29.[permanent dead link]
- ^ "v5 RIP". Umbraco. Retrieved 2012-06-13.
- ^ "Umbraco 6.0.0 released". Umbraco. Retrieved 19 June 2014.
- ^ "Umbraco 7". Umbraco.
- ^ Umbraco HQ (10 January 2019), Umbraco New Year's Reception 2019 recording, archived from the original on 2021-12-15, retrieved 2019-01-17
- ^ "Umbraco 8: What We're Most Excited About". www.marceldigital.com. Retrieved 2019-01-17.
- ^ "Introducing Umbraco 8". Umbraco. Retrieved 2025-06-22.
- ^ "Umbraco 9". Umbraco.
- ^ "Umbraco 10". Umbraco. Archived from the original on 2022-08-09. Retrieved 2022-08-09.
- ^ "Umbraco 11". Umbraco. Archived from the original on 2022-12-02. Retrieved 2022-12-02.
- ^ "Umbraco 12". Umbraco.
- ^ "Umbraco 13". Umbraco.
- ^ "Umbraco 14". Umbraco.
- ^ "Umbraco 15". Umbraco. Umbraco. Retrieved 1 April 2025.
- ^ "Umbraco 16". Umbraco. Umbraco. Retrieved 12 June 2025.
- ^ "Umbraco HQ Team". umbraco.com.
- ^ "Umbraco". Umbraco. Retrieved 2019-06-13.
- ^ "Codegarden 10 Keynote". geckonewmedia.com.
- ^ "Codegarden 2032 the aftermath". umbraco.com.
- ^ "Umbraco Spark". umbracospark.com.
- ^ "Umbraco US Festival 2024". Umbraco US Festival 2024.
- ^ (in Danish) Jesper Stein Sandal (18 Aug 2009) Her er 10 CMS'er, du ikke må gå glip af Archived 2010-02-26 at the Wayback Machine, Version2
Further reading
[edit]- (in Danish) Nicolai Devantier (21 Sep 2009) ABBA og gratis kode er nøglen til succes (interview with Niels Hartvig), Computerworld Denmark
- (in Danish) Tania Andersen (2 Feb 2009) Dansk succes-CMS får redigering fra forsiden, Version2
- (in Danish) Tania Andersen (25 Jan 2010) Microsoft vælger dansk open source-CMS til millioner af udviklere, Version2
- (in Danish) Tania Andersen (10 Jun 2008) Microsoft vælger open source til udviklersite, Version2
External links
[edit]Umbraco
View on GrokipediaOverview
Development history
Umbraco originated as a personal project by Danish developer Niels Hartvig in the early 2000s, initially developed while he worked at a web agency to address needs for a flexible content management system.[7][8] The project began as proprietary software, with Umbraco 1.0 announced in 2003 using a mix of ASP, VB.NET, and C#, followed by a beta release of version 2.0 in October 2004 that fully transitioned to the .NET framework.[3] On February 16, 2005, Umbraco 2.0 was released as open-source software, marking the official start of its community-driven evolution and enabling widespread adoption among developers.[3] This shift from proprietary use to open-source distribution rapidly grew its user base, reaching a milestone of 100,000 downloads by 2010. Umbraco HQ was founded in Odense, Denmark, in 2003 as a dedicated company to oversee development, provide support, and foster the growing community around the platform.[3][5] To encourage broader adoption and reduce licensing restrictions, Umbraco transitioned to the more permissive MIT license with the release of version 4.5 in 2011.[9] This change aligned with the project's emphasis on accessibility and contributed to sustained growth, as evidenced by over 400,000 active installations by 2017.[3] By 2025, Umbraco powered more than 700,000 websites worldwide, reflecting its maturity as a leading open-source CMS.[1] Umbraco HQ expanded significantly to support this trajectory, hiring its first full-time employee in 2007 and growing to over 130 staff by 2023, with over 140 employees as of 2025, and a strategic focus on enterprise-grade features such as cloud hosting and advanced integrations.[3][5] This company growth paralleled the platform's evolution, bolstered by an open-source model that invited community contributions while maintaining core development under professional stewardship.[3]Licensing and distribution
Umbraco was released as open-source software in 2005.[3] In 2011, with the release of version 4.5, Umbraco transitioned to the permissive MIT license for the entire system, enabling free use, modification, and distribution without royalties or obligations to share changes.[9][10] The core CMS is available for free download from the official Umbraco website and through NuGet packages, facilitating easy integration into .NET projects. Source code distribution occurs primarily via the GitHub repository, established in 2013 to support community contributions, while the our.umbraco.com platform serves as the hub for downloading community-created packages and extensions.[3] Umbraco's licensing model emphasizes no vendor lock-in, providing complete access to the source code and supporting self-hosting on various infrastructures without proprietary dependencies.[11] For organizations seeking additional assistance, commercial support is offered through partnerships with Umbraco HQ-certified developers and agencies worldwide.Core Features
Content management tools
Umbraco's backoffice serves as the primary administrative interface for content management, offering an intuitive environment where editors can create, edit, and organize website content without needing deep technical knowledge. Up to version 13, the backoffice was constructed using AngularJS, which facilitated a responsive and user-friendly experience for tasks like content authoring and site navigation. Starting with version 14, the interface has transitioned to modern web components built with TypeScript, enhancing performance, scalability, and developer extensibility while maintaining ease of use for non-technical users.[12][13] Central to Umbraco's content modeling are document types, which function as customizable blueprints defining the structure and properties of content nodes, such as text fields, rich text editors, or custom data types for pages like articles or products. These document types are linked to templates that determine how content is rendered on the frontend, supporting flexible templating engines including XSLT for legacy compatibility, MVC for structured development, and Razor views for dynamic, server-side rendering of HTML. This approach allows site administrators to tailor content models precisely to project needs, ensuring consistent data entry across the site.[14][15] The platform includes a robust media management system through its built-in media library, enabling users to upload, organize, and retrieve images, videos, and files in a centralized repository. Key features encompass focal point selection and predefined cropping options via the Image Cropper property editor, which allows editors to define custom crop ratios for responsive images without altering originals. Additionally, image optimization is supported through integration with libraries like ImageSharp, which handles resizing, compression, and caching to improve load times and reduce bandwidth usage.[16][17] Umbraco facilitates collaborative workflow features designed for multi-user environments, including role-based permissions via user groups that control access to editing, publishing, and specific sections of the backoffice. Built-in versioning maintains a history of all content changes, storing multiple drafts and published versions for easy rollback or auditing, with configurable retention policies to manage storage. Preview modes allow non-technical editors to simulate the live site appearance of unpublished changes in real-time, supporting split-view editing and responsive previews to ensure content accuracy before publication.[18][19][20][21] Integrated SEO tools empower editors to optimize content directly within the backoffice, with support for custom meta tags such as descriptions and keywords configurable via document properties and rendered in templates. XML sitemaps can be generated using custom templates or packages to aid search engine crawling by listing site structure, while URL aliasing through theumbracoUrlAlias property enables human-readable, SEO-friendly URLs that mask complex paths without affecting routing. These features promote better search visibility and user experience without requiring external plugins.[22][23][24]
Umbraco incorporates accessibility considerations aligned with WCAG guidelines, particularly in backoffice UI development and package creation, where developers are advised to ensure sufficient color contrast and semantic HTML for screen reader compatibility. For multilingual content handling, the system uses dictionary entries to store translatable strings with language-specific values, fetched via unique keys to dynamically render site text, labels, and messages across variants without duplicating content nodes. This setup supports global sites by centralizing translations and integrating with language variants for culture-specific content delivery.[25][26][27]
The Block Grid Editor provides a flexible tool for structuring content layouts in the backoffice, enabling editors to arrange blocks in a grid format for complex page designs. On the frontend, this feature can be rendered in page templates using helper methods like GetBlockGridHtmlAsync, which requires the inclusion of a default CSS stylesheet from the data type configuration to ensure proper grid layout using CSS Grid.[28]
Integration and extensibility
Umbraco's extensible architecture enables developers to customize and integrate the CMS with external systems through a robust plugin system and API endpoints. The platform supports the creation and installation of packages that extend core functionalities, such as adding e-commerce capabilities or forum integrations, via the official Umbraco Marketplace. This marketplace hosts thousands of community-contributed packages, allowing users to enhance the CMS without modifying the core codebase.[29][30] In Umbraco version 12 and later, RESTful APIs provide built-in support for headless CMS implementations, facilitating the decoupling of frontend and backend layers. The Content Delivery API delivers content in JSON format through endpoints like/umbraco/delivery/api/v2/content, enabling secure, query-based retrieval of content items by ID, route, or multiple identifiers. This API includes features for property expansion, localization, and preview modes, configurable via appsettings.json or command-line flags.[31]
Umbraco integrates seamlessly with the .NET ecosystem, leveraging ASP.NET Core for its foundation and supporting tools like Entity Framework Core for managing custom database tables beyond the CMS's default storage. It is compatible with Azure services, including Web Apps for deployment, and allows incorporation of third-party .NET libraries for advanced functionalities. Developers can register custom DbContexts using AddUmbracoDbContext to handle additional data persistence.[32][33]
Custom code injection is facilitated through hooks and events via the Notification system, following the Observer pattern to intercept workflows such as content publishing or media uploads. Developers can subscribe to notifications like ContentPublishingNotification or ContentPublishedNotification using C# handlers to execute custom logic before or after operations, with options to cancel actions. Macros and user controls can also be implemented in C# or JavaScript for dynamic content rendering. The Extension Registry further allows runtime registration and modification of backoffice UI elements through manifest files like umbraco-package.json.[34][35]
For headless setups, Umbraco's JSON delivery supports Jamstack architectures by providing structured content that integrates with modern frontend frameworks like Next.js or Astro. This enables static site generation or server-side rendering while maintaining editorial control in the Umbraco backend, with API keys for protected access and indexing for efficient querying.[31][36]
Security extensions in Umbraco include role-based access control (RBAC) powered by ASP.NET Core Identity, which manages user permissions for backoffice access and sensitive member data. Custom authentication providers can be implemented via external login options like OAuth with Entra ID, Google, or Facebook, and two-factor authentication using TOTP providers. Developers can extend this with custom password checkers or user managers through interfaces like IBackOfficeUserPasswordChecker.[37][38]
Technology
Architecture and .NET stack
Umbraco is developed primarily in C# and utilizes ASP.NET Core to implement Model-View-Controller (MVC) patterns, enabling structured web application development with separation of concerns for routing, controllers, and views. This stack provides a high-performance foundation for handling HTTP requests and rendering dynamic content. Prior to version 9, released in September 2021, Umbraco was built on the Windows-specific .NET Framework. The shift to .NET 5 and later versions, including .NET Core and .NET 6+, introduced full cross-platform compatibility, allowing deployment on Linux and macOS environments alongside Windows, which broadens hosting options and improves scalability for diverse infrastructures.[39] Umbraco's architecture emphasizes modularity through dependency injection (DI), leveraging ASP.NET Core's native DI container extended by theIUmbracoBuilder interface for registering Umbraco-specific services such as content services and notification handlers. Developers can extend functionality using component composers or plugins, where resolvers automatically scan and register types from assemblies, supporting transient, scoped, or singleton service lifetimes. The middleware pipeline, configured in Program.cs, processes requests sequentially, integrating custom middleware for tasks like authentication and logging to ensure extensible and maintainable code organization.[40][41]
Performance optimizations in Umbraco include multi-layered caching mechanisms, such as output caching for rendered responses and browser caching for static assets like CSS and images, configurable via attributes like [ResponseCache] or settings in appsettings.json. Asynchronous processing is natively supported through ASP.NET Core's async/await patterns, reducing thread blocking and enhancing throughput under load.[42]
The frontend relies on HTML5 for semantic markup and CSS3 for styling, integrated via Razor views in MVC controllers to generate responsive interfaces. The backoffice administration interface employs JavaScript frameworks; earlier versions used AngularJS, while recent iterations (from Umbraco 14 onward) adopt modern standards like Web Components, TypeScript, Lit, and Vite for a lightweight, framework-agnostic experience.[43]
Built-in security features draw from ASP.NET Core, including Cross-Site Request Forgery (CSRF) protection through antiforgery tokens validated in forms and controllers. SQL injection is mitigated via the NPoco micro-ORM, which uses parameterized queries for all database interactions, ensuring user input is sanitized without direct string concatenation. Umbraco also includes a database abstraction layer to handle provider-specific persistence uniformly across supported backends.[44]
Database support
Umbraco primarily utilizes Microsoft SQL Server as its database engine, supporting Express, Standard, and Enterprise editions for production and development environments. The database must employ a case-insensitive collation, such as SQL_Latin1_General_CP1_CI_AS, to ensure compatibility with Umbraco's Data Access Layer (DAL), which does not accommodate case-sensitive naming conventions.[45] For optimal operation, the database user requires the db_owner role or a combination of db_datareader, db_datawriter, and db_ddladmin roles to handle installations, upgrades, and routine data operations.[45] Alternative databases include SQLite, which is integrated out-of-the-box for lightweight local development and testing since Umbraco version 10, replacing the deprecated SQL Server Compact Edition (SQL CE). SQLite serves as a file-based option suitable for non-production scenarios but is not recommended for live deployments due to concurrency limitations and lack of advanced features like stored procedures. MySQL was supported as an open-source alternative from Umbraco version 4.0 through version 7, enabling cost-effective setups in diverse hosting environments, though its emphasis diminished after version 6 with reduced maintenance and eventual removal in version 8 onward.[46][47] Database configuration occurs via connection strings defined in the appsettings.json file, with the essential key "umbracoDbDSN" under the ConnectionStrings section specifying the provider, server, database name, and authentication details—for instance, using SqlConnection for SQL Server or SQLiteConnection for SQLite. In Umbraco version 9 and later, schema migrations use a code-based approach via the built-in migration framework, automating table creation, updates, and data transformations during application startup or upgrades to maintain consistency across environments.[48][49] Support for VistaDB, an embedded .NET database, was deprecated and removed starting from Umbraco version 4.1 due to licensing constraints and the provider's closure, prompting migrations to SQL Server or alternatives like SQL CE at the time. Post-version 6, MySQL support waned as Umbraco prioritized SQL Server alignment with the .NET ecosystem, leading to its full deprecation by version 8 to streamline development and reduce compatibility overhead.[50][46] Performance optimizations in Umbraco's database layer include strategic indexing on the content tree, particularly the umbracoNode table's id, path, and sortOrder columns, to accelerate hierarchical queries and navigation in large sites. SQL Server's built-in full-text search capabilities can be enabled on relevant tables like umbracoDocument and cmsPropertyData to enhance content retrieval efficiency, though Umbraco typically augments this with the Examine indexing engine for site-wide searches.[51] For backup and recovery, Umbraco provides built-in export and import tools within the installer and backoffice, allowing schema and data portability via SQL scripts or .bacpac files for SQL Server, facilitating seamless transfers between environments without vendor lock-in. These tools support point-in-time recovery and are complemented by standard database backups, ensuring data integrity during migrations or disaster recovery scenarios.[52]Deployment and hosting
Umbraco supports self-hosting on-premises environments, traditionally using Internet Information Services (IIS) on Windows servers for deployment. Since version 9, it has offered cross-platform compatibility, enabling hosting with the Kestrel web server on Linux and macOS operating systems, aligning with ASP.NET Core's runtime capabilities.[53][54] For cloud-based deployment, Umbraco instances can be hosted on platforms such as Azure App Service, which provides managed scaling and integration with Microsoft SQL Server, or Amazon Web Services (AWS) for flexible infrastructure options. Additionally, Umbraco Cloud serves as a dedicated managed Platform as a Service (PaaS) offering tailored for Umbraco projects.[54][55] The installation process begins with installing the Umbraco templates via NuGet using the .NET CLI commanddotnet new install Umbraco.Templates, followed by creating a new project with dotnet new umbraco. Developers then build and run the application with dotnet run, which launches a local server and triggers a browser-based installation wizard to configure the site, including initial database creation. Unlike earlier versions reliant on web.config files, modern installations use appsettings.json for configuration, supporting unattended setups for automated environments like Azure Web Apps.[53][56]
To scale Umbraco deployments, load balancing is achieved by sharing a central database across multiple front-end servers, often using Storage Area Networks (SAN) or Network Attached Storage (NAS) for file replication. Clustering support involves designating a single backoffice server for content editing—excluded from the load balancer—to handle administrative tasks, while front-end servers process requests and queued updates from the database. Configurations include shared data protection keys and distributed caching, such as DistributedSqlServerCache, to maintain session state across instances.[57]
System requirements for hosting Umbraco include the .NET 9 runtime or later, in line with Microsoft's support policy; as of Umbraco 16 (released June 2025) and Umbraco 17 LTS (November 2025), .NET 9 is required. Along with supported operating systems capable of running ASP.NET Core applications. For local development and build processes, the .NET SDK is essential, while modern browsers like the latest versions of Chrome, Edge (Chromium-based), Firefox, and Safari are required for the backoffice interface. Although not strictly mandated, Node.js may be used optionally for front-end build tools in custom projects.[45][58]
Umbraco integrates seamlessly with continuous integration and continuous deployment (CI/CD) pipelines, supporting tools like GitHub Actions through YAML workflows that automate builds, deployments to Azure Web Apps, and schema transfers using Umbraco Deploy. Similarly, Azure DevOps enables scripted pipelines with sample Bash or PowerShell configurations to sync repositories, prepare artifacts, and deploy to environments, facilitating automated updates across development, staging, and production.[59][60]
Version History
Major releases pre-2020
Umbraco's early development from versions 1 through 4, spanning 2005 to 2008, established its foundation as an open-source CMS built on ASP.NET WebForms. The initial open-source release occurred on February 16, 2005, introducing core concepts like document types for content structure, macros for dynamic functionality, and XSLT templating for rendering pages.[3] These versions featured a basic backoffice interface for content management, relying on server-side rendering and limited extensibility through user controls and templates. By version 4, released in 2008, enhancements included improved caching mechanisms and better integration with ASP.NET membership providers, though the architecture remained tied to WebForms for simplicity and compatibility with early .NET environments.[3] Version 5, released in February 2011, represented an ambitious shift toward ASP.NET MVC integration to modernize templating and routing. However, the version encountered significant stability issues, including performance bottlenecks and incomplete feature parity with prior releases, leading to its official discontinuation in June 2012.[61][62] Development resources were redirected to more viable paths, marking a pivotal lesson in balancing innovation with reliability. Umbraco 6, launched in January 2013, standardized Razor views as the primary templating engine, effectively ending support for WebForms and promoting MVC patterns for cleaner, more maintainable code. Key improvements included a revamped media management system with better file handling and upload capabilities, alongside a new API for content and media interactions that boosted backoffice performance.[63] This release solidified Umbraco's transition to modern .NET practices, enabling faster development cycles for custom extensions. The introduction of version 7 in November 2013 brought a complete overhaul of the backoffice using AngularJS for a more responsive and customizable interface, replacing the legacy WebForms-based UI. It introduced property editors for flexible data types, allowing developers to create reusable components, and integrated the Examine search engine for efficient content indexing and querying.[64][65] Over its lifespan through 2019, version 7 received regular updates, including enhancements to grid layouts and tour features for user onboarding, maintaining its status as a stable workhorse for enterprise sites. Version 8, released on February 26, 2019, served as the final major iteration on the .NET Framework, incorporating advanced imaging tools via ImageSharp for optimized media processing and resizing. It also refined member management with improved authentication flows and role-based access controls. Notable additions included Infinite Editing for seamless content workflows and Content Apps for embedding external tools directly in the backoffice.[66] Early releases followed an irregular cadence, with major versions appearing every 1–2 years amid evolving .NET standards, but by the late 2010s, updates stabilized to semi-annual minor releases for versions 7 and 8, ensuring timely security patches and features. Prior to version 9, Umbraco's support policy provided approximately 18 months of active maintenance for major releases, focusing on bug fixes and compatibility updates before transitioning to security-only support.[67]Major releases 2020–2025
Umbraco 9, released on September 28, 2021, marked a significant modernization effort by fully migrating to .NET 5 and ASP.NET Core, enabling cross-platform compatibility across Windows, macOS, and Linux environments.[39] This shift improved overall performance through optimized runtime capabilities and better resource management inherent to the .NET ecosystem.[68] Umbraco 10, launched on June 16, 2022, aligned with the .NET 6 long-term support (LTS) release, providing enhanced stability and extended support until November 2024.[69] It solidified cross-platform support while introducing improvements in media handling, such as better integration for image processing and delivery. Umbraco 11, released on December 1, 2022, incorporated .NET 7 for further performance gains and introduced the Block Grid Editor for more flexible content structuring, which supports rendering in page templates via asynchronous HTML helper methods and requires the inclusion of default CSS stylesheets from data type configurations to enable CSS Grid layouts (for more details, see Core Features).[70][28] Enhancements to the ModelsBuilder addressed compatibility issues with .NET 7, streamlining content type generation and developer workflows.[71] Umbraco 12, made available on June 29, 2023, continued on .NET 7 and emphasized headless architectures with the introduction of the Content Delivery API, which supports JSON-based content retrieval for decoupled frontends.[72] This API facilitates integration with modern JavaScript frameworks, enabling faster and more scalable content distribution.[73] Umbraco 13, an LTS version released on December 14, 2023, upgraded to .NET 8 and C# 12, delivering substantial improvements in security features like enhanced authentication and encryption, alongside better scalability for high-traffic sites.[4] It offers full support until the fourth quarter of 2026, ensuring long-term reliability.[67] Umbraco 14, released on May 30, 2024, maintained .NET 8 support while overhauling the backoffice with a TypeScript-based architecture using Lit and web components, significantly enhancing developer experience through modern tooling and easier customization.[43] New APIs, including the Management API and Extension API, further improved extensibility and integration options.[74] Umbraco 15, launched on November 14, 2024, integrated .NET 9 for optimized performance and introduced features like a hybrid caching strategy and block-level variants to boost site speed and content flexibility.[75] It also debuted an upgraded rich text editor for more intuitive content editing.[76] Umbraco 16, released on June 12, 2025, built on .NET 9 and replaced the legacy rich text editor with Tiptap, offering advanced formatting options and better accessibility for editors.[77] It added property-level permissions for finer-grained access control and enhanced support for content segmentation.[78] Since Umbraco 9, the release cadence has shifted to two major versions per year, with minor releases every six weeks and patches for fixes, aligning closely with Microsoft's .NET release schedule to leverage the latest LTS frameworks every two years.[79] Umbraco 8 reached end-of-life on February 24, 2025, after which no further updates or security patches were provided, prompting emphasis on upgrade paths to newer versions for continued support and feature access.[80]Ecosystem and Products
Umbraco Cloud and hosting
Umbraco Cloud is a fully managed Platform as a Service (PaaS) offering designed for hosting and deploying Umbraco CMS projects, providing developers and organizations with streamlined infrastructure management. Launched in 2015 as "Umbraco as a Service," it enables effortless setup and operation of Umbraco sites without the need for manual server configuration or maintenance.[81] Built on Microsoft Azure, it supports scalable web applications tailored to the needs of content-heavy websites.[82] Key features of Umbraco Cloud include automated deployments through integrated CI/CD pipelines via Umbraco Deploy, which facilitate continuous integration and synchronization of code and content across environments. It offers built-in scaling capabilities with dedicated or shared resources to handle varying traffic loads, automatic database backups with point-in-time restore functionality, and environment cloning for development, staging, and production setups. These tools allow teams to replicate full site structures quickly, reducing deployment risks and accelerating workflows.[82] Umbraco Cloud integrates seamlessly with the Umbraco CMS, supporting .NET 9.0 and higher versions for modern .NET development, while leveraging a global Cloudflare CDN for content delivery optimization and reduced latency. Pricing follows a tiered model starting with the Starter plan at $53 per month for basic hosting needs, progressing to Standard ($320/month) and Professional ($860/month) for enhanced resources and support, and custom Enterprise plans for large-scale implementations with 24/7 assistance. A 14-day free trial is available to evaluate the platform.[45][83] Security measures in Umbraco Cloud encompass DDoS protection through Cloudflare's web application firewall and content delivery network, along with automatic TLS certificates and regular security updates. The platform maintains GDPR compliance via a dedicated Data Processing Agreement, ensuring proper handling of personal data without unauthorized sharing. Umbraco A/S is actively pursuing ISO 27001 certification, targeted for completion by the end of 2025, to further validate its information security management practices.[84] By 2025, Umbraco Cloud powers thousands of websites globally, demonstrating its reliability for demanding digital presences.[82]Umbraco Heartcore
Umbraco Heartcore is a fully managed, headless SaaS CMS built on the open-source Umbraco CMS, providing a powerful editor experience and flexible APIs for content delivery across any frontend. It offers managed RESTful and GraphQL APIs for omnichannel delivery, built-in CDN via Cloudflare for fast content delivery, and supports microservices architecture as Content-as-a-Service. Heartcore enhances the Umbraco ecosystem with headless capabilities, scalability, and integrations for modern, decoupled development.[85]Add-ons and packages
Umbraco's ecosystem includes a range of official add-ons and community-developed packages that extend the core CMS functionality, enabling features such as form management, personalization, and e-commerce without requiring custom development. These extensions leverage Umbraco's extensibility hooks to integrate seamlessly, allowing developers and editors to enhance sites efficiently.[86] Among the official add-ons, Umbraco Forms provides a drag-and-drop builder for creating responsive forms, supporting elements like text fields, dropdowns, checkboxes, and multi-page layouts, along with validation rules and conditional logic. It includes workflows for post-submission actions, such as sending emails, updating web services, or integrating with CRM systems, and offers built-in reporting for submissions. Unlimited forms can be created, making it suitable for contact forms, surveys, and complex questionnaires.[87][88] Umbraco Engage, introduced in November 2024 and enhanced throughout 2025, delivers tools for analytics, customer profiling, A/B testing, and content personalization directly within the backoffice. It supports user segmentation based on behavior, demographics, and preferences, with AI-driven recommendations for dynamic content adaptation and real-time reporting to optimize engagement. Updates in Q1 and Q2 2025 improved performance and CMS compatibility, enabling unlimited personalization rules.[89][90][91] Umbraco Commerce serves as an e-commerce solution, handling payments, inventory management, order processing, and product catalogs integrated into Umbraco sites. It supports multiple payment gateways and includes features for discounts, shipping, and tax calculations. In August 2025, version 16.2.2 was released, addressing rounding issues in order calculations and enhancing property editor compatibility.[92] Umbraco offers several official add-ons specifically designed to enhance developer productivity and backoffice customization: The community contributes free packages through the Umbraco Marketplace, a repository hosting extensions for various needs. Notable examples include the SEO Toolkit, which adds backoffice tools for meta tag management, sitemaps, redirects, and SEO auditing to improve search engine optimization. Another popular package is uSync (by Kevin Jump / Jumoo), a widely used package for serializing Umbraco settings, content, and configurations to disk, enabling source control, multi-developer collaboration, and easy deployment/sync across instances.[93] Another notable developer tool is Diplo God Mode (by Dan Diplo), a diagnostics and insights tool that adds a custom tree in the Settings section, allowing developers to browse, query, and search document types, templates, data types, media, controllers, models, and server information for in-depth site analysis and debugging.[94]- Umbraco UI Builder: Accelerates backoffice development by enabling developers to create custom dashboards, editor views, and admin views using clean, maintainable code. It integrates deeply with the CMS, providing a familiar interface with consistent interactions, reduced maintenance, and aligned upgrade paths.[95]
- Umbraco Deploy: Automates deployments and content/schema transfers across environments (e.g., development, staging, production), ensuring reliability and consistency. It uses the same patterns, APIs, and conventions as the core CMS, minimizing complexity and dependencies for smoother multi-environment workflows.[96]
- Developer MCP: Integrates AI capabilities into Umbraco, allowing developers and intelligent systems to extend and interact with the CMS in innovative ways. It serves as a foundation for AI-driven automation and extensions.[97]