Skip to content

chore: prepare v0.3.0 release#88

Merged
Kamilbenkirane merged 4 commits into
mainfrom
release/v0.3.0
Dec 19, 2025
Merged

chore: prepare v0.3.0 release#88
Kamilbenkirane merged 4 commits into
mainfrom
release/v0.3.0

Conversation

@Kamilbenkirane

Copy link
Copy Markdown
Member

Summary

Prepare all packages for v0.3.0 release.

Changes

Version Updates

Package Previous New
celeste-ai 0.2.14 0.3.0
celeste-text-generation 0.2.10 0.3.0
celeste-image-generation 0.2.10 0.3.0
celeste-speech-generation 0.2.9 0.3.0
celeste-video-generation 0.2.8 0.3.0
All 9 provider packages 0.3.0 0.3.0 (unchanged)

Fixes

  • Removed broken entry point from celeste-google that referenced non-existent register_provider function

Release Process

After merge:

git checkout main && git pull
git tag v0.3.0
git push origin v0.3.0

This will trigger the publish workflow which:

  1. Runs CI and integration tests
  2. Builds all 14 packages via uv build --all-packages
  3. Publishes to TestPyPI then PyPI
  4. Creates GitHub release

Test Plan

  • CI passes (linting, type checking, security scan, unit tests)
  • Integration tests pass (22/23 - 1 pre-existing failure in Google TTS)

- Bump celeste-ai to 0.3.0
- Bump all capability packages to 0.3.0
- Remove broken entry point from celeste-google
@claude

claude Bot commented Dec 19, 2025

Copy link
Copy Markdown

PR Review: v0.3.0 Release Preparation

Overall Assessment

This PR is well-structured and ready for merge with one minor recommendation. The version bumps are consistent, and the broken entry point removal is a good catch.


Code Quality & Best Practices

Strengths:

  • Consistent versioning: All capability packages properly bumped from 0.2.x to 0.3.0
  • Main package version aligned: celeste-ai bumped from 0.2.14 to 0.3.0
  • Clean commit message: Follows conventional commit format with clear description
  • Good bugfix: Removed broken entry point from celeste-google that referenced non-existent register_provider function

Observations:

  • The removed entry point (packages/providers/google/pyproject.toml:13-15) correctly eliminates a reference to a function that doesn't exist in the codebase
  • No other provider packages have similar entry points, confirming this was an artifact that should be removed

Version Dependencies

Issue Found:
The main pyproject.toml still has outdated version constraints for capability packages (lines 36-44).

Recommendation:
Update version constraints from >=0.2.x to >=0.3.0 for all capability packages to match the new release version. This ensures users installing celeste-ai[text-generation] will get the correct 0.3.0 versions.


Potential Bugs

No bugs identified. The entry point removal prevents a potential runtime error.


Performance Considerations

No performance concerns. Version bumps and metadata changes have no runtime impact.


Security Concerns

No security issues identified. This is purely a release preparation PR.


Test Coverage

From PR description:

  • CI passes (linting, type checking, security scan, unit tests)
  • Integration tests: 22/23 passing (1 pre-existing Google TTS failure)

The test coverage is adequate for a version bump.


Summary

Action Required:
Update version constraints in root pyproject.toml for capability packages (lines 36-44) from >=0.2.x to >=0.3.0

Approval Status:
Ready to merge once version constraints are updated

Great job on the comprehensive PR description!

@claude

claude Bot commented Dec 19, 2025

Copy link
Copy Markdown

PR Review: v0.3.0 Release Preparation

Summary

This PR prepares all packages for the v0.3.0 release by bumping versions and removing a broken entry point. Overall, this is a clean, well-structured release PR with appropriate changes.


✅ Strengths

1. Consistent Versioning

  • All capability packages correctly bumped to 0.3.0
  • Main celeste-ai package updated to 0.3.0
  • Optional dependency constraints properly updated to >=0.3.0
  • Provider packages already at 0.3.0 (no changes needed)

2. Important Bug Fix

The removal of the broken entry point from celeste-google is correct:

-[project.entry-points."celeste.providers"]
-google = "celeste_google:register_provider"

✅ Verified: register_provider function does not exist in celeste_google/__init__.py
✅ Entry points in capability packages (text-generation, image-generation) use celeste.packages namespace with register_package, which is the correct pattern

3. Well-Documented

  • Clear summary with version table
  • Explicit release process instructions
  • Test plan documented and verified

🔍 Code Quality Assessment

Version Consistency ✅

All version bumps are synchronized:

  • pyproject.toml:3 - celeste-ai: 0.3.0
  • packages/capabilities/text-generation/pyproject.toml:3 - 0.3.0
  • packages/capabilities/image-generation/pyproject.toml:3 - 0.3.0
  • packages/capabilities/speech-generation/pyproject.toml:3 - 0.3.0
  • packages/capabilities/video-generation/pyproject.toml:3 - 0.3.0

Dependency Constraints ✅

Optional dependencies correctly use >=0.3.0:

  • Lines 36-45 in pyproject.toml properly updated
  • This ensures users get compatible versions

🔒 Security Considerations

✅ No security concerns - this is a version bump PR with no code changes
✅ Removing broken entry point actually improves package integrity


🧪 Test Coverage

According to the PR description:

  • ✅ CI passes (linting, type checking, security scan, unit tests)
  • ✅ Integration tests: 22/23 passing (1 pre-existing Google TTS failure)

Note: The pre-existing test failure should be tracked separately and not block this release.


🎯 Performance Considerations

✅ No performance impact - version metadata changes only


📋 Minor Suggestions

1. Consider Adding a CHANGELOG Entry (Optional)

While not blocking, consider documenting what changed between 0.2.x and 0.3.0 for users:

  • What features were added?
  • What breaking changes exist?
  • What bugs were fixed?

2. Entry Point Architecture (Follow-up)

The difference in entry point patterns is interesting:

  • Provider packages: No entry points (imported directly by capability packages)
  • Capability packages: Use celeste.packages entry points

This seems intentional, but ensure it's documented for future contributors.


✅ Recommendation

APPROVE - This PR is ready to merge.

Changes are:

  • Minimal and focused
  • Properly tested
  • Well-documented
  • Free of bugs or security issues

The removal of the broken Google entry point is a legitimate fix that improves package quality.

After merge, follow the documented release process to tag and publish v0.3.0.


Great work on maintaining clean release practices! 🚀

@claude

claude Bot commented Dec 19, 2025

Copy link
Copy Markdown

PR Review: v0.3.0 Release Preparation

Summary

This PR prepares the repository for a v0.3.0 release by updating package versions and fixing a broken entry point. The changes are clean, well-documented, and follow semantic versioning appropriately.


Strengths

1. Version Consistency

  • All packages correctly bumped to 0.3.0
  • Main package: 0.2.140.3.0
  • Capability packages: all updated to 0.3.0
  • Provider packages: already at 0.3.0 (unchanged)
  • Dependency ranges properly updated in pyproject.toml:36-44

2. Bug Fix

  • Removed broken entry point in celeste-google package (packages/providers/google/pyproject.toml:13-15)
  • The register_provider function doesn't exist in the package (verified with codebase search)
  • This would have caused import errors at runtime
  • Good catch and proper fix! 🎯

3. Environment Variable Fix

  • Corrected secret name: BYTEDANCE_API_KEYBYTEPLUS_API_KEY (.github/workflows/publish.yml:136)
  • Aligns with actual provider name celeste-byteplus used in the codebase
  • Ensures integration tests can authenticate correctly

4. Release Process

  • Clear release instructions in PR description
  • Proper CI/CD pipeline with validation, tests, and automated publishing
  • TestPyPI → PyPI workflow prevents production issues

📝 Observations & Minor Suggestions

1. Semantic Versioning Justification

The jump from 0.2.x to 0.3.0 suggests new features or breaking changes. Based on the PR description, this appears to be primarily a bug fix release. Consider:

  • If breaking changes exist: Document them clearly for users
  • If this is mainly bug fixes: A 0.2.15 release might be more semantically accurate
  • If new features were added: Great! But they should be mentioned in the release notes

💡 Recommendation: Add a "Breaking Changes" or "New Features" section to the PR description if applicable, or clarify the rationale for the minor version bump.

2. Testing Coverage

The PR mentions "22/23 integration tests pass (1 pre-existing failure in Google TTS)"

  • ✅ Good that you're tracking this
  • ⚠️ The failing test should be tracked separately (create an issue if not already done)
  • Consider adding a comment in code or CI config noting known failures to prevent confusion

3. Changelog/Release Notes

The GitHub release will auto-generate from commits, but consider:

  • Adding a CHANGELOG.md file for better version history tracking
  • Including migration notes if there are breaking changes
  • Documenting the register_provider fix explicitly in release notes

🔒 Security & Quality

No security concerns identified

  • Changes are limited to version numbers and metadata
  • No code logic changes beyond removing broken entry point
  • Proper secret handling in CI workflow

Code quality

  • Clean, focused changes
  • No unnecessary modifications
  • Follows project structure conventions

🧪 Test Coverage

Based on the PR description:

  • ✅ CI passes (linting, type checking, security scan, unit tests)
  • ✅ Integration tests: 22/23 passing
  • ⚠️ The failing Google TTS test is noted but unresolved

Recommendation: Before release, either:

  1. Fix the Google TTS test, or
  2. Document it as a known issue with a tracking ticket

🎯 Release Readiness

Overall Assessment: APPROVED ✅

This is a clean, well-prepared release PR. The changes are minimal, focused, and properly tested. The bug fixes improve package quality.

Pre-merge checklist:

  • Clarify semantic versioning rationale (0.2.15 vs 0.3.0)
  • Ensure Google TTS integration test failure is tracked
  • Consider adding migration notes if breaking changes exist
  • Verify all 14 packages build successfully with uv build --all-packages

Post-merge:

  • Follow the release process as documented in the PR
  • Monitor PyPI upload for all 14 packages
  • Verify GitHub release is created automatically

📊 Files Changed

File Change Risk
.github/workflows/publish.yml Fix env var name ✅ Low
pyproject.toml Version bumps ✅ Low
packages/capabilities/*/pyproject.toml Version bumps ✅ Low
packages/providers/google/pyproject.toml Remove broken entry point ✅ Low

Great work on the release preparation! 🚀

@claude

claude Bot commented Dec 19, 2025

Copy link
Copy Markdown

PR Review: v0.3.0 Release Preparation

Summary

This PR prepares the codebase for the v0.3.0 release by bumping versions across all 14 packages and fixing critical issues. Overall, this is a well-structured release PR with good attention to detail.


✅ What's Done Well

  1. Consistent Version Bumping: All packages (main + 4 capabilities + 9 providers) correctly updated to v0.3.0
  2. Critical Bug Fix: Removed broken entry point from celeste-google package (packages/providers/google/pyproject.toml:13-14) that referenced non-existent register_provider function
  3. Environment Variable Correction: Fixed BYTEDANCE_API_KEYBYTEPLUS_API_KEY in publish workflow (.github/workflows/publish.yml:136), aligning with the actual codebase convention
  4. Test Update: Updated Google TTS model from gemini-2.5-flash-tts to gemini-2.5-flash-preview-tts and removed speed parameter (packages/capabilities/speech-generation/tests/integration_tests/test_speech_generation/test_generate.py:14-15)
  5. Dependency Management: All optional dependency version constraints properly updated in main pyproject.toml

🔍 Observations & Questions

1. Test Parameter Change

Location: packages/capabilities/speech-generation/tests/integration_tests/test_speech_generation/test_generate.py:15

The speed parameter was removed from the Google TTS test. Was this because it's not supported by gemini-2.5-flash-preview-tts? Worth documenting if it represents an API difference.

2. Version Jump Rationale

Going from 0.2.x to 0.3.0 suggests a minor version bump. Based on the changes shown, this appears to be primarily bug fixes + test updates. If there are new features merged separately that justify the 0.3.0 bump, this is appropriate.

3. Pre-existing Test Failure

The PR description mentions 22/23 integration tests passing with 1 pre-existing failure in Google TTS. Since you're updating the Google TTS test parameters anyway, verify if the updated model name and parameter removal fix the pre-existing failure.


🔒 Security & Best Practices

No security concerns identified

  • Secret handling remains in GitHub secrets
  • No hardcoded credentials
  • No suspicious dependency changes

Code quality

  • Clean, minimal changes focused on release prep
  • No code smell or anti-patterns introduced

🚀 Performance

No performance impact - Version bumps and configuration changes only


🧪 Test Coverage

Adequate for release PR

  • CI passing (linting, type checking, security, unit tests)
  • 22/23 integration tests passing
  • Changes include test updates to match new API requirements

📝 Recommendations

High Priority

None - PR is ready to merge as-is

Nice to Have

  1. Document the Google TTS changes: Add a note in release documentation about the model name change and parameter removal
  2. Investigate pre-existing test failure: Validate if changes fix or affect the existing failure
  3. Consider CHANGELOG: For future releases, maintaining a CHANGELOG.md helps users track breaking changes

✅ Final Verdict

Approved - This PR is well-prepared and safe to merge. The changes are:

  • Correctly scoped for a release preparation
  • Free of bugs or security issues
  • Properly tested within the project's CI/CD constraints
  • Following good version management practices

The minor observations above are for consideration but don't block the release. Nice work on the thorough preparation! 🚀

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