Skip to content

Tags: CSOIreland/Server-API-Library

Tags

8.0.0-RTM

Toggle 8.0.0-RTM's commit message
8.0.0 entra SSO release

- [ENHANCEMENT] added support for entra SSO login
- [ENHANCEMENT] upgrade to .net8  log for JWKS success
- [ENHANCEMENT] packages updated to latest vesion
- [BUGFIX] moving response content length to correct if statement
- [BUG FIX] JSONRPC AND RESTFUL threw exceptions if ParseError used in certain scenarios
- [BUG FIX] removed unnecessary instantiation of EntraTokenAuthentication()
- [ENHANCEMENT] log4net updated to 3.1.0
- [ENHANCEMENT] cache external JWKS once recevied and fail back to cached copy if unable to get latest copy
- [ENHANCEMENT] added first business phone record from graph api
- [ENHANCEMENT] EnyimMemcachedCore updated to 3.4.0
- [ENHANCEMENT] update Console/ConsoleConfiguration.cs -> AddApiLibrary to allow for optional packages to be added at runtime
- [ENHANCEMENT] Added GetStatsDictionary to return a Dictionary of memcache stats
- [BUG FIX] memcache works with a DNS name
- [ENHANCEMENT] allow machine to machine authentication using entra SSO tokens
- [ENHANCEMENT] Added filename to byte[] streamed output
- [ENHANCEMENT] remove transaction on trace insert
- [ENHANCEMENT] dont log for OperationCanceledException
- [ENHANCEMENT] changing error logs to info logs for jsopnrpc exceptionns for malformed json
- [ENHANCEMENT] added attribute used for identity within the API when an external ENTRAID token that is a service account
- [BUG FIX] memcache fix for on startup when node is not available. Note: appsettings.json memcached times need to be low enough to allow app to startup in time
- [ENHANCEMENT] a white list of endpoints that can be access is now recorded
- [ENHANCEMENT] a list of assemblies for reflection can now be supplied otherwise all assemblies have to be iterated through
- [ENHANCEMENT] removing head as an allowed endpoint from APISettings

7.0.16-RTM

Toggle 7.0.16-RTM's commit message
7.0.16

- [ENHANCEMENT] updated Microsoft.Extensions.DependencyInjection to 9.0.0
- [ENHANCEMENT] updated System.Diagnostics.PerformanceCounter to 9.0.0
- [ENHANCEMENT] updated System.DirectoryServices.AccountManagement to 9.0.0
- [ENHANCEMENT] updated Microsoft.Extensions.Logging to 9.0.0
- [ENHANCEMENT] change parse request from fatal logs to error logs
- [ENHANCEMENT] change MemCacheD ValidateExpiry to log errors if changing cache expiry times rather than info
- [ENHANCEMENT] created 3 new appsettings properties
  > int API_CACHE_LOCK_POLL_INTERVAL { get; }
  > string API_CACHE_LOCK_PREFIX { get; }
  > int API_CACHE_LOCK_MAX_TIME { get;}
- [ENHANCEMENT] added GetSHA256 (copy of function in utility.cs) function to memcached class
- [ENHANCEMENT] created custom configuration exception
- [ENHANCEMENT] created private function metaCacheLock
- [ENHANCEMENT] create new Get_BSO_WITHLOCK functionality for cache stampede protection
- [ENHANCEMENT] create new Store_BSO_REMOVELOCK functionality for cache stampede protection
- [ENHANCEMENT] added cache tracing for cache lock
- [ENHANCEMENT] updated api cache trace table
- [ENHANCEMENT] added 2 new values to MemCachedD_Value class
  > decimal cacheLockDuration
  > bool cacheLockUsed
- [ENHANCEMENT]  validated config for memcache on application pool startup
- [ENHANCEMENT] added new cache_lock_settings block to cachesettings block of appsettings.json with new keys
"CacheSettings": {
  "API_MEMCACHED_SALSA": "apd_test1_3",
  "API_MEMCACHED_MAX_VALIDITY": "2592000",
  "API_MEMCACHED_MAX_SIZE": "128",
  "API_MEMCACHED_ENABLED": true,
  "API_CACHE_TRACE_ENABLED": true,
  "API_CACHE_LOCK_POLL_INTERVAL": "1",
  "API_CACHE_LOCK_PREFIX1": "LCK",
  "API_CACHE_LOCK_MAX_TIME": "10",
  "API_CACHE_LOCK_SETTINGS": {
  "API_CACHE_LOCK_ENABLED": false,
  "API_CACHE_LOCK_POLL_INTERVAL": "1",
  "API_CACHE_LOCK_PREFIX": "LCK",
  "API_CACHE_LOCK_MAX_TIME": "30"
  }
},
- [ENHANCEMENT] REMOVED  public static CacheSettings CacheSettings; from apiserviceshelper

7.0.15-RTM

Toggle 7.0.15-RTM's commit message
7.0.15 release

      - [ENHANCEMENT] added argon2 sha256 methods -- GetArgon2SHA256 and VerifyArgon2SHA256
      - [BUG FIX] moved where  trace.TrcRequestVerb = requestMethod; as if blockedurls used then verb wouldn't be set
      - [BUG FIX] updated GatherTraceInformation to  take in an IRequest interface and check the interface type to determine the parameters
      - [ENHANCEMENT]  upgraded EnyimMemcachedCore from 3.2.1 to 3.2.3
      - [ENHANCEMENT] upgraded Microsoft.Extensions.DependencyInjection from 8.0.0 to 8.0.1
      - [ENHANCEMENT] upgraded Microsoft.Extensions.Logging from 8.0.0 to 8.0.1
      - [ENHANCEMENT] upgraded System.Diagnostics.PerformanceCounter from 8.0.0 to 8.0.1
      - [ENHANCEMENT] upgraded System.DirectoryServices.AccountManagement from 8.0.0 to 8.0.1

7.0.14-RTM

Toggle 7.0.14-RTM's commit message
7.0.14 release

     - [ENHANCEMENT] updated code to allow application pool to start if memcache is unavailable
     - [ENHANCEMENT] removed ApplicationLoaded flag from api as if there is no API config loaded on application startup then let an exception be thrown that is not caught
     - [ENHANCEMENT] updated ICacheConfig to allow API_MEMCACHED_ENABLED to be set in Code
     - [ENHANCEMENT] updated MemCacheD constructor to have the stats query within try catch Block
     - [ENHANCEMENT] updated ConsoleConfiguration.cs to remove ApplicationLoaded flag
     - [BUG FIX] updated ReadJSONSettings to return null if the version that is being looked for is not there

7.0.13-RTM

Toggle 7.0.13-RTM's commit message
upgraded microsoft.data.sqlclient to 5.2.2

      - [LIBRARY UPDATE] upgraded microsoft.data.sqlclient to 5.2.2

7.0.12-RTM

Toggle 7.0.12-RTM's commit message
7.0.12 allow json config files to have strings or json objects

- [ENHANCEMENT] allow json config files to have strings or json objects using CombineSectionValues function

7.0.11-RTM

Toggle 7.0.11-RTM's commit message
7.0.11 - restored microsoft.data.sqlclient to correct version

restored microsoft.data.sqlclient to correct version

7.0.10-RTM

Toggle 7.0.10-RTM's commit message
7.0.10 release

      - [ENHANCEMENT] refactored configuration insert to deployupdate table
      - [ENHANCEMENT]  removed scoped ADO as never used
      - [ENHANCEMENT]refactored to use a using statement
        > using var performanceCollector = new PerformanceCollector();
        > using var cancelPerformance = new CancellationTokenSource();
        > using var apiCancellationToken = new CancellationTokenSource();

7.0.8-RTM

Toggle 7.0.8-RTM's commit message
7.0.8 release

7.0.8 release => [ENHANCEMENT] added referrer and content length to api trace
 7.0.7 release => [ENHANCEMENT] check that restful, head and static statuscodes for return are valid

7.0.6-RTM

Toggle 7.0.6-RTM's commit message
7.0.6 release

[BUG FIX] trace method and params not being recorded if cache trace disable
[ENHANCEMENT] changed when trace gets its correlationID
[ENHANCEMENT] removed threadAbortException as performance thread abort is handled in its own try catch. removed from middleware,static, jsonrpc and RESTful
[BUG FIX] added try catch around dictionary tryadd function use
[ENHANCEMENT] improved logging for jsonrpc and restful requests
[BUG FIX] returnResponseAsync now raises OperationCanceledException rather than TaskCanceledException
[ENHANCEMENT] wrap performance thread creation in existing try catch block
[BUG FIX] change from sending e.message to "Bad Request" in restful and static exception response
[ENHANCEMENT] changing attribute dictionarys to be ConcurrentDictionary