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
Date Search
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
Navigation System
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?