Files
igny8/CHANGELOG.md
IGNY8 VPS (Salman) c777e5ccb2 dos updates
2026-01-20 14:45:21 +00:00

121 KiB
Raw Blame History

IGNY8 Change Log

Current Version: 1.8.4 Last Updated: January 20, 2026


Version History

Version Date Summary
1.8.4 Jan 20, 2026 Documentation Accuracy & Launch Prep - Fixed API docs (Swagger/ReDoc), serializer field mismatches resolved, comprehensive docs audit, root-level INDEX.md + DESIGN-GUIDE.md + .cursorrules created
1.8.3 Jan 20, 2026 Billing System Standardization - Two-pool credit system (plan + bonus), industry-standard renewal workflow (no advance notice for Stripe/PayPal), simplified bank transfer flow (3 emails), Payment Logs in admin, WebhookEvent logging for all payment types
1.8.2 Jan 19, 2026 Keywords Library Redesign & Sector Filtering - Complete Keywords Library page overhaul with sector metric cards, Smart Suggestions, cascading filters, sector-specific keyword filtering, UI/UX improvements, and backend sector_ids parameter support
1.8.1 Jan 18, 2026 Automation Scheduling Overhaul - Hourly scheduling (replaces 15-min windows), DefaultAutomationConfig singleton for centralized defaults, test mode for admin testing, Reset button fetches from backend, new migrations 0009-0012
1.8.0 Jan 17, 2026 Major - Unified Settings Consolidation: AI & Automation settings merged into Site Settings > Automation tab; Navigation Refactor Complete; Automation Overview & Run Detail pages; Publishing & Scheduling UX improvements; Skip Stage configuration; Content Calendar fixes
1.7.6 Jan 15, 2026 Navigation Refactor Complete - Complete sidebar restructure, new Automation Overview page, Publish Settings page, Content Calendar improvements
1.7.5 Jan 14, 2026 Automation Overview - New dashboard for automation runs, detailed run history, real-time progress tracking
1.7.4 Jan 13, 2026 Publishing & Scheduling UX - Phase 1-6 implementation, Content Calendar fixes, auto-approval/publish workflows
1.7.3 Jan 12, 2026 Skip Stage Configuration - Ability to skip individual stages, stage-level controls, budget allocation per stage
1.7.2 Jan 11, 2026 Bug Fixes & Planner/Writer Filters - Filter fixes across all pages, metrics improvements, keyword library enhancements
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.8.4 - January 20, 2026

Documentation Accuracy & Launch Preparation

This release focuses on ensuring 100% documentation accuracy and establishing maintainability standards for launch.


🔧 API Documentation Fixes

Problem Resolved:

  • Swagger UI (/api/docs/) and ReDoc (/api/redoc/) were returning 500 errors
  • Root cause: Serializer field mismatches in settings_serializers.py

Fixes Applied:

  • AccountSettingsSerializer: Changed configvalue to match model
  • ModuleSettingsSerializer: Removed non-existent config field

Verified:

  • Schema endpoint returns valid OpenAPI YAML
  • Both documentation UIs now accessible

📚 Root-Level Documentation

New Files Created:

File Purpose
/INDEX.md Quick-start documentation index
/DESIGN-GUIDE.md Mandatory UI/UX standards
/.cursorrules Development rules & standards

📊 Documentation Audit Results

Codebase Metrics Verified:

  • Routes: 100 (documented in PAGES.md)
  • Models: 52+ (documented in MODELS.md)
  • Zustand Stores: 11 (documented in STORES.md)
  • Celery Tasks: 25+ (documented per module)

Files Cleaned:

  • docs/30-FRONTEND/PAGES.md: Removed duplicate content, rebuilt from scratch

📋 Maintainability Standards

New .cursorrules establishes:

  1. Mandatory documentation updates for code changes
  2. CHANGELOG updates for user-facing changes
  3. Design guide compliance for frontend
  4. Serializer-model field validation
  5. Code review checklist

v1.8.3 - January 20, 2026

Billing System Standardization & Two-Pool Credit System

This release implements industry-standard billing practices and introduces the two-pool credit system for clearer credit management.


💳 Two-Pool Credit System

Architecture:

  • account.credits = Plan credits (from subscription, resets on renewal)
  • account.bonus_credits = Purchased credits (NEVER expire, NEVER reset)

Deduction Priority:

  1. Plan credits consumed FIRST
  2. Bonus credits consumed only when plan credits = 0

Key Behaviors:

Event Plan Credits Bonus Credits
Payment success Reset to plan amount No change
No payment (24h) Reset to 0 No change
Late payment Reset to plan amount No change

Implementation:

  • All deduction logic centralized in CreditService.deduct_credits()
  • AI functions unchanged - they call the same credit check/deduct methods
  • Transparent to all consumers - two-pool logic is internal only

🔄 Renewal Workflow Standardization

Stripe/PayPal (Auto-Pay) - Industry Standard:

  • No advance notice (like Netflix, Spotify, Adobe)
  • Day 0: Auto-charge attempt
  • Success: Receipt email + credits reset to plan amount
  • Failure: Retry notification, Stripe retries 4x over 7 days
  • Day +7: Expired if all retries fail

Bank Transfer (Manual Pay) - Simplified 3-Email Flow:

  • Day -3: Invoice created + Email sent
  • Day 0: Renewal day reminder (if unpaid)
  • Day +1: Urgent reminder + credits reset to 0
  • Day +7: Subscription expired

📋 Admin Improvements

Payment Logs in Admin Sidebar:

  • Added "Payment Logs" link under Plans & Billing menu
  • Quick access to WebhookEvent records

WebhookEvent Logging:

  • All payment types now logged to WebhookEvent model:
    • Stripe webhooks (existing)
    • PayPal webhooks (existing)
    • Bank transfer approvals (NEW)
    • Manual payment events (NEW)

🔧 Celery Task Updates

Renamed Tasks:

Old Name New Name Purpose
send_renewal_notices create_bank_transfer_invoices Invoice 3 days before (bank transfer only)
send_invoice_reminders send_renewal_day_reminders Day 0 reminder (bank transfer)

Combined Tasks:

  • send_day_after_reminders now handles both Day +1 reminder AND credit reset
  • Removed separate reset_unpaid_renewal_credits task

Updated Schedule:

Task Schedule Purpose
create_bank_transfer_invoices Daily 09:00 Invoice 3 days before
process_subscription_renewals Daily 00:05 Auto-pay renewals
send_renewal_day_reminders Daily 10:00 Day 0 reminder
send_day_after_reminders Daily 09:15 Day +1 urgent + credit reset
check_expired_renewals Daily 00:15 Expire after 7-day grace

📚 Documentation Updates

Updated Files:

  • docs/10-MODULES/BILLING-PAYMENTS-COMPLETE.md - Primary billing reference
  • docs/10-MODULES/BILLING.md - Added two-pool section
  • docs/90-REFERENCE/BILLING-SYSTEM-MASTER.md - Complete rewrite
  • docs/90-REFERENCE/PAYMENT-SYSTEM.md - Updated header
  • docs/INDEX.md - Updated billing links
  • docs/40-WORKFLOWS/CONTENT-PIPELINE.md - Fixed credit terminology
  • docs/10-MODULES/PLANNER.md - Fixed credit cost descriptions
  • docs/10-MODULES/WRITER.md - Fixed credit cost descriptions

Key Documentation Changes:

  • Removed outdated "idea credit", "content credit", "image credit" terminology
  • Updated to unified credit system based on AIModelConfig
  • Credit costs now reference tokens_per_credit and credits_per_image

Files Modified

Backend:

  • igny8_core/settings.py - Added Payment Logs to admin sidebar
  • igny8_core/celery.py - Updated task schedule
  • business/billing/billing_views.py - Added WebhookEvent logging
  • modules/billing/views.py - Added payment approval logging
  • business/billing/tasks/subscription_renewal.py - Refactored tasks

Documentation:

  • 8 documentation files updated for two-pool system

v1.8.2 - January 19, 2026

Keywords Library Complete Redesign & Sector-Specific Filtering

This release delivers a comprehensive redesign of the Keywords Library page with major architectural improvements to ensure sites only see keywords from their configured sectors, new UI components for better keyword discovery, and cascading filters matching the Planner pages pattern.


🎯 Critical Fix: Sector-Specific Filtering

Problem: Sites were seeing keywords from ALL sectors in their industry, not just their configured sectors. For example, a "Technology Consulting" site was seeing AI & Machine Learning keywords even though it wasn't configured for that sector.

Root Cause: Backend get_queryset() was filtering by industry_id, which returned ALL IndustrySector records for that industry, regardless of which sectors the site actually has.

Solution:

  • Added sector_ids parameter support to backend API endpoints
  • Frontend now passes site's specific industry_sector IDs
  • Keywords filtered to only those matching site's configured sectors
  • Both sector_stats and list endpoints respect sector filtering

API Changes:

# New parameter support
GET /api/v1/keywords-library/?sector_ids=1,2,3
GET /api/v1/keywords-library/sector_stats/?sector_ids=1,2,3

Impact:

  • Sites now see ONLY keywords relevant to their configured sectors
  • Stat counts accurate (available, added, high-opportunity, etc.)
  • Sector metric cards show correct totals
  • Smart Suggestions reflect only relevant keywords

📊 Sector Metric Cards (New Component)

New Feature: Sector overview cards at top of page showing key stats per sector.

Features:

  • 6 Stat Types:

    • 📦 Total Keywords - All keywords in sector
    • Added - Keywords site has added
    • High-Opportunity - Premium keywords with high volume
    • 🎯 Available - Keywords not yet added
    • 💰 Paid - Premium keywords requiring credits
    • 🆓 Free - No-cost keywords
  • Interactive Filtering:

    • Click any stat type to filter table
    • Active stat highlighted with success color badge (top-right)
    • Aggregates counts across all site sectors
    • Respects search and other filters
  • Visual Design:

    • Card layout with sector name and description
    • Metric grid showing all 6 stats
    • Hover effects and smooth transitions
    • Active badge in top-right corner when filtering by that sector

Location: Appears at top of page, before filters and table


Smart Suggestions Redesign

New Behavior: Smart Suggestions now appear dynamically after user interaction (search or filter) instead of always visible.

Features:

  • 6 Bulk-Add Options:

    • All Available - Add all unfettered keywords
    • High-Opportunity Available - Add premium keywords not yet added
    • High-Opportunity Missing - Suggest premium keywords to add
    • Top 50 by Volume - Add highest traffic keywords
    • Low Difficulty - Add easiest-to-rank keywords
    • Paid Available - Add premium keywords
  • Dynamic Display:

    • Hidden by default on page load
    • Appears after search or filter interaction
    • Breathing animation indicator when active
    • Metric cards show available counts for each option
  • Bulk Add Confirmation:

    • Modal confirmation before bulk operations
    • Shows count of keywords to be added
    • Prevents accidental mass additions

Note: Smart Suggestions metric cards do NOT show active badges (only Sector Cards do)


🔍 Cascading Filters Implementation

Pattern Match: Keywords Library now uses same filter UX as Planner pages (Keywords, Clusters, Ideas).

Filter Options:

  • 🔍 Search - Keyword name search
  • 🌍 Country - Filter by target country
  • 📈 Volume - Traffic volume ranges
  • 💪 Difficulty - SEO difficulty levels (Easy, Medium, Hard, Very Hard)
  • 📊 Status - Added vs Available
  • 🎯 Sector - Filter by specific sector (NEW)

Cascading Behavior:

  • Each filter shows only values present in current data
  • Filters update based on other active filters
  • "Clear Filters" button appears when filters active
  • Active filter indicator shows count

UI Improvements:

  • Centered filter bar matching Planner pages
  • Consistent spacing and styling
  • Responsive layout
  • Clear visual hierarchy

🎨 UI/UX Improvements

Typography:

  • Reduced font sizes across page for better density
  • Keyword names: text-base (was text-lg)
  • Descriptions: text-sm (was text-base)
  • Stat labels: text-xs (consistent with design system)

Layout:

  • Sector cards at top with proper spacing
  • Smart Suggestions below sector cards (when visible)
  • Filter bar centered and properly aligned
  • Table with improved readability

Interactions:

  • Smooth transitions and hover states
  • Active filter highlighting with success color
  • Breathing indicator for Smart Suggestions
  • Clear add/added button states

State Management:

  • "Added" button state persists correctly after page reload
  • Aggregated available counts accurate across all stats
  • localStorage tracks added keywords
  • Real-time stat updates when keywords added/removed

🔧 Backend Changes

Files Modified:

  • backend/igny8_core/auth/views.py - SeedKeywordViewSet

Changes:

  1. sector_ids Parameter Support:

    def get_queryset(self):
        sector_ids_param = self.request.query_params.get('sector_ids', None)
        if sector_ids_param:
            sector_ids = [int(id.strip()) for id in sector_ids_param.split(',')]
            queryset = queryset.filter(industry_sector_id__in=sector_ids)
    
  2. sector_stats Endpoint Updated:

    • Accepts sector_ids parameter
    • Filters stats by specified sectors
    • Returns accurate counts per sector
  3. Improved Query Performance:

    • Optimized sector filtering
    • Reduced database queries
    • Better indexing for sector lookups

🎯 Frontend Changes

Files Modified:

  • frontend/src/pages/Setup/IndustriesSectorsKeywords.tsx - Main page component
  • frontend/src/components/keywords-library/SectorCardsGrid.tsx - Sector metric cards
  • frontend/src/components/keywords-library/SectorMetricCard.tsx - Individual sector card
  • frontend/src/components/keywords-library/SmartSuggestions.tsx - Smart Suggestions component
  • frontend/src/services/api.ts - API integration

Major Changes:

  1. Sector Filtering Integration:

    const loadSectorStats = async () => {
      const sectorIds = sectors.map(s => s.industry_sector).filter(Boolean);
      const stats = await fetchSectorStats({ sector_ids: sectorIds });
    };
    
  2. Available Counts Aggregation:

    • Fixed aggregation for all 6 stat types
    • Correct counts for Total, Added, Available, High-Opportunity, Paid, Free
    • Respects both sector filtering and search/filters
  3. State Management:

    • localStorage for added keywords tracking
    • React state for sector stats and filters
    • Proper dependency arrays for useEffect hooks
    • Real-time updates on keyword add/remove
  4. UI Component Structure:

    KeywordsLibrary
    ├── SectorCardsGrid (if sectors)
    │   └── SectorMetricCard[] (per sector)
    ├── SmartSuggestions (if search/filter active)
    │   └── SectorMetricCard[] (for bulk actions)
    ├── FilterBar (centered, cascading)
    └── KeywordsTable (filtered results)
    

📝 Terminology Standardization

Unified Naming: "Keywords Library" everywhere (was inconsistent: "Keyword Library", "Add Keywords", "Seed Keywords")

Changes:

  • Sidebar: "Keywords Library"
  • Page Title: "Keywords Library"
  • URL: /keywords-library (was /setup/add-keywords)
  • API Endpoint: /api/v1/keywords-library/ (was /api/v1/auth/seed-keywords/)
  • Code: Internal SeedKeyword model name kept, but all user-facing text updated

Note: No backward compatibility redirects - direct change to new naming.


🐛 Bug Fixes

  1. "Added" Button State:

    • Fixed state not reflecting correctly after page reload
    • Now properly checks localStorage and aggregates counts
    • Real-time updates when keywords added/removed
  2. Sector Card Active Badge:

    • Moved to top-right corner (was bleeding into card content)
    • Uses success color variant
    • Only shows on Sector Cards, not Smart Suggestions
  3. Wrong Sector Keywords:

    • Sites no longer see keywords from unconfigured sectors
    • Sector filtering now works at backend level
    • Accurate filtering prevents data pollution
  4. Available Count Accuracy:

    • Fixed aggregation logic for all stat types
    • Correct counts regardless of active filters
    • Proper handling of edge cases (0 available, all added, etc.)

📦 Files Changed (6 commits)

Commit 328098a4: "COMPLETED KEYWORDS-LIBRARY-REDESIGN-PLAN.md"

  • Final implementation of sector filtering and UI polish
  • 6 files: views.py, SectorCardsGrid, SectorMetricCard, SmartSuggestions, IndustriesSectorsKeywords, api.ts

Commit 05bc433c: "keywrods library fixes"

  • Major refactoring and bug fixes
  • 8 files including backend views, frontend components, API, design system

Commit 4cf27fa8: "keywrod slibrary page dsigning"

  • UI/UX design implementation
  • 9 files including new components and design system updates

Commit aa03e15e: "fixes ofkewyrod library"

  • Cleanup and optimization
  • 1 file: IndustriesSectorsKeywords component simplification

Commit 43df7af9: "keywrods libarry update"

  • Major feature additions (Smart Suggestions, Bulk Add, etc.)
  • 16 files including new components and API endpoints

Commit 9e88c475: "keywrod library sorting issue and fitlers inclusion"

  • Initial redesign planning and filter improvements
  • 4 files: pagination, views, redesign plan document, API

📋 Known Issues & Future Improvements

Partially Implemented:

  • Remove sector selector from AppHeader (route updated, selector still present)
  • Center filter bar styling (functional but needs polish)
  • Default table display (kept existing "Browse" toggle UX)

Future Enhancements:

  • Multi-select sector filtering
  • Export filtered keywords
  • Keyword comparison across sectors
  • Bulk edit operations
  • Advanced search with operators

🎯 Impact Summary

User Experience:

  • Sites only see relevant keywords for their sectors
  • Clear visual organization with sector cards
  • Powerful bulk-add options via Smart Suggestions
  • Consistent filtering UX across platform
  • Accurate stats and counts everywhere

Performance:

  • Optimized backend queries with sector filtering
  • Reduced data transfer (only relevant keywords)
  • Better caching opportunities
  • Faster page load times

Maintainability:

  • Consistent terminology across codebase
  • Clear component structure
  • Well-documented API changes
  • Comprehensive redesign plan document

v1.8.1 - January 18, 2026

Automation Scheduling Overhaul & Centralized Default Settings

This release introduces a complete overhaul of the automation scheduling system, moving from 15-minute window checking to hourly scheduling. It also introduces the DefaultAutomationConfig singleton model for centralized default settings management, test mode functionality for admins, and backend-driven reset functionality for the frontend.


Hourly Scheduling System

Previous Behavior (v1.8.0):

  • Celery checked every 15 minutes for automations within a 15-minute window
  • Complex time window calculations prone to edge cases

New Behavior (v1.8.1):

  • Celery checks every hour at :05 (crontab(minute=5))
  • Simple hour matching: scheduled_hour == current_hour
  • Users select hour only (12-hour AM/PM format in UI, stored as 24-hour HH:00)

Celery Beat Schedule:

Task Schedule Purpose
check_scheduled_automations Every hour at :05 Check if automations should run
check_test_triggers Every minute Check for admin test triggers
schedule_approved_content Every hour at :00 Schedule approved content
process_scheduled_publications Every 5 minutes Publish scheduled content

🔧 DefaultAutomationConfig Model

New Singleton Model (backend/igny8_core/business/automation/models.py):

A centralized configuration model for all default automation settings:

Scheduling Defaults:

  • is_enabled, frequency (daily/weekly/monthly)
  • base_scheduled_hour, next_scheduled_hour (auto-increment for new sites)

Stage Defaults (per stage 1-7):

  • stage_X_enabled - Enable/disable individual stages
  • stage_X_batch_size - Items per batch
  • stage_X_use_testing - Use test AI model (AI stages only)
  • stage_X_budget_pct - Credit budget percentage (AI stages only)

Per-Run Limits:

  • max_keywords_per_run, max_clusters_per_run, etc.
  • max_credits_per_run

Publishing Defaults:

  • auto_approval_enabled, auto_publish_enabled
  • daily_publish_limit, weekly_publish_limit, monthly_publish_limit
  • publish_days (JSONField - e.g., ['mon', 'tue', 'wed', 'thu', 'fri'])
  • publish_time_slots (JSONField - e.g., ['09:00', '14:00', '18:00'])

Image Defaults:

  • image_style (default: 'photorealistic')
  • max_images_per_article (default: 4)

🧪 Test Mode (Admin Feature)

New fields on AutomationConfig for admin testing:

  • test_mode_enabled - Enable test functionality for a config
  • test_trigger_at - When to trigger (set to now for immediate)

How It Works:

  1. Admin enables test mode and sets trigger time
  2. check_test_triggers task runs every minute
  3. When test_trigger_at <= now, automation starts with trigger_type='test'
  4. Bypasses 23-hour blocking and schedule requirements

Admin Actions:

  • 🧪 Trigger test run - Sets test mode and immediate trigger
  • 🧹 Clear test mode - Disables and clears trigger

🔄 Reset Button Backend Integration

New API Endpoint: GET /api/v1/integration/settings/defaults/

Frontend reset button now fetches defaults from backend instead of using hardcoded values:

Response Format:

{
  "automation": {
    "enabled": false,
    "frequency": "daily",
    "time": "02:00"
  },
  "stages": [
    {"number": 1, "enabled": true, "batch_size": 50, "per_run_limit": 0, "use_testing": false, "budget_pct": 15},
    ...
  ],
  "delays": {
    "within_stage": 3,
    "between_stage": 5
  },
  "publishing": {
    "auto_approval_enabled": false,
    "auto_publish_enabled": false,
    "daily_publish_limit": 3,
    "weekly_publish_limit": 15,
    "monthly_publish_limit": 50,
    "publish_days": ["mon", "tue", "wed", "thu", "fri"],
    "time_slots": ["09:00", "14:00", "18:00"]
  },
  "images": {
    "style": "photorealistic",
    "max_images": 4
  }
}

Note: Image settings are NOT reset by the reset button - they come from a separate global system (/api/v1/account/settings/ai/).


🗄️ Database Migrations

Migration Description
0009_add_stage_use_testing_and_budget_pct.py Adds use_testing and budget_pct fields per AI stage
0010_add_test_mode_fields.py Adds test_mode_enabled and test_trigger_at fields
0011_add_default_automation_config.py Creates DefaultAutomationConfig singleton model
0012_add_publishing_image_defaults.py Adds publishing and image default fields to DefaultAutomationConfig

🖥️ Admin Interface

DefaultAutomationConfig Admin:

  • New admin page for managing centralized defaults
  • Organized fieldsets: Scheduling, Stage Toggles, Batch Sizes, Testing Models, Budget Allocation, Per-Run Limits, Delays, Publishing, Images

AutomationConfig Admin:

  • New Test Mode actions: "🧪 Trigger test run", "🧹 Clear test mode"
  • Display of test mode status in list view

🎨 Frontend Fixes

AIAutomationSettings Component:

  • Reset button fetches from /api/v1/integration/settings/defaults/
  • Fixed Run Time dropdown layout (was bleeding outside card)
  • Uses grid grid-cols-2 gap-2 with wrapped dropdowns
  • Toast message clarifies which settings are reset

Dropdown Fixes:

  • Fixed SelectDropdown width issues in Run Time selection
  • Hour and AM/PM dropdowns no longer overlap or bleed

📚 Documentation

New Documentation:

Reorganized:

  • Moved AUTOMATION-ENHANCEMENT-PLAN.md to docs/plans/automation/
  • Moved FINAL-PRELAUNCH-*.md to docs/plans/implemented/

🐛 Bug Fixes

  • Fixed 404 on /v1/settings/defaults/ (correct path: /v1/integration/settings/defaults/)
  • Fixed "Cannot read properties of undefined (reading 'automation')" error in reset handling
  • Fixed SelectDropdown bleeding outside card boundaries
  • Fixed dropdown portals not opening when overflow-hidden was applied

v1.8.0 - January 17, 2026

Unified Settings Consolidation & Navigation Refactor Complete

This major release consolidates all AI, Automation, and Publishing settings into a unified interface within Site Settings. The Navigation Refactor is now complete with streamlined sidebar navigation and improved user workflows.


🔧 Settings Consolidation

Unified Automation Tab in Site Settings:

  • New AIAutomationSettings component consolidating all automation controls
  • Three-card layout: Automation Schedule, Content Publishing, Image Generation
  • Stage Configuration matrix with per-stage controls (batch size, limit, model, budget)
  • Schedule & Capacity cards showing publishing days, time slots, and calculated capacity
  • Help cards explaining Publishing workflow, Stage Configuration, and Schedule settings

Removed Standalone Pages:

  • /automation/settings (PipelineSettings) - Now redirects to Site Settings > Automation tab
  • /publisher/settings (PublishSettings) - Integrated into Automation tab
  • AI Settings tab removed from Site Settings (text AI overrides removed from user control)

Backend Unified Settings API:

  • New endpoint: GET/PUT /api/v1/integration/sites/{site_id}/unified-settings/
  • Consolidates AutomationConfig, PublishingSettings, and stage configurations
  • Computed capacity properties (daily, weekly, monthly)
  • Stage-level per_run_limit and use_testing fields

🧭 Navigation Refactor Complete

Sidebar Changes:

  • Publisher dropdown: Removed "Publish Settings" (now in Site Settings)
  • Automation dropdown: Removed "Settings" link (now in Site Settings)
  • Cleaner navigation with fewer redundant pages

Route Changes:

  • /automation/settings → Redirects to /sites/settings?tab=automation
  • /publisher/settings → Removed (404)

🚀 Automation Overview & Run Details

New Automation Overview Page (/automation/overview):

  • Dashboard showing recent automation runs
  • Pipeline status overview with stage counts
  • Quick access to Run Now and Settings

Enhanced Run Detail Page (/automation/runs/:runId):

  • Detailed stage-by-stage progress visualization
  • Real-time log streaming
  • Credit usage tracking per stage
  • Initial snapshot comparison

📅 Publishing & Scheduling UX (Phases 1-6)

Content Calendar Improvements:

  • Fixed calendar grid display issues
  • Better date selection and slot visualization
  • Improved drag-and-drop scheduling

Auto-Approval & Auto-Publish Workflows:

  • Clear visual indicators for automation status
  • Toggle controls in unified settings
  • Capacity calculation based on days × time slots

⚙️ Stage Configuration Enhancements

Per-Stage Controls:

  • enabled - Toggle individual stages on/off
  • batch_size - Items processed together
  • per_run_limit - Maximum items per automation run (0 = all)
  • use_testing - Use test AI model instead of production
  • budget_pct - Credit budget allocation percentage

Skip Stage Support:

  • Stages can be disabled individually
  • Local stages (Ideas→Tasks, Review→Approved) clearly marked

🐛 Bug Fixes

  • Fixed SelectDropdown width issues (icon bleeding outside box)
  • Fixed stage configuration table column widths
  • Fixed frequency/run time layout in automation card
  • Fixed Next Run info display always visible
  • Filter fixes across Planner/Writer pages
  • Metrics widgets showing correct totals

v1.7.6 - January 15, 2026

Navigation Refactor Complete

Frontend Navigation:

  • Complete sidebar restructure with logical groupings
  • New Automation Overview page with run history
  • Publish Settings page (later consolidated in v1.8.0)
  • Content Calendar improvements

Commit: 501a2694 - NAVIGATION_REFACTOR COMPLETED


v1.7.5 - January 14, 2026

Automation Overview Implementation

New Features:

  • Automation Overview dashboard (/automation/overview)
  • Run history with detailed status tracking
  • Real-time progress monitoring
  • Enhanced CurrentProcessingCardV2

Commits: 6b1fa0c1, 0435a5cf - automation overview page implementation


v1.7.4 - January 13, 2026

Publishing & Scheduling UX (Phases 1-6)

Implementation:

  • Phase 1-3: Core scheduling infrastructure
  • Phase 4-6: Content Calendar fixes and UX improvements
  • Auto-approval and auto-publish workflows
  • Scheduling time slots configuration

Commits: 1f0a31fe, 7e8d667e, cf755b23 - Publishing and scheduling implementation


v1.7.3 - January 12, 2026

Skip Stage Configuration

Features:

  • Ability to enable/disable individual stages
  • Stage-level batch size and limit controls
  • Budget allocation per AI stage
  • Test vs Live model selection per stage

Commit: 97f5ff81 - skip stage configured and working


v1.7.2 - January 11, 2026

Bug Fixes & Planner/Writer Filters

Fixes:

  • Filter fixes for all Planner/Writer pages
  • Metrics showing correct totals
  • Keyword library improvements
  • Primary keyword column in Ideas
  • Drafts page error fixes

Commits: a8309078, 51292bb1, cb2d1095, d2fc5b1a - filter and UI fixes


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
  • 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
  • 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
  • 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
  • Improved color consistency across components

🔧 Backend Improvements

AI Core & Processing:

Automation Service:

  • Enhanced automation_service.py
  • Improved stage processing and error recovery
  • Better credit tracking across automation stages

Credit Service:

  • Updated credit_service.py
  • Fixed credit calculation for image generation
  • Improved credit logging and transaction history

System Settings:


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:

New Documentation:

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

# 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

# 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

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.mddocs/00-SYSTEM/IGNY8-APP.md
  • fixes-kb.mddocs/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

# 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.mddocs/plans/TODOS.md
  • immediate-updates-completed.mddocs/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

# 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

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_clusternotify_clustering_complete/failed
    • generate_ideasnotify_ideas_complete/failed
    • generate_contentnotify_content_complete/failed
    • generate_image_promptsnotify_prompts_complete/failed
    • generate_imagesnotify_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

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.tsxWriter/Approved.tsx
  • RENAMED: Config published.config.tsxapproved.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 Inarticle Image Prompts" → "Writing Inarticle Image Prompts"
    • Changed "Featured Image and X Inarticle..." → "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.