FlowFuse / FlowFuse/flowfuse

Upgrade ldapts 8.1.8 → 9.0.0

Open
#7,980 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
400
Forks
89
Avg merge
1d 21h
Merged PRs (30d)
146

Description

# Upgrade ldapts 8.1.8 → 9.0.0 (major)

Dependabot PR #7815. Runtime dependency: LDAP client for SSO/LDAP auth, used in `forge/ee/lib/sso/index.js` and `forge/ee/routes/sso/index.js`. Pulled out of the weekly Dependabot slot per the major-version process — needs an owner and verification, not a batch merge.

## Compatibility pre-check

- ⚠️ Node engines: v9 requires `>=22`, but ldapts is a **runtime** dep and our `package.json` declares `engines: >=20.10.0` — shipping it drops Node 20 for self-hosted installs. Raising the engines floor (dropping Node 20 support) is a policy decision, not just a dev/CI Node bump.
- ✅ peerDependencies: none.
- ✅ Removed `Filter#escape` instance method: no usage in our SSO code (only `Client`, `InvalidCredentialsError` imported).
- Current: `package.json` range `^8.1.8`; lockfile resolves `8.1.8`.

## Breaking changes to review

- Node.js >= 22 now required.
- Deprecated `Filter#escape` instance method removed — use static `Filter.escape()` instead.

## To do before merge

- [ ] Decide whether to raise the repo `engines` floor to `>=22` (drops Node 20 support) — required before shipping.
- [ ] Verify LDAP login end-to-end (this is an auth path).
- [ ] Exercise SSO provider config + bind/search in `forge/ee/lib/sso/index.js` against the new client version.
- [ ] Read the 9.x changelog and reconcile with our usage.

## Refs

- Branch: `dependabot/npm_and_yarn/ldapts-9.0.0`
- PR: #7815
- Upstream: https://github.com/ldapts/ldapts/releases/tag/9.0.0

Contributor guide

Open the contributing guide

Research direction

Start with package.json and the 9.x changelog, then inspect forge/ee/lib/sso/index.js and forge/ee/routes/sso/index.js for ldapts usage. Confirm whether the repository will raise its Node engines floor, verify SSO provider configuration and LDAP bind/search with ldapts 9.0.0, and document the end-to-end login result before merging.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
authentication, backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.