Skip to content

feat(v2.2): release: prepare ExcelAlchemy 2.2.0#57

Merged
ruicore merged 1 commit intomainfrom
v2.2
Apr 3, 2026
Merged

feat(v2.2): release: prepare ExcelAlchemy 2.2.0#57
ruicore merged 1 commit intomainfrom
v2.2

Conversation

@ruicore
Copy link
Copy Markdown
Contributor

@ruicore ruicore commented Apr 3, 2026

Summary

This PR prepares the 2.2.0 release of ExcelAlchemy.

It continues the stable 2.x line with runtime consolidation, clearer config ergonomics, and a stronger protocol-first storage story, while keeping the public import/export workflow API stable.

What changed

Import runtime lifecycle

  • add ImportSessionPhase
  • add ImportSessionSnapshot
  • refine ImportSession so import runs now advance through explicit phases:
    • workbook loading
    • header validation
    • row preparation
    • row execution
    • result rendering
    • completion
  • expose ExcelAlchemy.last_import_snapshot as a facade-level read-only view of the latest import run

Config ergonomics

  • add recommended constructors:
    • ImporterConfig.for_create(...)
    • ImporterConfig.for_update(...)
    • ImporterConfig.for_create_or_update(...)
    • ExporterConfig.for_model(...)
    • ExporterConfig.for_storage(...)
  • keep the existing ImporterConfig(...) and ExporterConfig(...) API compatible for 2.x users

Storage guidance

  • make storage=... the clear recommended backend integration path
  • keep legacy minio, bucket_name, and url_expires support for 2.x compatibility
  • add an explicit deprecation warning for the legacy Minio config path
  • reduce warning noise by emitting that deprecation warning once per compatibility scenario

Tests and release prep

  • add regression tests for:
    • config helper constructors
    • legacy storage deprecation behavior
    • import session snapshots
  • add 2.2.0 changelog entry
  • add docs/releases/2.2.0.md release checklist

Compatibility notes

  • no public import/export workflow API was removed
  • legacy Minio configuration remains supported in 2.x
  • direct ImporterConfig(...) and ExporterConfig(...) construction remain valid
  • helper constructors are the recommended new path

Verification

  • ./.venv/bin/ruff check .
  • ./.venv/bin/uv run pyright
  • ./.venv/bin/pytest -q

Release intent

After merge, this branch is intended to be tagged and published as:

  • v2.2.0

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 3, 2026

Codecov Report

❌ Patch coverage is 95.83333% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.48%. Comparing base (8f382ad) to head (dd087b6).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
src/excelalchemy/config.py 93.54% 2 Missing ⚠️
src/excelalchemy/core/alchemy.py 66.66% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #57      +/-   ##
==========================================
+ Coverage   86.27%   86.48%   +0.21%     
==========================================
  Files          48       48              
  Lines        3220     3300      +80     
  Branches      370      374       +4     
==========================================
+ Hits         2778     2854      +76     
- Misses        275      278       +3     
- Partials      167      168       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ruicore ruicore merged commit c1ed091 into main Apr 3, 2026
7 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