Releases: Aplanatic/iserv-api
Releases · Aplanatic/iserv-api
Release list
v1.9.0
1.9.0 - 2026-07-22
- Session auto-refresh: Automatically re-authenticate when session cookies expire or IServ redirects to the login page (HTTP 401 / login redirect detection in
HttpClient). - Matrix token auto-refresh:
AuthService.refreshSession()re-obtains Matrix access tokens transparently. - Keychain auto-sync:
IServAPI.onSessionRefreshedcallback notifiesAuthBrokerto persist refreshed sessions back to the OS native keychain. IServSession.hasPassword()helper.HttpClient.setOnAuthError()for pluggable auth-failure interception.IServAPI.refreshSession()and improvedvalidateSession()/ensureMessengerSession(forceRefresh).
v1.8.14
Fixes
- Messenger last-message never renders as `[object Object]`
- Broader room-row detection (`lastMessage` + room id)
v1.8.13
Fixes
- Messenger rooms/sync no longer show `[object Object]` for last message
- Hardened Matrix body extraction when `content.body` is non-string
v1.8.12
CLI/API gaps for 0.6.12
- Expand
~and allow absolute attachment paths (still reject../ NUL) FilesService.listWebDavfor directory listingAuthBroker.login({ ephemeral })omits password from keychainlogoutAll()for bulk logout- Clearer
--browsererror: uses system Chrome/Edge (no Playwright download) - UA product token
Aplanatic-IServ/1.8.12
v1.8.11
Summary
- Exclusive lockfile around
profiles.jsonwrites - Backup to
profiles.json.bakbefore profile remove - Mail
idempotencyKey→ Message-ID / X-Idempotency-Key - Explorer
--port/ host (loopback by default) - Mail list warning when paging ~200-message server pages
v1.8.10
Summary
- Default HTTP timeout 30s (
ISERV_TIMEOUT_MS/ client options) - Retry 429/502/503 with clear rate-limit errors
- Max response size 15 MiB
- User-Agent product token
Aplanatic-IServ/1.8.10 - Redact local filesystem paths in
redactText - Mail send supports multiple to/cc/bcc addresses
v1.8.9
Summary
- Reject path-like / invalid hostnames (
../../../etc,.., bare labels likeetc) - Public hosts must look like a DNS name with a TLD
v1.8.8
Summary
- Messenger: extract readable bodies (
body/formatted_body/m.new_content); encrypted →[encrypted] - Mail: present plain+rich content (object or array); list paging warnings
- Account: camelCase
groups/roles/rights(+ deprecated PascalCase aliases) - Catalog:
exercise.past→/iserv/exercise/past - News: prefer
og:titlewhen scraping article titles
v1.8.7
Features
timetable.today/getToday()for a single-day period list- Inbox list pages past IServ’s ~200-item page cap up to
--limit1000
Fixes
- News show title/body extraction
- Account logins deduplicated
- Prefer the largest matching table for exercises/module lists
- Typecheck/exactOptionalPropertyTypes clean for CI
v1.8.5
Fixes
- Redaction no longer truncates list payloads at 200 (mail
--limit 1000works) - Timetable
visibility.note+substitutionsUrlwhen teachers/changes are hidden by account role requestedStartwhen--startsnaps to ISO week Monday- Cleaner group names from groupview