Changelog 2022

December 2022

New Features

Configuration Enhancements

  • Added ShowAppInformation config option

  • Added UseRichLogs config for enhanced logging

  • Added more IVidyanoConfiguration comments for better documentation

User Rights Management

  • Added OnlyGroupRights feature (#348)

  • Better control over permission inheritance

Fixes

  • Fixed issue when setting lazy loaded references to null

  • Fixed IUpdateableLog.Append/Prepend adding extra newlines (RavenDB)

  • Fixed some issues when AsDetail is used on virtual PO

  • Fixed issue with SetComputedAttribute not working when using proxy entities

Maintenance

  • Dropped .NET Core 3.1 support (end of life)

  • Updated packages including Newtonsoft.Json security update

  • Repeating jobs improvements

  • GetLabel tweaks for better label handling

November 2022

New Features

.NET 7 Support (#351)

  • Added .NET 7.0 support

  • Take advantage of latest framework improvements

Mail Improvements

  • Enhanced mail functionality

  • Better email handling

User Management

  • Added IUser.ToggleGroup for easier group management

Diagnostics

  • Added application/json support for /diagnostics (#352, #354)

Developer Experience

  • Inform administrator when application had errors or warnings at startup

  • Show extra developer information on PO in management

Fixes

  • Fixed issue with User/NullableUser not showing for Guid/Guid? properties

  • Fixed issue when GetCollectionName returns null (RavenDB)

  • Fixed text search issue when label was also used as referenced property

  • Fixed issue with Azure verbose logs not supporting viAudit syntax

  • Fixed issue with Web3 not triggering Manager.Initialize correctly

Maintenance

  • Add dummy services for mocking/console apps

  • Proxy tweaks, trust localhost by default

  • RavenDB: Profiler shows when request was from cache

  • MultiString and IsEmail tweaks

  • ServiceLocator changes

  • Improved Web3 detection

October 2022

New Features

API Enhancements

  • Allow IAsyncEnumerable<> API methods

  • Async streaming support for APIs

Query Features

  • Added QueryResultItem.GetOriginalValue

  • Better access to original data

Security

  • Added Security GroupComments

  • Better documentation for security groups

Management

  • Added Manager.OnInitialized hook

  • Handle Enum KeyValueList

Helper Methods

  • Added CustomActionArgs.EnsureParent/EnsureQuery

  • Easier parent and query access

Fixes

  • Fixed performance issue with keeping 1 IRepositoryUserStore in memory

  • Fixed issue when textsearch was replacing invalid labels

  • Fixed Excel issue missing last row

  • Only filter on SortExpression if it has the same property type

Maintenance

  • Removed Web2Assembly support

  • Handle ICollection as detail query

  • IRepositoryIdDeterminer is singleton

  • RequestScopeProvider is a singleton

  • TypeCache lazy should use PublicationOnly instead of None

  • Scoped cache for SQL user store

  • Don't save security.json on startup when creating database users/groups

  • Updated packages

September 2022

New Features

Report Enhancements

  • Added ReportTokenGenerator

  • Allow per-deployment Report tokens

  • Report/Register expects User

Helper Methods

  • Added DoIf conditional execution helper

  • Automatic handling of SortExpression based on naming

Fixes

  • IDataProtectionProvider is only needed for useDataProtection

Maintenance

  • Added Manager.EnsureUserExists

  • Consistent EOL for .json files

  • Updated packages

  • Unneeded Regex.Replace usage removed

August 2022

New Features

Excel Enhancements

  • Extra Excel hooks for customization

  • Better Excel export control

Helper Methods

  • Added CustomQueryArgs.EnsureParent helper

  • Easier parent object access

Fixes

  • Fixed issue #347

  • Also use POA SortExpression when filtering

Maintenance

  • Security update: Bump System.Security.Cryptography.Xml (#349)

  • Updated packages

  • Code formatting improvements

July 2022

New Features

LookupReference Enhancements

  • Added generic ILookupReference

  • LookupReference.Comment support

  • LookupReference implements IReadOnlyList directly

TranslatedString Features

  • Added TranslatedString.FromValue

  • Added TranslatedString.IsEmpty

Persistent Object Features

  • Added IPersistentObjectAdvanced.ForceFromAction

  • Added POA.RemoveRules and PO.RemoveAttributes overloads

Value Objects

  • Easier support for split value objects

  • Added SplittedValueObjectHandler by default

Caching

  • Added IAdvancedSessionOperations.AggressivelyCache extension method

Fixes

  • Improve error messages when ValueObject mapping fails for custom queries

Maintenance

  • Use NullabilityInfoContext for .NET 6.0

  • Added TotalItemArgs.OnCreated

  • TypeCache changes

  • TODOs and comments

June 2022

New Features

Web3 Support

  • Use web3 by default

  • Improved Web3 detection

  • Web2Cdn improvements for Web3

Binary File Support

  • Add support for BinaryFile/Image on AsDetail

  • Better file handling in detail views

  • Improved date search on SQL/Raven using date ranges when possible

  • Better date handling and nullable logic

Development Tools

  • Added .editorconfig for consistent code style

  • Use global using for project target context type

  • Library logic for generators

Fixes

  • Fixed issue in SystemReferenceData

  • LookupReference serialization issue

  • Issue with PluginManager

Maintenance

  • Allow multiple FromIndex

  • Removed legacy projects

  • Removed unused TypeCache code

  • Helper DatabaseSettings.CreateStore

  • Shorten ImpersonateMessage message

  • Word added extra helpers

  • Tweaked NewUserArgs to use fixed Id for new user

May 2022

New Features

  • Added NavigationHints

  • More backend<>frontend information exchange about navigation

Entity Framework Core

  • Fixed issue with computed attributes not being mapped

  • Disable AsNoTracking()

Query Enhancements

  • Added OnConstructForColumns hook

  • Auto show queries when adding to PO

  • Allow ExecuteQuery to pass ForReferenceAttribute

Helper Methods

  • Added IAuthenticatedRequest for better nullability handling

  • Better handling of generic model entities

  • Helper methods on PO/POA

  • PO Advanced expose Metadata

Fixes

  • Fixed issues when filtering a nullable enum

  • AzureStorageAccount/Container parse issue when appsetting was empty

  • Show more information when KeyValueList query isn't found

Maintenance

  • RavenDB: Hide unused system settings

  • RavenDB: Keep existing id for reference if we can't load it

  • RavenDB: Combine DB entries

  • Updated packages

  • Optimize use cache

  • Prefer none lazy thread safety mode

April 2022

New Features

Notification System

  • Introduce NotificationType.Critical

  • Critical notifications support

Verbose Logging

  • Added option to tweak verbose log content (replace sensitive content)

  • Enable outgoing logging for specific Api call (POST/PUT/etc)

  • Datadog include verbose log id

Azure Enhancements

  • Use LinqTunnel attribute

  • Azure improvements and TODOs

Fixes

  • Include web2 cdn response status code

Maintenance

  • Prefer lazy constructor with direct value if possible

  • Datadog log 400 as warning instead of error

March 2022

New Features

API Enhancements

  • Added BinaryFileConverter

  • Added ILookupReference interface

  • Added ExecuteQueryReason

Configuration

  • Added IVidyanoConfiguration.ApplicationWebsiteRoot as fallback WebsiteRoot

  • Added AsyncFlow.IsWeb2OrGreater

Helper Methods

  • Added SetChangedValue(WithRefresh)

  • Expose RepositoryVerboseLogStore.SwapResponseBodyBack

Fixes

  • Handle /api call with invalid request ContentType

  • Don't set new string property to "" if nullable

  • Allow referenced properties from other assemblies

  • Allow changed attribute names directly for UpdateCalculated

Maintenance

  • Removed .NET 5.0 support

  • XML comment ambiguous reference fixes

  • Prefer new() calls

  • Word nullability improvements

  • Updated packages

  • Datadog: Added Heartbeat, extended hooks (breaking change)

February 2022

New Features

Azure Storage

  • Azure storage added more places to retry before failing

  • Improved retry logic

Value Objects

  • Added ValueObjects.PreferFullRootId

  • Sample code for handling root property on value objects

API Security

  • Added ApiArgs.GenerateSignedRequest helper

  • Make sure we use the same logic for IsValidSignature

Fixes

  • Fixed issue #314

  • Fixed issue #323

  • Fixed issue #325

  • IExceptionService tweaks

Maintenance

  • Nullability improvements

January 2022

New Features

.NET 6 Features

  • .NET 6 typed headers support

  • Prefer .NET 6.0 one-shot methods where possible

Azure Storage

  • Added AzureStorageContainer

  • Better Azure storage integration

Builder Support

  • Allow TranslatedString for builder

Fixes

  • Fixed ApiArgs.IsValidSignature

  • Fixed issue where POA.SortExpression has other type

  • RavenDB enum searching fixes

  • RavenDB: Always set obj.ObjectId after storing in context

Maintenance

  • IHostApplicationLifetime is a singleton

  • Show extra info when IUpdatableLog is in progress

  • Comments Web² vs web 3

  • Performance fix Manager.GetTranslatedMessage without args


Note: Commits marked with (test) or [skip ci] have been excluded from this changelog as they are internal testing commits.

Was this helpful?