Changelog 2017
December 2017
New Features
SCIM 2.0 & Azure AD SAML SSO
Implemented SCIM 2.0 Service Provider
Added Azure AD SAML SSO support
Enterprise identity management integration
Reports Security
Added Report Access/Compromised tracking
Report security improvements
PowerShell examples for reports
Fixes
Fixed issue #139
Fixed builder issue when vidyano project is inside solution folder
NoDatabase issue with security.json file with groups
Fixed some issues when switching between Verbose modes
Fixed issue when report is accessed behind proxy (e.g., CloudFlare)
Maintenance
Added sync option for hidden attributes and detail queries
Changed default project web.config
Extended verbose logging
Updated EF to 5.2.0
Fixed EOL for POAReference file
Updated reports help documentation
Reports issues fixes
Constants for string array allocations
Fixed multi-threading issue with UpdateLastLoginDate
November 2017
New Features
Advanced Hooks
Added Advanced ACS hook to passthrough a custom domain
Added hook to customize index.html for websites
Changed BlacklistedPasswords to IsPasswordBlacklisted
User Management
Allow User/NullableUser data type for String property
Fixes
Fixed issue #131
Fixed issue #103
Fixed issue with changes to custom settings not showing until restart
Fixed issue when throwing new ValidationException
Fixed patch importing
Maintenance
Made POA.GroupName setter public
Added DEV indication for exception
Added application start time
Extended GetReport xsd information
ACS dev messages
Handle Accept request header for reports
Prefer DbContext.SaveChanges for PersistChanges
Skip updating security.json when deleting user with rights
Added logging when report is accessed insecurely
Don't verbose log outgoing content for GetReport/Api
Insecure report tweaks
Added InstantSearchArgs.AddRepository
October 2017
New Features
User Management
Added IUser.IsEnabled/Enable()/Disable()
User enablement/disablement functionality
Query Actions
Added QueryAction enum with built-in query actions
Better query action organization
Fixes
Fixed issue #121
Fixed issue #122
Fixed issue #125 - Manager.DeleteUser
Fixed issue with ExecuteAction through form using 100% CPU in chrome
Fixed issue with Query UserRight not having filter
Fixed issue with newly created user not loading groups
Fixed issue with new user having Users groups twice
Fixed NRE when using inprocess http handler
Maintenance
Allow API/Instant request using default user
Excel changes
Added property order overrides for json serialization
Also order POAWR and POAAD
Keep original CanPopulateAttributeValues when calling PO.SaveDetails
Extra logging during cache update handling
Added default/cancel options for RetryAction
Update group cache item
Refresh rights queries when saving/deleting right
Changed GenerateLocalAuthToken to use same long expiration as staysignin
Changed TypeCache IsAnonymous lazy mode
Extra rights
September 2017
New Features
Per-Query User Rights
Added support for per query user rights
Introduced Query.HasRight
Extended UserRightActions to support per query user rights
IUpdatableLog (#105)
Added IUpdatableLog interface
Better log management
Action Labels (#109)
Added PO/Query ActionLabels
Better action organization
Anonymous Queries
Added support for anonymous queries
Made Report.Token optional
Fixes
Fixed issue #99 - salted PO
Fixed issue #101 and #102
Fixed issue with signing in using ACS for non-sliding auth token (#97)
Fixed issue when trying to delete Log/Feedback
Fixed issue with anonymous projection on EF queryable
Fixed CodeFirst issue with new project
Fixed issue with newly created user not loading groups
Maintenance
Made email part of feedback async
Made request reading async/await
Added feedback hooks
Don't send Initial PO for default user
Don't allow viImpersonate on Group
Added LoginArgs for forward compatibility
Better detection for Code First mapped types
Fixed viImpersonate not working on PO
Request all known html files when a new version is requested
Extra logging for Web2Cdn + disable flag
Also use admin password for User user in new project
Made ImageUtils public
Handle ACS token validation through proxy
Don't show newoptions on ServiceAction' Rights query
Ignore RetryActionException when logging
Also show innerexception for UpdateException/DbUpdateException
Use same logic for decimal.ToServiceString() as client
Fixed issue with AutoCreateUsersInGroup on Security PO
New CDN appSetting
August 2017
New Features
Security Enhancements
Security architecture documentation
Security audit overview
Changed security screen to be more compact
Disable sliding auth token by default
Doubled auth token expiration days (and made configurable)
Preview Loading
Added PreviewLoadArgs.HandleAsNew method
Better control over preview loading
Fixes
Fixed issue #87
Fixed issue #89
Fixed issue #91
Fixed issue with DefaultPersistentObjectActions being used for Vidyano
Fixed issue with ?id=X not working for api methods
Fixed issue when TranslatedString attribute doesn't return json but returns string
Maintenance
Handle NRE for #83 when no responses are defined
Detect ComplexType as mapped classes
Missing updated seeder hash
July 2017
New Features
Password Security
Updated password recommendations
Better password handling
Query Options
Added option to skip computing of total items
Better query performance
Developer Actions
Added viDuplicate dev action
Fixes
Fixed issue #33
Fixed issue #70
Fixed issue #72
Fixed issue #76
Fixed issue #77
Fixed issue #78
Fixed issue #79
Fixed issue #82
Fixed issue #83
Fixed issue #85
Fixed issue #86
Fixed issue with New Group still being added to patches
Fixed issue with distincts on asLookup query
Fixed issue with Random not being threadsafe
Maintenance
Consistent handling of TargetInvocationException
Log unhandled api errors
Added remark for Advanced.HandleForgotPassword
Added some extra information to exceptions
Allow loading of QueryFilters PO for Query
Throw error instead of set notification when ReOrder fails
More information for "Failed upgrading repository metadata."
Make sure we set new parent on detail attributes before checking rules
Added comment that POActions.Where is used for FindByObjectId
Don't show unselectable groups
Added xml comments to explain which claims are used for UnknownUser
Handle include filters when query is being added/removed during OnLoad
Use args for HandleSwaggerMetadata
June 2017
New Features
Forgot Password & Registration
Added ability to define Register PO and handle Forgot password
Better user onboarding
Detail Rules
Added CheckDetailRules for improved check rules on Detail attribute
Fixes
Fixed issue #53
Fixed issue #66
Fixed issue #67
Fixed issue when adding language and no microsofttranslatorappid exists
Fixed issue with custom query with other TEntity not using DefaultPOA
Fixed issue when Native client connects to a production environment
Fixed NoDatabase issue with filters
Fixed invalid query sortoptions for query reports
Maintenance
Changed .Legacy target framework to 4.5
C# 7 refactor throughout
Don't initialize PO ActionCodes/HelpSet to empty collection
Added some reserved words for program unit names/routes handling
Added .NET 4.7 detection
Updated available type hints for attributes
Partial fix for #69
Updated NuGet dependencies (JSON.NET/OpenXml)
Performance fixes
May 2017
New Features
API Methods
Allow Async suffix for api methods
Better async support
Advanced Features
Added Advanced.HandleUnobservedTaskException method
Azure Storage
Fixed AzureTableQuery issue in obfuscated builds
Fixes
Fixed issue with IUser.Profile[] returning Settings data
Fixed issue when AutoQuery is enabled during OnConstruct(query, parent)
Fixed issue with Null JToken on ToServiceString
Fixed issue with TypeConverter and Enum
Maintenance
Don't block application start when cleanup of CacheUpdates/Logs fails
Respect developer CanSort options for existing user sort options
C# 7 refactor
Don't add Queries to Word PO when PO IsNew
Comment about limits
Updated TypeScriptToolsVersion to 2.2
Allow direct GetPersistentObject isNew call
Changed WebAPI path registration name
Throw error when report' userId no longer exists
Use TypeConverter for From/ToServiceString
Don't show outdated model message when model hash is IGNORED
Allow changing of IUser.Profile
Use default .ToString for enums for .ToServiceString
April 2017
New Features
Azure Storage
Added AzureStorageAccount helper class
Use Azure storage REST API
Improved AzureStorageConnector
Developer Actions
Added viRestartWebApp action
Added viRegenerateToken action
Date Filters
Added LastXDays filter for dates
Better date filtering
Fixes
Fixed issue #1
Fixed issue #24
Fixed issue #55
Fixed issue #56
Fixed issue #58
Feature detect Jurassic dependency
Fixed initialization error for new projects
Maintenance
C# 7 refactor throughout
Improved performance when searching verbose logs on Created on
Removed obsolete Instant PO
Marked ConvertFromCommonMark obsolete
Updated EntityFrameworkPerformanceAnalyzer package
Performance tweak for GetEntitiesForDeletion
Clean up todos
Made Website.Label not required
Report tweaks
Allow removal of model.Templates
Allow content-type for SAS
Don't put dev only actions in model.json
Don't send authtoken for default user for security reasons
Tweaked viRegenerateToken action
Show unmapped column that couldn't be sorted on
Moved legacy Web logic to separate assembly
Added AddSorted for ICollection
Calculate CultureOptions once
More boolean filter values
Fixed issue with web2 vulcanize resource only having read access
Disable viRegenerateToken when Token is read only
Fixed issue with Read right being required for OnPreviewAction
March 2017
New Features
Instant Search (#46)
Added instant search functionality
Added input validation for instant search methods
Web2 CDN
Introduced local cache for Web2 CDN requests
Client version change notifications
Per website web2 version support
API Features
Added ApiMethod.NeedsAuthentication
Allow Vidyano Setting overrides using AppSettings
Fixes
Fixed issue with empty column for csv reports
Fixed issue with empty language value not being set if same as English
Fixed issue with some translations being incorrectly reused
Fixed issue with settings during NoDatabase synchronize
Maintenance
Added Advanced.Poll hook
Only check Web2Version setting if ManagerImplementation is Initialized
Removed tag for new web components
Also show overridden settings in custom settings query
Changed new website template to use https for google fonts
Added ConfigureAwaitChecker Analyzer
Resharper: Allow vi prefix in methods
Added instant search docs
Added override vidyano settings docs
Don't check for new repository version when using NoDatabase
Show correct exception when NoDatabase RepositorySynchronizer fails
Show websites web2 version in diagnostics
Added ValueTuple package in Test project
Added more EditorBrowsable hints
Enabled C# 7 for ReSharper
Refactor: Split Query related POActions methods in partial file
Refactor SaveNew/SaveExisting
Reduced Web2Cdn versionLock
Made refactored methods protected for SaveNew/SaveExisting methods
Added ReferencePOActions example
Renamed POActionsReference
Include POActionsReference in NuGet package
Use C# 7 Roslyn compiler for building NuGet package
Tweaked POActionsReference
Ensure that VidyanoDbCache always has all the system settings
Refactor for C# 6/7 language features
Hide Query.GroupedBy
Fixed #10
Updated Add POActions wizard
Fixed issue when POActionsReference is used on new project
Changed exception for OnAddReference/OnRemoveReference without parent
Don't try to add missing ignored system settings for NoDatabase
February 2017
New Features
Export to CSV (#27)
Added CSV export functionality
Better data export options
Advanced Features
Added Advanced.PostFeedback
Better feedback handling
Fixes
Fixed issue #28
Fixed issue when using Manager.GetPersistentObject not passing correct ObjectId when changed
Fixed issue with exception in custom Web class constructor not being logged correctly
Fixed issue with translations query not working after adding new lang
Fixed issue with invalid csv being generated
Maintenance
Made IOffset public
Added release notes
Tweaked default .tsconfig
Fixed builder issues with new semantic versioning
Updated release notes style
Added glossary
Removed QueryResultItem.Breadcrumb
Changed CORS handler to allow origin *
January 2017
New Features
User Management
Added Manager.GetUsersForGroup
Better group management
PersistentObject Methods
Added PO.RemoveAttribute/AddQuery/RemoveQuery
More flexible PO manipulation
ServiceAction
Added ServiceAction.KeepSelectionOnRefresh
Better UI state management
Fixes
Fixed issue #23
Fixed issue when bulkediting POs
Fixed issue with bulkediting UserRights
Fixed issue with CreateTransactionScopeForAction not working with profiler
Fixed issue with new DataType not saving correctly
Fixed issue with POAWR on old ui
Fixed issue with new language being kept on error
Fixed issue with bulk edit on POA
Fixed issues when editing user rights
Maintenance
Changed TargetFramework to 4.5.2 (then back to 4.5)
Use NuGet for DocumentFormat.OpenXml (#19)
Missing translations
Fixed xml documentation on CreateTransactionScopeForAction
Updated usage for Effort
Don't fail on AddUserToGroup if user is already in that group
WIP for #22
Hide old type hints for Web2 client
Use base interface to discover DbSet/ObjectSet
Removed unneeded converting to and from base64 #25
Fixed issue with invalid version being used for comparison
Show better exception when enumerable can't be sorted
Performance tweak when filtering reference attribute
Not so private
Note: 2017 was a massive year with 400 commits focusing on C# 7 refactoring, security enhancements, SCIM 2.0 implementation, instant search, Web2 CDN improvements, and numerous performance optimizations.
Was this helpful?