Here's a summery of major features and improvements with each major/minor release of Umbraco CMS, you can see this as an overview of the great detailed release information that Umbraco HQ provides with each release.

 

Umbraco 7.0

Released: 2013-11-21

A major release that introduced the new AngularJS-based backoffice, new "property editors" for data types and a lot of improvements in the editor experience.

Release details on our

 

Umbraco 7.1

Released: 2014-04-03

This release was mainly a "polish"-release that fixed bugs and brought features that did not make it into 7.0.

  • Image Cropper in the core
  • Breadcrumbs and warnings (discard changed-dialog when leaving a view without saving)
  • Change document type
  • API: MemberService introduced.

Release details on our

 

Umbraco 7.2

Released: 2014-12-04

  • Grid property editor was added
  • Responsive preview mode (switch between desktop, mobile and tablet)

Release details on our

 

Umbraco 7.3

Released: 2015-09-29

  • Improved load balancing
  • Upgrade to MVC5 & WebApi2

Release details on our

 

Umbraco 7.4

Released: 2016-02-11

  • New Content Type (Document Type) editor
  • Models Builder

Release details on our

 

Umbraco 7.5

Released: 2014-08-17

  • Health Check dashboard introduced
  • 301 redirect manager
  • Image Processor security improvements
  • Password recovery for backoffice
  • Package Installer UI updated and "target version" for packages.
  • Sortable property types in list views

Release details on our

 

Umbraco 7.6

Released: 2017-05-02

  • New editor for scripts and templates
  • Content/media/members-pickers (property editors) was improved
  • Color-changes to backoffice UI
  • List View Pickers
  • UDIs was introduced

Release details on our

 

Umbraco 7.7

Released: 2017-09-19

This release introduced the new "User Management" and also changed some of the details around how users and passwords are stored. This version is "milestone" when upgrading old sites, I've had to install this specific version to the things right.

  • New User Management, more focus on settings on User Groups
    • Invite Users
    • Multiple Start Nodes
    • Big UI-improvements
  • Introduced "Content Templates"
  • New starterkit
  • Scheduled Health Checks
  • Includes Nested Content in the core
  • ISerachableTree-interface for custom search in the tree

Release details on our

 

Umbraco 7.8

Released: 2018-02-06

  • Backoffice Tours introduced (Step-by-step introductions/support)
  • The "Info"-tab replaced the "Generic Properties"-tab
  • Improvements to Load Balancing

Release details on our

 

Umbraco 7.9

Released: 2018-02-27

This released was called the "GDPR-release" and introduced some tooling around "consent" from visitors.

  • The ConsentService API was introduced
  • Logging of User actions in the backoffice was improved
  • Member properties can be marked as "Sensitive Data" and hidden from some backoffice User Groups.
  • Export Member data to a file

Release details on our

 

Umbraco 7.10

Released: 2018-03-27

This release does not contains a lots of features and was probably release to be able to ship the breaking change with TypedContent and Guids.

  • Improved performance for querying UmbracoHelper.TypedContent with Guids
  • Dropdown property editor was improved

Release details on our

 

Umbraco 7.11

Released: 2018-06-19

  • See where Composition Content Types are being used
  • Dictionary Tree modernized (aka moved from WebForms to AngularJS)
  • Multilingual tours
  • Cancel-events from ContentService-event handlers now shown to the user.

Release details on our

 

Umbraco 7.12

Released: 2018-08-14

  • Folders for Content Types (aka Document Types)
  • Nested Content filtering content types
  • Visual Color Picker for content type colors

Release details on our

 

Umbraco 7.13

Released: 2019-01-08

The "Community-release" with 172 improvements, bug fixes and so on.

  • SVG-support for media / media pickers
  • Better image search
  • Media item deletion detection (the "Trashed"-alert on media that has been deleted)
  • Media file type indicators (icons for doc,pdf etc)
  • Performance improvements, site-startup
  • UX: Color pickers improvements

Release details on our

 

Umbraco 7.14

Released: 2019-03-12

  • Multi Url Picker added to Core
  • Helth Check for TLS 1.2
  • UX-improvements to Image Cropper, SVG, Toggles and more

 

Release details on our

 

Umbraco 7.15

Released: 2019-07-09

The final Umbraco version 7 minor release. NOTE! This version was patched with 7.15.1 due to a bug in the media tree.

  • .NET Framework update to 4.5.2
  • New Preview engine
  • Updates to EntityService (breaking)
  • Pickers: "Ignore User Start Nodes"-setting
  • Bugfixes for CPU usage when not running the backoffice on the /umbraco-route

 

Release details on our

 

Umbraco 8.0

Released: 2019-02-26

A new major-version of Umbraco with lot's of updates and breaking changes. A cleaned up code base where all legacy code (aka WebForms) has been removed.

  • New backoffice UI
  • Introduced "Infinite Editing" - edit doctypes, media and content in a "modal" and not switch context.
  • Language Variants - Native support for 1:1-translations in the core
  • Removed all dynamics, UmbracoTemplatePage etc
  • Introduced "NuCache", no more XML (umbraco.config)
  • Introduced Composition and Components for startup and Dependency Injection

 

Release details on our

 

Umbraco 8.1

Released: 2019-07-09

  • Improved editor experiance
  • Nested Content - Copy & Paste
  • Easier access to MiniProfiler by a Settings-dashboard switch.
  • Ignore User Start Nodes
  • Accessibility improvements
  • Models Builder updates

 

Release details on our

 

Umbraco 8.2

Released: 2019-10-15

A total of 91 features and fixes in this release.

 

  • Rich Text Editor enhancements
    • Performance / loading time improved
    • Drag and drop images
    • Copy/paste from Word improved
  • Improved cache performance and stability

 

Release details on our

This blog post came out of my work with packages for Umbraco CMS, but it's totally applicable even if you're not working with Umbraco. When building packages for Umbraco that works with custom tables you have to keep in mind that CMS supports different databases. We need to make sure that our queries works on both the standard SQL Server and with SQLCE.

I've decided to try to create a concrete list of queries and map out what does and what doesn't depending on the database type.

 

Description

Query

SQL Serv.

SQLCE

Regular SELECT

SELECT * FROM umbracoNode

x

x

SELECT with Subquery in select-statement

SELECT id
(SELECT COUNT(pk) from cmsDataType) as Test
FROM umbracoNode

x

 

SELECT with Subquery in WHERE-statement

SELECT id, [text]
FROM umbracoNode
WHERE Id IN (SELECT nodeId from cmsDataType)

x

x

SELECT with Subquery (scalar1) in WHERE

SELECT id, [text]
FROM umbracoNode
WHERE Id = (SELECT TOP 1 nodeId from cmsDataType)

x

 

SELECT with Inner Join

SELECT n.id, n.[text]
FROM umbracoNode n
INNER JOIN cmsDataType d ON d.nodeId = n.id

x

x

SELECT with STUFF-function

SELECT id,[text], STUFF([text],1,1, '')
FROM umbracoNode

x

x

SELECT with “FOR XML PATH”.
Will format as a scalar XML-payload

SELECT TOP 10 id,[text]
FROM umbracoNode
ORDER By [text]
FOR XML Path('node')

x

 

Row_Number() / Paging with
SELECT with ROW_NUMBER()

SELECT id,[text],
ROW_NUMBER() OVER (ORDER BY [text]) AS RowNumber
FROM umbracoNode
ORDER By [text]

x

 

Paging with
SELECT WITH OFFSET AND FETCH 2

SELECT id,[text]
FROM umbracoNode
ORDER BY id
OFFSET 0 ROWS
FETCH NEXT 10 ROWS ONLY

x

x

SELECT DISTINCT-feature

SELECT DISTINCT ContentId from cmsContentVersion ORDER BY ContentId

x

x

SELECT with LIKE in Where

SELECT *
FROM umbracoNode WHERE [text] LIKE '%st%'

x

x

SELECT with Subquery in FROM-statement.

SELECT count(contentId)
FROM (SELECT DISTINCT contentId FROM cmsContentVersion) cmsContentVersion

x

x

SELECT with LEFT OUTER JOIN

SELECT n.id, n.[text], d.dbType, d.pk FROM umbracoNode as n
LEFT OUTER JOIN cmsDataType as d ON n.id = d.nodeId

x

x

1. A scalar query is a query that returns one row consisting of one column.
2. Works on SQL Server 2012+, older versions need the ROW_NUMBER()

I hope that this little table is useful and please, feel free to drop a comment if you have any feedback or suggestions on things I've missed.