Skip to content

Commit f91ee57

Browse files
authored
Merge pull request #6561 from ronaldbarendse/deploy/release-notes-15.0.0-rc1
Add Deploy, Deploy Contrib and Forms Deploy 15.0.0-rc1 release notes
2 parents b0cc3b6 + 0cba04f commit f91ee57

File tree

4 files changed

+48
-146
lines changed

4 files changed

+48
-146
lines changed

14/umbraco-deploy/release-notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ If you are upgrading to a new major version you can find the details about the b
1616

1717
## Release History
1818

19-
This section contains the release notes for Umbraco Deploy 13 including all changes for this version.
19+
This section contains the release notes for Umbraco Deploy 14 including all changes for this version.
2020

2121
#### [14.1.4](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F14.1.4) (October 3rd 2024)
2222

15/umbraco-deploy/release-notes.md

Lines changed: 12 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -16,72 +16,24 @@ If you are upgrading to a new major version you can find the details about the b
1616

1717
## Release History
1818

19-
This section contains the release notes for Umbraco Deploy 13 including all changes for this version.
19+
This section contains the release notes for Umbraco Deploy 15 including all changes for this version.
2020

21-
#### [14.1.1](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F14.1.1) (August 20th 2024)
21+
#### [15.0.0-rc1](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F15.0.0) (October 11th 2024)
2222

23-
* Support getting artifacts from exploded/expanded `NamedUdiRange` with different entity types
24-
* Fixed typo in `DefaultLegacyDataTypeConfigurationArtifactMigrator` when migrating Color Picker items in v8 format
25-
26-
#### [14.1.0](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F14.1.0) (August 15th 2024)
27-
28-
* All items from 14.1.0-rc1
29-
* Fixed `Could not create Udi node: {Id} and entity type {EntityType}` exception when exporting tree nodes without children
30-
* Fixed deploy signatures not getting cleared when members are deleted [#230]( https://github.com/umbraco/Umbraco.Deploy.Issues/issues/230)
31-
* Allow members to be deployed when selected as items in a multi-node tree picker [#231](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/231)
32-
* Apply `ExcludedEntityTypes` configuration to disk operations [#232](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/232)
33-
* Fixed issues with partial restore from an external tree that contains more than one entity
34-
* Fixed formatting of trial expiry days and added missing translations [#229](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/229)
35-
* Fixed `Could not get physical path for "umb://template-file/".` exception when deploying/exporting template without physical file on disk
36-
37-
#### [14.1.0-rc1](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F14.1.0) (July 19th 2024)
38-
39-
* Add migrators to support legacy Grid layout to Block Grid migration
40-
* Fix schema mismatch when saving templates in production runtime mode [#228](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/228)
41-
* Add default migrator to add missing editor UI aliases and update when replacing editor
42-
* Add default migrator to update Data Type configuration
43-
* Support processing Document/Media Type list view keys and add migrator
44-
45-
#### [14.0.2](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F14.0.2) (July 11th 2024)
46-
47-
* Set trashed state when processing content [#223](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/223)
48-
* Improve exception message when parent can't be found when getting artifact [#216](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/216)
49-
* Add `MaxRequestLength` Deploy setting to break file upload into multiple requests
50-
* Set variant names when creating new content [#222](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/222)
51-
52-
#### [14.0.1](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F14.0.1) (June 6th 2024)
53-
54-
* Ensure remote tree uses correct entity type (if multiple entities like folders and items are present in a tree):
55-
* `ITransferEntityService.RegisterTransferEntityType(...)` accepts an optional `RemoteTreeDetail` that now exposes the entity type when getting remote entities;
56-
* Fix `GetMaxRequestLength` endpoint (misaligned HTTP method) preventing file transfers/uploads from local environments;
57-
* Fix Data Type deployment due to missing `EditorUiAlias` (requires a schema extraction/Data Type save to fix);
58-
* Fix JSON serialization errors in trigger endpoints (extract and status report);
59-
* Obsolete and hide `NestedContentValueConnector` and add import migrators for unsupported legacy editors by default:
60-
* Adds `ReplaceMediaPickerDataTypeArtifactMigrator` and `ReplaceNestedContentDataTypeArtifactMigrator` artifact migrators to replace the Data Types with the Media Picker v3 and Block List respectively;
61-
* Adds `MediaPickerPropertyTypeMigrator` and `NestedContentPropertyTypeMigrator` property type migrators to ensure content (property data) is migrated as well;
62-
* Support import with unknown UDI types (like macro, macroscript and partial-view-macro);
63-
* Fix JSON serialization error in value connectors for `BlockValue`.
64-
65-
#### [14.0.0](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F14.0.0) (May 30th 2024)
66-
67-
* Compatibility with Umbraco 14
68-
* See full details of breaking changes under the [Version-specific Upgrade Guide](upgrades/version-specific.md).
23+
* Compatibility with Umbraco 15
24+
* See full details of breaking changes under the [Version-specific Upgrade Guide](upgrades/version-specific.md)
25+
* Removed `AcceptInvalidCertificates` setting (configure `DeployHttpClient` typed client instead)
26+
* Removed `RemoteTreeNode` model (use `RemoteTreeEntity` instead) and `TryParseEntityIdFromNodeIdDelegate` (use `TryParseUdiRangeFromNodeIdDelegate` instead) in `DeployTransferRegisteredEntityTypeDetail`
27+
* Added `MigrateAsync(...)` method to `IPropertyTypeMigrator` and updated `PropertyTypeMigratorBase` and implementations to use async instead
6928

7029
## Deploy Contrib
7130

72-
#### [14.1.0](https://github.com/umbraco/Umbraco.Deploy.Contrib/releases/tag/release-14.1.0) (August 15th 2024)
73-
74-
* All items from 14.1.0-rc1
75-
76-
#### [14.1.0-rc1](https://github.com/umbraco/Umbraco.Deploy.Contrib/releases/tag/release-14.1.0-rc1) (July 19th 2024)
77-
78-
* Add Matryoshka Group Separator artifact migrator [#67](https://github.com/umbraco/Umbraco.Deploy.Contrib/pull/67)
79-
* Add migrators to support DocTypeGridEditor to Block Grid migration [#66](https://github.com/umbraco/Umbraco.Deploy.Contrib/pull/66)
80-
* Fix and enable remaining legacy artifact migrators [#68](https://github.com/umbraco/Umbraco.Deploy.Contrib/pull/68)
81-
82-
#### [14.0.0](https://github.com/umbraco/Umbraco.Deploy.Contrib/releases/tag/release-14.0.0) (May 30th 2024)
31+
#### [15.0.0-rc1](https://github.com/umbraco/Umbraco.Deploy.Contrib/releases/tag/release-15.0.0-rc1) (October 14th 2024)
8332

84-
* Compatibility with Umbraco 14 and Deploy 14.
33+
* Compatibility with Umbraco 15 and Deploy 15
34+
* Removed obsolete (and unused) legacy `PrevaluePropertyValueArtifactMigratorBase`, `CheckBoxListPropertyValueArtifactMigrator` `DropDownListFlexiblePropertyValueArtifactMigrator` and `RadioButtonListPropertyValueArtifactMigrator` migrators, as they are replaced with `PrevalueArtifactMigrator` and property type migrators that support nested/recursive properties (see PR [#71](https://github.com/umbraco/Umbraco.Deploy.Contrib/pull/71))
35+
* Removed `MediaPickerDataTypeArtifactMigrator`, as it is replaced with `ReplaceMediaPickerDataTypeArtifactMigrator` and `DefaultLegacyDataTypeConfigurationArtifactMigrator`
36+
* Removed `MultiNodeTreePickerDataTypeArtifactMigrator`, as it is replaced with `DefaultLegacyDataTypeConfigurationArtifactMigrator`
8537

8638
## Legacy release notes
8739

15/umbraco-deploy/upgrades/version-specific.md

Lines changed: 25 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -4,108 +4,50 @@ description: >-
44
---
55

66
# Version Specific Upgrade Details
7-
This article provides specific upgrade documentation for migrating to Umbraco Deploy version 14.
7+
8+
This article provides specific upgrade documentation for migrating to Umbraco Deploy version 15.
89

910
{% hint style="info" %}
1011
If you are upgrading to a minor or patch version, you can find the details about the changes in the [Release Notes](../release-notes.md) article.
1112
{% endhint %}
1213

1314
## Version Specific Upgrade Notes History
14-
Version 14 of Umbraco Deploy has a minimum dependency on Umbraco CMS core of `14.0.0`. It runs on .NET 8.
15-
16-
### **Breaking changes**
17-
Version 14 contains some breaking changes. Not many projects are expected to be affected by them, as they are in relevant areas when extending Deploy to support additional entities and/or property editors. For reference though, the full details are listed here:
18-
19-
#### Async methods
20-
Asynchronous methods have been added to the following interfaces (in the CMS `Umbraco.Cms.Core.Deploy` namespace):
21-
- `IContextCache`:
22-
- `GetOrCreateAsync(...)`
23-
- `IDataTypeConfigurationConnector`, `IImageSourceParser`, `ILocalLinkParser` and `IValueConnector`:
24-
- `ToArtifactAsync(...)`
25-
- `FromArtifactAsync(...)`
26-
- `IServiceConnector`:
27-
- `GetArtifactAsync(...)`
28-
- `ProcessInitAsync(...)`
29-
- `ProcessAsync(...)`
30-
- `ExpandRangeAsync(...)`
31-
- `GetRangeAsync(...)`
32-
33-
These methods all have a default implementation that forwards the calls to the synchronous methods (to maintain backwards compatibility). The synchronous methods have been obsoleted and Deploy will now always call the new asynchronous methods. Implementations should be updated to start using those instead.
34-
35-
Within Deploy, the following base classes and methods have been updated to take advantage of the asynchronous methods:
36-
- `ValueConnectorBase`, `RecursiveValueConnectorBase`, `DataTypeConfigurationConnectorBase` and `ServiceConnectorBase`: all synchronous methods are obsoleted and cause compiler errors when directly invoked (to avoid potential deadlocks, because they all forward to the asynchronous methods using `GetAwaiter().GetResult()`);
37-
- All service and value connector implementations inheriting from the above base classes have been updated to use the asynchronous methods as well;
38-
- `builder.DeployDataTypeConfigurationConnectors().AddCustom(...)`: both `toArtifact` and `fromArtifact` parameters now align with the `ToArtifactAsync(...)` and `FromArtifactAsync(...)` method signatures;
39-
- `IArtifactImportExportService.ExportArtifactsAsync(...)`: the artifacts parameter is updated to `IAsyncEnumerable<IArtifact>`, so artifacts are asynchronously created when iterating;
40-
- `IServiceConnector.GetArtifactsAsync(...)` and `IServiceConnectorFactory.GetArtifactsAsync(...)`: these new extension methods call `GetArtifactAsync(...)` on the relevant service connectors and returns `IAsyncEnumerable<IArtifact>`.
4115

42-
#### Signature notification handling
43-
Deploy stores artifact signatures (hashes) in the database to avoid creating the artifact to for example compare them between disk/database or environments. To ensure the signatures are always up-to-date, the `ISignatureService` used custom notification handling via the `RegisterHandler(...)` and `HandleExternalNotification(...)` methods (because Deploy suppresses notifications during deployment). CMS version 12 introduced the `IDistributedCacheNotificationHandler` marker interface and Deploy 12 the `IDeployRefresherNotificationHandler` that will still handle the notifications during deployments. The following methods are therefore removed:
44-
- `RegisterHandler(...)`: register your handler using the standard `builder.AddNotificationHandler<>()` or `builder.AddNotificationAsyncHandler()` method;
45-
- `HandleExternalNotification(...)`: implement your handler using `IDeployRefresherNotificationHandler<TNotification>` or `IDeployRefresherNotificationAsyncHandler<TNotification>`.
16+
Version 15 of Umbraco Deploy has a minimum dependency on Umbraco CMS core of `15.0.0`. It runs on .NET 9.
4617

47-
#### Return type of Data Type configuration has changed to a dictionary
48-
The return type of `IDataTypeConfigurationConnector.FromArtifact()/FromArtifactAsync()` has changed from `object` to `IDictionary<string, object>` to align with the Data Type configuration changes in the CMS (see [PR #13605](https://github.com/umbraco/Umbraco-CMS/pull/13605)). Also, obsoleted methods and default interface implementations on Deploy interfaces have been removed (see [PR #15965](https://github.com/umbraco/Umbraco-CMS/pull/15965)).
18+
### Breaking changes
4919

50-
#### Removed code due to changes in the CMS
51-
The CMS removed support for the legacy Media Picker, Grid layout, Nested Content editors and macros, which means Deploy doesn't provide support for transferring these editors. The following related code has been removed:
52-
- `IGridCellValueConnector`, `IGridCellValueConnector2` and `IGridCellValueConnectorFactory`: including all Grid cell value connector implementations;
53-
- `GridDataTypeConfigurationConnector`, `NestedContentDataTypeConfigurationConnector`;
54-
- `IMacroParser` (in the CMS), `MacroParserBase` and `MacroParser`;
55-
- `MediaPickerValueConnector` and `MacroConnector`.
20+
Version 15 contains breaking changes. The breaking changes appear in areas related to extending Deploy to support additional entities and property editors. For reference though, the full details are listed here:
5621

57-
#### Backoffice related code/Deploy Management API
58-
Due to the new backoffice, all code related to sections, trees, actions, dashboards and models have been removed or updated. The new backoffice components now also use the Deploy Management API for all operations.
59-
60-
#### Permissions
61-
Version 14 now uses permission verbs (instead of single characters/action letters) and upgrading will automatically migrate any existing permissions:
62-
63-
| Letter | Verb |
64-
| -------| --------------------------|
65-
| Q | Deploy.EnvironmentRestore |
66-
| Ψ | Deploy.TreeRestore |
67-
| Ø | Deploy.PartialRestore |
68-
| T | Deploy.QueueForTransfer |
69-
| П | Deploy.Export |
70-
| Џ | Deploy.Import |
71-
72-
##### JSON artifact migrators
73-
The `IArtifactJsonMigrator.Migrate(...)` method now accepts/returns a `JsonNode` value (instead of `JToken`) due to the change from Newtonsoft.Json to System.Text.Json.
22+
#### Async methods
7423

75-
### **Behavior**
24+
Asynchronous methods have been added to the following interfaces:
25+
- `IPropertyTypeMigrator`:
26+
- `MigrateAsync(...)`
7627

77-
#### JSON serialization
78-
Deploy artifacts are serialized as JSON, either stored as schema on disk (UDA files in `umbraco\Deploy\Revision`), exported into a ZIP archive or when being transferred between environments. We aligned with the CMS and migrated to use System.Text.Json (instead of Newtonsoft.Json). Although we've not changed the artifacts themselves, these libraries have [differences in default behavior](https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/migrate-from-newtonsoft?pivots=dotnet-8-0).
28+
These methods all have a default implementation that forwards the calls to the synchronous methods (to maintain backwards compatibility). The synchronous methods have been obsoleted and Deploy will now always call the new asynchronous methods. Implementations should be updated to start using those instead.
7929

80-
#### No-nodes page environment restore
81-
An empty local environment previously had the option to do an environment restore without logging in to the backoffice. This option now redirects you to the backoffice and once logged in, will show a modal to deploy the schema and restore all content from the upstream environment.
30+
- `PropertyTypeMigratorBase` and `GridPropertyTypeMigratorBase`: the synchronous `Migrate(...)` method is obsoleted and causes a compiler error when directly invoked (to avoid potential deadlocks, because it forwards to the asynchronous method using `GetAwaiter().GetResult()`);
31+
- All property type migrator implementations inheriting from the above base classes have been updated to use the asynchronous methods as well.
8232

83-
#### Uploaded files for import
84-
Deploy now uses the `ITemporaryFileService` from the CMS to temporarily store the uploaded ZIP archive to import. This also means the cleanup is handled by the CMS and the 'Delete import archives' Deploy operation and support for the `deploy-deleteimportarchives` trigger file are removed.
33+
#### Removed `AcceptInvalidCertificates` setting
8534

86-
### **Configuration**
35+
The `AcceptInvalidCertificates` setting previously configured the `ServicePointManager` to accept all certificates. However, this class is [obsoleted in .NET 9 and no longer affects `HttpClient`](https://learn.microsoft.com/en-us/dotnet/api/system.net.servicepointmanager?view=net-9.0).
8736

88-
#### Deploy On-prem license key
89-
For Deploy On-premise, configuring the license key has slightly changed, as we introduced additional options for license validation. The product license keys should be moved to the following structure:
37+
Deploy uses a type of client to make HTTP requests between environments and this client can be configured to accept any certificate:
9038

91-
```json
39+
```csharp
40+
builder.Services.AddHttpClient<DeployHttpClient>().ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
9241
{
93-
"Umbraco": {
94-
"Licenses": {
95-
"Products": {
96-
"Umbraco.Deploy.OnPrem": "<LICENSE KEY>"
97-
},
98-
99-
}
100-
}
101-
}
42+
// Only use this for testing purposes or if you have other security in place (e.g. only allow environments to connect over an internal network)
43+
ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
44+
});
10245
```
10346

104-
#### Transfer forms as content
105-
The setting `TransferFormsAsContent` has moved to `FormsDeploySettings` in the Forms Deploy package. It is still bound to the `Umbraco:Deploy:Settings:TransferFormsAsContent` configuration key (used in previous versions), so it only affects configuration via code.
47+
### Dependencies
48+
49+
* Umbraco CMS dependency was updated to `15.0.0`.
10650

107-
### **Dependencies**
108-
* Umbraco CMS dependency was updated to `14.0.0`.
51+
## Legacy version-specific upgrade notes
10952

110-
## Legacy version specific upgrade notes
111-
You can find the version specific upgrade notes for versions out of support in the [Legacy documentation on Github](https://github.com/umbraco/UmbracoDocs/blob/umbraco-eol-versions/11/umbraco-deploy/upgrades/version-specific.md).
53+
You can find the version-specific upgrade notes for versions out of support in the [Legacy documentation on Github](https://github.com/umbraco/UmbracoDocs/blob/umbraco-eol-versions/11/umbraco-deploy/upgrades/version-specific.md).

15/umbraco-forms/release-notes.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ If you are upgrading to a new major version, you can find information about the
1616

1717
## Release History
1818

19-
This section contains the release notes for Umbraco Forms 14 including all changes for this version.
19+
This section contains the release notes for Umbraco Forms 15 including all changes for this version.
2020

21-
#### [**15.0.0-rc1**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F15.0.0) **(Tuesday 8th 2024)**
21+
#### [**15.0.0-rc1**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F15.0.0) **(October 8th 2024)**
2222

2323
* Compatibility with Umbraco 15
2424
* See full details of breaking changes under the [Version-specific Upgrade Guide](upgrading/version-specific/).
@@ -29,6 +29,14 @@ This section contains the release notes for Umbraco Forms 14 including all chang
2929
* New "form details picker" providing a single property editor for the selection of form, theme, and redirect.
3030
* Ability to provide custom themes and email templates via razor class libraries.
3131

32+
## Forms Deploy
33+
34+
This Deploy add-on adds support for transferring, restoring, exporting and importing (including migrating between major versions) of Umbraco Forms data.
35+
36+
#### [**15.0.0-rc1**](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F15.0.0) **(October 14th 2024)**
37+
38+
* Compatibility with Umbraco 15 and Deploy 15
39+
3240
## Legacy release notes
3341

3442
You can find the release notes for versions out of support in the [Legacy documentation on Github](https://github.com/umbraco/UmbracoDocs/blob/umbraco-eol-versions/12/umbraco-forms/release-notes.md) and [Umbraco Forms Package page](https://our.umbraco.com/packages/developer-tools/umbraco-forms/).

0 commit comments

Comments
 (0)