|
| 1 | +# ChangeLog |
| 2 | + |
| 3 | +## Updates since last changelog entry (2026-02-21 → 2026-02-27) |
| 4 | + |
| 5 | +Coverage: commits from **2026-02-21** through **2026-02-27** (i.e., changes after the prior cutoff on 2026-02-20). |
| 6 | + |
| 7 | +### Highlights |
| 8 | + |
| 9 | +- **Learning clues (prototype) + student context improvements:** initial prototype of “learning clues” integration landed, plus follow-on work to add context and automate lookup of book ids (primarily in `assignment_server_api/routers/student.py` and `bookfuncs.js`). |
| 10 | +- **Peer/LLM chat robustness:** improvements to async peer messaging (prompt + behavior), fixes for message ordering, and a key fix so the correct API token field is used and LLM peer lookup can retrieve keys at call time. |
| 11 | +- **LTI1p3 UX:** better messaging when an LMS rejects access to an **expired course**. |
| 12 | +- **UI theming iteration:** dark-mode dropdown styling changes were introduced and then reverted (net effect: continued iteration/experimentation in this area). |
| 13 | +- **Code quality + dependencies:** a broad pass fixing **Black/Ruff** issues and updating lock files / dependencies. |
| 14 | + |
| 15 | +### Commit notes (for reference) |
| 16 | + |
| 17 | +- 1a181c81 Initial prototype of learning clues integration |
| 18 | +- 3f42fae0 log todos |
| 19 | +- 5964439a Add context and automate lookup of book ids |
| 20 | +- c523c054 Fix API token field selection + make LLM peer lookup retrieve keys at call time |
| 21 | +- 8e375a9c Fix message ordering in async peer chat display |
| 22 | +- c34931a8 update prompt and async peer messaging |
| 23 | +- bde25ecd LTI1p3: better message when LMS rejects accessing an expired course |
| 24 | +- eca2ee17 fix dark mode for dropdown menu… |
| 25 | +- cacd4e49 Revert "fix dark mode for dropdown menu…" |
| 26 | +- 968f1cd9 Fix all black errors |
| 27 | +- 0b40954b Fix all black and ruff issues |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## Updates since last changelog entry (2026-02-12 → 2026-02-20) |
| 32 | + |
| 33 | +Coverage: commits from **2026-02-12** through **2026-02-20** (i.e., changes after the prior cutoff on 2026-02-11). |
| 34 | + |
| 35 | +### Highlights |
| 36 | + |
| 37 | +- **Peer chat cleanup + reliability:** merged fixes to clean up the peer A/B chat experience and to ensure students can still send messages during synchronous chat. |
| 38 | +- **Interactive evaluation UX:** added a new `showEval` capability for interactives. |
| 39 | +- **Assessment data correctness:** fixed a shortanswer issue by correcting the underlying answers table name. |
| 40 | +- **Verbal discussion improvements:** updated the verbal discussion UI to show who a student is grouped with. |
| 41 | +- **Scratch ActiveCode layout polish:** adjusted Scratch ActiveCode positioning / CSS. |
| 42 | +- **Ops/config + dependency updates:** multiple internal updates (logging, course OpenAI key plumbing, fernet secret handling) plus package/version bumps. |
| 43 | + |
| 44 | +### Commit notes (for reference) |
| 45 | + |
| 46 | +- 6d5383df Merge PR #1153 (peer A/B chat cleanup) |
| 47 | +- 3efce80b new showEval for use with interactives |
| 48 | +- 8d56fcaa Fix: correct the table name for shortanswer answers |
| 49 | +- b2dfc2f1 Updated the verbal discussion to show who students are in a group with |
| 50 | +- 6a40b256 Merge PR #1147 (Scratch AC CSS update) |
| 51 | +- 36c319a3 Update packages |
| 52 | +- 0ccdc6e5 Merge PR #10 (fastapi-peer-llm) |
| 53 | +- dea3f13d ensure students can send message during sync chat |
| 54 | +- 90b2636f update logging |
| 55 | +- de3fa2a7 update get course openai key |
| 56 | +- 21f64240 update fernet secret |
| 57 | +- b6134724 new version |
| 58 | + |
| 59 | +--- |
| 60 | + |
| 61 | +## Updates since last changelog entry (2026-02-07 → 2026-02-11) |
| 62 | + |
| 63 | +Coverage: commits from **2026-02-07** through **2026-02-11** (since the prior cutoff of 2026-02-06). |
| 64 | + |
| 65 | +### Highlights |
| 66 | + |
| 67 | +- **Java/ActiveCode execution (JOBE) + unit test results:** wired in JOBE-based submission flow for Java ActiveCode with unit tests, and surfaced results end-to-end. This work primarily touched the personalized-parsons endpoints and ActiveCode client JS. |
| 68 | +- **Personalized Parsons cleanup:** removed unused variables and tidied related evaluation code. |
| 69 | +- **Question counting fixes:** corrected “number of questions” accounting in both backend CRUD (`question.py`) and frontend book utilities (`bookfuncs.js`). |
| 70 | +- **Build output enhancements:** added a new preprocessor to inject **GitHub source links** into generated HTML output (`add_github_links.py`). |
| 71 | +- **Repo hygiene:** removed empty placeholder files (`content`, `docker-compose.override.yml`, `pi_attempt_id`). |
| 72 | +- **Release/version bump:** bumped interactives version (`projects/interactives/pyproject.toml`). |
| 73 | + |
| 74 | +### Commit notes (for reference) |
| 75 | + |
| 76 | +- 682e940d Applied JOBE for submitting Javacode with unit tests and get results |
| 77 | +- bf3b9553 removed unused variables |
| 78 | +- 06b5b8da Remove empty placeholder files |
| 79 | +- 2ebf9adb preprocessor to add github links to html output |
| 80 | +- 30773448 Fix: get number of questions correct |
| 81 | +- 6c6d1fa9 Count questions correctly |
| 82 | +- 4bfc6ed4 new version |
| 83 | + |
| 84 | +--- |
| 85 | + |
| 86 | +## 2026 (Year to Date) |
| 87 | + |
| 88 | +Coverage: commits from **2026-01-01** through **2026-02-06**. |
| 89 | + |
| 90 | +### Themes |
| 91 | + |
| 92 | +- **Assignment experience + navigation:** continued refinement of assignment navigation (including “readings” integration) and UI polish. |
| 93 | +- **Authoring/build stability:** better build hygiene in `rsptx` tooling (clean logs, cleaned output folders) and dependency work to reduce PreTeXt friction. |
| 94 | +- **Instructor/admin capabilities:** expanded tooling for course administration (token cleanup, CSV enrollment) and billing/invoice-related fixes. |
| 95 | +- **Assignment Builder options:** improved exercise configuration—especially for ActiveCode (CodeLens) and the new/expanded IFrame exercise type. |
| 96 | + |
| 97 | +### Notable changes (grouped) |
| 98 | + |
| 99 | +#### Releases / version bumps |
| 100 | +- Multiple **release/version** bumps (primarily in `projects/interactives/pyproject.toml`). |
| 101 | + |
| 102 | +#### Assignment navigation + readings UX |
| 103 | +- Implemented and iterated on **two-way assignment navigation** (top/bottom navigation, readings integration, styling fixes). |
| 104 | +- Added `readingNames` support and related UI/markup adjustments. |
| 105 | +- Improved assignment navigation behavior and added material icons to assignment pages. |
| 106 | + |
| 107 | +#### Assignment Builder: new capabilities and settings fixes |
| 108 | +- **IFrame exercise type:** added IFrame exercise type/components and later removed an iframe height restriction in preview/input. |
| 109 | +- **ActiveCode improvements:** |
| 110 | + - Added support for enabling/disabling **CodeLens**. |
| 111 | + - Tightened up settings/preview plumbing and types. |
| 112 | +- **CodeTailor options:** updated handling to correctly modify `parsonspersonalize` values. |
| 113 | +- Misc. robustness fixes around label toggles (avoid replace/split when `toggleLabels` is null). |
| 114 | + |
| 115 | +#### Peer / Parsons + assessment behavior |
| 116 | +- Parsons improvements including fallback to the problem source when restoring a student answer fails. |
| 117 | +- Multiple changes in the peer/PI area (dashboard + templates + JS), along with ongoing refinements in the peer router. |
| 118 | +- Fixes for MathJax processing and a regression involving counting questions for async. |
| 119 | + |
| 120 | +#### Instructor/Admin operations |
| 121 | +- **API token cleanup:** added ability to delete API token(s) for a course, including a “delete all tokens” capability and supporting UI. |
| 122 | +- **CSV enrollment:** allow a user to be enrolled in a new course by CSV. |
| 123 | + |
| 124 | +#### Billing / invoicing |
| 125 | +- Fixes related to course creation billing flows (invoice checkbox handling) and an additional invoice request fix. |
| 126 | + |
| 127 | +#### Build tooling + dependencies (PreTeXt/author server) |
| 128 | +- Build improvements in `components/rsptx/build_tools/core.py`: |
| 129 | + - Start builds with a clean log |
| 130 | + - Clean output folders more reliably |
| 131 | + - Remove leftover debugging (`set_trace`) |
| 132 | +- `rsmanage build` gained a `--target` option. |
| 133 | +- Dependency work to address **PreTeXt** issues (notably updates in `projects/author_server/poetry.lock` / `pyproject.toml`). |
| 134 | + |
| 135 | +### Month-by-month timeline |
| 136 | + |
| 137 | +#### January 2026 |
| 138 | +- Merged/landed the two-way assignment navigation work and related readings UI improvements. |
| 139 | +- Added/expanded Assignment Builder capabilities (CodeTailor options; IFrame exercise type). |
| 140 | +- Improved assignment sorting and decoration of assigned problems. |
| 141 | +- Multiple dependency updates (lxml/pretext/runestone) and several small bug-fix releases. |
| 142 | +- Addressed billing/invoicing edge cases. |
| 143 | + |
| 144 | +#### February 2026 (so far) |
| 145 | +- Instructor tooling: token deletion support (including bulk delete). |
| 146 | +- Authoring/build stability: PreTeXt dependency fixes; cleaner build logs; output folder cleanup; `rsmanage build --target`. |
| 147 | +- Minor version bumps and cleanup. |
| 148 | + |
| 149 | +--- |
| 150 | + |
| 151 | +### How to read this repo’s recent work |
| 152 | +Most of the work since Jan 1 clusters into three areas: |
| 153 | +1) **Learner/instructor experience** (assignment nav + builder settings) |
| 154 | +2) **Operational/admin tooling** (billing, enrollment, token hygiene) |
| 155 | +3) **Platform stability** (dependencies + build predictability) |
0 commit comments