115 KiB
IGNY8 Change Log
Current Version: 1.8.2 Last Updated: January 19, 2026
Version History
| Version | Date | Summary |
|---|---|---|
| 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.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_idsparameter support to backend API endpoints - Frontend now passes site's specific
industry_sectorIDs - Keywords filtered to only those matching site's configured sectors
- Both
sector_statsandlistendpoints 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:
-
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) -
sector_stats Endpoint Updated:
- Accepts sector_ids parameter
- Filters stats by specified sectors
- Returns accurate counts per sector
-
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 componentfrontend/src/components/keywords-library/SectorCardsGrid.tsx- Sector metric cardsfrontend/src/components/keywords-library/SectorMetricCard.tsx- Individual sector cardfrontend/src/components/keywords-library/SmartSuggestions.tsx- Smart Suggestions componentfrontend/src/services/api.ts- API integration
Major Changes:
-
Sector Filtering Integration:
const loadSectorStats = async () => { const sectorIds = sectors.map(s => s.industry_sector).filter(Boolean); const stats = await fetchSectorStats({ sector_ids: sectorIds }); }; -
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
-
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
-
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
SeedKeywordmodel name kept, but all user-facing text updated
Note: No backward compatibility redirects - direct change to new naming.
🐛 Bug Fixes
-
"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
-
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
-
Wrong Sector Keywords:
- Sites no longer see keywords from unconfigured sectors
- Sector filtering now works at backend level
- Accurate filtering prevents data pollution
-
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 stagesstage_X_batch_size- Items per batchstage_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_enableddaily_publish_limit,weekly_publish_limit,monthly_publish_limitpublish_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 configtest_trigger_at- When to trigger (set tonowfor immediate)
How It Works:
- Admin enables test mode and sets trigger time
check_test_triggerstask runs every minute- When
test_trigger_at <= now, automation starts withtrigger_type='test' - 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-2with wrapped dropdowns - Toast message clarifies which settings are reset
Dropdown Fixes:
- Fixed
SelectDropdownwidth issues in Run Time selection - Hour and AM/PM dropdowns no longer overlap or bleed
📚 Documentation
New Documentation:
- AUTOMATION-AND-PUBLISHING-SCHEDULING.md - Comprehensive guide to the scheduling system
Reorganized:
- Moved
AUTOMATION-ENHANCEMENT-PLAN.mdtodocs/plans/automation/ - Moved
FINAL-PRELAUNCH-*.mdtodocs/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-hiddenwas 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
AIAutomationSettingscomponent 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_limitanduse_testingfields
🧭 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/offbatch_size- Items processed togetherper_run_limit- Maximum items per automation run (0 = all)use_testing- Use test AI model instead of productionbudget_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:
- Refactored ai_core.py for better model handling
- Updated generate_images.py with improved error handling
- Enhanced ai_processor.py for better task processing
- Improved model registry in model_registry.py
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:
- Enhanced ai_settings.py with default quality tier settings
- Updated integration_views.py for better API handling
- Improved settings_views.py
✅ Phase 4 Completion: Email & Notifications QA
Email System Verification:
- Verified SMTP configuration and email delivery
- Tested password reset email flow
- Confirmed email verification functionality
- Validated unsubscribe mechanisms
- Tested notification emails for AI task completion/failures
Notification System:
- Verified notification creation for all AI operations
- Tested notification delivery for automation stages
- Confirmed notification filtering and bulk actions
- Validated notification preferences and settings
📚 Documentation Updates
Updated Documentation:
- BILLING.md - Updated credit system documentation
- CREDIT-SYSTEM.md - Enhanced credit workflow documentation
- FINAL-PRELAUNCH-PENDING.md - Updated with Phase 4 completion
New Documentation:
- COMPREHENSIVE-SYSTEM-FIX-PLAN-JAN-10-2026.md - System fix documentation
- FOOTER-WIDGETS-AUDIT.md - Widget audit results
- IMAGE-GENERATION-GAPS.md - Image generation issues and fixes
Documentation Reorganization:
- Moved completed documentation to
docs/plans/implemented/folder - Better organization of planning vs. implemented features
🐛 Bug Fixes
- Fixed credit deduction not working properly for image generation
- Resolved widget data loading issues on Dashboard
- Fixed automation stage processing errors
- Corrected image size configuration for different models
- Fixed notification creation timing issues
- Resolved UI responsiveness issues on various pages
🔄 Code Cleanup & Organization
- Reorganized documentation structure
- Improved code comments and documentation
- Enhanced error messages for better debugging
- Cleaned up unused code and imports
- Improved type safety in TypeScript components
📁 Files Changed
| File | Changes |
|---|---|
backend/igny8_core/business/billing/services/credit_service.py |
Added check_credits_for_image() method |
backend/igny8_core/ai/tasks.py |
Added credit check, AITaskLog logging, notifications |
📋 Credit Usage Logging Locations
| Table | Purpose |
|---|---|
CreditTransaction |
Financial ledger entry (via deduct_credits_for_image) |
CreditUsageLog |
Detailed usage log with model, cost, credits |
AITaskLog |
AI task execution tracking |
Notification |
User notifications for completion/failure |
v1.7.0 - January 10, 2026
Pre-Launch Cleanup & Plugin Distribution System
This major release completes critical pre-launch phases (1, 5, 6) with comprehensive code cleanup, UX improvements, and data management tools. It also introduces the WordPress plugin distribution infrastructure and improves template rendering.
🧹 Phase 1: Code Cleanup & Technical Debt - COMPLETE ✅
Code Quality Improvements:
- Removed 3,218 lines of legacy code
- Deleted 24 files and cleaned up 11 empty directories
- Removed 17 console.log/debug statements:
- UserProfile components (UserMetaCard, UserAddressCard, UserInfoCard)
- Automation/ConfigModal
- ImageQueueModal (8 statements)
- ImageGenerationCard (7 statements)
- Applied ESLint auto-fixes (9 errors fixed)
- All TypeScript strict mode checks passing
Removed Test Files:
test-module-settings.html(manual API test)test_urls.py(one-time URL verification)test_stage1_refactor.py(stage 1 verification)
Deleted Unused Components:
- ecommerce/ template components (7 files)
- sample-components/ (2 HTML files)
- charts/bar/ and charts/line/
- tables/BasicTables/
- CurrentProcessingCard.old.tsx
Production Status:
- ✅ Build time: ~9 seconds
- ✅ All tests passing
- ✅ ESLint compliance
- ✅ TypeScript strict mode
- ✅ Production-ready codebase
🎨 Phase 5: UX Improvements - COMPLETE ✅
Enhanced Search Modal:
- Added search filters: All, Workflow, Setup, Account, Help
- Implemented recent searches (localStorage, max 5)
- Added category display in results
- Improved result filtering by type and category
- Deep linking to help sections with auto-expand accordions
Smart Search Features:
- Intelligent phrase matching (strips filler words: how, to, what, is)
- Basic stemming support (tasks → task)
- Duplicate prevention using Set
- Enhanced matching logic:
- Direct keyword match
- Normalized term match
- Question text match
Comprehensive Keyword Coverage: Added 10+ keyword categories:
- task, cluster, billing, invoice, payment
- plan, usage, schedule, wordpress
- writing, picture, user, ai
Help System:
- Added 25+ help questions across 8 topics
- Context snippets and highlighting
- Suggested questions
- Fixed duplicate keywords in navigation
💾 Phase 6: Data Backup & Cleanup Tools - COMPLETE ✅
New Django Management Commands:
-
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
-
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_pluginshook - 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-successUpcoming.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-primaryProduct.tsx- CTA gradient:from-success via-primary-dark to-primaryPricing.tsx- CTA gradient:from-success via-primary-dark to-primarySolutions.tsx- CTA gradient:from-success via-primary-dark to-primaryPartners.tsx- CTA gradient:from-success via-primary-dark to-primaryCaseStudies.tsx- CTA gradient:from-success via-primary-dark to-primary
🧹 Shadow & Visual Refinements
Product Module Screenshots:
- Reduced shadow from
shadow-2xltoshadow-mdfor cleaner appearance - Reduced blur from
blur-xltoblur-lgon gradient glows - Reduced inset values for more subtle frame effects
- Updated across all 4 product module sections
Hero Dashboard:
- Reduced shadow from
shadow-2xltoshadow-lg - Reduced blur effects from
blur-3xl/blur-2xltoblur-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-10tow-9 h-9for cleaner appearance - Removed heavy
shadow-lgeffects, using subtleshadow-sm - Removed neon glow and hover animations for cleaner branded look
- Reduced automation dashboard shadow from
shadow-2xltoshadow-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.tsxwith 8-stage pipeline and 7 automation handoffs - Updated
Product.tsxwith accurate module descriptions - Updated
Tour.tsxwith 5 comprehensive steps - Updated
Solutions.tsxwith 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
- Brand Consistency - All gradients now use primary + success mix (matching logo)
- Visual Hierarchy - Reduced shadow weights prevent visual overwhelm
- Clean & Branded - Simplified automation icons from "trainbox mix" to consistent primary gradient
- Subtle & Elegant - Shadow weights reduced to md/lg instead of 2xl for modern appearance
- 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
- Fields:
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 buttonadmin/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 requestsResetPassword.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 templateemails/password_reset.html- Password reset email templateemails/welcome.html- Welcome email for new usersemails/low_credits.html- Low credit warning emailemails/payment_approved.html- Payment approval notificationemails/payment_confirmation.html- Payment confirmationemails/payment_failed.html- Payment failure notificationemails/payment_rejected.html- Payment rejection notificationemails/refund_notification.html- Refund notificationemails/subscription_activated.html- Subscription activationemails/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.tsxandTerms.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 configurationEmailTemplate- Customizable email templates (292 lines inemail_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 linesadmin/system/emailsettings/test_email.html- 97 linesadmin/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
/signuproute (removed/signup/pkvariant)
🌍 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 usersBankTransferForm- Bank transfer submission with proof uploadPaymentGatewaySelector- Gateway selection UI
Updated Components:
PlansAndBillingPage- Conditional rendering based on user statePendingPaymentBanner- Alert for pending paymentsPayInvoiceModal- Invoice payment modal
🔒 Security Enhancements
- Webhook Idempotency:
WebhookEventmodel 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
reportlabfor 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→ RemovedPAYMENT-SYSTEM-AUDIT-REPORT.md→ RemovedPAYMENT-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/pkroute (consolidated into/signup)SignUpPK.tsxpage 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 calculationCreditService.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_imageortokens_per_credit
📋 Planning Documentation
New Files:
docs/plans/4th-jan-refactor/IMAGE_MODELS_IMPLEMENTATION_PLAN.md- Detailed image system implementation plandocs/plans/4th-jan-refactor/REFACTOR-OVERVIEW.md- Architecture refactor overviewdocs/plans/4th-jan-refactor/implementation-plan-for-ai-models-and-cost.md- AI models and cost plandocs/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 viaAccountSettings - 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 tooperation_type,display_name,base_credits,is_active - Removed
tokens_per_creditfrom CreditCostConfig (moved to AIModelConfig)
New Migrations:
0025_add_aimodel_credit_fields.py- Add credit fields to AIModelConfig0026_populate_aimodel_credits.py- Populate default credit values0027_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 model0016_populate_integration_providers.py- Seed default providers (openai, runware, anthropic, stripe, paypal, resend)0017_create_ai_settings.py- Create AISettings model0018_create_ai_settings_table.py- Create SystemAISettings table0019_model_schema_update.py- Final schema updates
Billing Module Migrations:
0024_update_image_models_v2.py- Update image model configurations0025_add_aimodel_credit_fields.py- Add credit fields0026_populate_aimodel_credits.py- Populate credit values0027_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_imagefrom AIModelConfig - Style parameter support from SystemAISettings
📝 Documentation Updates
New Documentation:
docs/plans/4th-jan-refactor/final-model-schemas.md- Complete model schema specificationdocs/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.pyschedule_approved_content- Hourly task that schedules approved content based on site's publishing settingsprocess_scheduled_publications- Every 5 minutes, publishes content that's dueupdate_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
approvedstatus to Content model:draft → review → approved → published - Created
ImagePromptsproxy model
- Added
-
NEW MIGRATION:
0015_add_publishing_scheduler_fields.pysite_statusfield:not_published | scheduled | publishing | published | failedscheduled_publish_atfield: DateTime for scheduled publishingsite_status_updated_atfield: Timestamp for status tracking
PublishingSettings Model (NEW):
- NEW MODEL:
backend/igny8_core/business/integration/models.pyauto_approval_enabled- Auto-approve content after reviewauto_publish_enabled- Auto-publish approved contentdaily_publish_limit,weekly_publish_limit,monthly_publish_limitpublish_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.pycreate_site_with_defaults()- Creates site with publishing and automation settingsapply_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 settingsPUT/PATCH /api/v1/integration/sites/{site_id}/publishing-settings/- Update settingsPOST /api/v1/writer/content/{id}/schedule/- Schedule content for publishingPOST /api/v1/writer/content/{id}/unschedule/- Remove from scheduleGET /api/v1/writer/content/?status__in=- Filter by multiple statuses
Celery Beat Schedule:
- Added
schedule-approved-contenttask (hourly) - Added
process-scheduled-publicationstask (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 overviewStep2AddSite.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.cssfrontend/src/styles/tokens.cssfrontend/src/index.css(571 lines removed)
ESLint Plugin (NEW):
- NEW FILE:
frontend/eslint/eslint-plugin-igny8-design-system.cjsno-tailwind-default-colors- Blocks blue-, red-, green-*, etc.no-hardcoded-colors- Blocks inline hex colorsno-lucide-imports- Enforces local icon importsno-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 status0015_add_publishing_scheduler_fields.py- Scheduling fields0003_add_publishing_settings.py- PublishingSettings model
Celery Configuration:
- Added publishing scheduler tasks to celery beat
- New
tasks/__init__.pyconsolidating all task imports
WordPress Publishing:
- Updated
publish_content_to_wordpressto updatesite_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__inquery parameter support for multiple status filtering - Content serializer includes new
site_statusandscheduled_publish_atfields
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 referencedocs/30-FRONTEND/DESIGN-GUIDE.md- Design system guidelinesdocs/50-DEPLOYMENT/WORDPRESS-INTEGRATION-FLOW.md- WordPress setup guidedocs/plans/FINAL-PRELAUNCH.md- Pre-launch checklistdocs/plans/implemented/FRONTEND-AUDIT-PLAN.md- Frontend audit plandocs/plans/implemented/PUBLISHING-ONBOARDING-IMPLEMENTATION-PLAN.md- Implementation plan
Moved/Reorganized:
IGNY8-APP.md→docs/00-SYSTEM/IGNY8-APP.mdfixes-kb.md→docs/90-REFERENCE/FIXES-KB.md- Various plan docs →
docs/plans/implemented/
Updated Documentation:
docs/INDEX.md- Added new doc links, updated versiondocs/30-FRONTEND/DESIGN-TOKENS.md- Expanded with color scalesfrontend/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.cssfrontend/src/styles/tokens.cssfrontend/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.mdmandatory 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 lintfor 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-childrenrule - 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 visualizationCurrentProcessingCardV2.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_progressAPI 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__isnullfilter) - Stage 3 uses
status='new'instead ofstatus='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_keyto 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_keyto 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.pyfor backward compatibility - 5-minute cache TTL for performance
Features:
ModelRegistry.get_model(model_id)- Get config from cache/DB/constantsModelRegistry.get_rate(model_id, rate_type)- Get input/output/image ratesModelRegistry.calculate_cost()- Unified cost calculationModelRegistry.list_models()- List all active models with filtersModelRegistry.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.csswith 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 informationget_prompt_prefix_for_function()for tracking without full prompt fetch
Prompt Types Added:
PROMPT_PREFIX_MAPwith 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 pagefrontend/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 start0008_global_payment_methods.py- Global payment method support0009_seed_ai_model_configs.py- AI model configurations0011_disable_phase2_modules.py- Phase 2 module toggles0012_add_bria_integration.py- Bria AI integration settings0013_add_anthropic_integration.py- Anthropic integration settings
API Enhancements:
- New
run_progressendpoint in automation views - Account API expansions for usage tracking
- Billing API improvements for payment methods
Planning Module:
- Added
signals.pyfor 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.mddocs/fixes/design-verification-report.mddocs/fixes/footer-widget-pagination-fix.mddocs/fixes/phase2-module-activation.mddocs/plans/MASTER-IMPLEMENTATION-PLAN.mddocs/plans/flexible-model-configuration-plan.mddocs/plans/final-fixes.md
Moved/Reorganized:
TODOS.md→docs/plans/TODOS.mdimmediate-updates-completed.md→docs/immediate-updates-completed.md
Files Summary
New Files (15):
frontend/src/components/Automation/GlobalProgressBar.tsx (248 lines)
frontend/src/components/Automation/CurrentProcessingCardV2.tsx (344 lines)
frontend/src/pages/legal/Privacy.tsx (260 lines)
frontend/src/pages/legal/Terms.tsx (186 lines)
frontend/src/hooks/useWorkflowStats.ts (294 lines)
frontend/src/services/automationService.ts (71 lines)
backend/igny8_core/ai/model_registry.py (339 lines)
backend/igny8_core/business/planning/signals.py (130 lines)
backend/igny8_core/migrations/0006_automationrun_initial_snapshot.py
backend/igny8_core/business/billing/migrations/0008_global_payment_methods.py
backend/igny8_core/business/billing/migrations/0009_seed_ai_model_configs.py
backend/igny8_core/modules/system/migrations/0011_disable_phase2_modules.py
backend/igny8_core/modules/system/migrations/0012_add_bria_integration.py
backend/igny8_core/modules/system/migrations/0013_add_anthropic_integration.py
🚀 AUTOMATION PAGE MASTER FIX PLAN.md
Major Changes (20+ files):
frontend/src/pages/Automation/AutomationPage.tsx- Complete UI overhaulbackend/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
/notificationswhich 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/notificationsin App.tsx - Sidebar: Added Notifications menu item with Bell icon and unread count badge
- Fixed: NotificationDropdown link updated from
/notificationsto/account/notifications
Documentation Updates:
docs/30-FRONTEND/PAGES.md- Added NotificationsPage with featuresdocs/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 pagefrontend/src/App.tsx- Added notifications route and lazy importfrontend/src/components/header/NotificationDropdown.tsx- Fixed link to /account/notificationsfrontend/src/layout/AppSidebar.tsx- Added Notifications menu item with Bell icondocs/30-FRONTEND/PAGES.md- Added NotificationsPage documentationdocs/10-MODULES/NOTIFICATIONS.md- Updated with new page, fixed issues, version historyCHANGELOG.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 calledNotificationService- No notification creation in either success or failure paths
- Celery logs showed tasks completing but no notification records in database
Solution:
- Added
_create_success_notification()method to AIEngine class - Added
_create_failure_notification()method to AIEngine class - Integrated notification creation in
execute()success path (after DONE phase) - Integrated notification creation in
_handle_error()failure path - Used lazy imports to avoid Django app loading issues at module level
- Maps each AI function to appropriate NotificationService method:
auto_cluster→notify_clustering_complete/failedgenerate_ideas→notify_ideas_complete/failedgenerate_content→notify_content_complete/failedgenerate_image_prompts→notify_prompts_complete/failedgenerate_images→notify_images_complete/failed
Testing:
- Celery worker restarted successfully with new code
- Notifications now created for both successful and failed AI operations
- Frontend notification dropdown will display notifications via existing API integration
Documentation Added:
- Created comprehensive
docs/10-MODULES/NOTIFICATIONS.md - Documents all notification types and triggers
- Includes frontend implementation details
- Lists all 15 notification types with message formats
- Debug commands and testing procedures
- Added to
docs/INDEX.mdmodule listing - Clarified: No dedicated notifications page exists (only dropdown)
Additional Fix - Keyword Import Notifications:
- Added notification creation to
add_to_workflowendpoint 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 pointsbackend/igny8_core/modules/planner/views.py- Added notification for keyword importdocs/10-MODULES/NOTIFICATIONS.md- NEW: Complete notifications module documentationdocs/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:
NotificationServicefor creating/managing notifications - REST API:
/api/v1/notifications/endpoints
- Models:
- Registered in
settings.pyINSTALLED_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.tsfetchNotifications(),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 → PublishedAIOperationsWidget.tsx- Operation stats with time filter (7d/30d/90d)RecentActivityWidget.tsx- Activity feed with type iconsContentVelocityWidget.tsx- Week/Month/Total metrics tableAutomationStatusWidget.tsx- Status, schedule, last/next run infoNeedsAttentionBar.tsx- Alert bar for pending actionsQuickActionsWidget.tsx- Quick action buttonsCreditAvailabilityWidget.tsx- Credit balance displayOperationsCostsWidget.tsx- Cost breakdown by operation typeSiteConfigWidget.tsx- Site configuration status
- Updated
Home.tsxto use new dashboard widgets with real data from APIs
Frontend: ThreeWidgetFooter Component
- NEW COMPONENT:
ThreeWidgetFooter.tsx- 3-column footer for table pages- Widget 1: Page Progress (metrics + progress bar)
- Widget 2: Module Stats (pipeline flow with arrows)
- Widget 3: Completion (tree structure for both modules)
- NEW HOOK:
useThreeWidgetFooter.ts- Data preparation hook - IMPLEMENTED ON: Keywords, Clusters, Ideas, Tasks, Content pages
Frontend: Page Rename - Published → Approved
- RENAMED:
Writer/Published.tsx→Writer/Approved.tsx - RENAMED: Config
published.config.tsx→approved.config.tsx - ROUTE:
/writer/approved(legacy/writer/publishedredirects) - Updated sidebar navigation label to "Approved"
Frontend: Site Selectors
- NEW COMPONENTS:
SingleSiteSelector.tsx- Simple site dropdownSiteWithAllSitesSelector.tsx- Site selector with "All Sites" option
- Updated
SiteAndSectorSelector.tsxfor improved UX - Enhanced
PageHeader.tsxwith badge props and breadcrumb support
Backend: SiteSerializer Fixes
- Fixed
has_integrationfield to useplatformfield (notintegration_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_APPSbackend/igny8_core/urls.py- Added notifications URL routingbackend/igny8_core/auth/serializers.py- Fixed SiteSerializer fieldsbackend/igny8_core/ai/engine.py- Progress tracking updatesfrontend/src/App.tsx- Route updates for approved pagefrontend/src/layout/AppHeader.tsx- Dashboard context supportfrontend/src/layout/AppLayout.tsx- Layout improvementsfrontend/src/layout/AppSidebar.tsx- Navigation label updatesfrontend/src/pages/Dashboard/Home.tsx- Complete dashboard overhaulfrontend/src/pages/Writer/*.tsx- ThreeWidgetFooter integrationfrontend/src/pages/Planner/*.tsx- ThreeWidgetFooter integrationfrontend/src/components/common/ProgressModal.tsx- Text fixesfrontend/src/components/common/SiteCard.tsx- Setup checklist updatesfrontend/src/config/pages/*.config.tsx- Column/action updatesfrontend/src/config/routes.config.ts- Route updatesfrontend/src/context/PageContext.tsx- Enhanced page contextfrontend/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.tsxfrontend/src/context/PageContext.tsxdocs/30-FRONTEND/PAGE-REQUIREMENTS.md
Files Modified
frontend/src/layout/AppHeader.tsxfrontend/src/layout/AppLayout.tsxfrontend/src/layout/AppSidebar.tsxfrontend/src/templates/TablePageTemplate.tsxfrontend/src/pages/Planner/*.tsxfrontend/src/pages/Writer/*.tsxfrontend/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/teamPlansAndBillingPage.tsx-/account/plans,/account/plans/upgrade,/account/plans/historyUsageAnalyticsPage.tsx-/account/usage,/account/usage/credits,/account/usage/activityContentSettingsPage.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
breadcrumbprop 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 dropdownsfrontend/src/App.tsx- Added sub-routes for URL-based navigationfrontend/src/components/common/PageHeader.tsx- Added breadcrumb propfrontend/src/pages/account/AccountSettingsPage.tsx- URL-based tabsfrontend/src/pages/account/PlansAndBillingPage.tsx- URL-based tabsfrontend/src/pages/account/UsageAnalyticsPage.tsx- URL-based tabsfrontend/src/pages/account/ContentSettingsPage.tsx- URL-based tabsfrontend/src/pages/Planner/*.tsx- Removed tabs, added breadcrumbfrontend/src/pages/Writer/*.tsx- Removed tabs, added breadcrumbfrontend/src/pages/Thinker/*.tsx- Removed tabs, added breadcrumbfrontend/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
- "Edit profile" →
- 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-testingfrom 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/routesfrontend/src/components/header/UserDropdown.tsx- Fixed all broken linksfrontend/src/pages/Help/Help.tsx- Added documentation sections, expanded FAQ, working support buttons
Files Deleted
frontend/src/pages/Help/Docs.tsxfrontend/src/pages/Help/SystemTesting.tsxfrontend/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
- Connects to
- 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_typedata - 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 functionsfrontend/src/pages/account/AccountSettingsPage.tsx- Password change modal, profile loadingfrontend/src/pages/account/PlansAndBillingPage.tsx- Cancellation confirmation modalfrontend/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-opportunitiesfrom App.tsx - Updated Clusters table to show ideas count badge: "X ideas" (green) or "No ideas" (gray)
- Made cluster name clickable in Ideas table - navigates to
/planner/clusters/:id
Writer Module:
- Fixed duplicate tags/categories display in ContentView template
- Removed redundant tags/categories section that appeared below the main metadata
- Tags and categories now display only once in the Topic section
Progress Modals:
- Fixed placeholder "X" text in image prompt progress modals:
- Changed "Mapping Content for X Image Prompts" → "Mapping content for image prompts"
- Changed "Writing X In‑article Image Prompts" → "Writing In‑article Image Prompts"
- Changed "Featured Image and X In‑article..." → "Image prompts ready for generation"
- All step labels now show actual counts when available, clean fallbacks otherwise
Files Changed
frontend/src/App.tsx- Removed KeywordOpportunities import/routefrontend/src/config/pages/clusters.config.tsx- Ideas count badge stylingfrontend/src/config/pages/ideas.config.tsx- Clickable cluster linkfrontend/src/templates/ContentViewTemplate.tsx- Removed duplicate tags/categoriesfrontend/src/components/common/ProgressModal.tsx- Fixed placeholder textsdocs/30-FRONTEND/PAGES.md- Removed KeywordOpportunities references, updated versiondocs/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>/endpointsGET /v1/system/settings/content/content_generation/- Retrieve settingsPOST /v1/system/settings/content/content_generation/save/- Save settingsGET /v1/system/settings/content/publishing/- Retrieve settingsPOST /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
SiteSetupChecklistcomponent 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/manageroute from App.tsx - Removed SiteManage lazy import from App.tsx
Files Changed
frontend/src/pages/Setup/IndustriesSectorsKeywords.tsxfrontend/src/pages/account/ContentSettingsPage.tsxfrontend/src/pages/Sites/Dashboard.tsxfrontend/src/App.tsxbackend/igny8_core/modules/system/settings_views.pybackend/igny8_core/modules/system/urls.py
Files Created
frontend/src/components/sites/SiteSetupChecklist.tsx
Files Deleted
frontend/src/pages/Sites/Manage.tsxfrontend/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.mdfile - Now only one rules file:
.rules
- Added documentation rules section to
v1.1.2 - December 27, 2025
Added
- Module Status section in
.rulesfile 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
.rulesfile 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
- Documents
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:
- Use version format:
v{major}.{minor}.{patch} - Categorize: Added, Changed, Fixed, Removed, Security
- Include date
- Reference related documentation if applicable
- Note breaking changes prominently
Update this file after every release or significant change.