cdc5d1528c
Removes the LDAP bind-only service account type in favor of a single Unix/POSIX account model, surfaced in a new Users > Service Accounts tab. Adds a multi-valued `manager` field to every account (defaults to the creator, editable, and grants edit rights on the accounts a person manages without needing app_sso_admin). homeDirectory and loginShell are now editable from the profile edit form. Bumps to v1.1.7. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KDEx8ghuZR61pqPXc6da9C
73 lines
5.5 KiB
Markdown
73 lines
5.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project are documented here. Format loosely
|
|
follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions
|
|
correspond to git tags (`vX.Y.Z`) and `nodejs/package.json`'s `version`.
|
|
|
|
## [Unreleased]
|
|
|
|
## [1.1.7] - 2026-07-17
|
|
|
|
### Changed
|
|
- **Service accounts unified to one kind.** Removed the LDAP bind-only service account type (the Integrations → LDAP "Service Accounts" card, and its `/api/service-account` routes) -- every service account is now a real Unix/POSIX account with a UID, created from the new **Users → Service Accounts** tab. Email and password are both optional for service accounts; a blank password means no `userPassword` is set at all (the account simply can't bind).
|
|
- **Added a `manager` field to every account.** Multi-valued (a list of usernames), defaults to whoever created the account (the admin who added it, or whoever sent the invite), and reassignable from the account's Edit form. Anyone listed as a manager can edit that account -- same fields an admin can (mobile, description, SSH key, date of birth, home directory, login shell, manager list) -- without needing `app_sso_admin`.
|
|
- `homeDirectory` and `loginShell` are now editable from the Edit Profile form (previously view-only).
|
|
|
|
## [1.1.6] - 2026-07-16
|
|
|
|
### Changed
|
|
- Redesigned the GitHub Pages docs site to match the app's own look (dark navbar/footer, Bootstrap 5, Font Awesome) instead of the generic `jekyll-theme-cayman` theme, added a real cross-page nav, SEO (`jekyll-seo-tag` + `jekyll-sitemap`, per-page descriptions, OG/Twitter tags, sitemap.xml, robots.txt), and mobile-responsive layout.
|
|
|
|
## [1.1.5] - 2026-07-16
|
|
|
|
### Fixed
|
|
- Bumped `jq-repeat` 2.0.1 -> 2.1.0. `update()` is now trailing-edge throttled (~50ms) even on the first call; `profile.ejs`'s edit-profile flow updated a scope and immediately slid the same element into view, which could briefly show stale/empty data. Deferred the slide by 60ms.
|
|
|
|
## [1.1.4] - 2026-07-16
|
|
|
|
### Added
|
|
- **CI**: GitHub Actions now builds the real bundled image, seeds LDAP fixtures, and runs the full Jest suite on every PR (Node 18/20/22) -- this repo had unit tests but nothing ran them automatically until now.
|
|
- **White-label**: `<title>`, the navbar brand text, and the favicon were hardcoded "SSO - Theta 42"/"SSO Manager" despite `conf.name` already existing (it was never actually rendered). New `conf.logo` key added alongside it. Footer attribution is left as-is. Closes [#6](https://github.com/theta42/sso-manager-node/issues/6).
|
|
|
|
### Fixed
|
|
- The bundled default ppolicy entry set `pwdLockout: FALSE`, silently making the admin "deactivate user" action not actually block that user's login. Fixed to `TRUE`, with a drift-correction path in `ops/ldap-setup.sh` for already-deployed instances. A separate, deeper ppolicy-overlay issue remains open as [#68](https://github.com/theta42/sso-manager-node/issues/68).
|
|
- `top.ejs` referenced a `/static/favicon.svg` that didn't exist in `public/` (a pre-existing 404) -- now uses the existing logo file via `conf.logo`.
|
|
|
|
## [1.1.3] - 2026-07-16
|
|
|
|
### Added
|
|
- `CHANGELOG.md` (this file), backfilled from the release notes for every tag so far and served in-app at `/docs/changelog`. Closes [theta-env#43](https://github.com/theta42/theta-env/issues/43).
|
|
|
|
## [1.1.2] - 2026-07-16
|
|
|
|
### Fixed
|
|
- Removed a dead IE<9-only `html5shim` script tag pointing at a domain that no longer resolves.
|
|
|
|
### Added
|
|
- **In-app documentation**: `GET /docs` and `GET /docs/:slug` render this project's own README, DEPLOYMENT, API.md, `docs/{ldap,oauth,configuration}.md`, and `directory_spec.md` server-side — readable from the running app with no dependency on GitHub Pages, which requires internet access to view. Public, no auth, rate-limited.
|
|
|
|
## [1.1.1] - 2026-07-16
|
|
|
|
### Added
|
|
- **Terms of Service is now editable at runtime by admins.** `tos.md` used to be baked into the repo and read once at startup, requiring a code change and deploy to update. It's now a Redis-backed singleton, editable from a new "Terms of Service" card on the admin Dashboard, with the bundled `tos.md` used only as a one-time seed for new deployments. Admins can optionally require all users to re-accept the terms after a substantive edit. Closes [#39](https://github.com/theta42/sso-manager-node/issues/39). ([#62](https://github.com/theta42/sso-manager-node/pull/62))
|
|
|
|
## [1.1.0] - 2026-07-16
|
|
|
|
First tagged release. Establishes the `vX.Y.Z` tag convention that the in-app update-check banner polls against going forward.
|
|
|
|
### Added
|
|
- Standalone backup script (`ops/backup.sh`) — snapshots LDAP (`slapcat`), Redis, and `./config`, with retention.
|
|
- Admin-only in-app banner that checks GitHub releases every 24h and surfaces available updates.
|
|
- Unix/POSIX and LDAP bind-only service account support, distinct from real-person accounts.
|
|
- Merged OAuth Apps + LDAP Info into a single Integrations page.
|
|
|
|
[Unreleased]: https://github.com/theta42/sso-manager-node/compare/v1.1.7...HEAD
|
|
[1.1.7]: https://github.com/theta42/sso-manager-node/compare/v1.1.6...v1.1.7
|
|
[1.1.6]: https://github.com/theta42/sso-manager-node/compare/v1.1.5...v1.1.6
|
|
[1.1.5]: https://github.com/theta42/sso-manager-node/compare/v1.1.4...v1.1.5
|
|
[1.1.4]: https://github.com/theta42/sso-manager-node/compare/v1.1.3...v1.1.4
|
|
[1.1.3]: https://github.com/theta42/sso-manager-node/compare/v1.1.2...v1.1.3
|
|
[1.1.2]: https://github.com/theta42/sso-manager-node/compare/v1.1.1...v1.1.2
|
|
[1.1.1]: https://github.com/theta42/sso-manager-node/compare/v1.1.0...v1.1.1
|
|
[1.1.0]: https://github.com/theta42/sso-manager-node/releases/tag/v1.1.0
|