Changelog
All notable changes to MyStoryFlow are documented in this file. This changelog follows the Keep a Changelog format.
[Unreleased]
Added
- Nextra Documentation System: Comprehensive technical documentation with Nextra
- Documentation Structure: Organized docs covering architecture, development, API, deployment
- Auto-Save Implementation: Complete auto-save system for story editor
- Selective Deployment: Optimized deployment strategy for monorepo
- Deployment Impact Analysis: Script to check which apps will be affected by changes
- Deployment Troubleshooting Guide: Comprehensive guide for resolving deployment issues
Changed
- Docs App: Migrated from basic Next.js to Nextra documentation framework
- Deployment Configuration: Updated all Vercel configurations for selective deployment
- Turbo Configuration: Enhanced with proper environment variable handling
Fixed
- Marketing Site Build Errors: Resolved import path issues and Next.js 15 compatibility
- Selective Deployment: Added missing
ignoreCommandto prevent unnecessary builds - API Routes: Fixed async params handling for Next.js 15 compatibility
- Nextra Build Errors: Fixed import syntax and configuration issues
- Turbo Configuration: Updated from
pipelinetotasksfor Turbo 2.x compatibility
[2024-01-15] - Deployment Fixes
Fixed
- Nextra Import Error: Corrected Nextra import syntax in
next.config.js// Fixed: const withNextra = require('nextra')({...}) ``` --> - Turbo Configuration: Updated
turbo.jsonto usetasksinstead ofpipeline - Build Configuration: Simplified Nextra configuration for better compatibility
- Selective Deployment: Improved turbo-ignore functionality
Added
- Deployment Troubleshooting Guide: Comprehensive guide covering:
- Nextra build errors and solutions
- Turbo configuration issues
- Selective deployment problems
- Node.js version compatibility
- Environment variable issues
- Debugging commands and best practices
Technical Details
- Turbo Version Compatibility: Fixed compatibility with Turbo 2.x
- Error Handling: Better error messages and debugging information
- Configuration Validation: Improved configuration file validation
[2024-01-15] - Auto-Save System
Added
- API Endpoint:
PATCH /api/stories/[storyId]for story updates - Auto-Save Utilities: Core functions for debounced saving and calculations
- Real-time Statistics: Word count and page count calculations
- Save Status Feedback: Visual indicators for save states
- Enhanced Editor Shell: Integrated auto-save with editor component
- Editor Footer: Real-time stats and save status display
Technical Details
- Debounced Saving: 500ms delay to optimize performance
- Word Count Algorithm: HTML-aware word counting
- Page Estimation: 250 words per page calculation
- Error Handling: Comprehensive error states and recovery
- Authentication: User ownership verification for stories
Testing
- API Tests: Comprehensive endpoint testing
- Utility Tests: Function accuracy verification
- Component Tests: UI behavior validation
[2024-01-14] - Selective Deployment Implementation
Added
- Turbo-Ignore Integration: Installed and configured turbo-ignore package
- Selective Build Logic: Only changed applications are rebuilt
- Deployment Configuration: Updated all app vercel.json files
- Impact Analysis Script: Tool to preview deployment changes
Changed
- Build Pipeline: Optimized for selective deployment
- Environment Variables: Comprehensive environment variable configuration
- Deployment Strategy: Independent app deployments
Performance Improvements
- Build Time Reduction: Only necessary apps are built
- Resource Optimization: Reduced compute usage and costs
- Parallel Deployments: Independent deployment pipelines
[2024-01-13] - Marketing Site Fixes
Fixed
- Import Path Errors: Fixed imports for
renderParagraphsanduploadToBackblaze - Missing Interface Exports: Exported
BlogPostCustomandBlogHighlightsCustomProps - Invalid Props: Removed unsupported
showCountprop from waitlist forms - Next.js 15 Compatibility: Updated API routes for async params
- Test File Updates: Fixed test files for async params handling
Technical Changes
- API Route Updates: Proper handling of
await paramspattern - Component Props: Cleaned up component interfaces
- Type Exports: Improved TypeScript type definitions
[2024-01-12] - Monorepo Deployment Configuration
Added
- Vercel Configuration: Individual vercel.json for each application
- Environment Variables: Comprehensive environment variable setup
- Build Commands: Monorepo-aware build commands
- Schema Validation: Proper JSON schema references
Fixed
- Empty App Directories: Added placeholder pages for incomplete apps
- Schema Validation Errors: Removed invalid properties from vercel.json
- Missing Dependencies: Added required dependencies for all apps
Infrastructure
- Deployment Pipeline: Separate deployment for each application
- Environment Management: Proper environment variable isolation
- Build Optimization: Turbo-powered build system
[2024-01-11] - Documentation System Setup
Added
- Nextra Integration: Modern documentation framework
- Theme Configuration: Custom MyStoryFlow branding
- Navigation Structure: Organized documentation sections
- Search Functionality: Built-in documentation search
- Mobile Responsive: Mobile-friendly documentation
Documentation Sections
- Architecture & Design: System overview and design decisions
- Development: Setup guides and implementation details
- API Reference: Comprehensive API documentation
- Database: Schema and data architecture
- Components: UI component library documentation
- Features: Feature implementation guides
- Deployment: Deployment strategies and configuration
- Operations: Monitoring and maintenance
- Security: Security architecture and best practices
- Performance: Performance optimization guides
Features
- Dark Mode: Theme switching support
- Code Highlighting: Syntax highlighting for code blocks
- ASCII Diagrams: Support for architectural diagrams using text-based representations
- Edit Links: Direct GitHub editing links
- Feedback System: Built-in feedback collection
- Git Timestamps: Automatic last updated timestamps
Technical Debt & Improvements
Resolved
- Node.js Version Compatibility: Addressed version requirements (local development blocked by 18.17.1 vs 18.18.0+ requirement)
- Build Configuration: Streamlined build processes across all applications
- Type Safety: Improved TypeScript coverage and type definitions
- Error Handling: Enhanced error handling and user feedback
- Deployment Issues: Fixed Nextra and Turbo configuration problems
- Selective Deployment: Resolved all apps building unnecessarily
In Progress
- Testing Coverage: Expanding test coverage across all applications
- Performance Monitoring: Implementation of comprehensive monitoring
- Security Audits: Regular security reviews and updates
Migration Notes
From Basic Docs to Nextra
- Migrated documentation from basic Next.js pages to Nextra framework
- Improved navigation and search capabilities
- Enhanced mobile experience and accessibility
Deployment Strategy Evolution
- Evolved from monolithic deployment to selective deployment
- Implemented proper environment variable management
- Added deployment impact analysis tools
- Fixed configuration issues for reliable selective deployment
Turbo Configuration Updates
- Migrated from
pipelinetotasksconfiguration format - Improved compatibility with Turbo 2.x
- Enhanced error handling and debugging
Development Guidelines
Documentation Updates
Every technical decision, implementation detail, and architectural choice should be documented. When making changes:
- Update Relevant Documentation: Modify corresponding docs sections
- Add Changelog Entries: Document changes in this changelog
- Update Architecture Diagrams: Keep diagrams current
- Review and Test: Ensure documentation accuracy
Code Quality Standards
- TypeScript: Strict type checking enabled
- Testing: Required tests for new functionality
- Documentation: Comprehensive inline and external documentation
- Performance: Consider performance implications of changes
Deployment Best Practices
- Test Locally: When possible, verify builds work locally
- Check Selective Deployment: Ensure only affected apps rebuild
- Monitor Deployments: Watch for unexpected builds or failures
- Document Issues: Update troubleshooting guide with new solutions
This changelog is automatically updated with each release and significant development milestone.