Repository navigation
Releases
Releases · RohanMuppa/brightspace-mcp-server
v5.2.5
What's Changed
- fix: say why get_available_groups lists a sign-up in unreadCategories (5.2.5) by @RohanMuppa in #446
Full Changelog: v5.2.4...v5.2.5
v5.2.4
What's Changed
- fix: say when get_my_groups couldn't read the groups (5.2.4) by @RohanMuppa in #443
Full Changelog: v5.2.3...v5.2.4
v5.2.3
What's Changed
- fix: stop blaming a missing staff role when the dropbox folder list returns 403 (5.2.3) by @RohanMuppa in #438
Full Changelog: v5.2.2...v5.2.3
v5.2.2
What's Changed
- docs: give each reader one page and each fact one home, and fail CI when docs drift (5.2.2) by @RohanMuppa in #435
Full Changelog: v5.2.1...v5.2.2
v5.2.1
What's Changed
- fix: say when get_course_content couldn't read completion progress by @RohanMuppa in #432
- docs: explain every sign-in message, add CLAUDE.md, and fail CI when docs drift by @RohanMuppa in #430
Full Changelog: v5.2.0...v5.2.1
v5.2.0
What's Changed
- feat: download or sync a whole course (download_course_files + sync command), 5.2.0 by @RohanMuppa in #425
Full Changelog: v5.1.44...v5.2.0
v5.1.44
What's Changed
- fix: give a resent MFA number its own approval window by @RohanMuppa in #426
Full Changelog: v5.1.43...v5.1.44
v5.1.43
What's Changed
- fix: name group categories get_my_groups couldn't read (#272) by @RohanMuppa in #273
- fix: read both npm pack --json shapes in the release packaging test by @RohanMuppa in #271
- fix: treat email usernames as case-insensitive without losing saved credentials by @RohanMuppa in #269
- get_server_info: say plainly that "stay signed in" doesn't skip 2FA (#227) by @RohanMuppa in #275
- Deflake relayed-mfa-wait for good: run the poll's file calls in microtasks by @RohanMuppa in #274
- fix: stop reporting a failed feedback read as "not graded" in the dropbox submission tools (#276) by @RohanMuppa in #277
- fix: say when get_my_grades couldn't read a course's quiz list (#278) by @RohanMuppa in #279
- feat: share one local Brightspace server over Streamable HTTP by @ElliotDrel in #284
- chore(deps): bump file-type from 21.3.4 to 22.1.1 by @dependabot[bot] in #251
- Require Node.js 22 (drop Node 20) — 5.0.0 by @RohanMuppa in #289
- fix: save legacy Office originals that download_file was refusing as application/x-cfb when customFilename has a modern extension by @RohanMuppa in #288
- Get BoilerCast transcripts through Brightspace's LTI 1.3 launch (#281) by @RohanMuppa in #314
- fix: read the student's feedback page when the submission list is refused (#282) by @RohanMuppa in #287
- feat: give get_video_transcript failures a structured reason and recovery path (#283) by @RohanMuppa in #286
- fix: update a git checkout to the latest npm release instead of unreleased main by @RohanMuppa in #299
- fix: refuse to update a dirty, off-main, or diverged checkout and fast-forward only by @RohanMuppa in #297
- fix: finish an interrupted update instead of reporting Already up to date by @RohanMuppa in #300
- fix: tell shared HTTP users to restart the server, not the client, to update by @RohanMuppa in #301
- fix: keep an app that uses the shared HTTP server as set up instead of suggesting stdio by @RohanMuppa in #302
- fix: stop setup diagnostics from printing headers and URL secrets of HTTP registrations by @RohanMuppa in #298
- fix: fail with usage on an unknown subcommand instead of starting stdio by @RohanMuppa in #306
- fix(setup): redact credentials from stdio registration diagnostics by @ElliotDrel in #305
- fix: accept /content/enforced links as download_file coursePath by @RohanMuppa in #309
- feat: start or reuse one shared runtime from the normal stdio command by @RohanMuppa in #310
- feat: log timestamped startup phases before credential-store lookups by @RohanMuppa in #313
- fix: read the credential store once at startup, in the shared runtime by @RohanMuppa in #350
- feat: record a safe error category for failed tools in the dev activity log by @RohanMuppa in #331
- test: name a leaked runtime on Windows instead of failing on a held temp folder by @RohanMuppa in #351
- fix: name the operation behind each dev activity HTTP status by @RohanMuppa in #330
- fix: join auth child dev activity to its parent recovery and record the runtime version by @RohanMuppa in #332
- docs: say download_file disk destinations must already exist by @RohanMuppa in #335
- Restore missing Chromium automatically and add installation-scoped repair by @ElliotDrel in #346
- test: time out the idle-restart test at 60 s and print where it waited by @RohanMuppa in #356
- fix: stop pagination on an unparseable absolute Next link instead of losing fetched pages (#323) by @RohanMuppa in #325
- test: keep a runtime from an earlier test out of the next one, and give cleanup time by @RohanMuppa in #358
- chore(deps): bump the minor-and-patch group across 1 directory with 5 updates by @dependabot[bot] in #340
- chore(deps): bump dotenv from 17.2.4 to 18.0.8 by @dependabot[bot] in #341
- test: retry the install smoke test's rename while Windows still holds the folder by @RohanMuppa in #359
- fix: warn on malformed D2L_INCLUDE_COURSES / D2L_EXCLUDE_COURSES instead of showing every course by @RohanMuppa in #343
- fix: replace a shared runtime left behind when its pid now belongs to another process by @RohanMuppa in #348
- fix: keep an out-of-range numeric character reference as written instead of throwing by @RohanMuppa in #353
- fix: update locked transitive deps so npm audit passes again by @RohanMuppa in #363
- fix: decode each HTML character reference once so an encoded ampersand stays literal by @RohanMuppa in #361
- fix: read a discussion topic from its forum's topic list and report forbidden posts as unavailable by @RohanMuppa in #365
- feat: mint a Bearer token from D2L_SESSION_COOKIE over plain HTTP by @RohanMuppa in #357
- fix: tell the user to paste a fresh credential when D2L_SESSION_COOKIE or D2L_ACCESS_TOKEN is rejected by @RohanMuppa in #366
- fix: say what a retry and sign_out do to the MFA prompt, and report when Microsoft holds a new one back by @RohanMuppa in #354
- fix: report a pending or refused sign-in from search_course, course files and doctor instead of hiding it by @RohanMuppa in #368
- fix: let auth --logout cancel a background sign-in an AI app started, as sign_out does by @RohanMuppa in #369
- Reject malformed authorities in enforced course-file URLs by @ElliotDrel in #373
- fix: leave a quiz's bestScore null while its attempts await grading instead of reporting 0 by @RohanMuppa in #375
- fix: keep a tag's later attributes when an earlier quoted value contains ">" by @RohanMuppa in #378
- feat: add a sign_in tool so an AI app can start a sign-in itself by @Mtehabsim in #379
- fix: cap how far Office text extraction inflates a ZIP so a crafted attachment can't exhaust memory by @RohanMuppa in #381
- fix: say when get_upcoming_due_dates couldn't read a course's assignments, quizzes, discussions or calendar by @RohanMuppa in #384
- fix: stop false "could not be reached" sign-in failures and needless sign-in windows by @RohanMuppa in #385
- chore(deps): bump the minor-and-patch group with 2 updates by @dependabot[bot] in #386
- chore: drop the unused cacheTTLs client option and turn on unused-code checks by @RohanMuppa in #392
- fix: say why get_my_groups member names are null when the classlist can't be read by @RohanMuppa in #394
- fix: say when get_roster couldn't read a course's instructors or TAs by @RohanMuppa in #397
- fix: say when get_discussions couldn't read a forum's topics or a topic's posts by @RohanMuppa in #399
- fix: say when get_course_content couldn't read a module's contents by @RohanMuppa in #406
- fix: stop a terminal win...
v5.1.42
What's Changed
- fix: name group categories get_my_groups couldn't read (#272) by @RohanMuppa in #273
- fix: read both npm pack --json shapes in the release packaging test by @RohanMuppa in #271
- fix: treat email usernames as case-insensitive without losing saved credentials by @RohanMuppa in #269
- get_server_info: say plainly that "stay signed in" doesn't skip 2FA (#227) by @RohanMuppa in #275
- Deflake relayed-mfa-wait for good: run the poll's file calls in microtasks by @RohanMuppa in #274
- fix: stop reporting a failed feedback read as "not graded" in the dropbox submission tools (#276) by @RohanMuppa in #277
- fix: say when get_my_grades couldn't read a course's quiz list (#278) by @RohanMuppa in #279
- feat: share one local Brightspace server over Streamable HTTP by @ElliotDrel in #284
- chore(deps): bump file-type from 21.3.4 to 22.1.1 by @dependabot[bot] in #251
- Require Node.js 22 (drop Node 20) — 5.0.0 by @RohanMuppa in #289
- fix: save legacy Office originals that download_file was refusing as application/x-cfb when customFilename has a modern extension by @RohanMuppa in #288
- Get BoilerCast transcripts through Brightspace's LTI 1.3 launch (#281) by @RohanMuppa in #314
- fix: read the student's feedback page when the submission list is refused (#282) by @RohanMuppa in #287
- feat: give get_video_transcript failures a structured reason and recovery path (#283) by @RohanMuppa in #286
- fix: update a git checkout to the latest npm release instead of unreleased main by @RohanMuppa in #299
- fix: refuse to update a dirty, off-main, or diverged checkout and fast-forward only by @RohanMuppa in #297
- fix: finish an interrupted update instead of reporting Already up to date by @RohanMuppa in #300
- fix: tell shared HTTP users to restart the server, not the client, to update by @RohanMuppa in #301
- fix: keep an app that uses the shared HTTP server as set up instead of suggesting stdio by @RohanMuppa in #302
- fix: stop setup diagnostics from printing headers and URL secrets of HTTP registrations by @RohanMuppa in #298
- fix: fail with usage on an unknown subcommand instead of starting stdio by @RohanMuppa in #306
- fix(setup): redact credentials from stdio registration diagnostics by @ElliotDrel in #305
- fix: accept /content/enforced links as download_file coursePath by @RohanMuppa in #309
- feat: start or reuse one shared runtime from the normal stdio command by @RohanMuppa in #310
- feat: log timestamped startup phases before credential-store lookups by @RohanMuppa in #313
- fix: read the credential store once at startup, in the shared runtime by @RohanMuppa in #350
- feat: record a safe error category for failed tools in the dev activity log by @RohanMuppa in #331
- test: name a leaked runtime on Windows instead of failing on a held temp folder by @RohanMuppa in #351
- fix: name the operation behind each dev activity HTTP status by @RohanMuppa in #330
- fix: join auth child dev activity to its parent recovery and record the runtime version by @RohanMuppa in #332
- docs: say download_file disk destinations must already exist by @RohanMuppa in #335
- Restore missing Chromium automatically and add installation-scoped repair by @ElliotDrel in #346
- test: time out the idle-restart test at 60 s and print where it waited by @RohanMuppa in #356
- fix: stop pagination on an unparseable absolute Next link instead of losing fetched pages (#323) by @RohanMuppa in #325
- test: keep a runtime from an earlier test out of the next one, and give cleanup time by @RohanMuppa in #358
- chore(deps): bump the minor-and-patch group across 1 directory with 5 updates by @dependabot[bot] in #340
- chore(deps): bump dotenv from 17.2.4 to 18.0.8 by @dependabot[bot] in #341
- test: retry the install smoke test's rename while Windows still holds the folder by @RohanMuppa in #359
- fix: warn on malformed D2L_INCLUDE_COURSES / D2L_EXCLUDE_COURSES instead of showing every course by @RohanMuppa in #343
- fix: replace a shared runtime left behind when its pid now belongs to another process by @RohanMuppa in #348
- fix: keep an out-of-range numeric character reference as written instead of throwing by @RohanMuppa in #353
- fix: update locked transitive deps so npm audit passes again by @RohanMuppa in #363
- fix: decode each HTML character reference once so an encoded ampersand stays literal by @RohanMuppa in #361
- fix: read a discussion topic from its forum's topic list and report forbidden posts as unavailable by @RohanMuppa in #365
- feat: mint a Bearer token from D2L_SESSION_COOKIE over plain HTTP by @RohanMuppa in #357
- fix: tell the user to paste a fresh credential when D2L_SESSION_COOKIE or D2L_ACCESS_TOKEN is rejected by @RohanMuppa in #366
- fix: say what a retry and sign_out do to the MFA prompt, and report when Microsoft holds a new one back by @RohanMuppa in #354
- fix: report a pending or refused sign-in from search_course, course files and doctor instead of hiding it by @RohanMuppa in #368
- fix: let auth --logout cancel a background sign-in an AI app started, as sign_out does by @RohanMuppa in #369
- Reject malformed authorities in enforced course-file URLs by @ElliotDrel in #373
- fix: leave a quiz's bestScore null while its attempts await grading instead of reporting 0 by @RohanMuppa in #375
- fix: keep a tag's later attributes when an earlier quoted value contains ">" by @RohanMuppa in #378
- feat: add a sign_in tool so an AI app can start a sign-in itself by @Mtehabsim in #379
- fix: cap how far Office text extraction inflates a ZIP so a crafted attachment can't exhaust memory by @RohanMuppa in #381
- fix: say when get_upcoming_due_dates couldn't read a course's assignments, quizzes, discussions or calendar by @RohanMuppa in #384
- fix: stop false "could not be reached" sign-in failures and needless sign-in windows by @RohanMuppa in #385
- chore(deps): bump the minor-and-patch group with 2 updates by @dependabot[bot] in #386
- chore: drop the unused cacheTTLs client option and turn on unused-code checks by @RohanMuppa in #392
- fix: say why get_my_groups member names are null when the classlist can't be read by @RohanMuppa in #394
- fix: say when get_roster couldn't read a course's instructors or TAs by @RohanMuppa in #397
- fix: say when get_discussions couldn't read a forum's topics or a topic's posts by @RohanMuppa in #399
- fix: say when get_course_content couldn't read a module's contents by @RohanMuppa in #406
- fix: stop a terminal win...