Bot releases are visible (Hide)
Published by sergeybykov over 6 years ago
Improvements and bug fixes since 1.5.3.
Published by sergeybykov over 6 years ago
This is a first patch release with a partial build -- only 9 NuGet packages got updated:
The rest of the packages stayed unchanged at 2.0.0, except for the
Microsoft.Orleans.ServiceFabric meta-package which is at 2.0.2.
Non-breaking improvements
Non-breaking bug fixes
Published by sergeybykov over 6 years ago
Major changes
Breaking changes
Non-breaking improvements
Non-breaking bug fixes
Published by sergeybykov over 6 years ago
UseAdoNetReminderService
that prevents it from working properly. The workaround is to explicitly configure the settings as in the following example:.UseAdoNetReminderService((AdoNetReminderTableOptions options) => { })
.Configure<AdoNetReminderTableOptions>(options =>
{
options.ConnectionString = ConnectionString;
options.Invariant = "System.Data.SqlClient";
})
Major changes (since 2.0.0-rc1)
Breaking changes
Non-breaking improvements
Non-breaking bug fixes
Published by sergeybykov over 6 years ago
Major changes (since 2.0.0-beta3)
Known issues
OrleansProviders.dll
is added and inspected for grain types. In a non-default case, when silo configuration code explicitly adds application assemblies (via ConfigureApplicationParts
) but doesn't include OrleansProviders.dll
in the list, the memory grain storage provider will not function. The workaround is to add OrleansProviders.dll
to the list via ConfigureApplicationParts
. The default case, when ConfigureApplicationParts
isn't explicitly called and all assemblies in the silo folder are scanned, works as expeted.Breaking changes
Non-breaking improvements
Non-breaking bug fixes
Published by sergeybykov almost 7 years ago
Breaking changes
Non-breaking improvements
Published by sergeybykov almost 7 years ago
Known issues
Breaking changes
IGrainInvokeInterceptor
that got replaced with IGrainCallFilter
(#3647)Non-breaking improvements
SiloHostBuilder
(#3638)OrleansAzureUtils
assembly and NuGet package into more granular assemblies and packages (#3668, #3719)CreateObjectReference
from within a grain (#3757)Published by sergeybykov almost 7 years ago
Improvements since 1.5.2.
Published by jdom almost 7 years ago
Improvements and bug fixes since 1.5.2
Breaking changes
Microsoft.Orleans.TestingSiloHost
, Microsoft.Orleans.ServiceFabric
, Microsoft.Orleans.OrleansTelemetryConsumers.Counters
, Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
and the PowerShell module.Microsoft.Extensions.Logging
abstractions package (MEL for short from now on).Logger
abstraction is preserved as obsolete for backwards compatibility in a new Microsoft.Orleans.Logging.Legacy
package, but it's just a wrapper that forwards to ILogger
from MEL. It is recommended that you migrate to it directly.ILogConsumer
, in case the end-user has a custom implementation of that legacy interface. Similarly, it is recommended to rewrite the custom log consumer or telemetry consumer and implement ILoggerProvider
from MEL instead.Logger
were separated into a new ITelemetryProducer
interface, and it's currently only being used by Orleans to publish metrics. #3390Microsoft.Orleans.Core.Abstractions
nuget package and moved/refactored several types into it. We plan to rev and do breaking changes to this package very infrequently.Microsoft.Orleans.OrleansCodeGenerator
package). You should use build-time codegen by installing the Microsoft.Orleans.OrleansCodeGenerator.Build
package in the grain implementations' and interfaces' projects.SiloHostBuilder
and ClientBuilder
are intended to replace the previous ways of initializing Orleans. They are not at 100% parity with ClusterConfiguration
and ClientConfiguration
so these are still required for beta1, but they will be eventually deprecated.SiloHostBuilder
and ClientBuilder
, Orleans will no longer scan every single assembly loaded in the AppDomain by default, and instead you need to be explicit to which ones you use by calling the AddApplicationPartXXX
methods from each of the builders.MessagingOptions
can be configured using the utilities in the Microsoft.Extensions.Options
package. Before the final 2.0.0 release, the plan is to have everything moved to that configuration infrastructure.IGrainActivationContext
that can be injected into Transient or Scoped service to get access to activation specific information and lifecycle events #2856 #3270 #3385Grain.OnActivateAsync
to callers #3315GrainState
class #3167Non-breaking improvements
TestCluster
to spin up in-memory clusters all the time #3518Non-breaking bug fixes
Published by sergeybykov about 7 years ago
Improvements and bug fixes since 1.5.1.
Non-breaking bug fixes
NullReferenceException
during activation collection #3399Non-breaking improvements
Published by jdom about 7 years ago
Known issue (not new to 1.5.1): if your Orleans client project uses ASP.NET Core, there is a breaking change in the Microsoft.Extensions.DependencyInjection
package when upgrading to 2.0.0 of it (which is required in ASP.NET Core 2). See https://github.com/dotnet/orleans/issues/3325 for more info.
Improvements and bug fixes since 1.5.0
IServiceProvider
during client shutdown #3249ClusterClient.Dispose()
is now equivalent to Abort()
#3306BadImageFormatException
from being written in the log during Silo or client startup #3216Microsoft.Orleans.OrleansServiceBus
package #3344Published by sergeybykov over 7 years ago
Breaking changes
InconsistenStateException
instead of StorageException
when eTags do not match #2971InconsistentStateException
(thrown when there is an optimistic concurrency conflict when writing to storage) #2959grain.BindGrainReference(grainFactory)
on it or you would get GrainReferenceNotBoundException
when attempting to use it #2738RegisterSerializerAttribute
(and corresponding static Register method for registering a custom serializer). If you were using that, please read https://dotnet.github.io/orleans/Documentation/Advanced-Concepts/Serialization.html#writing-custom-serializers for alternative ways to register your custom serializer #2941Type
values (but can cause compatibility issues if these were persisted by using the Serialziation Manager) #2952CacheSizeInMb
setting with DataMaxAgeInCache
and DataMinTimeInCache
in stream providers #3126Catalog.Activation.DuplicateActivations
counter to Catalog.Activation.ConcurrentRegistrationAttempts
to more accurately reflect what it tracks and its benign nature #3130IGrainWithGuidCompoundKey
as implicit subscription grain, and sets the stream namespace as the grain key extension (subtle breaking change: previous to 1.5 IGrainWithGuidCompoundKey
wasn't technically supported, but if you did use it, the grain key extension would have had a null
string) #3011GrainReference.FromKeyString
method is no longer accessible, it has been replaced with IGrainReferenceConverter.GetGrainFromKeyString
, which is accessible from the IServiceProvider
.Non-breaking improvements
[OneWay]
method attribute #2993CallContext.LogicalSetData
with AsyncLocal #2200 #2961FabricClient
when deploying to Service Fabric #2954TestCluster
#2779TestingSiloHost
in favor of TestCluster
(although the former is still available for this version) #2919DuplicateActivationException
from showing up in the logs #3130ImplicitStreamSubscriptionAttribute
#2988StreamQueueBalancer
pluggable #3152ISiloStatusOracle
implementation in ServiceCollection
#3160Non-breaking bug fixes
GrainCancellationTokenSource
#3168NullReferenceException
when no LogConsistencyProvider
attribute is provided #3158Published by jdom over 7 years ago
Improvements and bug fixes since 1.5.0-beta1 (checkout v1.5.0-beta1 release notes for changes since 1.4.X)
InconsistenStateException
instead of StorageException
when eTags do not match #2971Catalog.Activation.DuplicateActivations
counter to Catalog.Activation.ConcurrentRegistrationAttempts
to more accurately reflect what it tracks and its benign nature #3130WindowsAzure.ServiceBus
package dependency to 4.1.0 #3127CacheSizeInMb
setting with DataMaxAgeInCache
and DataMinTimeInCache
in stream providers #3126IGrainWithGuidCompoundKey
as implicit subscription grain, and sets the stream namespace as the grain key extension (subtle breaking change: previous to 1.5 IGrainWithGuidCompoundKey
wasn't technically supported, but if you did use it, the grain key extension would have had a null
string) #3011ImplicitStreamSubscriptionAttribute
#2988[OneWay]
method attribute #2993Deactivating
state for too long and remove it from the directory if needed #3082+
symbols #2956TimeSpan.MaxValue
in configuration #2985CultureInfo
via built-in serializer #3036DuplicateActivationException
from showing up in the logs #3130Published by jdom over 7 years ago
Improvements and bug fixes since 1.4.1
Deactivating
state for too long and remove it from the directory if needed #3082+
symbols #2956TimeSpan.MaxValue
in configuration #2985CultureInfo
via built-in serializer #3036Published by jdom over 7 years ago
Improvements and bug fixes since 1.4.1.
grain.BindGrainReference(grainFactory)
on it or you would get GrainReferenceNotBoundException
when attempting to use it #2738RegisterSerializerAttribute
(and corresponding static Register method for registering a custom serializer). If you were using that, please read https://dotnet.github.io/orleans/Documentation/Advanced-Concepts/Serialization.html#writing-custom-serializers for alternative ways to register your custom serializer #2941Type
values (but can cause compatibility issues if these were persisted by using the Serialization Manager) #2952InconsistentStateException
(thrown when there is an optimistic concurrency conflict when writing to storage) #2959InconsistenStateException
instead of StorageException
when eTags do not match #2971CallContext.LogicalSetData
with AsyncLocal #2200 #2961FabricClient
when deploying to Service Fabric #2954TestCluster
#2779TestingSiloHost
in favor of TestCluster
(although the former is still available for this version) #2919Published by sergeybykov over 7 years ago
Improvements and bug fixes since 1.4.0.
Addressed the known issue in 1.4.0: "When the silo starts up, it will register IServiceProvider in the container, which can be a circular reference registration when using 3rd party containers such as AutoFac."
Published by jdom over 7 years ago
Properties\orleans.codegen.cs
to the project where codegen was being ran. The new MSBuild targets no longer do that, so when upgrading a solution with a previous version of Orleans, you should delete this orleans.codegen.cs file from your grain projects.JournaledGrain
API #2651 #2720For the full changelog and up-to-date known issues, see Changelog
Published by sergeybykov over 7 years ago
Published by sergeybykov almost 8 years ago
Improvements and bug fixes since 1.3.0.
Published by sergeybykov about 8 years ago
NB: There is a subtle breaking change in this release, which is unfortunately easy to miss.
If you are using AzureSilo.Start(ClusterConfiguration config, string deploymentId)
in your code, that overload has been removed, but the new one that replaced it has the same argument signature with a different second argument: (ClusterConfiguration config, string connectionString)
. Deployment ID now has to be passed as part of the config
argument: config.Globals.DeploymentId. This removed the ambiguous possibility of passing two different Deployment IDs, but unfortunately at the cost of the breaking API change.