Skip to content

Releases: MarimerLLC/csla

Version 5.4.1 release

01 Feb 23:32
a68e499
Compare
Choose a tag to compare

The version 5.4.1 release contains bug fixes over the 5.4.0 release.

Change List

Changes in this release

Contributors

Version 5.4.0 release

08 Dec 21:26
5f3f751
Compare
Choose a tag to compare

The 5.4.0 release of CSLA .NET adds support for .NET 5 across all supported scenarios, including:

  • Blazor
  • aspnetcore
  • Windows Forms
  • WPF

The release notes doc contains more details.

Change List

Changes in this release

Contributors

Version 4.11.2 release

31 Jul 21:03
d2b0405
Compare
Choose a tag to compare

I am pleased to announce the release of CSLA .NET version 4.11.2.

This is a bug fix release from 4.11.1.

  • #1212 Fix issue with n-level undo and cloning

CSLA .NET version 4.11.1 Release Notes

I am pleased to announce the release of CSLA .NET version 4.11.1.

This is a bug fix release from 4.11.0.

  • #1138 Backport fix for TransactionTypes enum issue

CSLA .NET version 4.11.0 Release Notes

I am pleased to announce the release of CSLA .NET version 4.11.0.

This is an enhancement and bug fix release from 4.10.1.

  • #1164 Fix issue where LocalProxy would lock a Windows Forms app using async data portal calls
  • #1167 Add UpdateAllChildren method to FieldManager to simplify saving all child objects regardless of their IsDirty value

CSLA .NET version 4.10.1 Release Notes

I am pleased to announce the release of CSLA .NET version 4.10.1.

This is a bug fix release from 4.10.0.

  • #1130 Backport SimpleDataPortal async mismatch check fix #1117 and fix for explicit null default values for string properties to version 4.x #1103
  • #1155 Backport fix for Blazor scenario with HttpProxy to autoflush text writer

CSLA .NET version 4.10.0 Release Notes

I am pleased to announce the release of CSLA .NET version 4.10.0.

This is a bug fix release from 4.9.0.

  • #1084 Backport sync context changes from v5.0

CSLA .NET version 4.9.0 Release Notes

The major enhancements are described in some detail in a CSLA .NET 4.9.0 blog post.

Dependabot and NuGet dependencies

We've started using Dependabot to help keep NuGet dependencies current. As a result, the following updates are included in this release:

  • Bump Microsoft.AspNet.Razor from 2.0.20710 to 2.0.30506 in /Source
  • Bump Microsoft.EntityFrameworkCore from 2.1.4 to 2.2.0 in /Source
  • Bump System.Data.SqlClient from 4.5.1 to 4.6.0 in /Source
  • Bump Xamarin.Forms from 3.0.0.482510 to 3.4.0.1008975 in /Source
  • Bump Microsoft.EntityFrameworkCore from 2.0.2 to 2.1.4 in /Source
  • Bump System.Security.Principal.Windows from 4.5.0 to 4.5.1 in /Source
  • Bump System.Data.SqlClient from 4.4.3 to 4.5.1 in /Source
  • Bump Microsoft.AspNetCore from 2.0.2 to 2.1.6 in /Source
  • Bump Microsoft.AspNet.WebPages from 2.0.20710 to 3.2.7 in /Source
  • Bump System.ComponentModel.Annotations from 4.4.1 to 4.5.0 in /Source
  • [Security] Bump Microsoft.NETCore.UniversalWindowsPlatform

Docs and wiki

We've updated some of the docs and officially removed the wiki. All the wiki/docs content is now in the /docs directory.

Data portal enhancements

  • #993 Implement SaveAndMergeAsync methods
  • #972 Implement data portal router
  • #959 Enhance data portal to use different endpoint per business type
  • #961 Create data portal health/instrumentation endpoint
  • #1011 Implement IsOffline property for data portal
  • #982 Add new IDataPortalFactory singleton for page injection in ASP.NET Core

Configuration enhancements

  • #966 Add fluent config types to CSLA: Csla.Configuration.CslaConfiguration
  • #967 Read CSLA config values from .NET Core config subsystem: CslaConfigurationOptions
  • #1012 Implement ConfigureCsla extension method to IConfiguration for use in .NET Core configuration
  • #982 Implement AddCsla method for use in ASP.NET Core ConfigureServices

Bug fixes

  • #949 [samples] Fix WinForms and WPF DataPortal configuration to use Azure
  • #956 [bug] Check for null User in authz rules
  • #962 [bug] Object not serializable (Csla.Core.ContextDictionary) after compiled with .Net Native tool chain and Optimize Code Enabled

You can see all the closed work items in GitHub.

Version 4.8.1 release

02 Oct 21:42
7f0d9f3
Compare
Choose a tag to compare

I am pleased to announce the release of CSLA .NET version 4.8.1.

🛑 This is a big change, because I was able to eliminate the CSLA-Core-NS package. If you are using the CSLA-Core-NS package you will need to remove that reference and add a reference to the CSLA-Core package.

⚠ If you have any custom rules (subclass of BusinessRule or implement IBusinessRule you will need to update all Execute methods to accept an IRuleContext parameter instead of a RuleContext parameter.

There are a number of other changes and bug fixes including:

From 4.8.1:

  • #946 Fix NullReferenceException in DataPortalException.BusinessException

From 4.8.0:

  • #927 Eliminate CSLA-Core-NS package 🛑
  • #703 Allow use of BinaryFormatter in .NET Standard 2.0 and .NET Core
  • #344 Stop caching DisplayName value so localization works as expected ⚠
  • #344 Ensure string properties default to String.Empty not null
  • #827 Eliminate NullReferenceException in Rule.Complete
  • #340 Enable per-type authz rules when passing interface types to the data portal
  • #917 Fix issue with non-default timeout in HttpProxy
  • #635 Move wiki to the /docs directory so it is part of the repo
  • #650 Better exception when incorrect CslaDataPortalProxy is specified
  • #938 Simplify version numbering so we can start using semver
  • #914 WARNING 0xdef01051 No default or neutral resource given for UWP

You can see all the closed work items in GitHub.

💡 After this release I'll start officially using the semver (semantic versioning) concept, so breaking changes will be more clearly noted via version changes. In this release I've started that process by using a .0 instead of .100 for the patch number.

Version 4.7.200 release

02 Jul 23:33
a6854e4
Compare
Choose a tag to compare

I am pleased to announce the release of CSLA .NET version 4.7.200 with support for Blazor, and enhanced support for ASP.NET Core and Xamarin.

The packages are now in NuGet.

This is a pretty big release, focused on four key areas:

  • Improved sample code
  • Enhanced support for ASP.NET Core
    • The new CslaModelBinderProvider and CslaModelBinder types support data binding in Razor Pages scenarios
  • Enhanced support for Xamarin
    • Updated for Xamarin Forms 3.0; Enhanced the PropertyInfo type, Fixed critical bug in GraphMerger on iOS
  • Support for Blazor (and mono/wasm)
    • Add support for Blazor so it is possible to use CSLA objects in client-side mono/wasm code in a Blazor app, reference the CSLA-Core-NS package from your Blazor client app to use CSLA

More details are listed here:

ASP.NET Core

  • #900 Update model binder to support editable list root objects
  • #900 Add CslaModelBinder for IBusinessBase types
  • #908 Add ScaffoldColumn and NotMapped attributes so scaffolding works with BusinessBase and BusinessListBase types

Xamarin

  • #903 Fix the GraphMerger so it works on iOS devices - Find child type on iOS when indexer is not found
  • #886 Upgrade to Xamarin Forms 3.0
  • #886 Upgrade to Xamarin Forms 3.0 (also consolidate all json.net references to the same version)
  • #697 Add Tag property to PropertyInfo class.

Blazor

  • #829 Make UseTextSerialization property static
  • #829 Remove MobileList test with complex types (breaking change - scenario no longer supported)
  • #829 Add UseReflectionFallback setting to prevent use of System.Linq.Expressions
  • #829 Make HttpProxy and HttpPortalController support optional text serialization
  • #829 Expose GetValueOrNull method as public
  • #829 Remove DCS dependency in MobileList

Bug fixes

  • #897 Get BeginEdit working in netstandard 2.0 implementation
  • Closes #545 Unhook event handlers before save operations.
  • Closes #205 Call OnRefreshing before each OnRefreshed call.
  • Fixes #761 Resolve exception when calling BeginRefresh
  • Fix threading issue in InitializePerTypeRules (#614)
  • Fix threading issue in InitializePerTypeRules (#614)

Misc

  • #879 Update tests to work in .NET Core.
  • #879 Add basic .NET Core undoable tests
  • Closes #633 Closes #657 Closes #697 Add CustomTag property and fix null ref exception during control init. Make UpdateState public.
  • Complete pt resources.Add some fr resources. (#884)
  • Add ReadOnlyBase support for property setter anlyzer
  • Mention contributor agreement in the getting started list
  • #836 Make ConnectionManager types match; Optimize locking in DeRef method

Samples

  • Add Wisej Web UI to ProjectTracker sample (#881)
  • Update Project Tracker to 4.7.200-R18051402 ( #879))
  • #829 Add BlazorExample sample code
  • Remove useless overload RoleEdit GetRole(int id) (#687)
  • ProjectTracker.BusinessLibrary.Netstandard is missing a reference to ProjectTracker.Dal (#870)
  • ProjectTracker WinForms - show validation errors on Save (#868)
  • Fix for ProjectTracker WinForms RolesEdit is broken (#863) UI
  • Missing Display attribute (#863)
  • Fix for ProjectTracker WinForms RolesEdit is broken (#863)
  • ProjectTracker BO: add missing RoleList.CacheList (#865)
  • Revert to RoleList cache refresh (#861)
  • Async RoleList cache refresh (#861)
  • Consistent codig of ResourceEdit and ProjectEdit (#861 (#861)
  • Improve Project Tracker WinForms (#861)
  • Updating samples to 4.7.101 (#859)
  • Update sample to CSLA .NET 4.7.101 (#844) Cosmetic changes on some forms.
  • Update SimpleNTier (broken Wcf configuration) sample to CSLA .NET 4.7.101 #844
  • Update Project Tracker sample to CSLA .NET 4.7.101 #844
  • Update CslaMVC sample to CSLA .NET 4.7.101 #844
  • Refresh generated code (#847)
  • Add sample to verify NuGet versions (#841)
  • #832 Change NuGet targets to lib/net461

Important notes

There continue to be two "families" of CSLA .NET packages in NuGet. One that supports full .NET and one that supports all other runtimes. The following work item is tracking when this is resolved (after Microsoft fixes a bug in full .NET):

  • #822OnDeserialized attribute from NS2 causes runtime error in full .NET

In the meantime, the full .NET family (based on the CSLA-Core package) must be used for the following types of app:

  • Windows Forms
  • WPF
  • ASP.NET (other than Core)
  • Console apps (other than Core)
  • Azure Functions
  • Any other runtime hosted by full .NET 4.6.1+

The netstandard family (based on the CSLA-Core-NS package) must be used for the following types of app:

  • Xamrin
  • UWP
  • .NET Core
  • ASP.NET Core
  • Blazor
  • Any other runtime not hosted by full .NET 4.6.1+

What this means for you is that if your n-tier app is 100% full .NET or full netstandard then you can live within one of those families. BUT if your server is full .NET and your client is Xamarin (for example) then your business library assemblies need to be compiled twice: once for full .NET and once for netstandard.

The Samples\ProjectTracker app shows how this is done by using a Shared Project to contain the code, and two concrete class library projects that compile the code for full .NET and netstandard respectively.

Also included are changes from 4.7.100 and 4.7.101

Version 4.7.101 is a bugfix release over 4.7.100. Release notes for 4.7.100 are below.

Version 4.7.101

  • #832 Change NuGet targets from net46 to net461
  • #836 BUG: Fix non-generic ConnectionManager
  • #834 BUG: Csla.Web.Mvc4.dll for .NET461 reports version 1.0.0.0
  • #844 Update samples to CSLA .NET 4.7.101 (thanks to tfreitasleal)

Version 4.7.100

I am pleased to announce the release of CSLA .NET version 4.7.100 with full support for netstandard 2.0 and .NET Core 2.

The packages are now in NuGet. Once some final updates to the samples are complete and merged into master I'll create a formal release tag/page on GitHub.

This release also includes some other very exciting capabilities, including:

  • #760 Add support for ASP.NET Core 2.0
  • #759 Add support for EF Core (EntityFrameworkCore)
  • #813 Major performance improvement when data binding to large object graphs thanks to keithdv
  • #795 Add Transactional attribute back into netstandard 2.0 code
  • #800 Changes to configuration so it is possible to configure CSLA without any web.config or app.config files (such as in .NET Core, etc.)
  • #496 Support ClaimsPrincipal via new CslaClaimsPrincipal type
  • #729 ApplicationContext now defaults to using AsyncLocal to maintain values on the current thread/context with help from j055 BREAKING CHANGE
  • #712 Support in-place deserialization of an object graph
  • #748 Major improvements to serialization via MobileFormatter thanks to jasonbock
  • #763 Update to samples thanks to tfreitasleal
  • #688 Get ApplicationContext.User authentication working with ASP.NET Core thanks to dazinator
  • #766 Update to use latest UWP libraries for Windows 10 Fall Creators Update BREAKING CHANGE
  • #790 BUG: Fix AmbiguousMatchException in data portal thanks to iherwald
  • #710 BUG: Fix ambiguous Save method issue thanks to rabidkitten

There are a couple known issues with this release:

Read more

Version 4.6.603

19 Jul 21:27
Compare
Choose a tag to compare

Bug fixes from 4.6.600.

  • #745 SerializationInfo.GetValue: _bindingEdit" error - UWP
  • #744 Issue with Serializable, SerializableAttribute UWP
  • #742 Problem with UWP's SerializationInfo
  • #739 WcfProxy consistently uses DefaultBinding if enabled
  • #735 Fix missing resources in netstandard 1.6
  • #737 Fix serializable attribute issue in UWP BREAKING CHANGE (workaround)

Version 4.6.600 release information:

This release is focused primarily on supporting .NET Core and NetStandard 1.6. There are also a number of bug fixes, enhancements, and improvements to some samples.

This release is available via NuGet.

CSLA .NET v4.6.500 supports the following platforms:

  • .NET 4.0, 4.5, 4.6
  • .NET Core via netstandard1.5 and netstandard1.6
  • Xamarin iOS
  • Xamarin Android
  • Xamarin PCL (Profile111)
  • UWP

Change highlights:

  • #733 Remove WinRT packages from NuGet - CSLA no longer supports Win8 development as of version 4.6.600 BREAKING CHANGE
  • #722 Add support for ASP.NET Core
  • #708 Csla.AspNetCore.Mvc implementation
  • #725 Update samples
  • #701 Windows Forms now stores Csla.ApplicationContext.User in a static field instead of per-thread BREAKING CHANGE
  • Provide More Information in UndoException #472 (#718) BREAKING CHANGE
  • RegisterProperty overload (propertyLambdaExpression
  • Fix wrong role name in ProjectTracker Sample MockDb (#715)
  • Mark SingleCriteria as obsolete #656 (#716)
  • Update NuGet targets/dependencies (#713)
  • #707 Add editorconfig file for solution (#714)
  • #691 Update for VS 2017 (#706) BREAKING CHANGE FOR FRAMEWORK DEVS
  • Samples/ProjectTracker Code fixes (#699)
  • Fix PropertyConvert of nullable type to nullable enum property. #692 (#695)
  • Fix DynamicBindingListBase constraint is missing Csla.Serialization.Mobile.IMobileObject #689 (#690)
  • Delete Silverlight dependencies. (#685)
  • Fix Sample ExtendableWcfPortalForDotNet (Rolodex) #678 (#683)
  • CslaFastStart LastName update fix (#682)
  • #680 Fixes trivia issue (#681)
  • Allow SerializableAttribute on Enums (#672)
  • Add fast start sample and readme (#670)
  • Fixes #664 - Add logic to also ConvertFrom TypeConverter inside CoerceValue (#665)
  • Throwing exception when sync dataportal tries to call async method on client (#643)

Version 4.6.500

18 Oct 19:18
Compare
Choose a tag to compare

The primary focus of this release is the addition of support for .NET Core 1.0. This was accomplished by adding a NetStandard 1.5 project to the solution, with the output being part of the CSLA-Core NuGet package.

CSLA .NET v4.6.500 supports the following platforms:

  • .NET 4.0, 4.5, 4.6
  • .NET Core 1.0 via netstandard1.6
  • Xamarin iOS
  • Xamarin Android
  • Xamarin PCL (Profile111)
  • UWP
  • WinRT and WinRT Phone (this is the last version that supports these platforms)

Here are the changelog highlights:

  • #651 Remove iOS Classic projects from solution
  • #634 Set PropertyStatus state when source is null (#637)
  • #629 Update to latest nuget tooling
  • #629 Fix issue with IsSerializable in netstandard
  • #626 Ignore resx files copied into netstandard project
  • #626 Properly embed default resx file into Csla.dll
  • #618 Restore sync DataPortal methods to interface for .NET Core (#620)
  • #605 Remove netcore50 project from solution and NuGet output (#609)
  • #398 Clean up and fix Model property for Xamarin (#599)
  • #590 Updated german resource file

Version 4.6.401

30 Jun 23:30
Compare
Choose a tag to compare

This release is focused primarily on enhancing the existing Xamarin support. There is now a Csla.dll targeting PCL Profile111, which is the current profile for Xamarin.Forms projects and .NET Core.

There is also now a CSLA-Xamarin NuGet package that includes a Csla.Xaml.dll with support for Xamarin.Forms. This includes the same viewmodel base classes as the other XAML platforms, and an implementation of the PropertyInfo control tailored for use in Xamarin.Forms.

@JasonBock added even more analyzers for Visual Studio 2015 to help developers avoid common coding mistakes when building CSLA .NET business classes.

We now have support for the prerelease of Entity Framework 7.

The pt and pt-BR resources for Csla.dll have been updated. Other languages need updates as well - please contribute if you are a native speaker!

There is a new way to customize the server-side data portal by implementing an interceptor that is invoked via the new DataPortalBroker. (#564)

This release is available via NuGet.

  • #608 Fix/enhance Source and Value property in Csla.Xaml.PropertyInfo control
  • #550 Add Xamarin.Forms support in Csla.Xaml
  • #568 Add PCL support for Profile111 (Xamarin.Forms and .NET Core)
  • #457 Analyzer: Find Usages of Non-Serializable Types
  • #458 Analyzer: Catch when Save() is Called on Itself
  • #553 Analyzer: Address => Property Syntax in Analyzers
  • #555 Analyzer: Fix Issue with Partial Classes in Analyzers
  • #518 EF7 Support
  • #539 Fix WinRT bug with OnDeserializedHandler
  • #576 Update Resources pt and pt-BR
  • #564 Add DataPortalBroker to allow DataPortal Interception
  • #574 Fix issue with HttpProxy and Xamarin

Summary of updates since 4.5.x

You can see the change logs for the 4.6.x releases:

There are some important non-technical or semi-technical enhancements, including:

  • From version 4.6.300 CSLA is now under the MIT license
  • Code of Conduct document for contributors and people participating in this forum
  • CI server using Appveyor (and a private one using VSTS)
  • Now using ZenHub to better track/manage issues and backlog
  • Attach gitter site to this forum for any real-time chats we all might want to enjoy

At a high level the technical enhancements include:

  • Move all code to a unified set of shared projects - no more "dangling" code files in platform-specific folders, making maintenance easier and cross-platform consistency higher
  • Add .NET 4.6 support
  • Update to latest version of Xamarin
  • Add .NET Core 1.0 support
  • Add ASP.NET Core 1.0 support
  • Add several analyzers for VS15 that help improve coding quality
  • Add support for custom serialization formatters
  • New LazyGetProperty and LazySetProperty methods to simplify lazy loading of values
  • Support new Serialized and other implementations in Xamarin and UWP
  • All platforms now support HttpProxy talking to an HttpPortal endpoint
  • Various bug fixes

What was removed?

  • Support for Silverlight
  • Support for Windows Phone 7 (Silverlight)

Version 4.6.301

01 Jun 02:26
Compare
Choose a tag to compare

Version 4.6.301 is a bug fix update to 4.6.300. It addresses the following:

  • #539 Fix WinRT bug with OnDeserializedHandler

The following is from the 4.6.300 release:

Note: As of this release CSLA .NET is now under the MIT open source license. If you want to continue using CSLA .NET under the previous license terms you must not upgrade to version 4.6.300.

The primary new feature in this release is support for Portable Class Libraries for the following target set:

  • .NET 4.5 or 4.6
  • .NET Core (aspnet5)
  • UWP
  • Windows 8 (WinRT)
  • Xamarin (iOS, Android, iOS Classic)

Note: The PCL support in this version is generally unstable. You should upgrade to a newer release that has complete PCL support if you intend on referencing CSLA from a PCL.

There are also some new analyzers and numerous bug fixes. See the change log for more details.

Summary of updates since 4.5.x

You can see the change logs for the three 4.6.x releases:

There are some important non-technical or semi-technical enhancements, including:

  • From version 4.6.300 CSLA is now under the MIT license
  • Code of Conduct document for contributors and people participating in this forum
  • CI server using Appveyor (and a private one using VSTS)
  • Now using ZenHub to better track/manage issues and backlog
  • Attach gitter site to this forum for any real-time chats we all might want to enjoy

At a high level the technical enhancements include:

  • Move all code to a unified set of shared projects - no more "dangling" code files in platform-specific folders, making maintenance easier and cross-platform consistency higher
  • Add .NET 4.6 support
  • Update to latest version of Xamarin
  • Add .NET Core 1.0 support
  • Add ASP.NET Core 1.0 support
  • Add several analyzers for VS15 that help improve coding quality
  • Add support for custom serialization formatters
  • New LazyGetProperty and LazySetProperty methods to simplify lazy loading of values
  • Support new Serialized and other implementations in Xamarin and UWP
  • All platforms now support HttpProxy talking to an HttpPortal endpoint
  • Various bug fixes

What was removed?

  • Support for Silverlight
  • Support for Windows Phone 7 (Silverlight)

Version 4.5.701 release

21 Jul 19:38
Compare
Choose a tag to compare

This is a bug-fix and minor update release over 4.5.700.

There are possible breaking changes due to updates to numerous NuGet package dependencies. You will need to update those dependent packages to use this newer version of CSLA 4.

Change log for this release.

Version 4.5.700 notes:

Update to support the latest Xamarin capabilities, including the Unified API and updated iOS projects.

Also includes a number of bug fixes and minor enhancements. See the change log for details.

This release of CSLA .NET allows you to share your business code (normally unchanged) across the following platforms:

  1. iOS (with Xamarin)
  2. Android (with Xamarin)
  3. Windows Runtime Apps (Windows 8.1)
  4. .NET 4 and 4.5
    1. ASP.NET
    2. WPF
    3. Windows Forms
  5. Windows Phone
  6. Silverlight 5