Products
Packages [expand] [collapse]
Services
Released in version
9.3.1
9.2.0
9.1.0
9.0.1
9.0.0
8.1.3
8.1.2
8.1.1.1

Release notes for Episerver updates

This overview lists changes included in Episerver updates delivered as NuGet packages and services. Use the information to decide which updates to apply to your project, see Installing Episerver updates. Select a product or package, and filter for dates, features, or bug fixes.

  • See only new features (all features) - filter on Feature.
  • See only end-user (user interface) features - filter on UI Feature.
  • See only critical bug fixes - filter on Critical Bug.

Note: New NuGet packages listed here may not be immediately available in the Episerver NuGet feed.

Changes in EPiServer.Amazon

Item type
From date
To date
Items/Page
Id Type Title Released
CMS-13808
  Amazon: Configure when message is considered old

Currently, when a queue is to be considered for deletion, it examines the queue for a message. If that message is older than 30 minutes, the queue is considered abandoned (the message has not been dispatched for that amount of time). It should be possible to configure the 30 minute limit.

Fix: A new setting, deleteQueueLimit of type TimeSpan, was added.

Version/s: EPiServer.Amazon 9.3.1;
Dec 04, 2019
CMS-6480
  EPiServer.Amazon: S3 provider: 403 forbidden/access denied (CMS 7-8)

Steps to reproduce:

  1. Set up the CMS sample Alloy site (MVC or Webforms) and install the latest CMS and CMS.UI packages.
  2. Configure blob storage to point to an existing bucket (or a bucket that was created without a specified region).
  3. Open the site.
  4. Get error.

Expected result:
Site opens as expected. Users can read/access existing bucket.

Actual result:

Amazon.S3.AmazonS3Exception was unhandled by user code
HResult=[Removed]
Message=Access Denied
Source=AWSSDK
ErrorCode=AccessDenied
RequestId=[Removed]
AmazonId2=[Removed]
StackTrace:
at Amazon.Runtime.Internal.HttpErrorResponseExceptionHandler.HandleException(IExecutionContext executionContext, HttpErrorResponseException exception) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\HttpErrorResponseExceptionHandler.cs:line 100
at Amazon.Runtime.Internal.ExceptionHandler`1.Handle(IExecutionContext executionContext, Exception exception) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\ExceptionHandler.cs:line 38
at Amazon.Runtime.Internal.ErrorHandler.ProcessException(IExecutionContext executionContext, Exception exception) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\ErrorHandler.cs:line 202
at Amazon.Runtime.Internal.ErrorHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\ErrorHandler.cs:line 76
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.RetryHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\RetryHandler\RetryHandler.cs:line 69
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericExceptionHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericExceptionHandler.cs:line 31
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericExceptionHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericExceptionHandler.cs:line 31
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.MetricsHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\MetricsHandler.cs:line 40
at Amazon.Runtime.Internal.RuntimePipeline.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\RuntimePipeline.cs:line 118
at Amazon.Runtime.AmazonServiceClient.Invoke[TRequest,TResponse](TRequest request, IMarshaller`2 marshaller, ResponseUnmarshaller unmarshaller) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\AmazonServiceClient.cs:line 128
at Amazon.S3.AmazonS3Client.PutBucket(PutBucketRequest request) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet45\Amazon.S3\AmazonS3Client.cs:line 2109
at Amazon.S3.AmazonS3Client.PutBucket(String bucketName) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet45\Amazon.S3\AmazonS3Client.cs:line 2095
at EPiServer.Amazon.Blobs.AmazonBlobProvider.EnsureBucketExists()
InnerException: Amazon.Runtime.Internal.HttpErrorResponseException
HResult=[Removed]
Message=The remote server returned an error: (403) Forbidden.
Source=AWSSDK
StackTrace:
at Amazon.Runtime.Internal.HttpRequest.GetResponse() in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\HttpHandler\HttpWebRequestFactory.cs:line 113
at Amazon.Runtime.Internal.HttpHandler`1.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\HttpHandler\HttpHandler.cs:line 84
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.Unmarshaller.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\Unmarshaller.cs:line 47
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.RedirectHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\RedirectHandler.cs:line 58
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.ErrorHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\ErrorHandler.cs:line 70
InnerException: System.Net.WebException
HResult=[Removed]
Message=The remote server returned an error: (403) Forbidden.
Source=System
StackTrace:
at System.Net.HttpWebRequest.GetResponse()
at Amazon.Runtime.Internal.HttpRequest.GetResponse() in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\HttpHandler\HttpWebRequestFactory.cs:line 105
InnerException:

Version/s: EPiServer.Amazon 8.1.1.1;
Feb 16, 2017
CMS-6481
  EPiServer.Amazon: SQS queues are not removed on abnormal termination (CMS 7-8)

Whenever an abnormal termination of IIS/VM is done and a new server is spawned, the previous queue connected to the old machine is not cleaned up. The removal of queues is done on uninitialization events in IIS.

Solution
Queues are created with a new naming convention, queues using the old naming conventions are not cleaned up automatically. The new naming conventions starts with the name of topic, machine name and unique identifier. Message expiration is set to 2 hours by default.

This fix detects and cleans queues with the new naming convention. The cleanup timer runs 5-10 minutes after a startup and then every 30 minutes. The cleaning deletes queues in which the oldest message is at least 30 minutes.

This fix aligns the behavior of the Amazon provider with the Azure provider, which includes this as a built-in behavior.

Version/s: EPiServer.Amazon 8.1.1.1;
Feb 16, 2017
CMS-2485
  Amazon: Update to AWS SDK v3

Should support new Amazon SDK version 3.

Version/s: EPiServer.Amazon 9.2.0;
Dec 01, 2016
CMS-4749
  Amazon: Send messages on a separate thread

Send SQS messages on a thread separate from the one calling the SendMessage on the EventProvider.

Version/s: EPiServer.Amazon 9.2.0;
Dec 01, 2016
CMS-4530
  Amazon: Use new async APIs in AWSSDK v3

When publishing and deleting messages, use the new async API provided by AWSSDK v3.

Version/s: EPiServer.Amazon 9.2.0;
Dec 01, 2016
CMS-4561
  Amazon: Don't block message retrieval when raising incoming message events

When the Amazon Event provider recieves a message it should raise events on a thread that is separate from the one that is making requests to query for additional messages. Making this change should improve performance and throughput of the Amazon event provider.

Version/s: EPiServer.Amazon 9.2.0;
Dec 01, 2016
CMS-4325
  EPiServer.Amazon CMS 10 compatibility

Updated version range to support EPiServer.Framework 10.0

Version/s: EPiServer.Amazon 9.1.0;
Oct 23, 2016
CMS-4172
  Amazon: SQS Queues Being Deleted

Randomly,SQS queues vanish, causing servers in a load balanced environment to stop propagating the cache update. This problem was caused by incorrect handling of date formats in the EPiServer.Amazon 9.0.0 release.

Version/s: EPiServer.Amazon 9.0.1;
Aug 18, 2016
CMS-3807
  EPiServer.Amazon: SQS queues are not removed on abnormal termination

Whenever an abnormal termination of IIS/VM is done and a new server is spawned, the previous queue connected to the old machine is not cleaned up. The removal of queues is done on uninitialization events in IIS.

Solution
Queues are created with a new naming convention, queues using the old naming conventions are not cleaned up automatically. The new naming conventions starts with the name of topic, machine name and unique identifier. Message expiration is set to 2 hours by default.

This fix detects and cleans queues with the new naming convention. The cleanup timer runs 5-10 minutes after a startup and then every 30 minutes. The cleaning deletes queues in which the oldest message is at least 30 minutes.

This fix aligns the behavior of the Amazon provider with the Azure provider, which includes this as a built-in behavior.

Version/s: EPiServer.Amazon 9.0.0;
Jul 06, 2016
1 2 Next