EPiServer 7 - Patch 1

Views: 8945
Number of votes: 5
Average rating:

Today we are making the first maintenance update to EPiServer 7 available on nuget.episerver.com. This update is fully supported and we recommend that you apply it to ongoing projects based on EPiServer 7.

Background

Historically bug fixes have been delivered as "hotfixes" via EPiServer Developer Support. Going forward, maintenance updates will be published on our developer NuGet feed making it easier to integrate the platform update in development projects. Apart from changing the delivery method, we are also changing the way assemblies are versioned.

Previously we shipped updates with the same assembly version as the original release, but with an updated assembly file version. This was done so that the previously installed (GAC:ed) assemblies could be overridden. From now on, we are updating the revision field of the assembly version, which effectively detaches the site from the GAC. The main reason for this change is to allow per site deployment of patches, which has previously been an issue.

The EPiServer Patch Process

One day per week we have a developer "bug bash" where we concentrate on fixing bugs. Our highest priority is to work on issues reported by customers and partner developers (via developer support). When a bug has been fixed, it gets validated by our test team to make sure the fix works and that it does not introduce other issues.

We regularly review fixed bugs to select those suitable for inclusion in a patch release. We then merge the selected changes to our release branch, where we build the patch. The patch is sent for smoke testing of impact areas, and to verify that deployment works.

Installing the Patch

The patch is available as a set of packages on Nuget feed on nuget.episerver.com. Refer to the installation instructions for information on how to install the patches to your sites.

Change Log for Patch 1

The bugs listed below are included in this patch.

ID Title Area
91860 Renaming license file to machine name doesn't work \CMS
91325 Runtime compiler error CS0272 when using the PageStoreService \CMS
92742 When saving and publishing an existing page with code some properties previously published values are reset \CMS
92942 Connect for SharePoint license validation in the ContentChannel doesn't support the new license model \CMS
91159 QuickNavigator raises NullReferenceException when viewing page without serverside-header \CMS
91601 Blocks are not synchronized with model if you only change namespace and keep the same class name \CMS\Core
91645 Property values of existing page can't be updated over ContentChannelService \CMS\Core
91676 UrlResolver.Route is not working properly \CMS\Core
90742 CMS SearchInitialization do not remove all events on uninitialize \CMS\Core
90960 GetObjectData in XhtmlString is not virtual which prevent mocking on the method \CMS\Core
90969 EPiServer.DataAbstraction.ContentType fetches localized group names from beneath the <pagetypes> element \CMS\Core\API
91053 EPiServer.Url is not Serializable \CMS\Core\API
91052 Shared block cannot be rendered when it is deployed as module/add-on on MVC site \CMS\Core\MVC
91049 EventArgs to ContentRoute.CreatingVirtualPath should contain RouteValues \CMS\Core\Routing
90760 New draft version is created when cancel schedule for publish on page/block \CMS\SparrowHawk
91020 No legacy gadgets are available on the dashboard \CMS\SparrowHawk \CMS\SparrowHawk
92063 Show wrong buttons on Access Right dialog \CMS\SparrowHawk
93633 Blocks in ContentAreas are removed from the content area when the block is changed in code \CMS\Typed Data
91301 Property's tab in a strong typed page typed auto change to "Content" after adding any page provider \CMS\Typed Data
91029 Help Url should be configurable based on legacy edit mode \CMS\UI
90994 Bad translation for display name in Swedish \CMS\UI\Admin Mode
90948 Missing text on Plug in manager \CMS\UI\Admin Mode
91541 User Profile VG criteria doesn't work with commerce user \CMS\Visitor Group
91293 Unable to save visitor group with custom criteria  \CMS\Visitor Group\Criteria
90987 DDS: Cache handling in DDS is inefficient when it tries to clear all items.  \Framework\DDS
89814 DDS linq GroupBy generates invalid sql statements \Framework\DDS
91241 Wrong list is removed when clicking remove button in the EPiMail UI \Mail
91242 EPiMail Community Search source is unnecessarily fetching the whole recipient list to get the count \Mail

Comments

Shouldn't the package do web.config transforms?
Currently you have to manually edit the assembly redirects in web.config because they all point to version 7.0.586.1, not 7.0.586.4 (for Core)

Actually NuGet XML transformations support only adding new stuff to config file, but not editing existing configuration. Using Powershell to parse and update XML is a bit overkill as for me.

Great to see the first release via the new delivery model. The Nuget approach certainly gives a much better way of working and supplying fixes directly to developers.

Adhering to the XDT web.config transformations has just been added to Nuget as it was a big missing piece IMO

http://blogs.msdn.com/b/webdev/archive/2013/01/10/xdt-web-config-transform-engine-released-on-nuget.aspx

A tool where you could apply transformations manually on multiple selectable Web.config files (as for different environments for a project) would be awesome. Maybe there is something out there?

Another way of doing the web.config (and any other config) updates could be to distribute the update in an .epimodule file. The deployment center can then be used to install the module. The epimodule process can update any config files using the built in EPiServer config transformations.

Also, the NuGet approach is great for developers but I'm sure website administrators would welcome a simple way of applying a patches via an epimodule or through the "add on" dashboard.

Apologies if i'm going off topic and misreading what a "Maintenance" update is, you guys might already have something planned for updates being applied to sites by non devs.

I cannot upgrade EPiServer.Cmo to 7.0.518.4 as it requires EPiServer.LiveMonitor > 7.0.1267.219 which is not available on NuGet or EPiServer 7 download page.

The installation instructions states that you need to remove the configuration transforms but I added the configuration changes to the transform instead.
http://dhvik.blogspot.se/2013/02/keeping-configuration-transforms-after.html

Updates to some of the comments:
The CMO issue should be fixed now as the LiveMonitor has been published to the feed. Regarding the bindingRedirects, in the next patch release we will handle binding redirects automatically for you by updating the root web.config file. If you want to keep the nifty config transforms I recommend you follow Dan's example.

To patch midway through development of a new website - or not?