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.
- Structure: Reorganized
docs/into a comprehensive knowledge base (getting-started,guides,tutorials,api,administration). - Visuals:
- Added Mermaid.js C4 Architecture diagrams.
- Added Git Graph diagrams for workflow comparisons.
- Created custom SVGs for
stack-workflowandarchitecture.
- New Guides:
- Production Installation: Detailed hardware specs, Nginx config, and go-live checklist.
- API Reference: Swagger-style documentation with JSON examples and parameter tables.
- Troubleshooting: Solutions for common errors (Docker, 403s, Database).
- CLI Reference: Unified command list for
opencodehub-cli. - Glossary: Definitions for core terms like "Stacked PRs" and "Merge Queue".
- UI Polish:
- Implemented "Dracula" theme for consistent coloring.
- Added ASCII art logo and gradient banners.
- Replaced raw logs with animated spinners (
ora) and progress bars. - Added "Success Boxes" for clearer operation summaries.
- Commands:
och stack view: Now displays a visual ASCII tree of the current stack.och push: Shows PR compilation status and links.
- Authorization: Fixed critical bypass in
issues/index.tsandcollaborators/index.ts. - Fixes: Resolved incorrect binary path in CLI package.json.
- Repo Links: Updated hardcoded GitHub links to the official repository.
- Cloudflare R2 Storage Integration:
- Full support for Cloudflare R2 as a repository storage backend.
- Configure with
STORAGE_TYPE=s3and R2-specific environment variables. - Repositories are automatically uploaded to R2 on creation.
- Repositories are automatically deleted from R2 on deletion.
- Git clone/push operations now work with cloud-stored repositories.
- UI Modernization:
- Added global toast notification system using
sonnerpackage. - Created
src/components/ui/sonner.tsxShadcn UI wrapper. - Added
<Toaster />component toBaseLayout.astrofor app-wide notifications. - New
RepoSettings.tsxReact component for repository settings management. - Replaced native
alert()andconfirm()with ShadcnAlertDialogcomponents.
- Added global toast notification system using
- New Pages & Features:
src/pages/insights.astro- Platform-wide analytics dashboard.src/pages/merge-queue.astro- Merge queue management interface.src/pages/settings/ai-review-rules.astro- AI code review configuration.src/pages/settings/automations.astro- Workflow automation settings.src/pages/settings/notification-preferences.astro- User notification settings.src/pages/api/user/notification-preferences.ts- New API endpoint.
- Database: Migrated all schema files to use
pgTablewith PostgreSQL types. - API Routes: Standardized logging and error handling across 60+ API files.
- Drizzle ORM: Automated TypeScript casting fixes across the codebase.
- Repository Creation: Made cloud storage sync asynchronous for faster API responses.
- Git Operations: Refactored
initRepositoryto separate cloud storage concerns from git initialization.
- Cloud Storage: Fixed
S3StorageAdapterincorrectly prepending base path to S3 keys (causedNoSuchKeyerrors). - Cloud Storage: Fixed
uploadRepoToStorageuploading 0 files due to duplicateinitRepoInStoragecalls. - Cloud Storage: Fixed
triggerRepoWorkflowsfailing with "directory does not exist" for R2-backed repos. - Cloud Storage: Fixed repository deletion not cleaning up objects from R2 storage.
- Git Backend: Fixed
git cloneandgit pushoperations for cloud-stored repositories. - Git Operations: Added
resolveRepoPathfor resolving logical cloud paths to local temp directories. - Admin Pages: Fixed TypeScript errors in
admin/settings.astroandadmin/users.astro. - Tree Pages: Fixed layout issues by replacing missing
RepositoryLayout.astro. - API: Fixed Drizzle ORM "count" property errors in admin pages.
- Stacks API: Fixed TypeScript type limitations.
- Postgres Support: Full PostgreSQL support with
node-postgresdriver. - Environment Variables: Improved
isCloudStorage()detection usingSTORAGE_TYPEenv directly.
- Initial release of OpenCodeHub.
- Basic repo management, issue tracking, and PR workflow.