0.3.10 - (2023-03-21)
- Resolved bug where Get-SchoolScheduleMeeting returned an error after DST begins in timezones that practice advancing clocks during warmer months.
- New Endpoint: Get-SchoolUserAddressType
- New Endpoint: Get-SchoolUserAddress
- New Endpoint: New-SchoolUserAddress
- Updated links in README to Blackbaud API documentation as the documentation website had slightly changed structure.
- A few minor example and built-in help updates, clarifications, and typo fixes.
- Removed the 'links' parameter from New-SchoolUserPhone as Blackbaud never actually implemented this feature in the endpoint and updated their documentation. See the February 28, 2023 Education Management API changelog for further information.
Author: @Sekers
0.3.9 - (2023-03-06)
- New Endpoint: Get-SchoolSession
- New Endpoint: Get-SchoolResourceBoard
- 'Get-SchoolAssignmentBySection' & 'Get-SchoolScheduleMeeting' now allow spaces in the types/offering_types parameters.
- New Example Script: Blackbaud SIS Teacher Schedules to Google Calendar CSVs. Creates importable Google Calendar schedules for faculty from the Blackbaud School Envirionment.
- Built-in help updates regarding necessary permissions to access some endpoints (Blackbaud loosened the requirements on a bunch of general information ones).
Author: @Sekers
0.3.8 - (2023-02-13)
- Resolved bug where Get-SchoolScheduleMeeting returned duplicate events every 30th day of the requested range.
Author: @Sekers
0.3.7 - (2023-02-02)
- Beta cmdlet/function Get-SchoolScheduleMeeting now returns meeting start/end times in UTC so that there are no time zone issues. See the built-in help or examples file to see ways to convert to the local time or a specific timezone.
- Worked around a time zone bug in the beta API endpoint used by Get-SchoolScheduleMeeting so that the cmdlet/function always correctly handles Daylight Saving Time adjustments.
- New Endpoint: Get-SchoolTimeZone
- Get-SchoolScheduleMeeting now accepts the following new option parameter values: section_ids & last_modified.
- Updated the included Microsoft Edge WebView2 control to version 1.0.1518.46.
- With this new version of the WebView2 control, we can now use the control to natively clear the browser cache. If the version of the Edge WebView2 runtime installed on the computer (this is different than the WebView2 control included with the module) is too old, the SKYAPI PowerShell module will use the old method of deleteing the entire WebView2 control's profile for the user account used by the process.
- Minor fixes, such as the ability to handle certain transient errors returned by the API servers.
Author: @Sekers
0.3.6 - (2023-01-19)
- HOTFIX: Resolved issue where error was presented on some endpoints when DateTime fields are returned empty.
Author: @Sekers
0.3.5 - (2023-01-19)
- Resolved issue with the 'dob' parameter in the Update-SchoolUser function so it accepts a string.
- Fixed a format issue with the response of Get-SchoolSectionByStudent.
- Most endpoints now support the optional 'ReturnRaw' switch parameter to return the original JSON response from the Blackbaud SKY API. Otherwise, they will usually return the data in a custom PSObject or Hashtable object that has a property for each field in the JSON string.
- New optional 'ConvertTo' parameter for Get-SchoolList that tells the function to instead return the list collection results as an Array of PowerShell objects rather than the wonky, hard-to-work-with, way the API returns list results collections.
- New Endpoint: Get-SchoolAssignmentBySection
- New Endpoint: Get-SchoolAssignmentByStudent
- New Endpoint: Get-SchoolCycleBySection
- New Endpoint: New-SchoolUserOccupation
- Created an internal function to try and correct issues with the way DateTime fields are improperly handled by the API until Blackbaud resolves the problems.
Author: @Sekers
0.3.4 - (2022-12-05)
- Stopped sending an erroneously sent parameter to the Get-SchoolList Blackbaud SKY API endpoint. It doesn't affect anything but is unnecessary.
- Made the 'number' & 'type_id' parameters of the New-SchoolUserPhone function mandatory as the API endpoint requires them.
- Module now works with DELETE endpoints, thus allowing for REMOVE-* PowerShell functions against the SKY API.
- All functions/cmdlets have comment-based help (i.e., Get-Help [FunctionName]).
- All functions/cmdlets now have consistent positional parameter values for all non-dynamic parameters.
- New Endpoint: Get-ReConstituentRatingSource
- New Endpoint: Get-ReConstituentRelationshipType
- New Endpoint: Get-ReConstituentSuffix
- New Endpoint: Get-ReConstituentTitle
- New Endpoint: Get-SchoolEnrollment
- New Endpoint: Get-SchoolUserEmployment
- New Endpoint: Get-SchoolUserGenderType
- New Endpoint: Remove-SchoolUserRelationship
- New Endpoint: Set-SchoolUserRelationship
- Fixed the casing of some passed/passthru parameters to the Blackbaud SKY API lowercase to match the API documentation as they had accidentally been made camelcase like non-API passed parameters.
Author: @Sekers
0.3.3 - (2022-11-26)
- Module now works with POST & PATCH endpoints, thus allowing for NEW-* & UPDATE-* PowerShell functions against the SKY API.
- New Endpoint (Beta): Get-SchoolUserMe
- New Endpoint: Get-SchoolUserOccupation
- New Endpoint: Get-SchoolUserRelationship
- New Endpoint: Get-SchoolVenueBuilding
- New Endpoint: Get-SKYAPIContext > Returns cached information about the current connection to the Blackbaud SKY API.
- New Connect-SKYAPI Parameter: ReturnConnectionInfo. Returns values when verifying the cached SKY API connection information.
- Made all function/cmdlet names consistent as singular (and some other adjustments) & removed the 'List' keyword from function names (as Blackbaud has moved away from using that descriptor and it's also unnecessary). The old function names are kept as aliases so there are no breaking changes due to these renames.
- Finished renaming all internal functions to prevent any naming conflicts with other modules.
Author: @Sekers
0.3.1 - (2022-11-24)
- Resolved erroneous error message that sometimes appears when using New-SchoolUserPhone.
Author: @Sekers
0.3.0 - (2022-11-24)
- Made the Connect-SKYAPI ClearBrowserControlCache parameter available only if ForceReathentication is used.
- When the Connect-SKYAPI ClearBrowserControlCache parameter is used, it will no longer return an error if the WebView folder doesn't exist.
- Removed Write-Verbose message from the Get-SKYAPIConfig function that was accidentally left in the code.
- Module now works with POST & PATCH endpoints, thus allowing for NEW-* & UPDATE-* PowerShell functions against the SKY API.
- New Endpoint: Get-SchoolUserPhoneList
- New Endpoint: Get-SchoolUserPhoneTypeList
- New Endpoint (Beta): Get-SchoolScheduleMeetings
- New Endpoint: New-SchoolEventsCategory
- New Endpoint: New-SchoolUserPhone
- New Endpoint: Update-SchoolUser
- Renamed a backend function to prevent possible conflicts with other modules.
- Removed the prerelease string from the module manifest.
- Minor updates to the SKYAPI_Example.ps1 script.
- Module will wait and then try again a few times if a 503 (The service is currently unavailable) is returned to allow for transient issues with the API service.
Author: @Sekers
0.2.6b - (2022-08-11)
- Updated Minimum PS Version to 5.1 to resolve GitHub action issue when publishing to the PowerShell Gallery.
Author: @Sekers
0.2.6 - (2022-08-11)
- First Release Published to the PowerShell Gallery
- New Endpoint (Beta): Get-SchoolNewsCategories
- New Endpoint (Beta): Get-SchoolNewsItems
Author: @Sekers
0.2.5 - (2022-07-28)
- Module now cleans up unused memory allocated to the Microsoft Edge WebView2 form when no longer needed
- Added ClearBrowserControlCache switch parameter to "Connect-SKYAPI"
- New Endpoint: Get-SchoolDepartmentList
- New Endpoint (Beta): Get-SchoolSectionListByStudent
- New Endpoint: Get-SchoolAdvisoryListBySchoolLevel
- New Endpoint: Get-SchoolActivityListBySchoolLevel
Author: @Sekers
0.2.4 - (2022-06-08)
- Attempted to prevent the MarkerType type error message if it is somehow preloaded (e.g., your IDE preloading it for some reason)
- Replaced the soon to be deprecated WebBrowser Class (IE popup window for authentication & authorization) with the Microsoft Edge WebView2 control. See Issue #7.
- Added the "AuthenticationMethod" parameter to the "Connect-SKYAPI" cmdlet which let's you specify how you want to authenticate if authentication is necessary:
- EdgeWebView2 (default): Opens a web browser window using Microsoft Edge WebView2 for authentication. Requires the WebView2 Runtime to be installed. If not installed, will prompt for automatic installation.
- LegacyIEControl: Opens a web browser window using the old Internet Explorer control. This is no longer supported by Blackbaud.
- MiniHTTPServer (coming soon as a beta feature): Alternate method of capturing the authentication using your user account's default web browser and listening for the authentication response using a temporary HTTP server hosted by the module.
Author: @Sekers
0.2.3 - (2022-06-02)
- Resolved pagination issues when 1,000 or more records were returned using Get-SchoolList or Get-SchoolUserExtendedList
- New Endpoint: Get-SchoolUserExtended
- New Endpoint: Get-SchoolListOfLists
- New Endpoint: Get-SchoolUserBBIDStatus
Author: @Sekers
0.2.2 - (2022-06-02)
- Fixed issue with manifest file (typo preventing module from loading)
Author: @Sekers
0.2.1 - (2022-06-01)
- Fixed rare bug on a couple of endpoints that use the Marker parameter
- Improved Invoke Error Handling
- New Endpoint: Get-SchoolList - Replaces the soon to be deprecated Legacy List endpoint. The 'Get-SchoolLegacyList" cmdlet will continue to work as expected using this new endpoint.
- Cleaned up unused variables
- Removed helper functions from module manifest as they don't need to be called manually
- Reduced wait time before retrying (500) internal server errors
Author: @Sekers
0.2.0 - (2021-11-15)
- Issue 1 - Updated Web Control Browser Emulation to be more compatible with authentication authorization pages that don't like IE 7 emulation mode (e.g., when using Google SSO).
Author: @Sekers
0.1.1 - (2020-10-05)
- Initial documentation release
Author: @Sekers
0.1.0 - (2020-10-05)
- Initial public release
Author: @Sekers