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.

 

 

The yearly Umbraco festival in Sweden was hosted today in Gothenburg and I was one of the speakers. My subject was “The first Umbraco V8-site” and I tried to share some of my learnings from trying to implement a new site with the current “version” of Umbraco v8.

Presentation Usf 2018

 

You can download the slides here

This is a quite annoying problem that I sometimes hit with Resharper, some of the times the views are in the “correct” folders and sometimes when we’re using custom locations for the views.

Fortunately it can be fixed.

Use annotations to indicate where views are placed

Jetbrains ships a package of annotations that we can use to tell Resharper where our views are placed. Start by referencing the Nuget-package that contains these annotations:

Install-Package JetBrains.Annotations

Then in your solution, open the “Properties/AssemblyInfo.cs”-file and add these annotations to indicate for Resharper where you views are placed.

[assembly: AspMvcPartialViewLocationFormat(@"~\Views\Partials\{0}.cshtml")]
[assembly: AspMvcPartialViewLocationFormat(@"~\Views\MacroPartials\{0}.cshtml")]
[assembly: AspMvcViewLocationFormat(@"~\Views\{1}.cshtml")]

The example above works good with views in Umbraco CMS where some partials are placed in the "MacroPartials"-folder.

There’s three different placeholders that you can use to build the paths:

  • {0} - view name
  • {1} - controll name
  • {2} - area name

And there is also different annotations depending on what type of view we are looking for:

  • AspMvcAreaMasterLocationFormatAttribute
  • AspMvcAreaPartialViewLocationFormatAttribute
  • AspMvcAreaViewLocationFormatAttribute
  • AspMvcMasterLocationFormatAttribute
  • AspMvcPartialViewLocationFormatAttribute
  • AspMvcViewLocationFormatAttribute

Sometimes you beed to build and reload the projects for this to work.

In this post I just wanted to share some really good extensions for Visual Studio 2017 that I use on a daily basis.

File Nesting

A simple little utility that makes it possible to nest files from the UI, great for ie. web.config files with different versions for release, stage and production.

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.FileNesting

https://github.com/madskristensen/FileNesting

Blog -vs -ext -file -nesting

 

Configuration Transform

This cool utility can test your configuration transform before commiting them, great to test your transforms very fast.

https://marketplace.visualstudio.com/items?itemName=GolanAvraham.ConfigurationTransform
https://github.com/golavr/ConfigurationTransform

 

Blog -vs -ext -preview _diff

 

 

One issue with the current version of configuration transform (3.2) is that it only support configuration files thats placed in the root of project, i've created a pull request that solves this: https://github.com/golavr/ConfigurationTransform/pull/6, so if you nned to work with config files outside of the root - just download and build the version with my fix and place the files in your VS-extentions folder:

For Visual Studio 2017 the path is:
%LocalAppData%\Microsoft\VisualStudio\{vs-version}\Extensions\

 

Markdown Editor

Provides a markdown editor inside Visual Studio, great when you want to edit your Github readme.md-files.

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.MarkdownEditor

Vs -markdown -preview -window

 

SQLite/SQL Server Compact Toolbox

This extension brings a lot of nice features and the one that I use the most is the ability to connect to a SQL Server Compact (SQLCE) or a .sdf database.

When I work with Umbraco CMS it's very nice to have this extention installed. I usally run Umbraco with SQL Server Express but the default option in the installer is SQLCE. So this extension to Visual Studio is very handing when building packages for Umbraco and to test out something.

Using this extension we can connect to, query and modify a SQLCE database inside of Visual Studio, after install we'll find a window under "View -> Windows" where we'll find all the goodness.

Download it here:

https://marketplace.visualstudio.com/items?itemName=ErikEJ.SQLServerCompactSQLiteToolbox


 

 

I’m not sure if everyone who reads my blog knows that I’m the trainer for the official Swedish Umbraco courses. It was after CodeGarden 2013 that I was asked to help out with the education of developers and designers here in Sweden and I’ve had a lot of fun and made a lot of new friends during these events!

IMG_4170

 

Over the years I’ve had a lot of really smart people attending my courses – but I’ve never had any student regretting that they attended. It does not matter which skill-level you have before you come – there is always something new to learn and to try. A lot of people think of different courses as a way to get certified  and yes – that’s really good and very important. At the same time I really want to point out the greatest value about the courses, that’s all the knowledge  that you can take home and use in all new projects.

When I attended the trainings I’ve been working with Umbraco for about 4 years and still I decided to go to the Fundamentals training just to make sure that I haven’t missed anything important. It was some repetition but I got away after these to days with about 10 things did I did not know before – big features in the core that I’ve never used or small tips and tricks that made some tasks trivial compared to how I’ve solved them before.

This week the Norwegian developer Lars-Erik Aabech pointed out this with a nice tweet about something as simple as the “Alt Template”-feature of Umbraco.

 

A lot of experienced Umbraco developers that have not attended the trainings have probably missed out on this and on stuff like “Recursive properties”. These to thing are just small examples of stuff from the Fundamentals-training that self-thought developers never get to know.

So why does the trainings matters?

  • Fastest way to get a compact “smorgasbord” of up-to-date knowledge about Umbraco
  • Don’t miss any details or fundamentals
  • Official certification –  comforting for clients

If your in Sweden and thinks about attending a course, have e look here for the next training event!

Today my blog post for 24 days in Umbraco was released. The topic is “The code that changes my life”.

 

24days

 

This is a great Christmas tradition where the community posts one article per day up until Christmas! Head over to the site and read about some really interesting topics for example:

 

 

You’ll find all the articles here: http://24days.in/umbraco/2015/

 

 

uhang-585

 

I finished of last week by participating in Warren Buckley's lovely uHangout. This time I showed my latest package “The Dashboard” which also won this years package competition on CodeGarden 15. The package is a really simple dashboard that can be used to give both editors and developers a better first experience when the log on to their Umbraco backoffice. This is how it looks:

 

635698726453441911_thedasboardpng

 

Please Download The Dashboard and give it a spin! If you would like to contribute (or just leverage the source code) the project is hosted on GitHub: https://github.com/enkelmedia/TheDashboard

 

Our conversation also evolved into an overall discussion about the editor experience in Umbraco CMS and how you as a developer can improve it.

 

If you want to watch the show it on http://uhangout.co.uk/ or on YouTube: https://www.youtube.com/watch?v=fNoHxYSuBXo

 

I’ll try to post a summery of the tips and tricks and the packages that I talk about in the upcoming days.

 

Cheers! =D

Since Visual Studio 2013 update 2 VS includes a nice Json editor that makes is easier to edit files containing json data. By default this editor is only used for .json-files and since the json-formated package.manifest-file used to create new plugins for Umbraco has the manifest-extention Visual Studio won’t add any syntax highlighting.

 

This is easy to fix.

 

1. Go to Tools / Options

2. I the left menu click on Text Editor and then File Extention.

3. Write “manifest” in the upper left text box, choose JSON Editor in the dropdown and click on Add.

4. Hi OK, open your manifest file and – ta da!

 

Vs -manifest -extention

 

PS. If you like the screen recorded GIF (I do) check out this awesome project: https://screentogif.codeplex.com/

 

swetugg

 

February 2-3 next year the Swedish .NET User Group (SWENUG) will host a two day .NET-conference in Stockholm, Sweden.

 

Topics varies around the .NET-space and  I’ve got the honor to speak about Umbraco CMS. I’m planning to do a very short basic intro about Umbraco and then dive into how to extend the editor environment using AngularJS. My experience from showing Umbraco to new users is that the Angular-based property editors really impresses people. My hope is that this session will help to further grow the Umbraco community here in Sweden.

 

If you would like to join, tickets only costs 500 SEK, read more at swetugg.se

 

swetugg-speaker