All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- VS Code extension with live preview, diff, and quick convert
- Right-click conversion from file explorer
- Custom editor for
.schemaforgefiles - Auto-refresh preview on file save
- Scala case class support (Doobie/Quill/Slick) as 11th format
- Entity Framework Core (C#) support as 10th format
- Data annotations generation for EF Core entities
- MCP (Model Context Protocol) server for AI agent integration
schemaforge mcpcommand (stdio and SSE modes)schemaforge checkcommand — schema consistency across directoriesschemaforge formatscommand — list supported formatsschemaforge detect_formatcommand — identify format from filename- CI/CD workflow for automated testing and publishing
- Consolidated test workflow configuration
- GraphQL SDL format support as 9th schema format
- Bidirectional conversion between GraphQL and all other formats
- Enum, directive, and custom scalar support in GraphQL
- JSON Schema support (draft 2020-12) as 8th format
- JSON Schema import/export with type mapping
- URI-friendly enum value generation
- Custom type mapping configuration via YAML/JSON override files
- Template variables in type overrides:
{length},{precision},{scale},{values} --type-mapCLI option for all convert commands
- Stable release with comprehensive docs and CLI polish
- Licensing gating via
revenueholdings-license - Star badge and call-to-action in README
- Version bump from 1.0.0 to 1.7.0 alignment (internal consistency)
- Shared generator base module (
_base.py) for reduced code duplication - Refactored
fn:default handling for cross-format function defaults
- Alembic migration generation as 7th format (generator-only)
--outputsupport for migration script generation- Alembic
op.create_table,op.add_column,op.create_indexoutput
- MySQL table options:
ENGINE=InnoDB,AUTO_INCREMENT,DEFAULT CHARSET,COMMENT - Inline ENUM column type:
ENUM('small', 'medium', 'large')parsing and roundtripping
- SQL parser edge cases:
TEMPORARY TABLE, backtick quoting, quoted identifiers fn:default prefix preservation across roundtrips
- Roundtrip fidelity for function-based default values
- SQLAlchemy declarative model support as 5th format
schemaforge diffcommand for line-level schema comparison- Batch directory mode (
schemaforge check --dir) - Demo fixtures with blog schema in all formats
- 17 new roundtrip and edge-case tests
- PRAGMA KEY implies NOT NULL in SQL parser
- Generator index handling for SQLAlchemy
- Django models support as 4th format
- TypeORM entities support as 3rd format
- Parser/generator registration system in convert registry
convert_schemaandregister_formatfunctions restored after merge conflict
- TypeORM entities support as 3rd format
- Decorator-based entity parsing and generation
- Drizzle ORM schema support as 2nd format
- Drizzle parser/generator registered in convert registry
- Initial beta release
- Core bidirectional conversion engine
- SQL DDL ↔ Prisma schema conversion
- Internal Representation (IR) architecture
- CLI interface with
convertcommand - Test suite with 270+ passing tests
- CI workflow with ruff lint and pytest
- CONTRIBUTING.md for contributor guidance