Releases: ddri/bebop
Bebop CMS v0.3.5 - Pika
🎯 Major Improvements in v0.3.5
✅ Technical Debt Resolution
- Fixed remaining TypeScript any types (87% improvement)
- Cleaned up unused imports and variables
- Added comprehensive error handling and boundaries
- Implemented consistent loading states across all components
- Added database connection resilience with retry logic
🔍 Major Features
- Comprehensive search functionality across topics and collections
- Real-time search with keyboard shortcuts (⌘K)
- MongoDB text indexing for efficient search performance
- Smart result highlighting and relevance scoring
- Global search bar with dropdown quick results
🛠 Infrastructure Improvements
- Enhanced error categorization and user-friendly messages
- Automatic retry logic for transient database failures
- Improved loading states and user feedback
- Better code organization and maintainability
🚀 User Experience
- Keyboard shortcuts for power users (⌘K to search)
- Loading feedback on all operations
- Better error messages instead of generic failures
- Faster search with MongoDB indexing
- Intuitive search results with content previews
This release significantly improves both the technical foundation and user experience of Bebop, making it more robust and user-friendly.
Bebop CMS v0.3.0 - Takayama
Release Date: June 2025
Type: Audit and security update
Breaking Changes: Yes - Authentication Required
Security Updates
This release tackles a security audit, addressed some typical vulnerabilities, and implements authentication for production-ready deployment. Previous versions (v0.2.3 and below) had no API authentication, allowing unauthorized access to:
- All user content and data
- Modify or delete operations
- File upload functionality
- Administrative functions
New Security Features
- GitHub OAuth Authentication - Secure login via GitHub accounts
- Universal API Protection - All endpoints require valid authentication
- Clerk Integration - Enterprise-grade authentication infrastructure
- Session Management - Secure user session handling
- Input Validation - Comprehensive request sanitization
- File Security - Protected upload operations with type validation
- Error Sanitization - Prevents information disclosure
✨ New Features
Authentication System
- GitHub OAuth Login - Seamless authentication via GitHub
- Protected Routes - Automatic redirection for unauthenticated users
- Session Persistence - Secure login state management
- Clean Sign Out - Proper session termination
API Security
- Universal Protection - All API endpoints require authentication
- Consistent Error Handling - Standardized 401/403 responses
- Request Validation - Input sanitization and type checking
- Production Safety - Environment-based operation restrictions
Developer Experience
- Clean Architecture - Professional authentication patterns
- Error Boundaries - Graceful failure handling
- Build Stability - Reliable production builds
- TypeScript Compliance - Zero compilation errors
Breaking Changes
Authentication Required
All users must now authenticate via GitHub to access the application.
Environment Variables Required:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_xxx
CLERK_SECRET_KEY=sk_xxx
DATABASE_URL=mongodb://xxxAPI Changes
- All endpoints now require valid authentication
- Unauthorized requests return 401 status
- Error responses use standardized JSON format
Bug Fixes
Build & Compilation
- Fixed: TypeScript compilation error in GitHubSettings component
- Fixed: Vercel deployment failures due to module resolution
- Fixed: Component import path inconsistencies
- Resolved: ESLint configuration conflicts
Dependencies
- Updated: Next.js 15.1.4 → 15.3.3 (critical security patches)
- Fixed: All npm audit vulnerabilities (now clean)
- Updated: Security patches across dependency tree
Error Handling
- Improved: Consistent API error responses
- Added: Proper HTTP status codes
- Fixed: Information disclosure in error messages
Migration Guide
For New Deployments
- Set up Clerk account at clerk.com
- Configure GitHub OAuth in Clerk dashboard
- Add environment variables to deployment platform
- Deploy and test authentication flow
For Existing Deployments
- Add required environment variables:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_xxx CLERK_SECRET_KEY=sk_xxx
- Redeploy application
- Verify authentication works correctly
- Test all functionality with authenticated users
Technical Details
Authentication Stack
- Provider: Clerk (clerk.com)
- OAuth: GitHub integration
- Session: Server-side validation
- Security: Industry-standard practices
API Protection
- Middleware: Clerk authentication middleware
- Validation: Request-level authentication checks
- Errors: Standardized error responses
- Logging: Comprehensive authentication logging
Support
Authentication Issues
- Verify Clerk configuration in dashboard
- Check environment variables are properly set
- Review GitHub OAuth setup in Clerk
- Test authentication flow in development
Deployment Problems
- Ensure all environment variables are configured
- Verify build process completes successfully
- Check authentication endpoints respond correctly
- Monitor application logs for errors
Installation
git clone https://github.com/yourusername/bebop.git
cd bebop
npm installEnvironment Setup:
cp .env.example .env
# Configure Clerk authentication keys
# Add MongoDB connection string
npm run devBebop CMS v0.2.3 - Dussoubs
Bebop v0.2.3: Social Media Integration for Campaigns
Overview
This release extends Bebop's campaign management capabilities by adding direct publishing support for Bluesky and Mastodon platforms. Users can now manage their social media content alongside their blog posts in a unified campaign interface.
New Features
- Social Platform Integration: Added Bluesky and Mastodon to available publishing platforms
- Campaign Social Publisher: New dedicated component for handling social media publishing
- Enhanced Platform Selection: Updated platform selection UI in campaign queue
- Integrated Metrics: Social media publishing metrics are now tracked alongside other platforms
Technical Improvements
- Added
CampaignSocialPublishercomponent - Updated platform handling in
CampaignPlanner - Extended social metrics tracking to campaign publications
- Improved error handling and retry mechanisms
Bug Fixes
- Improved error handling in publishing workflow
- Fixed platform selection state management
- Enhanced modal handling for multiple publisher types
Breaking Changes
None
Migration Guide
No migration needed. Feature is automatically available after updating.
Dependencies
No new dependencies required.
Full Changelog: v0.2.2...v0.2.3
Bebop CMS v0.2.2 - Sentier
The v0.2.2 release of Bebop is another small bump with a few interesting changes. The biggest focus is the new Campaigns mode, which is a proof of concept of a dedicated way to collect and stage content specifically for the purpose of distribution across a range of publishing destinations. A real-world example is making a product release announcement, where the product lead might write a technical blog post, a press release, a news update on the company website, and cross-post to various places like Dev and Hashnode. Which are the two services that are included in this release. There's also some improvements on the error handling, tightening of the APIs and routes, and keeping ahead of breaking changes from the latest versions of NextJS.
What's New in v0.2.2
Features
- Added Dev.to and Hashnode publishing support to Campaigns
- Share individual topics directly from Campaign queues
- Consistent publishing interface across Collections and Campaigns
Bug Fixes
- Fixed publishing plan status updates
- Improved error handling for failed status updates
- Fixed API route method mismatch for publishing plans
Technical Updates
- Unified publishing components to support both Collections and Campaigns
- Added better error logging and debugging support
- Updated Prisma schema to support platform-specific URLs
Documentation
-
Updated publishing component interfaces
-
Added debug logging documentation
-
Improved error messages for better user feedback
-
Related PRs
- Card UI by @ddri in #90
- Campaign Manager Queue System by @ddri in #92
- Fixed campaign publishing and added hashnode/dev by @ddri in #96
Full Changelog: v0.2.1...v0.2.2
Bebop CMS v0.2.1 - "Burleigh"
The v0.2.1 release of Bebop is a smaller bump up to cover some minor changes in the prisma schema, and the more obvious changes to the overall theme and style. The move to a more adventurous mix of colour tones is part of scaffolding the underlying application for a future user theme selector, so we're not stuck with pink if that's not your thing. There were also some smaller changes that tighten up the typing and some internal plumbing.
What's Changed
- Theme Updates and Interactive Card Improvements by @ddri in #84
- Hotfixes to prisma collections to fix client initialization and model references by @ddri in #88
- Fix collections buttons by @ddri in #89
- Removed unused social metrics code causing errors
- Fixed UI theme consistency across Collections pages
- Standardized color scheme to Bebop pink (#E669E8)
Full Changelog: v0.2.0...v0.2.1
Bebop CMS v0.2.0 - "SODO"
Bebop's v0.2.0 release is another alpha version update. This version effectively takes the locally hosted proof of concept we built in v0.1.0 and moves it into the cloud. In doing so, we add a new dedicated editor in the Write screen, set up some cloud storage for documents and images, and build out the workflow by adding some examples of remote publishing (in this case publishing to the blogging platforms Hashnode and Dev from directly inside Bebop).
I've also added some experiments like a "default content" importer, that populated Bebop with the onboard documentation directly as Topics and Collections (which also sets the foundations for a future templating system). This version is a nice slice across all the basic elements of the workflow I'm exploring, and sets the foundation for some specific features and improvements.
What's Changed
- feat: initial v0.2.0 changes - add collections, API routes, and hooks by @ddri in #1
- fix: move topic editor inline above edited topic by @ddri in #7
- feat: enhance markdown editor with toolbar and word wrap by @ddri in #17
- feat: add topic descriptions and enhance markdown editor by @ddri in #19
- feat: add remove from collection functionality and fix type issues by @ddri in #20
- fix: publish and unpublish functionality by @ddri in #21
- Fix: Correctly await params in API route by @ddri in #23
- Fix: collections route edit by @ddri in #24
- Fix: lol by @ddri in #25
- Adding contributor file by @ddri in #29
- adding env example by @ddri in #31
- Create landing page and update default page routing by @ddri in #33
- Landing copy by @ddri in #35
- basic publish to devto by @ddri in #38
- Codemods by @ddri in #40
- Remove word count sorting options from Topics page by @ddri in #41
- Create a Media library page and test media files with local storage by @ddri in #42
- s3 buckets wip by @ddri in #43
- Topic images by @ddri in #45
- minor fixes by @ddri in #47
- Devto settings by @ddri in #48
- drag and drop for images by @ddri in #52
- new homepage by @ddri in #54
- codemirror fixes by @ddri in #61
- Settingsnav by @ddri in #62
- Set up basic media embedding (oEmbed model) by @ddri in #63
- Embed media by @ddri in #64
- preview mode by @ddri in #66
- Housekeeping and prep for 0.2.0 release by @ddri in #68
- Create default topic/collections by @ddri in #70
- Fix topic delete function by @ddri in #71
- S3 media sync fix by @ddri in #72
- Added collections delete function by @ddri in #73
Full Changelog: v0.1.0...v0.2.0
Bebop CMS v0.1.0 - "Init"
This is the first version of Bebop built to run entirely locally and with minimal fuss. The basic functionality is:
- user can create a markdown document
- user can import an existing markdown document
- use can group markdown documents into a collection
- the contents of a collection can be reordered in card view
- a collection can be published (e.g. combining and publishing the collected markdown files as one document)
- basic local storage
- basic UI sort and filter for topics and collections