Skip to content

Remove OAuth; test against latest CouchDB 3 and 4#212

Merged
benoitc merged 3 commits into
masterfrom
feature/remove-oauth-latest-couchdb
Jun 10, 2026
Merged

Remove OAuth; test against latest CouchDB 3 and 4#212
benoitc merged 3 commits into
masterfrom
feature/remove-oauth-latest-couchdb

Conversation

@benoitc

@benoitc benoitc commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Stacked on #211 (merge that first; this retargets to master automatically).

Remove OAuth

CouchDB removed server-side OAuth in 2.x, so the {oauth, ...} connection option could no longer be exercised. Removed:

  • couchbeam_util:oauth_header/3
  • couchbeam_httpc:maybe_oauth_header/4 (and the oauth branch in make_headers/4)
  • the optional oauth dependency (deps, test deps, xref ignores, dialyzer PLT)
  • the {oauth, ...} option from the docs

Basic auth, proxy auth, and cookie auth are unchanged.

Latest CouchDB, matrix on latest 3 and 4

  • docker-compose.yml / Makefile: COUCHDB_VERSION (default 3 = latest 3.x); e.g. COUCHDB_VERSION=latest make e2e.
  • CI integration job runs a matrix of couchdb: ['3', 'latest']. 3 is the latest 3.x; latest is 3.5.2 today and becomes 4.x the day an image ships, so CI adopts CouchDB 4 with no further change.

Validation

The full e2e suite (15 groups, 65 tests) passes against both couchdb:3 and couchdb:latest (3.5.2). rebar3 eunit (32), xref, and dialyzer are clean.

Note on the one gap: CouchDB 4.x is not released (Docker latest = 3.5.2; no 4.x or pre-release tags). The latest matrix row covers it once published; nothing more to do until then.

benoitc added 2 commits June 10, 2026 09:09
- CI: integration job now gates the build (was continue-on-error)
- add e2e coverage for the multipart open_doc/stream_doc path (the most
  reworked hackney 4.x code, previously untested end-to-end)
- drop the OTP-version crypto shim: require OTP 27+ and always use
  crypto:mac/4 (removes the platform_define that broke on OTP 30)
- CHANGELOG: note OTP 27+ requirement and e2e testing
- remove OAuth support: the {oauth, ...} connection option,
  couchbeam_util:oauth_header/3, couchbeam_httpc:maybe_oauth_header/4, and
  the optional oauth dependency (CouchDB dropped server-side OAuth in 2.x).
  Basic/proxy/cookie auth are unchanged
- docker-compose + Makefile: COUCHDB_VERSION (default 3 = latest 3.x)
- CI: integration job runs a matrix of CouchDB '3' and 'latest', so 4.x is
  picked up automatically once a 4.x image ships
- CHANGELOG updated
@benoitc benoitc changed the base branch from fix/e2e-gaps-otp27 to master June 10, 2026 07:35
@benoitc benoitc closed this Jun 10, 2026
@benoitc benoitc reopened this Jun 10, 2026
@benoitc benoitc merged commit 0635ee0 into master Jun 10, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant