# 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/<pk>/` 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.**
