# IGNY8 Change Log **Current Version:** 1.7.1 **Last Updated:** January 11, 2026 --- ## Version History | Version | Date | Summary | |---------|------|---------| | 1.7.1 | Jan 11, 2026 | **Bug Fixes & Improvements** - SeeDream AI image model integration, Image generation credit fixes, Widget improvements, Template optimizations, Phase 4 completion (Email/Notifications QA) | | 1.7.0 | Jan 10, 2026 | **Major** - Pre-Launch Cleanup Complete (Phases 1, 5, 6): Code cleanup, UX improvements, data backup tools; WordPress plugin distribution system; Template design improvements; AI model fixes | | 1.6.2 | Jan 8, 2026 | **Design Refinements** - Updated marketing site gradients to brand colors (primary + success), reduced shadow weights, simplified automation icons, added Upcoming Features page | | 1.6.1 | Jan 8, 2026 | **Email System** - SMTP configuration, email templates, password reset flow, email verification, unsubscribe functionality | | 1.6.0 | Jan 8, 2026 | **Major** - Payment System Refactor Complete: Stripe, PayPal, Bank Transfer flows finalized; Simplified signup (no payment redirect); Country-based payment rules; Webhook security; PDF invoices | | 1.5.0 | *Planned* | Image Generation System Overhaul, Quality Tier Refinements, Credit Service Enhancements | | 1.4.0 | Jan 5, 2026 | **Major** - AI Model Architecture Overhaul, IntegrationProvider Model, AIModelConfig with Credit System, SystemAISettings, Django Admin Reorganization | | 1.3.2 | Jan 3, 2026 | **Major** - Publishing Scheduler, Onboarding Wizard, Content Calendar, Design System Consolidation, Site Dashboard redesign | | 1.3.1 | Jan 2, 2026 | **Design System Consolidation** - Updated .rules with comprehensive design system & component rules, ESLint enforcement | | 1.3.0 | Jan 1, 2026 | **Major** - Automation overhaul, AI provider integrations (Anthropic/Bria), Model Registry, Global Progress tracking, CSS globalization | | 1.2.2 | Dec 28, 2025 | **NEW** - Full notifications page with filtering and bulk actions | | 1.2.1 | Dec 28, 2025 | **Critical Fix** - AI task notifications now working | | 1.2.0 | Dec 27, 2025 | **Final Launch Release** - Notifications system, Dashboard widgets, ThreeWidgetFooter, UI polish | | 1.1.9 | Dec 27, 2025 | UI improvements - PageContext, SearchModal, AppHeader/Layout updates | | 1.1.8 | Dec 27, 2025 | Section 6 SIDEBAR restructure - Dropdowns, breadcrumbs, navigation cleanup | | 1.1.7 | Dec 27, 2025 | Section 5 HELP module - Support links, Documentation, FAQ updates | | 1.1.6 | Dec 27, 2025 | Section 4 ACCOUNT modules - Profile API, Password Change, Billing improvements | | 1.1.5 | Jan 2, 2025 | Section 3 WORKFLOW modules - Planner, Writer, Progress Modal fixes | | 1.1.4 | Dec 27, 2025 | Section 2 SETUP modules - Add Keywords, Content Settings, Sites fixes | | 1.1.3 | Dec 27, 2025 | Merged RULES.md into .rules | | 1.1.2 | Dec 27, 2025 | Module status documentation, TODOS.md | | 1.1.1 | Dec 27, 2025 | Simplified AI agent rules file | | 1.1.0 | Dec 25, 2025 | UX overhaul, page consolidation, pre-launch audit | | 1.0.5 | Dec 12, 2025 | Purchase Credits tab, UI reorganization | | 1.0.4 | Dec 12, 2025 | Credit Activity tab, Cost Reference panel | | 1.0.3 | Dec 12, 2025 | Usage Limits color variety, Cost Breakdown | | 1.0.2 | Dec 12, 2025 | Usage Analytics consolidation, Design system | | 1.0.1 | Dec 12, 2025 | Usage summary endpoint, Plan limits UI | | 1.0.0 | Dec 12, 2025 | Initial production release | --- ## v1.7.1 - January 11, 2026 ### Bug Fixes, Improvements, and Phase 4 Completion This release includes critical bug fixes for image generation, SeeDream AI model integration, widget improvements across multiple pages, and completion of Phase 4 (Email & Notifications QA) from the pre-launch checklist. --- ### πŸ–ΌοΈ Image Generation & AI Models **SeeDream AI Model Integration:** - Added new SeeDream AI model via migration [0031_add_seedream_model.py](backend/igny8_core/business/billing/migrations/0031_add_seedream_model.py) - Configured as high-quality image generation model with appropriate credit costs - Updated landscape/portrait/square size configurations - Integrated with model registry and credit system **Image Generation Credit Fixes:** - Fixed credit deduction logic in [tasks.py](backend/igny8_core/ai/tasks.py) - Resolved issues with credit verification before image generation - Fixed AITaskLog logging for image generation operations - Improved error handling for insufficient credits scenarios **Model Configuration Updates:** - Updated image size configurations in migration [0030_add_aimodel_image_sizes.py](backend/igny8_core/business/billing/migrations/0030_add_aimodel_image_sizes.py) - Added landscape_size, portrait_size, square_size fields to AIModelConfig - Enhanced model registry with better size handling --- ### πŸ“Š Widget & UI Improvements **Dashboard Widgets:** - Fixed WorkflowCompletionWidget data loading and display issues - Improved useWorkflowStats hook for better performance and accuracy - Updated CurrentProcessingCardV2 with better state handling - Enhanced dashboard widgets layout and responsiveness **Page-Level Improvements:** - **Keywords Page**: Improved table layout, filtering, and bulk actions - **Clusters Page**: Enhanced clustering UI and workflow visualization - **Ideas Page**: Better idea management and status tracking - **Tasks Page**: Improved task queue display and processing indicators - **Content Page**: Enhanced content review and editing interface - **Sites Pages**: Improved site listing and settings management - **Publisher/Calendar**: Better content scheduling interface - **Help Page**: Updated documentation links and support resources **Color System:** - Added new color tokens to [colors.config.ts](frontend/src/config/colors.config.ts) - Improved color consistency across components --- ### πŸ”§ Backend Improvements **AI Core & Processing:** - Refactored [ai_core.py](backend/igny8_core/ai/ai_core.py) for better model handling - Updated [generate_images.py](backend/igny8_core/ai/functions/generate_images.py) with improved error handling - Enhanced [ai_processor.py](backend/igny8_core/utils/ai_processor.py) for better task processing - Improved model registry in [model_registry.py](backend/igny8_core/ai/model_registry.py) **Automation Service:** - Enhanced [automation_service.py](backend/igny8_core/business/automation/services/automation_service.py) - Improved stage processing and error recovery - Better credit tracking across automation stages **Credit Service:** - Updated [credit_service.py](backend/igny8_core/business/billing/services/credit_service.py) - Fixed credit calculation for image generation - Improved credit logging and transaction history **System Settings:** - Enhanced [ai_settings.py](backend/igny8_core/modules/system/ai_settings.py) with default quality tier settings - Updated [integration_views.py](backend/igny8_core/modules/system/integration_views.py) for better API handling - Improved [settings_views.py](backend/igny8_core/modules/system/settings_views.py) --- ### βœ… Phase 4 Completion: Email & Notifications QA **Email System Verification:** - Verified SMTP configuration and email delivery - Tested password reset email flow - Confirmed email verification functionality - Validated unsubscribe mechanisms - Tested notification emails for AI task completion/failures **Notification System:** - Verified notification creation for all AI operations - Tested notification delivery for automation stages - Confirmed notification filtering and bulk actions - Validated notification preferences and settings --- ### πŸ“š Documentation Updates **Updated Documentation:** - [BILLING.md](docs/10-MODULES/BILLING.md) - Updated credit system documentation - [CREDIT-SYSTEM.md](docs/40-WORKFLOWS/CREDIT-SYSTEM.md) - Enhanced credit workflow documentation - [FINAL-PRELAUNCH-PENDING.md](docs/plans/FINAL-PRELAUNCH-PENDING.md) - Updated with Phase 4 completion **New Documentation:** - [COMPREHENSIVE-SYSTEM-FIX-PLAN-JAN-10-2026.md](docs/plans/implemented/COMPREHENSIVE-SYSTEM-FIX-PLAN-JAN-10-2026.md) - System fix documentation - [FOOTER-WIDGETS-AUDIT.md](docs/plans/implemented/FOOTER-WIDGETS-AUDIT.md) - Widget audit results - [IMAGE-GENERATION-GAPS.md](docs/plans/implemented/IMAGE-GENERATION-GAPS.md) - Image generation issues and fixes **Documentation Reorganization:** - Moved completed documentation to `docs/plans/implemented/` folder - Better organization of planning vs. implemented features --- ### πŸ› Bug Fixes - Fixed credit deduction not working properly for image generation - Resolved widget data loading issues on Dashboard - Fixed automation stage processing errors - Corrected image size configuration for different models - Fixed notification creation timing issues - Resolved UI responsiveness issues on various pages --- ### πŸ”„ Code Cleanup & Organization - Reorganized documentation structure - Improved code comments and documentation - Enhanced error messages for better debugging - Cleaned up unused code and imports - Improved type safety in TypeScript components --- ### πŸ“ Files Changed | File | Changes | |------|---------| | `backend/igny8_core/business/billing/services/credit_service.py` | Added `check_credits_for_image()` method | | `backend/igny8_core/ai/tasks.py` | Added credit check, AITaskLog logging, notifications | --- ### πŸ“‹ Credit Usage Logging Locations | Table | Purpose | |-------|---------| | `CreditTransaction` | Financial ledger entry (via `deduct_credits_for_image`) | | `CreditUsageLog` | Detailed usage log with model, cost, credits | | `AITaskLog` | AI task execution tracking | | `Notification` | User notifications for completion/failure | --- ## v1.7.0 - January 10, 2026 ### Pre-Launch Cleanup & Plugin Distribution System This major release completes critical pre-launch phases (1, 5, 6) with comprehensive code cleanup, UX improvements, and data management tools. It also introduces the WordPress plugin distribution infrastructure and improves template rendering. --- ### 🧹 Phase 1: Code Cleanup & Technical Debt - COMPLETE βœ… **Code Quality Improvements:** - Removed 3,218 lines of legacy code - Deleted 24 files and cleaned up 11 empty directories - Removed 17 console.log/debug statements: - UserProfile components (UserMetaCard, UserAddressCard, UserInfoCard) - Automation/ConfigModal - ImageQueueModal (8 statements) - ImageGenerationCard (7 statements) - Applied ESLint auto-fixes (9 errors fixed) - All TypeScript strict mode checks passing **Removed Test Files:** - `test-module-settings.html` (manual API test) - `test_urls.py` (one-time URL verification) - `test_stage1_refactor.py` (stage 1 verification) **Deleted Unused Components:** - ecommerce/ template components (7 files) - sample-components/ (2 HTML files) - charts/bar/ and charts/line/ - tables/BasicTables/ - CurrentProcessingCard.old.tsx **Production Status:** - βœ… Build time: ~9 seconds - βœ… All tests passing - βœ… ESLint compliance - βœ… TypeScript strict mode - βœ… Production-ready codebase --- ### 🎨 Phase 5: UX Improvements - COMPLETE βœ… **Enhanced Search Modal:** - Added search filters: All, Workflow, Setup, Account, Help - Implemented recent searches (localStorage, max 5) - Added category display in results - Improved result filtering by type and category - Deep linking to help sections with auto-expand accordions **Smart Search Features:** - Intelligent phrase matching (strips filler words: how, to, what, is) - Basic stemming support (tasks β†’ task) - Duplicate prevention using Set - Enhanced matching logic: - Direct keyword match - Normalized term match - Question text match **Comprehensive Keyword Coverage:** Added 10+ keyword categories: - task, cluster, billing, invoice, payment - plan, usage, schedule, wordpress - writing, picture, user, ai **Help System:** - Added 25+ help questions across 8 topics - Context snippets and highlighting - Suggested questions - Fixed duplicate keywords in navigation --- ### πŸ’Ύ Phase 6: Data Backup & Cleanup Tools - COMPLETE βœ… **New Django Management Commands:** 1. **export_system_config** - Exports system configuration to JSON - Includes: Plans, Credit Costs, AI Models, Industries, Sectors, etc. - Metadata with export timestamp and stats - Usage: `python manage.py export_system_config --output-dir=backups/config` 2. **cleanup_user_data** - Safely deletes all user-generated data - DRY-RUN mode to preview deletions - Confirmation prompt for safety - Production environment protection - Deletes: Sites, Keywords, Content, Images, Transactions, Logs - Preserves: System config and user accounts - Usage: `python manage.py cleanup_user_data --dry-run` - Usage: `python manage.py cleanup_user_data --confirm` **Documentation:** - Comprehensive 300+ line backup and cleanup guide - Atomic transactions and safety features - Ready for V1.0 production database preparation --- ### πŸ”Œ WordPress Plugin Distribution System **Infrastructure Setup:** - Full plugin distribution system implemented - Directory structure: `/plugins/{platform}/source/` and `/dist/` - Database models: Plugin, PluginVersion, PluginInstallation, PluginDownload - API endpoints for download, check-update, register, health-check - WordPress auto-update mechanism via `pre_set_site_transient_update_plugins` hook - Build scripts for ZIP generation with versioning - Security: signed URLs, checksums (MD5/SHA256), rate limiting - Monitoring and analytics dashboard widgets **Plugin Versioning:** - Semantic versioning system - Automated packaging and distribution - Update check mechanism - Health check endpoints - Installation tracking **Platform Ready:** - WordPress: Production ready - Shopify: Infrastructure ready - Custom sites: Infrastructure ready --- ### πŸ€– AI & Backend Improvements **AI Model Fixes:** - Fixed AI and image-related models in backend - Improved image generation reliability - Better error handling for AI tasks - Enhanced prompt handling - Improved aspect ratio detection **Template Rendering:** - Template design improvements - Better content section handling - Image layout enhancements - Improved prose styling --- ### πŸ“š Documentation Updates **Documentation Reorganization:** - Restructured docs folder - Updated plugin distribution documentation - Added comprehensive system guides - Improved workflow documentation **New/Updated Docs:** - Plugin distribution system guide - Backup and cleanup guide (300+ lines) - Pre-launch checklist updates - Version update workflow --- ### πŸ”§ Technical Changes **Build & Development:** - 23 commits since v1.6.2 - 24+ files modified - Major merge: Phase 1, 5, 6 implementation - Build optimizations **Database & API:** - Enhanced model relationships - Improved query optimization - Better API endpoint structure - Rate limiting enhancements **Frontend:** - Component cleanup and organization - Better state management - Improved type safety - Search modal enhancements --- ### πŸš€ Production Readiness Status **Completed:** - βœ… Phase 1: Code cleanup complete - βœ… Phase 5: UX improvements complete - βœ… Phase 6: Data backup & cleanup tools ready - βœ… Plugin distribution system operational - βœ… All tests passing - βœ… Production build ready **Deferred to Post-Launch:** - Image regeneration feature (Phase 9) - Additional AI model integrations - Advanced automation features **Next Steps:** - Phase 7: User acceptance testing - Performance optimization - Final pre-launch checklist - V1.0 production deployment --- ## v1.6.2 - January 8, 2026 ### Marketing Site Design Refinements This release updates the marketing site visual design to use consistent brand colors (primary + success gradient mix) throughout, reduces shadow weights for a cleaner appearance, and adds a comprehensive Upcoming Features roadmap page. --- ### 🎨 Brand Color Consistency **Gradient Updates - Primary + Success Mix:** All marketing page gradients updated from purple/pink tones to brand colors (primary + success) **Hero Sections Updated:** - `Home.tsx` - Hero gradient: `from-primary via-primary-dark to-success` - `Upcoming.tsx` - Hero gradient: `from-primary via-primary-dark to-success` - Updated radial glow overlays to use success RGB values **CTA Sections Before Footer:** All pre-footer CTA sections updated across 5 pages: - `Home.tsx` - CTA gradient: `from-success via-primary-dark to-primary` - `Product.tsx` - CTA gradient: `from-success via-primary-dark to-primary` - `Pricing.tsx` - CTA gradient: `from-success via-primary-dark to-primary` - `Solutions.tsx` - CTA gradient: `from-success via-primary-dark to-primary` - `Partners.tsx` - CTA gradient: `from-success via-primary-dark to-primary` - `CaseStudies.tsx` - CTA gradient: `from-success via-primary-dark to-primary` --- ### 🧹 Shadow & Visual Refinements **Product Module Screenshots:** - Reduced shadow from `shadow-2xl` to `shadow-md` for cleaner appearance - Reduced blur from `blur-xl` to `blur-lg` on gradient glows - Reduced inset values for more subtle frame effects - Updated across all 4 product module sections **Hero Dashboard:** - Reduced shadow from `shadow-2xl` to `shadow-lg` - Reduced blur effects from `blur-3xl`/`blur-2xl` to `blur-xl`/`blur-lg` - Toned down opacity on glow effects (from 30%/20% to 20%/10%) **Automation Engine Section:** - Simplified numbered badges from colorful mix to consistent primary gradient - Changed size from `w-10 h-10` to `w-9 h-9` for cleaner appearance - Removed heavy `shadow-lg` effects, using subtle `shadow-sm` - Removed neon glow and hover animations for cleaner branded look - Reduced automation dashboard shadow from `shadow-2xl` to `shadow-md` - Updated all 7 automation handoff badges to use consistent primary gradient --- ### πŸš€ Upcoming Features Page **New Page: `/upcoming`** - Comprehensive roadmap page with timeline-based feature organization - 3 phases with unique visual badges - 10 major upcoming features documented **Phase 1 - Launching February 2026:** - **Linker Module** - Internal/external linking with keyword clustering - **Optimizer Module** - Content re-optimization engine **Phase 2 - Launching Q2 2026:** - **Products Pages** - E-commerce product content generation - **Services Pages** - Service business content engine - **Company Pages** - Corporate website essentials - **Socializer** - Multi-platform social media publishing **Phase 3 - Launching Q3-Q4 2026:** - **Video Content Creator** - AI video generation & publishing - **Site Builder** - The SEO holy grail - **Advanced Analytics** - Performance insights & reporting **Visual Design:** - Rich gradient badges for each timeline phase (Success, Purple, Warning gradients) - Feature cards with icons, descriptions, and detailed bullet points - Hover effects and visual polish - Consistent with marketing site design system **Navigation:** - Added "Upcoming Features" link to footer Resources section - Route integrated in `MarketingApp.tsx` - Lazy-loaded for performance --- ### πŸ“„ Documentation Updates **Marketing Site Updates:** All marketing pages synced with current app architecture: - Updated `Home.tsx` with 8-stage pipeline and 7 automation handoffs - Updated `Product.tsx` with accurate module descriptions - Updated `Tour.tsx` with 5 comprehensive steps - Updated `Solutions.tsx` with current architecture **Prelaunch Plan Progress:** - Marked Phase 7.1 (Documentation Updates) complete - Marked Phase 8.1 (Site Content) complete - Marked Phase 8.2 (Pricing Page) complete - Marked Phase 8.3 (Upcoming Features Section) complete --- ### πŸ“¦ Files Changed Summary **Frontend Marketing Pages (8):** | File | Changes | Description | |------|---------|-------------| | `marketing/pages/Home.tsx` | ~30 lines | Hero gradient, CTA gradient, shadow reductions, automation simplification | | `marketing/pages/Upcoming.tsx` | NEW - 362 lines | Comprehensive upcoming features page | | `marketing/pages/Product.tsx` | ~5 lines | CTA gradient update | | `marketing/pages/Pricing.tsx` | ~5 lines | CTA gradient update | | `marketing/pages/Solutions.tsx` | ~5 lines | CTA gradient update | | `marketing/pages/Partners.tsx` | ~5 lines | CTA gradient update | | `marketing/pages/CaseStudies.tsx` | ~5 lines | CTA gradient update | | `marketing/MarketingApp.tsx` | +3 lines | Upcoming route | **Navigation & Config (1):** | File | Changes | Description | |------|---------|-------------| | `marketing/data/navLinks.ts` | +1 link | Added "Upcoming Features" to footer | **Documentation (1):** | File | Changes | Description | |------|---------|-------------| | `docs/plans/FINAL-PRELAUNCH.md` | ~20 lines | Marked Phase 7 & 8 tasks complete | --- ### 🎯 Design Principles Applied 1. **Brand Consistency** - All gradients now use primary + success mix (matching logo) 2. **Visual Hierarchy** - Reduced shadow weights prevent visual overwhelm 3. **Clean & Branded** - Simplified automation icons from "trainbox mix" to consistent primary gradient 4. **Subtle & Elegant** - Shadow weights reduced to md/lg instead of 2xl for modern appearance 5. **Content First** - Reduced decorative effects to let content shine --- ### Git Reference ```bash # Commits in this release: 4f99fc14 - Update all CTA section backgrounds to primary + success gradient 84ed711f - Reduce shadow weights and simplify automation icons 7c79bdcc - Update gradient backgrounds from purple/pink to primary + success mix 74370685 - Add Upcoming Features page with timeline-based roadmap e2a1c151 - Update FINAL-PRELAUNCH.md: Mark Phase 7 & 8 tasks complete 51512d6c - Update Tour and Solutions pages with accurate pipeline ``` --- ## v1.6.1 - January 8, 2026 ### Email System Implementation This release implements a comprehensive email system with SMTP configuration, customizable email templates, and user authentication flows including password reset, email verification, and unsubscribe functionality. --- ### πŸ“§ SMTP Configuration & Admin **New Models:** - `EmailSettings` - SMTP configuration model with server settings - Fields: `smtp_host`, `smtp_port`, `smtp_username`, `smtp_password` - TLS/SSL configuration options - Default sender email and name - Test email functionality from admin **Django Admin Integration:** - Custom admin panel for email settings (`email_admin.py`) - Test email sending directly from admin interface - Custom admin templates: - `admin/system/emailsettings/change_form.html` - Settings form with test button - `admin/system/emailsettings/test_email.html` - Test email confirmation page **Migration:** - `0021_add_smtp_email_settings.py` - Creates EmailSettings table --- ### πŸ” Authentication Flows **Password Reset Flow:** - `ForgotPassword.tsx` - Email submission form for password reset requests - `ResetPassword.tsx` - Token-based password reset form - Backend endpoints integrated with email service - Secure token generation and validation **Email Verification:** - `VerifyEmail.tsx` - Email verification page for new users - Token-based verification flow - Success/error state handling - Auto-redirect after verification **Unsubscribe:** - `Unsubscribe.tsx` - One-click email unsubscribe page - Token-based unsubscribe for security - Confirmation messaging --- ### πŸ“¨ Email Service Enhancements **Email Service Updates** (`email_service.py`): - SMTP-based email sending with configurable settings - Support for HTML email templates - Template rendering with dynamic context - Error handling and logging - Integration with authentication views **Email Templates Updated:** - `emails/base.html` - Enhanced base template (126+ lines updated) - `emails/email_verification.html` - Verification email template - `emails/password_reset.html` - Password reset email template - `emails/welcome.html` - Welcome email for new users - `emails/low_credits.html` - Low credit warning email - `emails/payment_approved.html` - Payment approval notification - `emails/payment_confirmation.html` - Payment confirmation - `emails/payment_failed.html` - Payment failure notification - `emails/payment_rejected.html` - Payment rejection notification - `emails/refund_notification.html` - Refund notification - `emails/subscription_activated.html` - Subscription activation - `emails/subscription_renewal.html` - Subscription renewal reminder --- ### 🎨 Frontend Pages **New Pages:** | Route | Component | Description | |-------|-----------|-------------| | `/forgot-password` | `ForgotPassword.tsx` | Password reset request form | | `/reset-password` | `ResetPassword.tsx` | Password reset with token | | `/verify-email` | `VerifyEmail.tsx` | Email verification handler | | `/unsubscribe` | `Unsubscribe.tsx` | Email unsubscribe page | **Route Updates:** - Added new routes to `App.tsx` (12+ lines) - Authentication URL patterns in `auth/urls.py` (209+ lines) --- ### πŸ“š Documentation Updates **Django Admin Access Guide:** - Updated `docs/90-REFERENCE/DJANGO-ADMIN-ACCESS-GUIDE.md` (104+ lines added) - Added email settings administration documentation - Test email procedures documented **Legal Pages:** - Minor updates to `Privacy.tsx` and `Terms.tsx` --- ### πŸ—„οΈ Database Changes **New Migration:** - `0020_add_email_models.py` - Email models and templates (93 lines) - `0021_add_smtp_email_settings.py` - SMTP settings model (53 lines) **New Models:** - `EmailSettings` - SMTP configuration - `EmailTemplate` - Customizable email templates (292 lines in `email_models.py`) --- ### πŸ“¦ Files Changed Summary **Backend Files (7):** | File | Changes | |------|---------| | `billing/services/email_service.py` | +427 lines - Complete email service implementation | | `modules/system/email_admin.py` | +448 lines - Django admin for email management | | `modules/system/email_models.py` | +338 lines - Email settings and template models | | `auth/views.py` | +17 lines - Password reset and verification views | | `auth/urls.py` | +209 lines - Authentication URL patterns | | `billing/views/paypal_views.py` | +26 lines - Email notification integration | | `billing/views/stripe_views.py` | +21 lines - Email notification integration | **Frontend Files (5):** | File | Changes | |------|---------| | `pages/AuthPages/ForgotPassword.tsx` | NEW - 177 lines | | `pages/AuthPages/ResetPassword.tsx` | NEW/Updated - 350 lines | | `pages/AuthPages/VerifyEmail.tsx` | NEW - 220 lines | | `pages/AuthPages/Unsubscribe.tsx` | NEW - 83 lines | | `App.tsx` | +12 lines - New route definitions | **Template Files (13):** - All email templates in `templates/emails/` updated for consistency **Admin Templates (2):** - `admin/system/emailsettings/change_form.html` - 15 lines - `admin/system/emailsettings/test_email.html` - 97 lines - `admin/system/emailtemplate/test_email.html` - 78 lines --- ### Git Reference ```bash # Commits in this release: d4ecddba - SMTP and other email related settings 3651ee9e - Email Configs & setup ``` --- ## v1.6.0 - January 8, 2026 ### Major Release: Payment System Refactor Complete This release completes the comprehensive refactoring of the payment system, including all three payment gateways (Stripe, PayPal, Bank Transfer), simplified signup flow, and enhanced security. --- ### πŸ’³ Payment Gateway Integration **Stripe Integration:** - Subscription checkout sessions - Credit package checkout - Billing portal for subscription management - Webhook processing with idempotency - Signature verification enforced **PayPal Integration:** - One-time orders for credit packages - Subscription orders for plans - Order capture flow - Webhook signature verification enabled - Amount validation on capture **Bank Transfer (Pakistan):** - Manual payment submission - File upload for payment proof - Admin approval workflow - Email notifications on approval/rejection --- ### πŸ”„ Simplified Signup Flow **Before:** Payment gateway redirect from signup page **After:** Signup creates account only, payment on /account/plans **Changes:** - Removed Stripe/PayPal checkout creation from registration - Account created with `status='pending_payment'` for paid plans - User redirected to Plans & Billing page to complete payment - Single `/signup` route (removed `/signup/pk` variant) --- ### 🌍 Country-Based Payment Rules **Global Users (non-PK):** - Stripe (Credit/Debit Card) βœ… - PayPal βœ… - Bank Transfer ❌ **Pakistan Users (PK):** - Stripe (Credit/Debit Card) βœ… - PayPal ❌ (not available in Pakistan) - Bank Transfer βœ… --- ### 🎨 Frontend Components **New Components:** - `PendingPaymentView` - Full-page payment interface for new users - `BankTransferForm` - Bank transfer submission with proof upload - `PaymentGatewaySelector` - Gateway selection UI **Updated Components:** - `PlansAndBillingPage` - Conditional rendering based on user state - `PendingPaymentBanner` - Alert for pending payments - `PayInvoiceModal` - Invoice payment modal --- ### πŸ”’ Security Enhancements - **Webhook Idempotency:** `WebhookEvent` model tracks processed events - **PayPal Signature Verification:** Enabled and enforced - **Stripe Signature Verification:** Already enforced - **Amount Validation:** PayPal capture validates amount matches expected - **Manual Reference Uniqueness:** Database constraint prevents duplicates --- ### πŸ“„ PDF Invoice Generation - Added `reportlab` for professional PDF generation - Logo integration from frontend assets - Proper formatting (no HTML tags in output) - Clean layout with company info, line items, totals - Payment information section for paid invoices --- ### πŸ—„οΈ Database Changes **New Migration:** `0029_add_webhook_event_and_manual_reference_constraint` **New Model:** `WebhookEvent` ```python class WebhookEvent(models.Model): provider = models.CharField(choices=['stripe', 'paypal']) event_id = models.CharField(max_length=255) event_type = models.CharField(max_length=100) payload = models.JSONField() status = models.CharField() # pending, processed, failed processed_at = models.DateTimeField(null=True) ``` **Updated Model:** `Payment` - Added unique constraint on `manual_reference` --- ### πŸ“š Documentation **Consolidated:** Three payment documentation files merged into one: - `PAYMENT-SYSTEM-ARCHITECTURE.md` β†’ Removed - `PAYMENT-SYSTEM-AUDIT-REPORT.md` β†’ Removed - `PAYMENT-SYSTEM-REFACTOR-PLAN.md` β†’ Removed **New:** `90-REFERENCE/PAYMENT-SYSTEM.md` - Complete payment system documentation - All flows, endpoints, models in one file - Current state only (no planning artifacts) --- ### πŸ“¦ Backend Files Changed | File | Changes | |------|---------| | `billing/views/stripe_views.py` | Idempotency, enhanced logging | | `billing/views/paypal_views.py` | Signature verification, amount validation, idempotency | | `billing/views/refund_views.py` | Fixed imports | | `billing/services/stripe_service.py` | Full service implementation | | `billing/services/paypal_service.py` | Full service implementation | | `billing/services/pdf_service.py` | Professional PDF generation with logo | | `billing/services/email_service.py` | Payment notification emails | | `billing/models.py` | WebhookEvent model, payment method choices | | `auth/serializers.py` | Removed checkout creation from registration | | `auth/urls.py` | Added country list endpoint | --- ### πŸ“± Frontend Files Changed | File | Changes | |------|---------| | `SignUpFormUnified.tsx` | Simplified, removed payment selection | | `PlansAndBillingPage.tsx` | Conditional views, state handling | | `PendingPaymentView.tsx` | New component for new user payments | | `BankTransferForm.tsx` | New component for bank transfers | | `PaymentGatewaySelector.tsx` | New component for gateway selection | | `billing.api.ts` | Country-based gateway availability | | `authStore.ts` | Removed checkout URL handling | --- ### πŸ—‘οΈ Removed - `/signup/pk` route (consolidated into `/signup`) - `SignUpPK.tsx` page component - Payment gateway redirect from signup - Three separate payment documentation files --- ## v1.5.0 - Planned ### Upcoming Release: Image Generation System Overhaul This release will focus on improving the image generation system with better model support, fixed aspect ratios, and enhanced quality tier selection. --- ### πŸ–ΌοΈ Image Generation Improvements (PLANNED) **Quality Tier Models:** - **Basic (1 credit):** Hi Dream Full (`runware:97@1`) - Fast, general-purpose diffusion - **Quality (5 credits):** Bria 3.2 (`bria:10@1`) - Balanced quality - **Premium (15 credits):** Nano Banana (`google:4@2`) - Highest quality **Fixed Image Sizes:** - Featured Image: 1792Γ—1024 (landscape, prominent) - In-Article Square: 1024Γ—1024 - In-Article Landscape: Model-dependent (1280Γ—768 or 1344Γ—768) **In-Article Image Pattern:** - Position 0: Square 1024Γ—1024 - Position 1: Landscape (model-specific) - Position 2: Square 1024Γ—1024 - Position 3: Landscape (model-specific) **UI Changes:** - Removed mobile image options from settings - Image progress modal width increased - Unique position constraints for in-article images --- ### πŸ’° Credit Service Enhancements (PLANNED) **New Methods:** - `CreditService.calculate_credits_for_image()` - Model-specific image credit calculation - `CreditService.calculate_credits_from_tokens_by_model()` - Model-specific token-to-credit conversion **Improvements:** - Better fallback to global defaults when model lacks configuration - Enhanced logging for credit calculations - Validation for missing `credits_per_image` or `tokens_per_credit` --- ### πŸ“‹ Planning Documentation **New Files:** - `docs/plans/4th-jan-refactor/IMAGE_MODELS_IMPLEMENTATION_PLAN.md` - Detailed image system implementation plan - `docs/plans/4th-jan-refactor/REFACTOR-OVERVIEW.md` - Architecture refactor overview - `docs/plans/4th-jan-refactor/implementation-plan-for-ai-models-and-cost.md` - AI models and cost plan - `docs/plans/4th-jan-refactor/safe-migration-and-testing-plan.md` - Migration and testing strategy --- ## v1.4.0 - January 5, 2026 ### Major Release: AI Architecture Overhaul & Model Configuration System This release introduces a comprehensive refactoring of the AI system architecture, centralizing all AI model configurations, provider API keys, and credit-based billing into a unified, database-driven system. Key improvements include the new `IntegrationProvider`, `AIModelConfig`, and `SystemAISettings` models, along with Django Admin reorganization and enhanced frontend settings pages. --- ### πŸ€– AI Model Architecture Overhaul (MAJOR) **New Model: IntegrationProvider** (`modules/system/models.py`) - Centralized storage for ALL external service API keys - Supports providers: `openai`, `anthropic`, `runware`, `stripe`, `paypal`, `resend` - Fields: `provider_id` (PK), `display_name`, `provider_type` (ai/payment/email/storage) - API key management: `api_key`, `api_secret`, `webhook_secret`, `api_endpoint` - Configuration: `config` (JSONField), `is_active`, `is_sandbox` - Audit trail: `updated_by`, `created_at`, `updated_at` **New Model: AIModelConfig** (`business/billing/models.py`) - Single Source of Truth for all AI models (text + image) with pricing - Fields: `model_name` (unique), `model_type` (text/image), `provider`, `display_name` - Status: `is_default` (one per type), `is_active` - Text Model Pricing: `cost_per_1k_input`, `cost_per_1k_output`, `tokens_per_credit` - Image Model Pricing: `credits_per_image`, `quality_tier` (basic/quality/premium) - Model Limits: `max_tokens`, `context_window`, `capabilities` (JSONField) - History tracking via `simple_history` **New Model: SystemAISettings** (`modules/system/ai_settings.py`) - System-wide AI defaults (Singleton pattern, pk=1) - AI Parameters: `temperature` (0.0-2.0), `max_tokens` - Image Settings: `image_style`, `image_quality`, `max_images_per_article`, `image_size` - Helper methods: `get_effective_*` for account-specific overrides via `AccountSettings` - Image Style Choices: photorealistic, illustration, 3d_render, minimal_flat, artistic, cartoon **Model Registry Service** (`ai/model_registry.py`) - Central registry with database-driven model configuration - Caching layer for performance (5-minute TTL) - Methods: `get_model()`, `get_rate()`, `calculate_cost()`, `get_default_model()` - Provider methods: `get_provider()`, `get_api_key()`, `get_api_secret()`, `get_webhook_secret()` - List and validation: `list_models()`, `validate_model()`, `clear_cache()` --- ### πŸ’° Credit System Integration **AIModelConfig Credit Fields:** - `tokens_per_credit` - Text models: tokens per 1 credit (e.g., 1000 for GPT-4, 10000 for GPT-4o-mini) - `credits_per_image` - Image models: credits per image (1=basic, 5=quality, 15=premium) - `quality_tier` - Image quality tier for UI display **Credit Cost Configuration:** - Per `final-model-schemas.md`: Simplified to `operation_type`, `display_name`, `base_credits`, `is_active` - Removed `tokens_per_credit` from CreditCostConfig (moved to AIModelConfig) **New Migrations:** - `0025_add_aimodel_credit_fields.py` - Add credit fields to AIModelConfig - `0026_populate_aimodel_credits.py` - Populate default credit values - `0027_model_schema_update.py` - Schema updates for final model architecture --- ### πŸ”§ Django Admin Reorganization **Admin Group Structure:** - Consolidated admin panels with logical grouping - AI Configuration: AIModelConfig, IntegrationProvider, SystemAISettings - Billing: CreditCostConfig, BillingConfiguration, Invoices, Payments, Credit Packages - Custom logo support via `staticfiles/admin/img/` **AIModelConfig Admin:** - List display: model_name, model_type, provider, is_default, is_active - Bulk actions: activate/deactivate, set as default - Fieldsets: Basic Info, Pricing (Text), Pricing (Image), Model Limits, Capabilities - Import/Export support **IntegrationProvider Admin:** - List display: provider_id, display_name, provider_type, is_active, is_sandbox - Secure API key display (masked in list view) - Fieldsets: Provider Info, Authentication, Configuration, Status --- ### 🎨 Frontend Settings Updates **Site Settings Page Refactoring** (`pages/Sites/Settings.tsx`) - Tab restructure: General β†’ AI Settings β†’ Integrations β†’ Publishing β†’ Content Types - Image settings merged into AI Settings tab (previously separate) - Quality tier picker with credit display - Temperature and max_tokens controls - Image style selection with previews **AI Settings Tab Features:** - Content Generation Settings: append_to_prompt, default_tone, default_length - AI Parameters: temperature slider (0.0-2.0), max_tokens dropdown - Image Generation: quality tier selector (Basic/Quality/Premium with credit costs) - Image style dropdown with 6 style options - Max images per article control (1-8) **Removed Pages:** - `frontend/src/pages/Settings/AI.tsx` - Merged into Site Settings AI tab --- ### πŸ“Š System Migrations **System Module Migrations:** - `0015_add_integration_provider.py` - Create IntegrationProvider model - `0016_populate_integration_providers.py` - Seed default providers (openai, runware, anthropic, stripe, paypal, resend) - `0017_create_ai_settings.py` - Create AISettings model - `0018_create_ai_settings_table.py` - Create SystemAISettings table - `0019_model_schema_update.py` - Final schema updates **Billing Module Migrations:** - `0024_update_image_models_v2.py` - Update image model configurations - `0025_add_aimodel_credit_fields.py` - Add credit fields - `0026_populate_aimodel_credits.py` - Populate credit values - `0027_model_schema_update.py` - Schema finalization --- ### πŸ”„ AI Core Updates **AI Core Service** (`ai/ai_core.py`) - Refactored to use ModelRegistry for model configuration - Dynamic API key retrieval from IntegrationProvider - Improved error handling and logging - Cost calculation using AIModelConfig rates **AI Tasks** (`ai/tasks.py`) - Updated to use new model configuration system - Credit deduction via AIModelConfig settings - Quality tier support for image generation **AI Settings** (`ai/settings.py`) - Simplified to use SystemAISettings singleton - Removed hardcoded API keys (now in IntegrationProvider) - Helper functions for getting effective settings with account overrides **Generate Images** (`ai/functions/generate_images.py`) - Quality tier-based model selection - Credits deducted based on `credits_per_image` from AIModelConfig - Style parameter support from SystemAISettings --- ### πŸ“ Documentation Updates **New Documentation:** - `docs/plans/4th-jan-refactor/final-model-schemas.md` - Complete model schema specification - `docs/plans/4th-jan-refactor/django-plan.md` - Django admin reorganization plan **Model Architecture:** - Total Models: 5 (IntegrationProvider, AIModelConfig, AISettings, AccountSettings, CreditCostConfig) - Removed: IntegrationSettings merged into AISettings/AccountSettings - Simplified: CreditCostConfig.tokens_per_credit moved to AIModelConfig --- ### πŸ› Bug Fixes & Improvements - Fixed image generation model selection for different quality tiers - Improved API key security (no longer stored in GlobalIntegrationSettings) - Fixed admin panel navigation for billing and AI configuration - Corrected credit calculation for token-based text models - Fixed singleton pattern enforcement for SystemAISettings --- ## v1.3.2 - January 3, 2026 ### Major Release: Publishing Scheduler, Onboarding Wizard & Content Calendar This release introduces automated publishing scheduling, a streamlined onboarding wizard for new users, a content calendar for managing publishing schedules, comprehensive design system consolidation, and site-specific dashboard improvements. --- ### πŸ“… Publishing Scheduler System (NEW) **Backend: Publishing Scheduler Tasks** - **NEW FILE**: `backend/igny8_core/tasks/publishing_scheduler.py` - `schedule_approved_content` - Hourly task that schedules approved content based on site's publishing settings - `process_scheduled_publications` - Every 5 minutes, publishes content that's due - `update_content_site_status` - Callback task for status updates after WordPress publish - Calculates available slots based on publish_days, publish_time_slots, and daily/weekly/monthly limits - Respects site-specific publishing limits **Content Model Updates:** - **NEW MIGRATION**: `0014_add_approved_status.py` - Added `approved` status to Content model: `draft β†’ review β†’ approved β†’ published` - Created `ImagePrompts` proxy model - **NEW MIGRATION**: `0015_add_publishing_scheduler_fields.py` - `site_status` field: `not_published | scheduled | publishing | published | failed` - `scheduled_publish_at` field: DateTime for scheduled publishing - `site_status_updated_at` field: Timestamp for status tracking **PublishingSettings Model (NEW):** - **NEW MODEL**: `backend/igny8_core/business/integration/models.py` - `auto_approval_enabled` - Auto-approve content after review - `auto_publish_enabled` - Auto-publish approved content - `daily_publish_limit`, `weekly_publish_limit`, `monthly_publish_limit` - `publish_days` - JSON array of allowed days (mon, tue, wed, etc.) - `publish_time_slots` - JSON array of times (09:00, 14:00, 18:00) - Default: 3/day, 15/week, 50/month, Mon-Fri at 9am/2pm/6pm **DefaultsService (NEW):** - **NEW FILE**: `backend/igny8_core/business/integration/services/defaults_service.py` - `create_site_with_defaults()` - Creates site with publishing and automation settings - `apply_defaults_to_existing_site()` - Applies defaults to existing sites - Optimized defaults for automated content publishing **API Endpoints (NEW):** - `GET /api/v1/integration/sites/{site_id}/publishing-settings/` - Get publishing settings - `PUT/PATCH /api/v1/integration/sites/{site_id}/publishing-settings/` - Update settings - `POST /api/v1/writer/content/{id}/schedule/` - Schedule content for publishing - `POST /api/v1/writer/content/{id}/unschedule/` - Remove from schedule - `GET /api/v1/writer/content/?status__in=` - Filter by multiple statuses **Celery Beat Schedule:** - Added `schedule-approved-content` task (hourly) - Added `process-scheduled-publications` task (every 5 minutes) --- ### πŸ§™ Onboarding Wizard (NEW) **NEW COMPONENTS**: `frontend/src/components/onboarding/` **OnboardingWizard.tsx:** - 5-step wizard for new user setup - Manages wizard state and navigation - Creates site with optimized defaults **Step Components:** - `Step1Welcome.tsx` - Welcome screen with feature overview - `Step2AddSite.tsx` - Site creation with industry/sector selection - Uses SelectDropdown for industry - Badge-based sector selection (up to 5) - Shows optimized defaults info card - `Step3ConnectIntegration.tsx` - WordPress plugin installation - API key display with copy button - 4-step installation guide - Connection test functionality - Optional - can skip - `Step4AddKeywords.tsx` - Initial keyword entry - Multi-keyword input with paste support - Keyword suggestions - Optional - can skip - `Step5Complete.tsx` - Success screen with next steps - Setup summary - Expected timeline - Quick links to key areas **Route:** `/setup/wizard` - New onboarding wizard page --- ### πŸ“† Content Calendar (NEW) **NEW PAGE**: `frontend/src/pages/Publisher/ContentCalendar.tsx` - Calendar view of scheduled content - List view with drag-and-drop reordering - Schedule/unschedule content - View scheduled vs published vs approved content - Month navigation - Stats: scheduled, publishing, published counts **Features:** - Drag content from approved list to calendar dates - Click to view content details - Remove from queue functionality - Publishing status badges (Scheduled, Publishing, Published, Failed) - Real-time updates **Route:** `/publisher/content-calendar` (main) **Redirect:** `/sites/:id/publishing-queue` β†’ `/publisher/content-calendar` --- ### 🎨 Design System Consolidation **CSS Consolidation:** - **NEW FILE**: `frontend/src/styles/design-system.css` (836 lines) - Single source of truth for all design tokens - Only 6 base hex values - everything else derived - Tailwind default colors DISABLED - Color scales: brand-*, success-*, warning-*, error-*, purple-*, gray-* - Module-specific color schemes - Dark mode support - **DELETED FILES**: - `frontend/src/styles/global.css` - `frontend/src/styles/tokens.css` - `frontend/src/index.css` (571 lines removed) **ESLint Plugin (NEW):** - **NEW FILE**: `frontend/eslint/eslint-plugin-igny8-design-system.cjs` - `no-tailwind-default-colors` - Blocks blue-*, red-*, green-*, etc. - `no-hardcoded-colors` - Blocks inline hex colors - `no-lucide-imports` - Enforces local icon imports - `no-icon-children` - Blocks children in icon components **Module Color Scheme:** - Planner (Keywords/Clusters/Ideas): Purple theme - Writer (Tasks/Content/Images): Green theme - Automation: Blue theme - Publisher: Brand/Orange theme - Unified visual distinction across pipeline **Component Updates:** - 100+ files updated for semantic color tokens - All hardcoded Tailwind colors replaced - All inline hex colors replaced - Badge, Button, Card components updated --- ### 🏠 Site Dashboard Redesign **Site Dashboard (`/sites/:id`):** - **NEW**: SiteInfoBar component for site-specific pages - **NEW**: Quick Actions grid (2-column card layout) - **FIXED**: Race condition in Dashboard.tsx - async loadSiteData using stale closure - AI Operations widget now loads real data from getDashboardStats API - Proper site filtering for all widgets **Site Settings Page:** - Industry/Sector selector redesigned to match wizard style - SelectDropdown for industry selection - Badge-based sector selection with visual feedback - Publishing Settings tab (NEW) - Auto-approval toggle - Auto-publish toggle - Daily/Weekly/Monthly limits - Publish days selection - Time slots configuration **Site List Page:** - Enhanced site cards with setup progress - WordPress connection status indicators - Quick actions per site --- ### πŸ“„ New Pages & Routes | Route | File | Description | |-------|------|-------------| | `/setup/wizard` | `Setup/SetupWizard.tsx` | Onboarding wizard | | `/publisher/content-calendar` | `Publisher/ContentCalendar.tsx` | Content calendar | | `/ui-elements` | `UIElements.tsx` | Design system reference (internal) | **Legacy Redirects:** - `/sites/:id/publishing-queue` β†’ `/publisher/content-calendar` --- ### πŸ”§ Backend Improvements **New Migrations:** - `0014_add_approved_status.py` - Content approved status - `0015_add_publishing_scheduler_fields.py` - Scheduling fields - `0003_add_publishing_settings.py` - PublishingSettings model **Celery Configuration:** - Added publishing scheduler tasks to celery beat - New `tasks/__init__.py` consolidating all task imports **WordPress Publishing:** - Updated `publish_content_to_wordpress` to update `site_status` - On success: site_status='published' - On failure: site_status='failed' --- ### πŸ› Bug Fixes **Dashboard:** - Fixed race condition where async loadSiteData used stale siteId closure - Now passes currentSiteId as parameter to loadSiteData function - Fixed site 5 showing site 21 data issue **Content Filtering:** - Added `status__in` query parameter support for multiple status filtering - Content serializer includes new `site_status` and `scheduled_publish_at` fields **UI/UX:** - Fixed industry/sector selector styling inconsistency - Fixed Site Dashboard quick actions layout - Fixed notification dropdown styling in dark mode --- ### πŸ“š Documentation Updates **New Documentation:** - `docs/30-FRONTEND/COMPONENT-SYSTEM.md` - Complete UI components reference - `docs/30-FRONTEND/DESIGN-GUIDE.md` - Design system guidelines - `docs/50-DEPLOYMENT/WORDPRESS-INTEGRATION-FLOW.md` - WordPress setup guide - `docs/plans/FINAL-PRELAUNCH.md` - Pre-launch checklist - `docs/plans/implemented/FRONTEND-AUDIT-PLAN.md` - Frontend audit plan - `docs/plans/implemented/PUBLISHING-ONBOARDING-IMPLEMENTATION-PLAN.md` - Implementation plan **Moved/Reorganized:** - `IGNY8-APP.md` β†’ `docs/00-SYSTEM/IGNY8-APP.md` - `fixes-kb.md` β†’ `docs/90-REFERENCE/FIXES-KB.md` - Various plan docs β†’ `docs/plans/implemented/` **Updated Documentation:** - `docs/INDEX.md` - Added new doc links, updated version - `docs/30-FRONTEND/DESIGN-TOKENS.md` - Expanded with color scales - `frontend/src/styles/README.md` - Updated for design-system.css --- ### πŸ“ Files Summary **New Files (20+):** ``` backend/igny8_core/tasks/__init__.py backend/igny8_core/tasks/publishing_scheduler.py backend/igny8_core/business/integration/services/defaults_service.py backend/igny8_core/modules/writer/migrations/0014_add_approved_status.py backend/igny8_core/modules/writer/migrations/0015_add_publishing_scheduler_fields.py backend/igny8_core/business/content/migrations/0003_add_publishing_settings.py frontend/src/components/onboarding/OnboardingWizard.tsx frontend/src/components/onboarding/steps/Step1Welcome.tsx frontend/src/components/onboarding/steps/Step2AddSite.tsx frontend/src/components/onboarding/steps/Step3ConnectIntegration.tsx frontend/src/components/onboarding/steps/Step4AddKeywords.tsx frontend/src/components/onboarding/steps/Step5Complete.tsx frontend/src/components/onboarding/steps/index.ts frontend/src/components/common/SiteInfoBar.tsx frontend/src/components/ui/button/IconButton.tsx frontend/src/components/ui/tooltip/CalendarItemTooltip.tsx frontend/src/pages/Publisher/ContentCalendar.tsx frontend/src/pages/Setup/SetupWizard.tsx frontend/src/pages/UIElements.tsx frontend/src/styles/design-system.css frontend/eslint/eslint-plugin-igny8-design-system.cjs frontend/audit-results/*.txt ``` **Major Changes (50+ files):** - All frontend components updated for semantic colors - Site Dashboard, Settings, Content pages redesigned - Automation page color scheme updated - 100+ files with color token replacements **Deleted Files:** - `frontend/src/styles/global.css` - `frontend/src/styles/tokens.css` - `frontend/src/index.css` (content moved to design-system.css) - Various old logo files - `docs/plans/final-fixes.md` (moved to implemented) - `docs/plans/flexible-model-configuration-plan.md` (moved) --- ### Git Reference ```bash # Commits since v1.3.0 (21 commits) git log af408d0747429d94ab9168884c8f0e8e97add810..HEAD --oneline # Key commits: # f1ba0aa5 - Section 2 Completed # 4d6ee214 - Section 2 Part 3 # e2d462d8 - Update dashboard and automation colors # f28f641f - Components standardization 2 # e9606977 - Global Styling part 1 # f81fffc9 - Section 1 & 2 - Migration Run # 03400169 - Section 3-8 - Migration Run ``` --- ## v1.3.1 - January 2, 2026 ### Design System Consolidation (Pre-Launch Section 1) **Updated `.rules` file with comprehensive design system rules:** - Added required doc reading: `COMPONENT-SYSTEM.md` mandatory for frontend work - Added new Project Structure entries: Design Tokens, UI Components, Form Components, Icons paths - Added complete Design System Rules section with color system (6 base colors only) - Added Tailwind color classes allowed/banned list - Added Component Rules section with required component mappings - Added component quick reference with Button, InputField, Badge examples - Added icon rules with import path and sizing guidelines - Expanded coding rules from 14 to 20 rules (split backend/frontend) - Added ESLint check step: `npm run lint` for design system violations - Added comprehensive Don't Do section for frontend violations - Updated Quick Checklist with separate Backend/Frontend sections **Updated `DESIGN-GUIDE.md`:** - Added Color System section with 6 base color tokens table - Added Tailwind color utilities documentation (available vs disabled) - Added color usage examples (correct vs wrong) - Updated ESLint rules table with `no-icon-children` rule - Added docker exec command for lint checking - Updated last updated date **Updated `frontend/DESIGN_SYSTEM.md`:** - Updated status to "πŸ”’ LOCKED" - Updated last updated date --- ## v1.3.0 - January 1, 2026 ### Major Release: Automation Overhaul & AI Provider Integrations This release introduces significant improvements to the automation pipeline, adds support for multiple AI providers (Anthropic Claude, Bria AI), implements a centralized Model Registry for cost calculation, and includes comprehensive UI/UX improvements with CSS globalization. --- ### πŸš€ Automation Pipeline Overhaul **Complete Rewrite of Automation System:** - Redesigned 7-stage automation pipeline with accurate progress tracking - Added initial snapshot capture for proper progress percentage calculation - Implemented incremental saves after each item for real-time UI updates - Fixed progress calculation using stage-specific keys instead of summing all numeric values - Stage 7 converted from "Manual Review Gate" to "Auto-Approve and Publish" **New Components:** - `GlobalProgressBar.tsx` - Full pipeline progress across all 7 stages with segmented visualization - `CurrentProcessingCardV2.tsx` - Simplified real-time progress card **Backend Improvements:** - `automation_service.py` - Complete rewrite with proper item counting - `_capture_initial_snapshot()` - Captures queue sizes at run start - `_update_snapshot_after_stage()` - Updates counts for cascading stages - Fixed `_get_processed_count()` to use stage-specific keys - Credits now tracked via `CreditUsageLog` (matches billing source of truth) - New `run_progress` API endpoint for unified progress data **Stage Card UI Improvements:** - New layout with icon, stage number, and function name in header - Larger Pending/Processed counts with semantic colors - Breathing circle indicator for active stages - Progress bar with stage-specific gradient colors - Credits and duration displayed inline **Pipeline Overview Fixes:** - Stage 1 pending now matches Keywords "New" count (removed `cluster__isnull` filter) - Stage 3 uses `status='new'` instead of `status='approved'` - Stage 4 uses `status='queued'` matching pipeline_overview --- ### πŸ€– AI Provider Integrations **Anthropic Claude Support:** - Full integration with Claude API (claude-3-5-sonnet, claude-3-opus, claude-3-haiku) - New `_make_anthropic_request()` method in AICore - Cost calculation using ModelRegistry with fallback rates - Token tracking (input/output) for accurate billing - Added `anthropic_api_key` to GlobalIntegrationSettings - Migration: `0013_add_anthropic_integration.py` **Bria AI Image Generation:** - Support for Bria AI image generation API - New `_generate_image_bria()` method in AICore - Models: bria-2.3, bria-2.3-fast, bria-2.2 - Added `bria_api_key` to GlobalIntegrationSettings - Migration: `0012_add_bria_integration.py` --- ### πŸ“Š Model Registry Service **New Centralized Model Configuration:** - `backend/igny8_core/ai/model_registry.py` - Central registry with caching - Database-driven model configs via `AIModelConfig` - Fallback to `constants.py` for backward compatibility - 5-minute cache TTL for performance **Features:** - `ModelRegistry.get_model(model_id)` - Get config from cache/DB/constants - `ModelRegistry.get_rate(model_id, rate_type)` - Get input/output/image rates - `ModelRegistry.calculate_cost()` - Unified cost calculation - `ModelRegistry.list_models()` - List all active models with filters - `ModelRegistry.validate_model()` - Check if model is valid and active **Migration:** - `0009_seed_ai_model_configs.py` - Seeds initial model configurations --- ### 🎨 CSS Globalization & Design System **Semantic Color Standardization:** - Replaced hardcoded Tailwind colors with semantic tokens throughout: - `blue-*` β†’ `brand-*` (primary brand color) - `green-*` β†’ `success-*` (success states) - `red-*` β†’ `error-*` (error states) - `yellow-*` β†’ `warning-*` (warning states) - `slate-*` β†’ `gray-*` (neutral grays) **Files Updated (100+ files):** - All Automation components - All Billing components - All Auth components (SignIn, SignUp forms) - All Marketing pages - Account pages (Settings, Billing, Usage, Notifications) - Planner, Writer, Thinker pages - Common components (ProgressModal, ColumnSelector, etc.) **CSS Cleanup:** - Removed `igny8-colors.css` (617 lines deleted) - Consolidated color definitions in `tokens.css` - Updated `index.css` with streamlined utilities --- ### πŸ“ Prompt System Enhancements **Prompt Prefix Tracking:** - New prompt prefix system for tracking prompt source - `##GP01-Clustering` (Global Prompt) vs `##CP01-Clustering` (Custom Prompt) - `get_prompt_with_metadata()` returns prompt source information - `get_prompt_prefix_for_function()` for tracking without full prompt fetch **Prompt Types Added:** - `PROMPT_PREFIX_MAP` with numbered prefixes for all 11 prompt types - Enables tracking whether AI used global or customized prompts --- ### πŸ“„ New Pages & Routes **Legal Pages:** - `frontend/src/pages/legal/Privacy.tsx` - Privacy Policy page - `frontend/src/pages/legal/Terms.tsx` - Terms of Service page - Routes added to App.tsx --- ### πŸ”§ Backend Improvements **New Migrations:** - `0006_automationrun_initial_snapshot.py` - Stores snapshot at run start - `0008_global_payment_methods.py` - Global payment method support - `0009_seed_ai_model_configs.py` - AI model configurations - `0011_disable_phase2_modules.py` - Phase 2 module toggles - `0012_add_bria_integration.py` - Bria AI integration settings - `0013_add_anthropic_integration.py` - Anthropic integration settings **API Enhancements:** - New `run_progress` endpoint in automation views - Account API expansions for usage tracking - Billing API improvements for payment methods **Planning Module:** - Added `signals.py` for planning model signals - Improved clustering service - Fixed keyword status queries --- ### πŸ› Bug Fixes **Automation:** - Fixed progress percentage calculation (was summing all result values) - Fixed Stage 1 pending count (was filtering by cluster__isnull) - Fixed remaining count calculation during active processing - Fixed credits tracking to use CreditUsageLog **UI/UX:** - Fixed PageHeader description rendering (removed from body, title in AppHeader) - Fixed account page JSX syntax errors causing module import failures - Fixed notification count display location - Fixed duplicate headings on Plans & Billing page **Backend:** - Fixed content validation service - Fixed clustering service dependencies - Fixed writer admin configurations --- ### πŸ“š Documentation **New Docs:** - `docs/fixes/component-audit-report.md` - `docs/fixes/design-verification-report.md` - `docs/fixes/footer-widget-pagination-fix.md` - `docs/fixes/phase2-module-activation.md` - `docs/plans/MASTER-IMPLEMENTATION-PLAN.md` - `docs/plans/flexible-model-configuration-plan.md` - `docs/plans/final-fixes.md` **Moved/Reorganized:** - `TODOS.md` β†’ `docs/plans/TODOS.md` - `immediate-updates-completed.md` β†’ `docs/immediate-updates-completed.md` --- ### Files Summary **New Files (15):** ``` frontend/src/components/Automation/GlobalProgressBar.tsx (248 lines) frontend/src/components/Automation/CurrentProcessingCardV2.tsx (344 lines) frontend/src/pages/legal/Privacy.tsx (260 lines) frontend/src/pages/legal/Terms.tsx (186 lines) frontend/src/hooks/useWorkflowStats.ts (294 lines) frontend/src/services/automationService.ts (71 lines) backend/igny8_core/ai/model_registry.py (339 lines) backend/igny8_core/business/planning/signals.py (130 lines) backend/igny8_core/migrations/0006_automationrun_initial_snapshot.py backend/igny8_core/business/billing/migrations/0008_global_payment_methods.py backend/igny8_core/business/billing/migrations/0009_seed_ai_model_configs.py backend/igny8_core/modules/system/migrations/0011_disable_phase2_modules.py backend/igny8_core/modules/system/migrations/0012_add_bria_integration.py backend/igny8_core/modules/system/migrations/0013_add_anthropic_integration.py πŸš€ AUTOMATION PAGE MASTER FIX PLAN.md ``` **Major Changes (20+ files):** - `frontend/src/pages/Automation/AutomationPage.tsx` - Complete UI overhaul - `backend/igny8_core/ai/ai_core.py` - Anthropic & Bria integration (+557 lines) - `backend/igny8_core/business/automation/services/automation_service.py` - Pipeline rewrite (+619 lines) - `backend/igny8_core/business/automation/views.py` - New endpoints (+241 lines) - `frontend/src/index.css` - CSS consolidation - 100+ files updated for semantic color tokens **Deleted Files:** - `frontend/src/styles/igny8-colors.css` (617 lines) - `COMPREHENSIVE-AUDIT-REPORT.md` - Multiple test files in `frontend/src/__tests__/sites/` - `to-do-s/` folder contents (migrated to docs) --- ### Git Reference ```bash # Commits since v1.2.2 (20 commits) git log 0605f650..HEAD --oneline # Key commits: # ea9125b8 - Automation revamp part 1 # 53fdebf7 - automation and ai and some planning and fixes # c91175fd - styling css globalization # 2af7bb72 - master plan implementation # 89b64cd7 - modules widgets and colors and styling # 0d3e25e5 - automation and other pages updates ``` --- ## v1.2.2 - December 28, 2025 ### Full Notifications Page Implementation **Problem:** - NotificationDropdown "View All Notifications" link was broken (404 error) - Link pointed to `/notifications` which didn't exist - No way to view full notification history or apply filters - No bulk actions for managing notifications **Solution:** - Created comprehensive NotificationsPage at `/account/notifications` - Added advanced filtering capabilities (severity, type, read status, site, date range) - Implemented bulk actions (mark all as read) - Integrated into sidebar navigation under ACCOUNT section - Fixed broken link in NotificationDropdown **Features:** - **Filters:** - Severity: info/success/warning/error - Notification type: All AI operations, WordPress sync, credits, setup events - Read status: all/unread/read - Site: Filter by specific site - Date range: From/to date filters - **Actions:** - Mark individual notifications as read - Mark all as read (bulk) - Delete individual notifications - Navigate to action URL on click - **UI:** - Full notification history with proper styling - Severity icons with color coding - Relative timestamps with date-fns - Site badges when applicable - Unread badge in sidebar menu - Empty states for no notifications/no matches - Loading states with spinner **Frontend Changes:** - **NEW PAGE**: `frontend/src/pages/account/NotificationsPage.tsx` - **Route Added**: `/account/notifications` in App.tsx - **Sidebar**: Added Notifications menu item with Bell icon and unread count badge - **Fixed**: NotificationDropdown link updated from `/notifications` to `/account/notifications` **Documentation Updates:** - `docs/30-FRONTEND/PAGES.md` - Added NotificationsPage with features - `docs/10-MODULES/NOTIFICATIONS.md` - Updated with new page details, removed "broken link" warnings - Version updated from v1.2.1 to v1.2.2 ### Files Changed - `frontend/src/pages/account/NotificationsPage.tsx` - NEW: Full notifications page - `frontend/src/App.tsx` - Added notifications route and lazy import - `frontend/src/components/header/NotificationDropdown.tsx` - Fixed link to /account/notifications - `frontend/src/layout/AppSidebar.tsx` - Added Notifications menu item with Bell icon - `docs/30-FRONTEND/PAGES.md` - Added NotificationsPage documentation - `docs/10-MODULES/NOTIFICATIONS.md` - Updated with new page, fixed issues, version history - `CHANGELOG.md` - Added this entry ### Files Added ``` frontend/src/pages/account/NotificationsPage.tsx (475 lines) ``` ### Git Reference ```bash git add frontend/src/pages/account/NotificationsPage.tsx frontend/src/App.tsx frontend/src/components/header/NotificationDropdown.tsx frontend/src/layout/AppSidebar.tsx docs/30-FRONTEND/PAGES.md docs/10-MODULES/NOTIFICATIONS.md CHANGELOG.md git commit -m "feat: add full notifications page with filtering and bulk actions" ``` --- ## v1.2.1 - December 28, 2025 ### Critical Bug Fix - AI Task Notifications **Problem:** - Notifications system was implemented in v1.2.0 but notifications were never being created - AI functions (clustering, idea generation, content generation, etc.) completed successfully but no notifications appeared in the dropdown - NotificationService existed but was never called from AIEngine **Root Cause:** - `AIEngine.execute()` method completed successfully but never called `NotificationService` - No notification creation in either success or failure paths - Celery logs showed tasks completing but no notification records in database **Solution:** - Added `_create_success_notification()` method to AIEngine class - Added `_create_failure_notification()` method to AIEngine class - Integrated notification creation in `execute()` success path (after DONE phase) - Integrated notification creation in `_handle_error()` failure path - Used lazy imports to avoid Django app loading issues at module level - Maps each AI function to appropriate NotificationService method: - `auto_cluster` β†’ `notify_clustering_complete/failed` - `generate_ideas` β†’ `notify_ideas_complete/failed` - `generate_content` β†’ `notify_content_complete/failed` - `generate_image_prompts` β†’ `notify_prompts_complete/failed` - `generate_images` β†’ `notify_images_complete/failed` **Testing:** - Celery worker restarted successfully with new code - Notifications now created for both successful and failed AI operations - Frontend notification dropdown will display notifications via existing API integration **Documentation Added:** - Created comprehensive `docs/10-MODULES/NOTIFICATIONS.md` - Documents all notification types and triggers - Includes frontend implementation details - Lists all 15 notification types with message formats - Debug commands and testing procedures - Added to `docs/INDEX.md` module listing - **Clarified:** No dedicated notifications page exists (only dropdown) **Additional Fix - Keyword Import Notifications:** - Added notification creation to `add_to_workflow` endpoint in KeywordViewSet - When users add keywords to workflow, notification now appears - Notification format: "Added X keywords to [site]" - Lazy import pattern to avoid circular dependencies ### Files Changed - `backend/igny8_core/ai/engine.py` - Added notification creation methods and integration points - `backend/igny8_core/modules/planner/views.py` - Added notification for keyword import - `docs/10-MODULES/NOTIFICATIONS.md` - NEW: Complete notifications module documentation - `docs/INDEX.md` - Added Notifications module to index ### Files Added ``` docs/10-MODULES/NOTIFICATIONS.md ``` ### Git Reference ```bash git add backend/igny8_core/ai/engine.py backend/igny8_core/modules/planner/views.py docs/10-MODULES/NOTIFICATIONS.md docs/INDEX.md CHANGELOG.md git commit -m "fix: AI task notifications + keyword import notifications + comprehensive docs" ``` --- ## v1.2.0 - December 27, 2025 ### Final Launch Release - Notifications, Dashboard, UI Polish This release marks the final pre-launch state with comprehensive UI polish, real-time notifications, and dashboard overhaul. **Backend: Notifications Module** - **NEW MODULE**: `backend/igny8_core/business/notifications/` - Models: `Notification`, `NotificationPreference` - NotificationType choices: AI operations (cluster/ideas/content/images complete/failed), workflow events, WordPress sync, credits/billing, system - Services: `NotificationService` for creating/managing notifications - REST API: `/api/v1/notifications/` endpoints - Registered in `settings.py` INSTALLED_APPS - Added URL routing in `urls.py` **Frontend: Notification System** - **NEW STORE**: `notificationStore.ts` - Zustand store for notification management - In-memory queue for optimistic UI - API sync for persistent notifications - Auto-dismissal with configurable timeout - Read/unread state tracking - Category-based filtering (ai_task, system, info) - **NEW API SERVICE**: `notifications.api.ts` - `fetchNotifications()`, `fetchUnreadCount()` - `markNotificationRead()`, `markAllNotificationsRead()` - `deleteNotification()` - **UPDATED**: `NotificationDropdown.tsx` - Real notification integration **Frontend: Dashboard Home Overhaul** - **NEW WIDGETS** in `components/dashboard/`: - `WorkflowPipelineWidget.tsx` - Visual flow: Sites β†’ Keywords β†’ Clusters β†’ Ideas β†’ Tasks β†’ Drafts β†’ Published - `AIOperationsWidget.tsx` - Operation stats with time filter (7d/30d/90d) - `RecentActivityWidget.tsx` - Activity feed with type icons - `ContentVelocityWidget.tsx` - Week/Month/Total metrics table - `AutomationStatusWidget.tsx` - Status, schedule, last/next run info - `NeedsAttentionBar.tsx` - Alert bar for pending actions - `QuickActionsWidget.tsx` - Quick action buttons - `CreditAvailabilityWidget.tsx` - Credit balance display - `OperationsCostsWidget.tsx` - Cost breakdown by operation type - `SiteConfigWidget.tsx` - Site configuration status - Updated `Home.tsx` to use new dashboard widgets with real data from APIs **Frontend: ThreeWidgetFooter Component** - **NEW COMPONENT**: `ThreeWidgetFooter.tsx` - 3-column footer for table pages - Widget 1: Page Progress (metrics + progress bar) - Widget 2: Module Stats (pipeline flow with arrows) - Widget 3: Completion (tree structure for both modules) - **NEW HOOK**: `useThreeWidgetFooter.ts` - Data preparation hook - **IMPLEMENTED ON**: Keywords, Clusters, Ideas, Tasks, Content pages **Frontend: Page Rename - Published β†’ Approved** - **RENAMED**: `Writer/Published.tsx` β†’ `Writer/Approved.tsx` - **RENAMED**: Config `published.config.tsx` β†’ `approved.config.tsx` - **ROUTE**: `/writer/approved` (legacy `/writer/published` redirects) - Updated sidebar navigation label to "Approved" **Frontend: Site Selectors** - **NEW COMPONENTS**: - `SingleSiteSelector.tsx` - Simple site dropdown - `SiteWithAllSitesSelector.tsx` - Site selector with "All Sites" option - Updated `SiteAndSectorSelector.tsx` for improved UX - Enhanced `PageHeader.tsx` with badge props and breadcrumb support **Backend: SiteSerializer Fixes** - Fixed `has_integration` field to use `platform` field (not `integration_type`) - Added missing serializer fields for frontend consumption **Progress Modal Text Updates** - Fixed placeholder "X" text in image prompt steps - Improved step labels with actual counts when available ### Files Added ``` backend/igny8_core/business/notifications/ β”œβ”€β”€ __init__.py β”œβ”€β”€ admin.py β”œβ”€β”€ apps.py β”œβ”€β”€ models.py β”œβ”€β”€ serializers.py β”œβ”€β”€ services.py β”œβ”€β”€ urls.py β”œβ”€β”€ views.py └── migrations/0001_initial.py frontend/src/components/dashboard/ β”œβ”€β”€ AIOperationsWidget.tsx β”œβ”€β”€ AutomationStatusWidget.tsx β”œβ”€β”€ ContentVelocityWidget.tsx β”œβ”€β”€ CreditAvailabilityWidget.tsx β”œβ”€β”€ NeedsAttentionBar.tsx β”œβ”€β”€ OperationsCostsWidget.tsx β”œβ”€β”€ QuickActionsWidget.tsx β”œβ”€β”€ RecentActivityWidget.tsx β”œβ”€β”€ SiteConfigWidget.tsx β”œβ”€β”€ ThreeWidgetFooter.tsx └── WorkflowPipelineWidget.tsx frontend/src/components/common/ β”œβ”€β”€ SingleSiteSelector.tsx └── SiteWithAllSitesSelector.tsx frontend/src/hooks/useThreeWidgetFooter.ts frontend/src/services/notifications.api.ts frontend/src/store/notificationStore.ts ``` ### Files Modified - `backend/igny8_core/settings.py` - Added notifications to INSTALLED_APPS - `backend/igny8_core/urls.py` - Added notifications URL routing - `backend/igny8_core/auth/serializers.py` - Fixed SiteSerializer fields - `backend/igny8_core/ai/engine.py` - Progress tracking updates - `frontend/src/App.tsx` - Route updates for approved page - `frontend/src/layout/AppHeader.tsx` - Dashboard context support - `frontend/src/layout/AppLayout.tsx` - Layout improvements - `frontend/src/layout/AppSidebar.tsx` - Navigation label updates - `frontend/src/pages/Dashboard/Home.tsx` - Complete dashboard overhaul - `frontend/src/pages/Writer/*.tsx` - ThreeWidgetFooter integration - `frontend/src/pages/Planner/*.tsx` - ThreeWidgetFooter integration - `frontend/src/components/common/ProgressModal.tsx` - Text fixes - `frontend/src/components/common/SiteCard.tsx` - Setup checklist updates - `frontend/src/config/pages/*.config.tsx` - Column/action updates - `frontend/src/config/routes.config.ts` - Route updates - `frontend/src/context/PageContext.tsx` - Enhanced page context - `frontend/src/icons/index.ts` - New icon exports --- ## v1.1.9 - December 27, 2025 ### UI Infrastructure & Polish **PageContext System** - **NEW**: `PageContext.tsx` - React context for page-level state management - Provides site filter, sector filter state to nested components - Enables AppHeader to access current page info **Search Modal** - **NEW**: `SearchModal.tsx` - Global search modal component - Cmd+K / Ctrl+K keyboard shortcut - Search across pages, content, keywords **Header & Layout Updates** - Enhanced `AppHeader.tsx`: - Site filter integration - Breadcrumb support - Search modal trigger - Improved responsive behavior - Updated `AppLayout.tsx`: - Better sidebar/content coordination - Dark mode improvements - Updated `AppSidebar.tsx`: - Module dropdown improvements - Active state indicators **Table Template Improvements** - Enhanced `TablePageTemplate.tsx`: - Better filter UI - Improved empty states - Column configuration updates - Updated page configs for consistency **Style Updates** - `igny8-colors.css` - Token refinements - Dark mode consistency improvements ### Files Added - `frontend/src/components/common/SearchModal.tsx` - `frontend/src/context/PageContext.tsx` - `docs/30-FRONTEND/PAGE-REQUIREMENTS.md` ### Files Modified - `frontend/src/layout/AppHeader.tsx` - `frontend/src/layout/AppLayout.tsx` - `frontend/src/layout/AppSidebar.tsx` - `frontend/src/templates/TablePageTemplate.tsx` - `frontend/src/pages/Planner/*.tsx` - `frontend/src/pages/Writer/*.tsx` - `frontend/src/styles/igny8-colors.css` --- ## v1.1.8 - December 27, 2025 ### Section 6 Sidebar & Navigation Restructure **Sidebar Module Changes:** - **REMOVED** Linker from sidebar (module not ready for launch) - **REMOVED** Optimizer from sidebar (module not ready for launch) - **REORDERED** SETUP menu: Sites β†’ Add Keywords β†’ Content Settings β†’ Thinker **Sidebar Dropdown Navigation:** - Added sub-item dropdowns for major modules in AppSidebar.tsx: - **Planner**: Keywords, Clusters, Ideas - **Writer**: Queue, Drafts, Images, Review, Published - **Content Settings**: Content Generation, Publishing, Image Settings - **Thinker**: Prompts, Author Profiles - **Account Settings**: Account, Profile, Team - **Plans & Billing**: Current Plan, Upgrade Plan, History - **Usage Analytics**: Limits & Usage, Credit History, Activity Log **URL-Based Tab Navigation:** - Converted Account pages from useState tabs to URL-based navigation: - `AccountSettingsPage.tsx` - `/account/settings`, `/account/settings/profile`, `/account/settings/team` - `PlansAndBillingPage.tsx` - `/account/plans`, `/account/plans/upgrade`, `/account/plans/history` - `UsageAnalyticsPage.tsx` - `/account/usage`, `/account/usage/credits`, `/account/usage/activity` - `ContentSettingsPage.tsx` - `/account/content-settings`, `/account/content-settings/publishing`, `/account/content-settings/images` - Added corresponding routes in App.tsx **ModuleNavigationTabs Removal:** - Removed redundant ModuleNavigationTabs from all pages (navigation now via sidebar): - Planner: Keywords.tsx, Clusters.tsx, Ideas.tsx - Writer: Tasks.tsx, Content.tsx, Images.tsx, Review.tsx, Published.tsx - Thinker: Prompts.tsx, AuthorProfiles.tsx, Strategies.tsx, ImageTesting.tsx - Sites: List.tsx **Breadcrumb Navigation:** - Added `breadcrumb` prop to PageHeader component - Implemented breadcrumb display across all module pages - Format: "Module / Page" (e.g., "Planner / Keywords", "Writer / Drafts") **Files Modified:** - `frontend/src/layout/AppSidebar.tsx` - Sidebar restructure with dropdowns - `frontend/src/App.tsx` - Added sub-routes for URL-based navigation - `frontend/src/components/common/PageHeader.tsx` - Added breadcrumb prop - `frontend/src/pages/account/AccountSettingsPage.tsx` - URL-based tabs - `frontend/src/pages/account/PlansAndBillingPage.tsx` - URL-based tabs - `frontend/src/pages/account/UsageAnalyticsPage.tsx` - URL-based tabs - `frontend/src/pages/account/ContentSettingsPage.tsx` - URL-based tabs - `frontend/src/pages/Planner/*.tsx` - Removed tabs, added breadcrumb - `frontend/src/pages/Writer/*.tsx` - Removed tabs, added breadcrumb - `frontend/src/pages/Thinker/*.tsx` - Removed tabs, added breadcrumb - `frontend/src/pages/Sites/List.tsx` - Removed tabs, added breadcrumb --- ## v1.1.7 - December 27, 2025 ### Section 5 HELP Module Implementation **Support Links Fixed (CRITICAL):** - Fixed UserDropdown links going to `/profile` (404) - "Edit profile" β†’ `/account/settings` - "Account settings" β†’ `/account/settings` - "Support" β†’ `/help` - Implemented Contact Support button with `mailto:support@igny8.com` - Implemented Feature Request button with `mailto:feedback@igny8.com` **Placeholder Pages Deleted (HIGH):** - **DELETED** `pages/Help/Docs.tsx` - Empty placeholder - **DELETED** `pages/Help/SystemTesting.tsx` - Empty placeholder - **DELETED** `pages/Help/FunctionTesting.tsx` - Empty placeholder - Removed routes `/help/docs`, `/help/system-testing`, `/help/function-testing` from App.tsx **Documentation Added:** - Added comprehensive Table of Contents with new sections - Added Dashboard documentation section - Added Setup Module documentation: - Add Keywords (step-by-step guide) - Content Settings (3 tabs explained) - Sites Management (WordPress integration) - Added Account & Billing documentation: - Account Settings (Account, Profile, Team tabs) - Plans & Billing (plan management, cancellation) - Usage & Limits (credit tracking, alerts) **FAQ Expanded:** - Added 8 new FAQ items: - How do credits work? - What uses credits? - How do I purchase more credits? - How do I change my payment method? - Can I cancel my subscription? - How do I connect WordPress? - Why isn't my content syncing to WordPress? - Can I schedule automation to run at specific times? - What happens if automation fails? ### Files Changed - `frontend/src/App.tsx` - Removed placeholder help page imports/routes - `frontend/src/components/header/UserDropdown.tsx` - Fixed all broken links - `frontend/src/pages/Help/Help.tsx` - Added documentation sections, expanded FAQ, working support buttons ### Files Deleted - `frontend/src/pages/Help/Docs.tsx` - `frontend/src/pages/Help/SystemTesting.tsx` - `frontend/src/pages/Help/FunctionTesting.tsx` --- ## v1.1.6 - December 27, 2025 ### Section 4 ACCOUNT Modules Implementation **Account Settings Page (`/account/settings`):** - **Profile Tab**: Now loads user data from auth store (name, email, phone, timezone) - **Password Change**: Added password change modal with validation - Connects to `/v1/auth/change-password/` backend endpoint - Validates minimum 8 characters, confirmation match - Shows success/error feedback via toast - Added `getUserProfile()`, `updateUserProfile()`, `changePassword()` to billing.api.ts **Plans & Billing Page (`/account/plans`):** - **Cancellation Confirmation Modal**: Cancel button now shows confirmation dialog - Explains consequences: loss of features, 30-day credit preservation - Requires explicit "Yes, Cancel Subscription" confirmation - Prevents accidental cancellations **Usage Analytics Page (`/account/usage`):** - **Fixed Fake API Activity Data**: Removed hardcoded values - Old: Hardcoded "98.5%" success rate, 1,234/567/342 endpoint calls - New: Uses real `analytics?.usage_by_type` data - Shows "Operations by Type" with actual credits/counts from backend - Empty state when no operations recorded **Cleanup:** - **DELETED** `TeamManagementPage.tsx` - orphaned page (functionality exists in AccountSettingsPage Team tab) - Legacy routes verified working: `/account/team` β†’ `/account/settings`, `/settings/profile` β†’ `/account/settings` ### Files Changed - `frontend/src/services/billing.api.ts` - Added profile/password API functions - `frontend/src/pages/account/AccountSettingsPage.tsx` - Password change modal, profile loading - `frontend/src/pages/account/PlansAndBillingPage.tsx` - Cancellation confirmation modal - `frontend/src/pages/account/UsageAnalyticsPage.tsx` - Real data for API Activity tab ### Files Deleted - `frontend/src/pages/account/TeamManagementPage.tsx` --- ## v1.1.5 - January 2, 2025 ### Section 3 WORKFLOW Modules Implementation **Planner Module:** - **DELETED** `KeywordOpportunities.tsx` - orphaned page, Add Keywords is source of truth - Removed route `/planner/keyword-opportunities` from App.tsx - Updated Clusters table to show ideas count badge: "X ideas" (green) or "No ideas" (gray) - Made cluster name clickable in Ideas table - navigates to `/planner/clusters/:id` **Writer Module:** - Fixed duplicate tags/categories display in ContentView template - Removed redundant tags/categories section that appeared below the main metadata - Tags and categories now display only once in the Topic section **Progress Modals:** - Fixed placeholder "X" text in image prompt progress modals: - Changed "Mapping Content for X Image Prompts" β†’ "Mapping content for image prompts" - Changed "Writing X In‑article Image Prompts" β†’ "Writing In‑article Image Prompts" - Changed "Featured Image and X In‑article..." β†’ "Image prompts ready for generation" - All step labels now show actual counts when available, clean fallbacks otherwise ### Files Changed - `frontend/src/App.tsx` - Removed KeywordOpportunities import/route - `frontend/src/config/pages/clusters.config.tsx` - Ideas count badge styling - `frontend/src/config/pages/ideas.config.tsx` - Clickable cluster link - `frontend/src/templates/ContentViewTemplate.tsx` - Removed duplicate tags/categories - `frontend/src/components/common/ProgressModal.tsx` - Fixed placeholder texts - `docs/30-FRONTEND/PAGES.md` - Removed KeywordOpportunities references, updated version - `docs/20-API/ENDPOINTS.md` - Added Content Settings API documentation ### Files Deleted - `frontend/src/pages/Planner/KeywordOpportunities.tsx` --- ## v1.1.4 - December 27, 2025 ### Section 2 SETUP Modules Implementation **Add Keywords Page (`/setup/add-keywords`):** - Added "Not Yet Added Only" filter toggle to show only keywords not in workflow - Added keyword count summary: "X keywords in your workflow β€’ Y available to add" - Added "Next: Plan Your Content β†’" CTA button (appears after adding keywords) - Added "Keyword Research coming soon!" teaser text - Sector requirement tooltip already existed - no changes needed **Content Settings Page (`/account/content-settings`):** - **NEW Backend API**: Created `/v1/system/settings/content//` endpoints - `GET /v1/system/settings/content/content_generation/` - Retrieve settings - `POST /v1/system/settings/content/content_generation/save/` - Save settings - `GET /v1/system/settings/content/publishing/` - Retrieve settings - `POST /v1/system/settings/content/publishing/save/` - Save settings - Content Generation tab now persists: append_to_prompt, default_tone, default_length - Publishing tab now persists: auto_publish_enabled, auto_sync_enabled - Fixed false "saved" confirmation - now actually saves to backend **Sites Module:** - **NEW Component**: Created `SiteSetupChecklist` component showing setup progress - Displays checklist: Site created, Industry/Sectors, WordPress integration, Keywords - Progress bar with percentage - "Complete Setup" button linking to first incomplete item - "Ready to create content!" message when all complete - Updated Site Dashboard to use SiteSetupChecklist instead of mock stats - Removed mock statistics that showed all zeros **Cleanup:** - Deleted `pages/Sites/Manage.tsx` (redundant duplicate of List.tsx) - Removed empty `pages/Sites/Builder/` folder structure - Removed `/sites/manage` route from App.tsx - Removed SiteManage lazy import from App.tsx ### Files Changed - `frontend/src/pages/Setup/IndustriesSectorsKeywords.tsx` - `frontend/src/pages/account/ContentSettingsPage.tsx` - `frontend/src/pages/Sites/Dashboard.tsx` - `frontend/src/App.tsx` - `backend/igny8_core/modules/system/settings_views.py` - `backend/igny8_core/modules/system/urls.py` ### Files Created - `frontend/src/components/sites/SiteSetupChecklist.tsx` ### Files Deleted - `frontend/src/pages/Sites/Manage.tsx` - `frontend/src/pages/Sites/Builder/` (empty directory) --- ## v1.1.3 - December 27, 2025 ### Changed - **Merged RULES.md into .rules** - Single rules file for AI agents - Added documentation rules section to `.rules` - Deleted redundant `RULES.md` file - Now only one rules file: `.rules` --- ## v1.1.2 - December 27, 2025 ### Added - **Module Status section** in `.rules` file showing active/inactive modules - Linker, Optimizer marked as ⏸️ Inactive (Phase 2) - SiteBuilder marked as ❌ Removed (deprecated) - **TODOS.md** file for tracking deprecated code cleanup - Template for logging SiteBuilder and other deprecated code ### Changed - Updated "Don't Do" list with warnings about inactive modules and SiteBuilder --- ## v1.1.1 - December 27, 2025 ### Changed - **Rules File Overhaul**: Simplified `.rules` file for AI agents - Reduced from 300+ lines to ~150 lines - Added clear Docker container names and correct exec commands - Added one-line rules format for quick reading - Added quick reference table pointing to INDEX.md - Removed verbose code examples (agents should read actual codebase) - Added changelog format with git reference requirement - **Added Data Scoping section** clarifying Global vs Account vs Site/Sector models - Global settings (API keys, prompts, author profiles) are platform-wide, NOT account-scoped - Site/Sector models (Keywords, Clusters, Content) need site+sector filtering ### Added - **MODELS.md**: Added Data Scoping Overview table and Global Models section - Documents `GlobalIntegrationSettings`, `GlobalAIPrompt`, `GlobalAuthorProfile` - Clear distinction between Global/Account/Site scoped models --- ## v1.1.0 - December 25, 2025 ### Major Changes **Page Consolidation:** - **AccountSettingsPage**: Consolidated into 3 tabs (Account, Profile, Team) - Merged separate Team and Profile pages into single Account Settings page - Removed redundant TeamManagement.tsx and ProfileSettings.tsx pages - **ContentSettingsPage**: Rebuilt with 3 tabs (Content Generation, Publishing, Image Settings) - Content Generation: Append to prompt, default tone, default length - Publishing: WordPress auto-publish and sync toggles (removed Shopify/IGNY8) - Image Settings: Quality, style, sizes, format settings - **PlansAndBillingPage**: Simplified to 3 tabs (Plan, Upgrade, History) - Removed duplicate Usage tab (Usage is separate page) **Sidebar Navigation Cleanup:** - Removed empty SETTINGS section label - Moved AI Models to ACCOUNT section - Removed version badge below logo - Removed slogan widget from sidebar bottom - Reduced vertical spacing between menu items - Darkened group label colors for better visibility - Removed Publishing menu item (moved to Content Settings tab) - Removed Team, Profile, Import/Export menu items (consolidated) **Route Updates:** - Added redirects for legacy paths (/team, /profile, /import-export) - Updated navigation to new consolidated pages ### Added - **Pre-Launch Audit Document**: Comprehensive module-by-module audit - 37 issues identified (10 critical, 14 high, 13 medium) - Implementation phases defined - Quick wins listed - Orphaned files identified ### UX Improvements (Earlier in Dec 25) - User-friendly text across all pages - Improved Dashboard text per plan type - Better descriptions in Planner, Writer, Automation modules - Updated Sites and Add Keywords pages - Improved Help documentation ### Fixed - PlansAndBillingPage nested comment syntax error - Button component consistency in Publishing settings ### Known Issues (from Audit) - Content Generation/Publishing settings not connected to backend API - Profile settings save is placeholder (no API) - Password change button non-functional - API Activity data is hardcoded - Support buttons in Help have no handlers ## v1.0.5 - December 12, 2025 ### Added - **Purchase Credits Tab**: New dedicated tab in Plans & Billing - Separated credit package purchases from Credits Overview - Shows all available credit packages in horizontal scrollable layout - Payment method requirement notice for users without payment methods ### Changed - **Plans & Billing Tab Organization**: 4 tabs instead of 3 - Current Plan β†’ Credits Overview β†’ Purchase Credits β†’ Billing History - **Link Updates**: Purchase Credits buttons now link to correct tab --- ## v1.0.4 - December 12, 2025 ### Added - **Credit Activity Tab**: Transaction history in Usage Analytics - **Credit Costs Reference Panel**: Shows cost per operation type ### Changed - **Usage Analytics Reorganization**: 3 tabs (Limits & Usage, Activity, API Usage) --- ## v1.0.3 - December 12, 2025 ### Added - **Color Variety in Usage Limits**: Subtle color accents per limit type - **Credit Cost Breakdown Panel**: Detailed cost analytics ### Changed - **Plans & Billing Enhancement**: Cost analytics in Credits Overview tab - **Comprehensive Color Refactoring**: All components use CSS variables --- ## v1.0.2 - December 12, 2025 ### Changed - **UI/UX Reorganization**: Consolidated Usage Analytics layout - **Design System Enforcement**: Standardized IGNY8 brand colors ### Removed - `frontend/src/styles/account-colors.css` - deprecated custom color file --- ## v1.0.1 - December 12, 2025 ### Fixed - Usage summary endpoint routing ### Added - **Frontend Plan Limits Display**: Visual progress bars for all plan limits - **IGNY8 Brand Styling**: Custom CSS design system --- ## v1.0.0 - December 12, 2025 (Initial Production Release) ### Core Features **Multi-Tenancy System:** - Complete account isolation with row-level security - Multi-site management per account - Sector-based content organization - Role-based access control (Owner, Admin, Editor, Viewer) **Planner Module:** - Bulk keyword import (CSV) - AI-powered keyword clustering (GPT-4) - Global seed keyword database (50+ industries) - Content idea generation from clusters **Writer Module:** - AI content generation (GPT-4) - Task management and queuing - Content taxonomy system - Status workflow (draft, review, published) **Image Generation:** - DALL-E 3 and Runware providers - Featured and in-article images - Automatic alt text generation **Automation Pipeline:** - 7-stage automation (keywords β†’ images) - Scheduled runs (daily, weekly, monthly) - Configurable batch sizes **WordPress Integration:** - One-click publishing - Bidirectional sync - Taxonomy synchronization **Billing & Credits:** - Usage-based credit system - Plan-based limits - Monthly usage tracking ### Tech Stack - Django 5.x + DRF - React 19 + TypeScript - PostgreSQL + Redis - Celery + Celery Beat - Docker deployment --- ## Critical Bug Fixes - December 9, 2025 ### Fixed - **User Swapping Issue**: Redis sessions + NoCacheModelBackend + session integrity checks - **HMR Navigation Errors**: Single top-level Suspense boundary for Routes - **Registration Token Issue**: JWT tokens now returned on signup --- ## Pre-1.0 Development ### November-December 2025 - Initial development - Multi-tenancy architecture - AI integration (OpenAI, DALL-E, Runware) - WordPress integration - Automation pipeline - Billing system --- ## Changelog Guidelines When adding entries: 1. Use version format: `v{major}.{minor}.{patch}` 2. Categorize: Added, Changed, Fixed, Removed, Security 3. Include date 4. Reference related documentation if applicable 5. Note breaking changes prominently **Update this file after every release or significant change.**