Releases: pudo/dataset
Releases · pudo/dataset
dataset 2.0.0
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 --strictcompliance across all modules - Added
py.typedmarker for downstream type checking (PEP 561) - Exported
OutRow,RowFactory,QueryErrorfor downstream use row_typeparameter typed asCallable[[Iterable[tuple[str, Any]]], OutRow]primary_typeparameter typed asColumnType(SQLAlchemyTypeEngine)insert/insert_ignore/upsertreturn type changed toAny(primary keys can be any type)
Security
- Fixed LIKE metacharacter injection in
startswith/endswithfilters
Breaking changes
- Requires Python 3.10+
- Removed
banaldependency (replaced with internalensure_strings) QueryErroris now raised for invalid filter values (e.g., wrong type forstartswith,between)update_manyno 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