Skip to content

Release v0.10.0 with breaking changes to EventStore interface#49

Merged
jilio merged 1 commit into
mainfrom
jilio/prepare-release
Dec 28, 2025
Merged

Release v0.10.0 with breaking changes to EventStore interface#49
jilio merged 1 commit into
mainfrom
jilio/prepare-release

Conversation

@jilio
Copy link
Copy Markdown
Owner

@jilio jilio commented Dec 28, 2025

Summary

Prepare release v0.10.0 with comprehensive changelog documenting three major breaking changes to the EventStore interface, SQLite store, and Durable-Streams store APIs.

Changes

  • EventStore Interface: Redesigned to use opaque Offset type (string) instead of int64 positions
  • SQLite Store: Method renames (Save→Append, Load→Read, etc.) to match new EventStore interface
  • Durable-Streams Store: API simplified with conformance-tested client library
  • CHANGELOG.md: Full version history from v0.1.0 to v0.10.0

All tests pass with 100% coverage. Tag v0.10.0 created and pushed.

🤖 Generated with Claude Code

Add CHANGELOG.md with full version history from v0.1.0 to v0.10.0,
following Keep a Changelog format. Documents all breaking changes
in the offset-native EventStore interface refactor.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@claude
Copy link
Copy Markdown

claude Bot commented Dec 28, 2025

Pull Request Review: Release v0.10.0 CHANGELOG

Overall Assessment

This is a well-structured and comprehensive changelog that follows the Keep a Changelog format and properly documents the complete version history from v0.1.0 to v0.10.0. The changelog is clear, informative, and provides good context for the breaking changes introduced in v0.10.0.


✅ Strengths

  1. Excellent Format Adherence: Strictly follows Keep a Changelog format with clear sections (Added, Changed, Breaking Changes, Fixed, Performance)

  2. Comprehensive Breaking Changes Documentation: The v0.10.0 breaking changes are thoroughly documented with before/after examples for method renames and API changes

  3. Complete History: Full version history from v0.1.0 through v0.10.0 provides valuable context for understanding the project's evolution

  4. Semantic Versioning Compliance: Version numbers correctly reflect the nature of changes (breaking changes → major version bump)

  5. Helpful Context: Each entry provides enough detail to understand the impact without being overly verbose

  6. Proper Link References: All version links are properly formatted at the bottom


🔍 Code Quality Observations

Good:

  • Clean markdown formatting
  • Consistent bullet point usage
  • Proper heading hierarchy
  • Clear categorization of changes

Consider:

  • The [Unreleased] section is empty - this is correct for a release, but ensure future unreleased changes are documented here

📝 Documentation Quality

Strengths:

  • Breaking changes are clearly marked and explained
  • Migration path is implicit in the method rename mappings (e.g., SaveAppend)
  • New constants and types are documented (OffsetOldest, OffsetNewest)

Suggestions:

  1. Migration Guide Reference: Consider adding a link to a migration guide for v0.10.0 given the significant breaking changes. This could help users upgrade smoothly.

  2. Consistency in Date Format: All dates follow YYYY-MM-DD format, which is correct ✓

  3. Version Link Accuracy: Ensure the comparison links at the bottom point to the correct commit ranges (these appear correct)


🐛 Potential Issues

None identified - The changelog appears accurate and complete.


🔒 Security Concerns

None identified - This is a documentation file with no security implications.


⚡ Performance Considerations

Not applicable - Documentation file has no runtime performance impact.


✅ Test Coverage

While this PR only adds a CHANGELOG.md file, according to the PR description:

All tests pass with 100% coverage. Tag v0.10.0 created and pushed.

Recommendation: Confirm this by running:

go test ./...
go test -coverprofile=coverage.out ./... && go tool cover -func=coverage.out

📋 Suggestions for Enhancement

  1. Consider adding examples for the most impactful breaking changes in v0.10.0, such as:

    // Before (v0.9.x)
    position := store.Save(events)
    
    // After (v0.10.0)
    offset := store.Append(events)
  2. Highlight migration impact: Consider adding a note about upgrade complexity, e.g.:

    ### Migration Notes
    - All EventStore implementations must be updated to use the new interface
    - Subscription position tracking moved to separate SubscriptionStore interface
    - Durable-streams users must update `New()` constructor calls
  3. Link to upgrade guide: If a separate upgrade guide exists (e.g., UPGRADING.md), reference it in the v0.10.0 section.


✨ Final Recommendation

Approve with minor suggestions

This PR is ready to merge. The changelog is well-written, comprehensive, and properly formatted. The suggestions above are optional enhancements that could improve the user experience when upgrading to v0.10.0, but they are not blockers.

The changelog successfully documents a major version release with significant breaking changes in a clear and professional manner.


📚 Adherence to CLAUDE.md

Per the repository's CLAUDE.md, before merging ensure:

  • ✅ Code formatting: N/A (markdown file)
  • ⏳ Tests pass: Verify with go test ./...
  • ⏳ Test coverage: Verify with coverage report

Action Required: Run the test commands mentioned in CLAUDE.md to verify the codebase remains at 100% coverage with the v0.10.0 changes documented in this changelog.

@jilio jilio merged commit 839a35a into main Dec 28, 2025
3 checks passed
@jilio jilio deleted the jilio/prepare-release branch December 28, 2025 06:31
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