v0.3.8 - Architecture overhaul and new safety mode 👷♂️
Added
- SQL query validation using PostgreSQL's parser (pglast v7.3+)
- Automatic migration script generation for schema changes
- Universal safety system with standardized risk levels (Low/Medium/High/Extreme)
- Switched to asyncpg v0.30.0+ from psycopg2
- Enhanced API spec tool with multiple query modes and risk assessment
- Connection retry logic for database and API operations
- Code coverage with pytest-cov
- SQL linting with SQLFluff
- Added pyyaml v6.0.2+ for configuration
Changed
- Refactored to use dependency injection pattern
- Standardized service initialization to synchronous pattern
- Improved SQL safety categorization:
safe
: Read-only operations (always allowed)write
: Data modification (requires unsafe mode)destructive
: Schema changes (requires unsafe mode + confirmation)
- Updated Ruff to v0.9.9
- Added asyncpg-stubs and pytest-mock for testing
Commits in this release
- feat: sql syntax validation, new safety mode, automatic migration, new db client, improved tools by @alexander-zuev in #41
- fix(tests): error in duplicate migration names by @alexander-zuev in #42
Full Changelog: v0.3.7...v0.3.8