Releases
2.0.0
Compare
Sorry, something went wrong.
No results found
pudo
released this
12 Apr 10:00
dataset 2.0.0
SQLAlchemy 2.x
Full support for SQLAlchemy 2.0+ with backward compatibility to 1.4.0
Fixed autobegin semantics and DDL lock contention
Updated SQLAlchemy constraint to allow versions up to 3.0.0
Connection pool leak fix: thread connections are now released after transactions end (#425 )
Type annotations
Full mypy --strict compliance across all modules
Added py.typed marker for downstream type checking (PEP 561)
Exported OutRow, RowFactory, QueryError for downstream use
row_type parameter typed as Callable[[Iterable[tuple[str, Any]]], OutRow]
primary_type parameter typed as ColumnType (SQLAlchemy TypeEngine)
insert/insert_ignore/upsert return type changed to Any (primary keys can be any type)
Security
Fixed LIKE metacharacter injection in startswith/endswith filters
Breaking changes
Requires Python 3.10+
Removed banal dependency (replaced with internal ensure_strings)
QueryError is now raised for invalid filter values (e.g., wrong type for startswith, between)
update_many no longer mutates input rows — rows are copied before modification
Build & tooling
Migrated from setuptools to pyproject.toml with Hatchling (PEP 621)
Replaced flake8 with ruff
Added mypy to dev dependencies and make lint
Switched from nose to pytest
Updated GitHub Actions (checkout@v4, setup-python@v5)
Development status changed from Alpha to Production/Stable
You can’t perform that action at this time.