Skip to content

Releases: CSOIreland/Server-API-Library

5.1.1 RTM

01 Sep 09:39
Compare
Choose a tag to compare

> updating packages that had security vulnerabilites

[ENHANCEMENT] System.net.http.4.3.0 -> 4.3.4
[ENHANCEMENT] System.Text.RegularExpressions.4.3.0 -> 4.3.1
[ENHANCEMENT] log4net.2.0.8 -> 2.0.15

5.1.0 RTM

28 Oct 14:24
Compare
Choose a tag to compare

[ENHANCEMENT] Support for HEAD request added

[ENHANCEMENT] ADO for AD/SQL connection added

Support for active directory authentication when using SQL server is now available.

5.0.0 RTM

19 May 09:25
Compare
Choose a tag to compare

N.B. You must implement the required changes as per Issue #21 to make the upgrade backward compatible.

[ENHANCEMENT] Implement an IADO interface #20

[ENHANCEMENT] Secure public API access #21

Following the implementation of interfaces, such as the IADO, it is now required to specify which public API methods must be granted Web access.

  • The new attribute AllowAPICall has been created and must to added to every public API methods that require Web access.

[ENHANCEMENT] Google Firebase Authentication integrated #22

4.6.0 RTM

27 Jul 21:01
Compare
Choose a tag to compare

[ENHANCEMENT] Add script to create default database #14

[ENHANCEMENT] Change default IsolationLevel in ADO.StartTransaction #13

Consider setting the Is Read Committed Snapshot On to TRUE in the SQL Server Database options and use the default parameter in the API.ADO.StartTransaction() method to achieve better database performance.

[ENHANCEMENT] Extend Active Directory to return Manager property #10

  • Add the API_AD_CUSTOM_PROPERTIES key in all Web.config files and set your custom properties comas separated i.e. "Manager, Other"
<!-- Active Directory - Custom Properties (comas separated, case sensitive) -->
<add key="API_AD_CUSTOM_PROPERTIES" value="" />
  • Follow the next step only if you wish to implement your custom AD (Active Directory) properties
  • Implement your extended UserPrincipal query filter using the following template per each property you wish to add (i.e. Sample):
    [DirectoryRdnPrefix("CN")]
    [DirectoryObjectClass("Person")]
    public partial class UserPrincipalExtended : UserPrincipal
    {
        public UserPrincipalExtended(PrincipalContext context) : base(context) { }

        
        // Create the "Sample" property.    
        [DirectoryProperty("sample")]
        public string Sample
        {
            get
            {
                if (ExtensionGet("sample").Length != 1)
                    return string.Empty;

                return (string)ExtensionGet("sample")[0];
            }
            set { ExtensionSet("sample", value); }
        }
    }
  • Just pass your type UserPrincipalExtended to the API.ActiveDirectory.Search() or API.ActiveDirectory.List(). If no type is passed, the default UserPrincipal type is used:
var userDetails = API.ActiveDirectory.Search<UserPrincipalExtended>("xxxxxxxx");
var allDirectory = API.ActiveDirectory.List<UserPrincipalExtended>();

4.5.0

29 Jun 19:56
Compare
Choose a tag to compare

[ENHANCEMENT] Implement API.Static interface #11

Add the following verb to the Web.config in the handlers directive:

<handlers>
  ...
  <add verb="GET,POST" path="api.static" name="API.Static" type="API.Static" />
</handlers>

4.4.1

19 Apr 17:14
Compare
Choose a tag to compare

[ENHANCEMENT] Improve JSON deserialize performance for large strings #7

Add the following key to the Web.config and set the value of API_MEMCACHED_MAX_SIZE to the pre-set limit during the Server Side installation process (usually 128)

<!-- MemCacheD - Set the max size in MB before splitting a string record in sub-cache entries -->
<add key="API_MEMCACHED_MAX_SIZE" value="128" />

[ENHANCEMENT] Allow large objects over 2GB in memory #6

Diff & Merge the Web.config to add the required Runtime configuration

<runtime>
    <gcAllowVeryLargeObjects enabled="true" />
</runtime>

[ENHANCEMENT] Add database selection for Performance monitor #5

Add the following key to the Web.config and set the value of API_PERFORMANCE_DATABASE to the chosen connectionString

<!-- Performance - Choose the Database connection string where to store the records -->
<add key="API_PERFORMANCE_DATABASE" value="defaultConnection" />

4.4.0

15 Feb 15:33
Compare
Choose a tag to compare
  • Class API.TwoFA implemented for handling 2FA (Two-Factor Authentication) algorithm.
  • API Session Cookie implemented for both API.JSON-RPC and API.RESTful. Add the API_SESSION_COOKIE key into the Web.config
  • Method API.ActiveDirectory.IsValidPassword implemented
  • Method API.Utility.GetRandomMD5 implemented
  • Method API.Utility.GetRandomSHA256 implemented
  • Method API.ReCAPTCHA.Validate fixed by logging at the INFO level rather than FATAL when the ReCAPTCHA does not validate

4.3.2

13 Jan 07:55
Compare
Choose a tag to compare
  • API.Performance Class fixed when the Web.config key API_PERFORMANCE_ENABLED is FALSE

4.3.1

30 Nov 23:34
Compare
Choose a tag to compare
  • Method Utility.GetUserAgent fixed when no user-agent is available (null).
  • Aborting a response fixed when issuing an error by raising an exception.

4.3.0

20 Nov 13:01
Compare
Choose a tag to compare

API.Performance implemented to collect server performance indicators:

  • Add the API_PERFORMANCE_ENABLED key in the AppSettings of the Web.config
  • If you enable this new feature, then you must complete first the following steps:
    • Create the table TD_PERFORMANCE in you database by running the SQL script available at root/db/td_performance.sql
    • Add your Application pool in IIS (i.e. XXXXXX) to the Performance Monitor Users group.

How to add an Application pool to the Performance Monitor Users group.

  • Change the Location to be the local Server
  • Add the user by typing IIS APPPOOL\XXXXXX and click on Check Names to validate.

image

  • Open the Command Line or PowerShell as Administrator.

image

  • Run iisreset for all changes to take immediately effect.

image