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?