Repository navigation
Releases: MarimerLLC/csla
Release list
Version 10.2.0 release
The full list of changes in this release can be found in the GitHub compare view.
Highlights
New Csla.Avalonia package (#4880, #4887)
New Csla.Avalonia NuGet package bringing the CSLA XAML UI helpers to Avalonia. The package builds from the same Csla.Xaml.Shared code used by the WPF and MAUI packages, so PropertyInfo, PropertyStatus, ObjectStatus, CslaDataProvider, ViewModel<T>, and the related converters and behaviors are available to an Avalonia app, including broken rule display and authorization-driven enable/disable. A new Samples/AvaloniaExample solution demonstrates the pattern end to end. Csla.Avalonia ships alongside the other framework packages as of #4906.
New Csla.Testing package (#1225, #4882)
New Csla.Testing NuGet package, a home for supporting code that helps people write unit tests against their CSLA business code: business classes, business rules, authorization rules, and related types. The package is intended for use in test projects only; it is not required by, and is not intended for use in, production application code. This change stands up the project, packaging, and documentation. The helper types themselves are being added on top of this foundation. See Csla.Testing for details.
Test host and AddCslaTesting API (#4883)
Csla.Testing now provides a supported way to stand up CSLA in a unit test. CslaTestHost is a self-contained, disposable host that owns a configured service provider and hands back an ApplicationContext, an IDataPortal<T>, or an IChildDataPortal<T>; a fluent builder configures CSLA options, registers services such as fakes for your own dependencies, and sets the principal the test runs as. For a test that owns its own IServiceCollection, AddCslaTesting adds just the supporting services CSLA needs — a hosting environment, logging, and a context manager — and is purely additive, leaving the AddCsla call to you. The principal is configured declaratively, so it works through either entry point, and the context manager holds its state per async flow rather than in static fields, so tests are not forced to run serially. Neither API depends on a test framework. See Csla.Testing for details.
Rule testing helpers (#1225)
The Csla.Testing.Rules namespace adds BusinessRuleTester and AuthorizationRuleTester, fluent helpers that execute a single rule in isolation and return a result object to assert against. A single ExecuteAsync method runs synchronous and asynchronous rules alike, so a test no longer has to branch on whether the rule implements IBusinessRule or IBusinessRuleAsync (or IAuthorizationRule or IAuthorizationRuleAsync), and no hand-written ApplicationContext bootstrap is needed. Input values, the target object, the execution context mode, the principal, and CSLA options or services the rule resolves can all be configured through the builder. Also makes the AuthorizationContext constructor that accepts criteria public, so a rule that reads Criteria can be tested. See Csla.Testing for details.
Changes
Data Portal
- #4865 Support custom serializers for data portal criteria objects (#4890)
- #1707 Support multiple criteria parameters and method-level
[Inject]in theObjectFactorydata portal (#4868)
Business Object Model
Performance
- #4272 Improve
Cloneperformance; addsISerializationClonerand reduces allocations inObjectClonerandMobileFormatter(#4863)
Testing
- #4882 Add
Csla.Testing.Rules.RuleCacheto reset the per-type business and authorization rule caches between tests (#4886)
Bug Fixes
Security and Dependencies
- #4904 Reference a patched
System.Security.Cryptography.XmlinCsla.Channels.Wcf - #4907 Remove the vulnerable
Microsoft.Build.Tasks.Gitreference fromCsla.Web.Mvc(#4908) - #4870 Bump
CoreWCF.Primitivesfrom 1.8.0 to 1.8.1 - #4874 Update
Microsoft.Extensions.DependencyInjectionpackage references for the netstandard and net4x targets
Code Quality
- #4894 Migrate the test suite off the
TestDIContextshims (#4895) and remove them (#4896, #4897) - #4898 Clarify that
IMobileObjectMetastatecarries non-public state (#4901) - #4899 Recover the orphaned
MobileObjectMetastatetests (#4900) - #4856 Add regression tests for the
Requiredrule on value type properties (#4892) - #4902 Remove orphaned
packages.configfiles from the samples (#4903) - #4859 ProjectTracker: lift
TimeStampinto intermediate base classes - #4931 Update the samples to the CSLA 10.2.0 packages
Build and Release
- #4923 Build and ship
Csla.Mauifor 10.2.0 (#4926, #4927, #4928) - #4909 Publish NuGet packages using NuGet trusted publishing (OIDC) instead of a stored API key (#4910), gated by an approval-required
nuget-releaseenvironment (#4919, #4921) - #4914 Add the
v10.xmaintenance branch to CI and to the public release branches (#4916) - #4911 Add a script to unlist old prerelease packages on nuget.org (#4912)
Contributors
Version 10.1.0 release
What's Changed
- Target released CSLA 10 package by @rockfordlhotka in #4808
- Prep for v10.1.0 work by @rockfordlhotka in #4809
- Fix documentation warnings and improve portability by @rockfordlhotka in #4812
- #4359 Add source generator for data portal operation dispatch by @rockfordlhotka in #4816
- Migrate database tests from SQL Server to SQLite by @rockfordlhotka in #4820
- Clarify MobileFormatter collection type limitations in docs by @rockfordlhotka in #4822
- Support keyed DI services in data portal parameter injection by @Copilot in #4823
- Fix EditLevelMismatch when cloning object graphs during edit sessions by @Copilot in #4821
- Flow operation names from client to server by @rockfordlhotka in #4817
- Refactor portal error handling, add integration tests by @luizfbicalho in #4825
- Add [StringSyntax] attribute to RegExMatch (#3214) by @rockfordlhotka in #4827
- #4616 Make legacy DataPortal_XYZ method resolution optional by @rockfordlhotka in #4829
- #4649 Feature/4649 thread safe broken rules by @Bowman74 in #4819
- #4565 Abstract out session store from SessionManager by @joshhanson314 in #4832
- Replace duplicate dictionary lookups with TryGetValue and cached locals by @SimonCropp in #4842
- Remove DataPortalAsyncRequest/Result nested classes by @SimonCropp in #4844
- null-coalescing assignment by @SimonCropp in #4843
- Update GRPC and Rabbit MQ Deserialize by @b-higginbotham in #4849
- Fix: ObjectFactory should allow strongly typed method results by @StefanOssendorf in #4847
- update polyfill and use char based string join by @SimonCropp in #4845
- Fix: Assembly name translator race condition by @StefanOssendorf in #4854
- Implement WCF Data Portal Channel by @b-higginbotham in #4851
- Implement BusinessDocumentBase combining BusinessBase and BusinessListBase by @rockfordlhotka in #4815
Full Changelog: v10.0.0...v10.1.0
Version 10.0.0 release
What's Changed
- Update version number and release notes to start work on v10 by @rockfordlhotka in #4580
- Add NRT to Csla-Core library by @StefanOssendorf in #4528
- faster string lookups by @SimonCropp in #4553
- remove redundant constructors by @SimonCropp in #4573
- fix Values typos by @SimonCropp in #4575
- inline out variables by @SimonCropp in #4584
- Improve testing (MSTEST0040 fixed, Csla.Windows.Tests fixed) by @StefanOssendorf in #4586
- make csla.analyzers nullable aware by @StefanOssendorf in #4587
- use expressions based properties by @SimonCropp in #4583
- remove redundant sealed keywords by @SimonCropp in #4593
- remove redundant variable initialization by @SimonCropp in #4598
- use collection expressions instead of ImmutableArray.Create by @SimonCropp in #4546
- remove UnitTestContext, TestBase, and Asserter by @SimonCropp in #4574
- avoid unecessary dictionary lookups when iterating by @SimonCropp in #4596
- remove un-used GetTypeNamespace by @SimonCropp in #4599
- remove un-used GetAllIncludedFields by @SimonCropp in #4600
- Remove un used exception extensions by @SimonCropp in #4602
- remove redundant dispose code from SortedBindingList by @SimonCropp in #4605
- remove redundant dispose code in BusinessBase by @SimonCropp in #4606
- remove un-used EmitCastToReference by @SimonCropp in #4601
- Csla.Generator.AutoImplementProperties.* nullable aware by @StefanOssendorf in #4589
- Csla.Generator.AutoSerialization.* nullable aware by @StefanOssendorf in #4590
- fix type compare bug in IsNativeType by @SimonCropp in #4597
- remove un-used types from Analyzers project by @SimonCropp in #4637
- Fixes #4530 by @StefanOssendorf in #4635
- Add AddHttpContextAccessor() in AddAspNettCore() by @StefanOssendorf in #4628
- Make generator dependency internal by @StefanOssendorf in #4626
- Make TimeSpanExtensions internal by @StefanOssendorf in #4625
- Stop caching current principal by @rockfordlhotka in #4659
- Add option to disable scan for DataAnnotations by @rockfordlhotka in #4658
- Fixes #4433 by @StefanOssendorf in #4665
- Changes from #4645 picked by @StefanOssendorf in #4666
- Fix array and nullable handling for new properties by @StefanOssendorf in #4671
- Add NRT to Csla.Web by @StefanOssendorf in #4672
- Changes picked from #4656 by @StefanOssendorf in #4669
- Avoid asserting in async void by @Youssef1313 in #4673
- Add NRT to Csla.Windows by @StefanOssendorf in #4678
- ServiceProviderMethodCaller.TryFindDataPortalMethod must not throw by @StefanOssendorf in #4683
- 4385- Changes to the build for maui by @Bowman74 in #4690
- Feature/4691 MAUI CI build by @Bowman74 in #4695
- #4684 #4686 updated Refresh and SaveAsync async methods to return a T… by @Bowman74 in #4697
- Adding NRT to WPF & MAUI by @StefanOssendorf in #4692
- Remove .Net8 references from MAUI project by @Bowman74 in #4701
- Add NRT to Csla.Blazor.* by @StefanOssendorf in #4703
- Add Option to disable RevalidationInterceptor for Delete operation by @StefanOssendorf in #4710
- Minor code clean up by @StefanOssendorf in #4711
- Enable NRT solution wide & move tests into a tests sub folder by @StefanOssendorf in #4712
- Improve identity management in csla lists by @StefanOssendorf in #4715
- Fix CancellationTokenSource usage so it gets disposed properly in Blazor.WebAssembly project by @StefanOssendorf in #4714
- Make IDataErrorInfo and INotifyDataErrorInfo extensible. by @StefanOssendorf in #4713
- Add csproj property to enable building .net framework projects on linux. by @StefanOssendorf in #4721
- Remove Backport.System.Threading.Lock dependency by @StefanOssendorf in #4724
- Add api to handle unhandled async rules exceptions by @StefanOssendorf in #4727
- Add .Net10 RC1 by @StefanOssendorf in #4728
- Fixes #4668: MSTEST0040 by @StefanOssendorf in #4733
- RuleContext: Extend unit test constructor by @StefanOssendorf in #4732
- #4729 Update to correctly generate codegen nuget packages by @rockfordlhotka in #4730
- Add FriendlyName property to XAML PropertyInfo component by @Copilot in #4734
- Improve validation for routing tags with clear error messages by @Copilot in #4735
- Add OpenTelemetry instrumentation to the data portal by @Copilot in #4736
- Document the process of creating docs with doxygen by @rockfordlhotka in #4743
- Introduce ICslaObject interface for improved trimming support in CSLA 9.0 by @Copilot in #4738
- Add AllowNull property to InjectAttribute for optional service injection by @Copilot in #4737
- #4622 Implement virtual Deserialized method by @rockfordlhotka in #4744
- Fix ChildChanged event not being triggered for BusinessListBase objects in Blazor ViewModel by @Copilot in #4747
- Get pre-release versions working correctly by @rockfordlhotka in #4751
- Implement IMobileObjectMetastate interface by @rockfordlhotka in #4750
- Suppress CSLA0007 analyzer in AutoImplementProperties generated code by @Copilot in #4756
- Update BlazorExample for CSLA 10 by @rockfordlhotka in #4754
- Changed: Child DataPortalException uses inner exception? by @StefanOssendorf in #4764
- Implement IMobileObjectMetastate on ReadOnlyListBase by @Copilot in #4766
- Update to .NET 10.0.0 by @rockfordlhotka in #4763
- Fix: Deleted childs in a list lose their parents after being deserialized by @StefanOssendorf in #4768
- Update to use binary serialization instead of JSON by @rockfordlhotka in #4772
- Fix name of Csla.AspNet NuGet package by @Copilot in #4776
- #4779 Add Snapshot TransactionIsolationLevel by @xal1983 in #4783
- Update to use binary serialization instead of JSON by @rockfordlhotka in #4777
- Fix issues with metastate serialization by @rockfordlhotka in #4785
- Fix issue with Blazor state by @rockfordlhotka in #4786
- Fix issue with Csla.Web.Mvc package versioning by @rockfordlhotka in #4787
- Update samples for net10.0 and CSLA 10 by @rockfordlhotka in #4790
- CSLA 10 upgrade doc by @rockfordlhotka in #4745
- Update releasenotes for version 10 by @rockfordlhotka in #4791
- Update /docs files by @rockfordlhotka in #4792
- #4788 Update for MAUI examples by @Bowman74 in #4793
- Add ICslaObject constraint to IDataPortal and IChildDataPortal by @StefanOssendorf in #4795
- Update for 10.0.0 release by @rockfordlhotka in #4805
New Contributors
- @Youssef1313 made their first contribution in #4673
- @Copilot made their first contribution in #4734
Full Changelog: v9.1.1...v1...
Version 9.1.1 release
What's Changed
- Backport #4761 to v9.X by @StefanOssendorf in #4771
- #4779 Add Snapshot TransactionIsolationLevel by @xal1983 in #4782
- Fix issue with editlevel and clone by @rockfordlhotka in #4796
- Version 9.1.1 release by @rockfordlhotka in #4803
Full Changelog: v9.1.0...v9.1.1
Version 9.1.0 release
What's Changed
- Bump Google.Protobuf from 3.29.2 to 3.29.3 in /Source by @dependabot in #4434
- Bump Grpc.Tools from 2.68.1 to 2.69.0 in /Source by @dependabot in #4435
- Bump Nerdbank.GitVersioning from 3.7.112 to 3.7.115 in /Source by @dependabot in #4438
- Bump Microsoft.NETFramework.ReferenceAssemblies and MSTest.TestAdapter in /Source by @dependabot in #4476
- Bump System.Net.Http.Json from 8.0.1 to 9.0.2 in /Source by @dependabot in #4478
- Bump coverlet.collector and Microsoft.NETFramework.ReferenceAssemblies in /Source by @dependabot in #4480
- Bump Azure.Identity from 1.13.1 to 1.13.2 in /Source by @dependabot in #4479
- Bump Microsoft.AspNetCore.TestHost from 8.0.11 to 8.0.13 in /Source by @dependabot in #4481
- Bump Microsoft.NET.Test.Sdk and Microsoft.NETFramework.ReferenceAssemblies in /Source by @dependabot in #4482
- use target typed new where type is evident by @SimonCropp in #4493
- use collection expressions instead of ImmutableArray.Create by @SimonCropp in #4494
- improve perf of Extract* by @SimonCropp in #4495
- remove un-used _syncLock by @SimonCropp in #4496
- remove redundant dispose code in FilteredBindingList by @SimonCropp in #4497
- merge conditional expressions by @SimonCropp in #4498
- GetDeclaredSymbol can return null by @SimonCropp in #4499
- use GetSyntaxAsync by @SimonCropp in #4500
- fix incorrect CompilationUnitSyntax as usage by @SimonCropp in #4502
- avoid a cast in GetMethodInfo by @SimonCropp in #4503
- remove redundant null checks in FindDataPortalMethod by @SimonCropp in #4504
- remove redundant cast in GetField by @SimonCropp in #4505
- use fields instead of private properties by @SimonCropp in #4506
- Bump MSTest.TestAdapter and Microsoft.NETFramework.ReferenceAssemblies in /Source by @dependabot in #4521
- Fixes tests not executing by @StefanOssendorf in #4527
- fix incorrect as TypeDeclarationSyntax usage by @SimonCropp in #4501
- avoid string naming of members by @SimonCropp in #4507
- simplify SetBindingValues by @SimonCropp in #4508
- Add generator tests to the solution by @rockfordlhotka in #4529
- avoid ToImmutableArray in AnalyzePropertyGetterWithExpressionBody by @SimonCropp in #4510
- remove redundant DescendantNodes delegate by @SimonCropp in #4509
- remove some un-used variables by @SimonCropp in #4512
- fix space in title by @SimonCropp in #4523
- snk fixes by @SimonCropp in #4525
- remove redundant LangVersion by @SimonCropp in #4524
- use char based overloads for better perf by @SimonCropp in #4513
- Remove redundant microsoft.source link.GitHub by @SimonCropp in #4534
- use some switch expressions by @SimonCropp in #4531
- use some interpolation by @SimonCropp in #4515
- respect more nullability in EvaluatePropertiesForSimplicityAnalyzer and EvaluateManagedBackingFieldsAnalayzer by @SimonCropp in #4511
- use count to check for existence by @SimonCropp in #4561
- Bump coverlet.collector and Microsoft.NETFramework.ReferenceAssemblies in /Source by @dependabot in #4535
- Bump Microsoft.CodeAnalysis from 4.10.0 to 4.12.0 in /Source by @dependabot in #4536
- fix null ref in BindModelAsync by @SimonCropp in #4533
- fix typos by @SimonCropp in #4543
- fix license link in sln by @SimonCropp in #4555
- fix Analayzer typos by @SimonCropp in #4545
- remove un-used parameters by @SimonCropp in #4514
- remove some redundant namespace qualifications by @SimonCropp in #4516
- remove redundant base calls by @SimonCropp in #4526
- leverage TryGetValue in ContextDictionary by @SimonCropp in #4549
- Avoid duplicate dictionary lookup in GetConsolidatedList by @SimonCropp in #4551
- avoid duplicate dictionary lookup in GetSession by @SimonCropp in #4550
- Bump FluentAssertions from 7.0.0 to 8.0.1 in /Source by @dependabot in #4518
- cleanup BindingSourceHelper by @SimonCropp in #4544
- Add BindingSourceHelper tests by @SimonCropp in #4571
- fix incorrect as usage in DoesOperationHaveAttributeAddAttributeCodeFix by @SimonCropp in #4548
- avoid co-variant array conversion in ObjectViewSchema by @SimonCropp in #4552
- Make ToCancellationToken and containing class obsolete by @StefanOssendorf in #4618
- Fixes #4530 for v9 by @StefanOssendorf in #4634
- Add AddHttpContextAccessor() in AddAspNettCore() by @StefanOssendorf in #4627
- Fix missing generic support for auto implement properties generator by @StefanOssendorf in #4645
- Allow disabling scan for data annotations attributes by @rockfordlhotka in #4614
- Implement virtual OnDeserialized methods by @rockfordlhotka in #4662
- Some fixes to AutoSerializable source generator by @StefanOssendorf in #4656
- Stop caching principal by @rockfordlhotka in #4661
- Use TotalMilliseconds instead of Milliseconds for WebClient request timeouts. by @StefanOssendorf in #4663
- Fix bugs of source gens found during main port v9 by @StefanOssendorf in #4670
- Update version and release notes for 9.1.0 release by @rockfordlhotka in #4687
Full Changelog: v9.0.0...v9.1.0
Version 7.0.7 release
What's Changed
- Backporting 3633 to v7.x by @tkyle in #4262
- Version 7.0.7 release by @rockfordlhotka in #4273
- 4274 - Fixed build warnings in LocalProxy by @tkyle in #4314
- 3235 backport to v7.x by @tkyle in #4301
- Update release notes by @rockfordlhotka in #4577
New Contributors
Full Changelog: v7.0.6...v7.0.7
Version 9.0.0 release
What's Changed
- Update version numbers to 8.2.0 by @rockfordlhotka in #3872
- Correctly set http content-type headers by @rockfordlhotka in #3873
- avoid duplicate dictionary lookups in ContextDictionary by @SimonCropp in #3862
- missing using on HttpRequestMessage by @SimonCropp in #3860
- move to using declarations by @SimonCropp in #3861
- remove redundant interface implementations by @SimonCropp in #3863
- Remove netcore by @SimonCropp in #3864
- Remove duplicate value by @rockfordlhotka in #3875
- Remove UWP support; Remove requirement for Serializable attribute by @rockfordlhotka in #3877
- Update version numbers to 9.0.0 by @rockfordlhotka in #3878
- ServiceClientManager removed by @StefanOssendorf in #3882
- Re enable CommandBaseTest by @StefanOssendorf in #3881
- Fixes 3857: Remove protected setter from InputPropertes by @StefanOssendorf in #3880
- remove some redundant braces by @SimonCropp in #3883
- remove redundant Assert.IsTrue(executed); by @SimonCropp in #3884
- remove redundant attribute parens by @SimonCropp in #3885
- make indents consistent by @SimonCropp in #3886
- make more indents consistent by @SimonCropp in #3887
- remove some redundant usings by @SimonCropp in #3888
- remove some redundant tostrings by @SimonCropp in #3889
- #3802 - replace null parameter with containingType by @19bibo85 in #3891
- Remove unnecessary private set; and make a field readonly. by @StefanOssendorf in #3904
- Bump Grpc.Net.Client and System.Runtime.CompilerServices.Unsafe in /Source by @dependabot in #3908
- Bump Grpc.Tools from 2.62.0 to 2.63.0 in /Source by @dependabot in #3907
- #3897 Fix error catching in blazor ApplicationContextManagers by @swegele in #3903
- Resolve build issues in csla.test.sln by @rockfordlhotka in #3909
- Updated the SaveState method in StateManager to be async Task by @kamranrauf75 in #3906
- Enhance use http proxy with http factory by @StefanOssendorf in #3899
- Remove types marked with obsolete and error=true by @StefanOssendorf in #3912
- Improve serializer registration by @StefanOssendorf in #3914
- Add Error event in Blazor ViewModel (#3279) by @rrrooommmaaa in #3915
- Added DisplayIndex Property to Business Rules by @Freelancingonupwork in #3902
- Breaking change: Blazor StateManager does not use the provided timeout parameter by @luizfbicalho in #3910
- Coerce output in RuleContext.AddOutValue by @rrrooommmaaa in #3925
- #3930 - Fix for main branch removing api controller attributes which … by @swegele in #3933
- Bump Microsoft.AspNetCore.TestHost from 8.0.4 to 8.0.5 in /Source by @dependabot in #3940
- Updates for Blazor session state management by @rockfordlhotka in #3924
- remove some redundant parens by @SimonCropp in #3948
- move to some using declarations by @SimonCropp in #3949
- remove some redundant usings by @SimonCropp in #3951
- use some nameof expressions by @SimonCropp in #3952
- remove some redundant name qualifiers by @SimonCropp in #3950
- #2925 text separator for concatenating errors/main by @Freelancingonupwork in #3942
- Fix ruleSet parameter omission in AddRule overloads by @kamranrauf75 in #3892
- Create rabbitmq readme.md by @rockfordlhotka in #3957
- BusyHelper for IsBusy Change by @Freelancingonupwork in #3953
- Parameter Overloads for Sync (Excecute) by @Freelancingonupwork in #3958
- Added Priority in Broken Rule by @Freelancingonupwork in #3945
- Bump Grpc.Tools from 2.63.0 to 2.64.0 in /Source by @dependabot in #3962
- Bump Microsoft.NET.Test.Sdk from 17.9.0 to 17.10.0 in /Source by @dependabot in #3959
- Bump MSTest.TestFramework from 3.3.1 to 3.4.0 in /Source by @dependabot in #3960
- Remove remoting references by @StefanOssendorf in #3966
- Use HttpContext to get user, then fall back to AuthenticationStateProvider by @rockfordlhotka in #3968
- Bump Grpc.Net.Client, System.Runtime.CompilerServices.Unsafe and Microsoft.Bcl.AsyncInterfaces in /Source by @dependabot in #3975
- Bump Google.Protobuf from 3.26.1 to 3.27.0 in /Source by @dependabot in #3974
- Update nuget.exe to latest version by @rockfordlhotka in #3973
- Feature/add cancellation token by @luizfbicalho in #3926
- Add exception message for string.IsNullOrWhiteSpace() exception by @StefanOssendorf in #3978
- Bump MSTest.TestFramework from 3.4.0 to 3.4.1 in /Source by @dependabot in #3985
- Bump Microsoft.AspNetCore.Components.Authorization, Microsoft.AspNetCore.Components and Microsoft.Extensions.Logging.Abstractions in /Source by @dependabot in #3987
- Bump Microsoft.AspNetCore.TestHost from 8.0.5 to 8.0.6 in /Source by @dependabot in #3988
- Added AddNewAsync() methods to lists by @Freelancingonupwork in #3989
- #3990 Revert SetUser for blazor in memory context manager by @swegele in #3996
- Bump MSTest.TestFramework from 3.4.1 to 3.4.2 in /Source by @dependabot in #3995
- Bump MSTest.TestFramework from 3.4.2 to 3.4.3 in /Source by @dependabot in #3998
- Add .ConfigureAwait(false) on (thread) context irrelevant operations by @StefanOssendorf in #3977
- Feature/remove on deserialized by @luizfbicalho in #3955
- Improve IsSavable performance by @StefanOssendorf in #3983
- Make WaitForIdle() methods virtual so a user can extend it's functionality by @StefanOssendorf in #3979
- Add nullable context to Csla.Data.SqlClient and Csla.Data.SqlClient.Fx by @StefanOssendorf in #4005
- Add nullable context to rabbitMq project by @StefanOssendorf in #4004
- Add nullable context to grpc project by @StefanOssendorf in #4003
- Changed missing other WaitForIdle implementations by @StefanOssendorf in #4002
- Bump Microsoft.Data.SqlClient from 5.2.0 to 5.2.1 in /Source by @dependabot in #4006
- Feature/asynchronous authorization rules by @luizfbicalho in #3956
- OnAddedNewAsync removed becaue it's not necessary by @StefanOssendorf in #4013
- Bump Google.Protobuf from 3.27.0 to 3.27.1 in /Source by @dependabot in #4014
- Added - GraphMerger: async versions of public methods by @Freelancingonupwork in #3984
- Update project to .NET 8.0 and refactor code by @luizfbicalho in #4017
- Improve/Enhance Is(Self)Busy to handle nested busy scenarios better by @Freelancingonupwork in #3982
- Remove binary formatter net data contract serializer by @luizfbicalho in #4018
- Bump System.Memory.Data from 7.0.0 to 8.0.0 in /Source by @dependabot in #4022
- #4015 change context to interfaces by @Bowman74 in #4023
- 4015 change context to interfaces by @Bowman74 in #4025
- Blazor ViewModel with ManagedObjectLifetime save issue #4026 by @russblair in #4031
- #3207 Use CentralPackageVersioning in samples: ProjectTracker by @sshushliapin in https://github.com/MarimerLLC/csla/...
Version 8.2.9 release
What's Changed
- Initialize session id cookie on server path by @rockfordlhotka in #4470
Full Changelog: v8.2.8...v8.2.9
Version 8.2.8 release
What's Changed
- Fix Blazor context manager issue by @rockfordlhotka in #4239
- Restore app context if operation fails w/ no local clone by @rockfordlhotka in #4280
- Cherry pick: Fix for #3581, Ensure unique identity values within identity managed collections by @StefanOssendorf in #4335
- Ensure context manager is valid before returning by @rockfordlhotka in #4356
- Update ProjectTracker to target CSLA 8.2.8 by @rockfordlhotka in #4403
Full Changelog: v8.2.7...v8.2.8
Version 8.2.7 release
What's Changed
- Version 8.2.7 release by @rockfordlhotka in #4209
- #4203
- #4204
- #4208
Full Changelog: v8.2.6...v8.2.7