changelog.txt

2026.3.16.950
    - Fixed the "default domain" logic always applying, even when a domain was specified. This made
      it impossible to specify a domain.
 
2026.3.13.1714
    - Delete-GreenRadiusOathToken
        - Fixed it not working at all due to a typo.
        - Fixed it not working at all due to an error in translating over the -Force parameter.
    - Delete-GreenRadiusYubikeyToken
        - Fixed it not working at all due to an error in translating over the -Force parameter.
 
2026.3.13.1640
    - Fixed yet another bug where multiple servers are specified. The "break" instruction was being
      applied to the switch statement, instead of the outer loop through the server list. I learned
      about loop labels today.
    - Fixed the error message that is suppoesd to appear when the server returns an unusual status
      code.
 
2026.3.13.1442
    - Get-GreenRadiusAuthenticationRecords
        - Fixed a bug where only the first server's logs would be stored in the variable.
 
2026.3.13.1359
    - The connectivity tests in Connect-GreenRadiusAPI and Set-GreenRadiusAPI now check all servers
      specified.
    - The previous update added support for multiple servers, but only one function
      (Get-GreenRadiusAuthenticationRecords) actually utilized it. With this new update, even
      single-server functions can utilize a list of multiple servers: if connectivity to one server
      fails, then the next server in the list will be tried.
 
2026.3.12.1828
    - Added changelog.txt
    - Moved licensing information to the bottom of ps1 files, outside of the actual function code
    - Moved Invoke-RestMethod and surrounding logic to a helper function shared between all
      functions
    - Added -Server parameter to most functions. Can be used to override the server(s) to which the
      API query should be sent.
    - Added "default domain" logic to functions that accept usernames as arguments. The default
      domain is set in the Connect-GreenRadiusAPI call, and can be changed via Set-GreenRadiusAPI.
      If no default domain is specified during Connect-GreenRadiusAPI, then the domain to which the
      current computer is joined will be used. The fallback to the computer's domain requires use of
      Connect-GreenRadiusAPI and does not occur with Set-GreenRadiusAPI.
    - Connect-GreenRadiusAPI
        - Added the -DefaultDomain parameter. Most other functions that accept usernames as inputs
          will, if no @ symbol is specified, append the domain specified here. The notable exception
          is the -Regex parameter of Get-GreenRadiusBlockStatus.
        - The function will send an empty request to the API to verify connectivity, password, etc.
        - Now supports multiple servers, if passed an array of strings to -Hostname.
        - Added -RateLimitPauseTime parameter
    - Set-GreenRadiusAPI
        - Renamed from Set-GreenRadiusServer
        - Added the -DefaultDomain parameter, similar to Connect-GreenRadiusAPI
        - Changing the server will run a test connection, similar to Connect-GreenRadiusAPI
        - Now supports multiple servers, if passed an array of strings to -Hostname.
        - Added -RateLimitPauseTime parameter
    - Get-GreenRadiusTokenAssignment
        - Renamed from Get-GreenRadiusTokenAssignments
    - Get-GreenRadiusAuthenticationRecords
        - Added support for multiple servers being queried simultaneously.
        - The sorting logic is now applied by Powershell if multiple servers are queried.
        - Added a warning if a server returns exactly 10,000 records, indicating that the results
          were likely truncated.
 
2026.2.11.1654
    - Get-GreenRadiusTokenAssignments
        - Added 'oath-totp' and 'oath-hotp' as valid arguments for the -TokenType parameter. These
          are alternatives to 'totp' and 'hotp' respectively.
 
2026.2.11.1451
    - The -RawRequest and -RawResponse parameters didn't work once the functions were made into a
      module. Changed the -Scope parameter of Set-Variable to Global to resolve this.
 
2026.2.9.1446
    - Initial release