Skip to content

Release 0.2.1 - #17

Merged
lemenkov merged 1 commit into
masterfrom
release-0.2.1
Sep 19, 2026
Merged

lemenkov merged 1 commit into
masterfrom
release-0.2.1

Conversation

@lemenkov

Copy link
Copy Markdown
Member

Prepares 0.2.1. Per AGENTS.md: branch only — not merged, not tagged.

What ships

One change since 0.2.0 touches the wheel: the dialect asks the driver for LOB values rather than LOB objects (#15). seerdb 3.0 returns a LOB object from a SELECT of a CLOB / BLOB by default, and this dialect is built on the values — SQLAlchemy's Text and LargeBinary result processors, and every comparison the compliance suite makes, expect str / bytes.

Of the 11 commits since 0.2.0, that is the only one in sqlalchemy_seerdb/ (+28 lines). The rest are CI workflows, AGENTS.md / README.md, and test/ — none of it in the wheel.

Why patch, not minor

By this repository's own rule, a release is scored against the public surface: the URL scheme, the connect arguments it derives, the SQLAlchemy types it maps, and requirements.py. None of those moved. A user's SELECT of a CLOB still returns str, exactly as in 0.2.0 — the change only keeps that true against a newer driver, which is the definition of a patch.

Driver floor

Stays seerdb>=2.5.0. fetch_lobs is feature-detected, not required, so this release does not depend on an unreleased driver — which the release procedure forbids. Removing that probe once the floor reaches 3.0 is tracked as #16.

Validation

Compliance suite on 11g (oracle+seerdb://…/?service_name=XE), run both ways:

driver probe result
released seerdb 2.5.0 (from PyPI, clean venv) False 52 failed, 947 passed, 350 skipped
driver checkout carrying the LOB flip True 52 failed, 945 passed, 349 skipped

The 52 are this bed's own pre-existing failures, identical on 0.2.0 against driver master — the same baseline either way, so neither the change nor the probe's branch alters the outcome. The released-driver run is the one that matters for shipping, and it exercises the probe's False path, which is the path every current user gets.

Known failures: the 52 above are environmental on this local bed and not tied to a dialect ticket; CI's prepared schema is the reference.

🤖 Generated with Claude Code

One change ships in this release: the dialect now asks the driver for LOB
VALUES rather than LOB objects (#15). seerdb 3.0 returns a LOB object from
a SELECT of a CLOB / BLOB by default, and this dialect is built on the
values -- SQLAlchemy's Text and LargeBinary result processors, and every
comparison the compliance suite makes, expect str / bytes.

PATCH, by this repository's own rule: a release is scored against the
public surface -- the URL scheme, the connect arguments, the type map and
requirements.py. None of those moved. A user's SELECT of a CLOB still
returns str, exactly as in 0.2.0; the change only keeps that true against
a newer driver. Everything else since 0.2.0 is CI, docs and the test
harness, none of which is in the wheel.

The driver floor stays seerdb>=2.5.0. `fetch_lobs` is feature-detected,
not required, so this release does not depend on an unreleased driver --
which the release procedure forbids. Removing that probe once the floor
reaches 3.0 is tracked as #16.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
@lemenkov
lemenkov merged commit e20fba6 into master Sep 19, 2026
15 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