Skip to content

Releases: Sekers/SKYAPI

0.4.3

19 Feb 18:29
83b26c3
Compare
Choose a tag to compare

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Fixes

  • This update continues to try work around the Get-SchoolScheduleMeeting bug. We dropped each API call from 30 days ahead max to 29 days ahead, but the endpoint will still not return meetings for the last day requested (the 30th total day in the range, 29 days after start_date).

Full Changelog: 0.4.2...0.4.3

0.4.2

19 Feb 17:30
020de2b
Compare
Choose a tag to compare

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Fixes

  • This update only adjusts Get-SchoolScheduleMeeting so that it doesn't get affected by a DST bug with its Blackbaud SKY API endpoint. Prior to this workaround, if any 31-day or larger query (the max of 30 days ahead the endpoint allows, including the start date) has the March DST "Spring forward" date in one of the API calls (remember, each call can only accept a max of 30 days ahead), it won't return the last day of that specific API call (the 31st day in the range). Blackbaud certainly has an issue working with timezones and calculating around DST properly (given, it's tough at times).

Full Changelog: 0.4.1...0.4.2

0.4.1

04 Feb 20:55
89c9e74
Compare
Choose a tag to compare

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Fixes

  • BREAKING CHANGE: The endpoint that Get-SchoolYear uses has a bug that sets each school year's 'begin_date' & 'end_date' to the incorrect time zone, which could cause the date returned to be incorrect (even if you adjust to the school's Blackbaud time zone). To work around this, these fields now return a STRING of the date (e.g., '2025-05-24') instead of a DATETIME value (PS Core) or an unserialized round-trip STRING that includes the time (PS Desktop; e.g., '2025-07-04T00:00:00-04:00').

Features

  • Continue to improve invoke API error handling by catching two additional types of errors.

Full Changelog: 0.4.0...0.4.1

0.4.0

22 Jan 19:10
8995e0f
Compare
Choose a tag to compare

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Fixes

  • Resolved bug in PS Core (PS Desktop was fine) when calling Get-SchoolScheduleMeeting if one of the 30-day iterations comes back empty.

Features

  • Sample script for Google Faculty Calendar Imports now supports meeting exclusions.

  • Improved error handling. Some errors that can often be transient now retry using an exponential backoff rather than just retrying up to 5 times with a 5-second delay in-between. This should reduce how often scripts fail by increasing the retry count from 5 to 7 and increasing the max wait time from the first try to the last retry from 20 seconds to just over 5 minutes. The exponential backoff delay is as follows (in seconds):

    Failure Count Wait Time Before Next Retry Total Wait Time
    1 5 5
    2 10 15
    3 20 35
    4 40 75
    5 80 155
    6 160 315
    7 n/a (throws error) 315

Other

  • Disabled progress bar in function scope when calling Invoke-WebRequest or Invoke-RestMethod. This improves performance due to a bug in some versions of PowerShell. It was eventually fixed in Core (v6.0.0-alpha.13) but still is around in Desktop. More Information: PowerShell/PowerShell#2640
  • Removed the unimplemented 'MiniHTTPServer' alternate method of capturing authentication as this would be overkill and is unnecessary.
  • Removed the 'LegacyIEControl' alternate method of capturing authentication as it is no longer supported by Blackbaud.

Full Changelog: 0.3.11...0.4.0

0.3.11

14 Oct 17:59
423bc21
Compare
Choose a tag to compare

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Features

  • BREAKING CHANGE: Updated the included Microsoft Edge WebView2 control to version 1.0.2792.45. Note that the minimum .NET Framework version requirement for .NET WebView2 has been updated from .NET Framework 4.5 to .NET Framework 4.6.2 (this affects Windows PowerShell Desktop only, not PowerShell Core).
  • New Endpoint: Get-SchoolAdmissionCandidate
  • New Endpoint: Get-SchoolAdmissionStatus
  • New Endpoint (Currently Beta): Get-SchoolActivityRoster
  • New Endpoint (Currently Beta): Get-SchoolAdvisoryRoster
  • New Endpoint (Currently Beta): Get-SchoolRoster
  • Added new parameters to Set-SchoolUserRelationship: resides_with, do_not_contact, primary, & comments
  • Updates to error handling as the Blackbaud SKY API now returns at least 4 different types of error message formats.
  • New sample script: Blackbaud SIS Teacher Schedules to ICS

Other

  • Updated links for built-in help to new endpoint documentation URLs.
  • Updated authorize URI in various places due to updates on the API end (the old URI still works since it is forwarded to the new one).
  • Minor example and built-in help updates, clarifications, and typo fixes.
  • Removed references to resolved Blackbaud API DATETIME bug.
  • Removed temporary fix for now resolved bad email bug in the endpoint for Update-SchoolUser.

Full Changelog: 0.3.10...0.3.11

SKYAPI 0.3.10

21 Mar 15:22
102c8bb
Compare
Choose a tag to compare

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Fixes

  • Resolved bug where Get-SchoolScheduleMeeting returned an error after DST begins in timezones that practice advancing clocks during warmer months.

Features

Other

  • 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.

Full Changelog: 0.3.9...0.3.10

SKYAPI 0.3.9

06 Mar 22:17
7862b98
Compare
Choose a tag to compare

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Features

Other

  • Built-in help updates regarding necessary permissions to access some endpoints (Blackbaud loosened the requirements on a bunch of general information ones).

Full Changelog: 0.3.8...0.3.9

SKYAPI 0.3.8

13 Feb 23:01
72f8149
Compare
Choose a tag to compare

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Fixes

  • Resolved bug where Get-SchoolScheduleMeeting returned duplicate events every 30th day of the requested range.

Full Changelog: 0.3.7...0.3.8

SKYAPI 0.3.7

02 Feb 23:17
55a839a
Compare
Choose a tag to compare

SKYAPI 0.3.7

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Breaking Changes

  • 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 time zone.

Fixes

  • 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.

Features

  • 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.

Other

  • Minor fixes, such as the ability to handle certain transient errors returned by the API servers.

Full Changelog: 0.3.6...0.3.7

SKYAPI 0.3.6

19 Jan 21:45
0cb4966
Compare
Choose a tag to compare

SKYAPI 0.3.5

Latest Changelog: https://github.com/Sekers/SKYAPI/blob/master/CHANGELOG.md

Fixes

  • HOTFIX: Resolved issue where error was presented on some endpoints when DateTime fields are returned empty.

Full Changelog: 0.3.5...0.3.6