All notable changes to the ObjectStack Protocol will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.3.1 - 2026-01-23
- Organized zod schema files by folder structure
- Improved project documentation
0.3.0 - 2026-01-22
- Comprehensive documentation structure with CONTRIBUTING.md
- Documentation hub at docs/README.md
- Standards documentation (naming-conventions, api-design, error-handling)
- Architecture deep dives (data-layer, ui-layer, system-layer)
- Code of Conduct
- Changelog template
- Migration guides structure
- Security and performance guides
- Updated README.md with improved documentation navigation
- Enhanced documentation organization following industry best practices
- All packages now use unified versioning (all packages released together with same version number)
0.1.1 - 2026-01-20
- Initial protocol specifications
- Zod schemas for data, UI, system, AI, and API protocols
- JSON schema generation
- Basic documentation site with Fumadocs
- Example implementations (CRM, Todo)
## [X.Y.Z] - YYYY-MM-DD
### Added
- New features or capabilities
### Changed
- Changes to existing functionality
### Deprecated
- Features that will be removed in upcoming releases
### Removed
- Features that have been removed
### Fixed
- Bug fixes
### Security
- Security-related changesWhen making changes:
- Add entries under
[Unreleased]section - Choose the appropriate category: Added, Changed, Deprecated, Removed, Fixed, Security
- Write clear, concise descriptions of your changes
- Link to PRs or issues where applicable:
- Feature description (#PR_NUMBER)
Example:
### Added
- New encrypted field type for sensitive data (#123)
- Support for PostgreSQL window functions in query protocol (#124)
### Fixed
- Validation error when using lookup fields with filters (#125)When releasing a new version:
- Create a new version section from the
[Unreleased]content - Move entries from
[Unreleased]to the new version section - Add release date in YYYY-MM-DD format
- Tag the release in git:
git tag -a v0.2.0 -m "Release v0.2.0" - Update links at the bottom of the file
Following Semantic Versioning:
- MAJOR version (X.0.0): Incompatible API changes
- MINOR version (0.X.0): Add functionality in a backward compatible manner
- PATCH version (0.0.X): Backward compatible bug fixes
- Added: New features, protocols, schemas, or capabilities
- Changed: Changes to existing functionality
- Deprecated: Features marked for removal (but still working)
- Removed: Features that have been removed
- Fixed: Bug fixes
- Security: Security vulnerability fixes or improvements
Mark breaking changes clearly:
### Changed
- **BREAKING**: Renamed `maxLength` to `maxLen` in FieldSchema (#126)
Migration: Update all field definitions to use `maxLen` instead of `maxLength`- Update CHANGELOG.md with release notes
- Update version in package.json files
- Run
pnpm changeset versionto update package versions - Commit changes:
git commit -m "chore: release vX.Y.Z" - Create git tag:
git tag -a vX.Y.Z -m "Release vX.Y.Z" - Push:
git push && git push --tags - Run
pnpm releaseto publish packages