VErsion 1.3.2
This commit is contained in:
314
CHANGELOG.md
314
CHANGELOG.md
@@ -1,7 +1,7 @@
|
||||
# IGNY8 Change Log
|
||||
|
||||
**Current Version:** 1.3.1
|
||||
**Last Updated:** January 2, 2026
|
||||
**Current Version:** 1.3.2
|
||||
**Last Updated:** January 3, 2026
|
||||
|
||||
---
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
| Version | Date | Summary |
|
||||
|---------|------|---------|
|
||||
| 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 |
|
||||
@@ -33,6 +34,315 @@
|
||||
|
||||
---
|
||||
|
||||
## v1.3.2 - January 3, 2026
|
||||
|
||||
### Major Release: Publishing Scheduler, Onboarding Wizard & Content Calendar
|
||||
|
||||
This release introduces automated publishing scheduling, a streamlined onboarding wizard for new users, a content calendar for managing publishing schedules, comprehensive design system consolidation, and site-specific dashboard improvements.
|
||||
|
||||
---
|
||||
|
||||
### 📅 Publishing Scheduler System (NEW)
|
||||
|
||||
**Backend: Publishing Scheduler Tasks**
|
||||
- **NEW FILE**: `backend/igny8_core/tasks/publishing_scheduler.py`
|
||||
- `schedule_approved_content` - Hourly task that schedules approved content based on site's publishing settings
|
||||
- `process_scheduled_publications` - Every 5 minutes, publishes content that's due
|
||||
- `update_content_site_status` - Callback task for status updates after WordPress publish
|
||||
- Calculates available slots based on publish_days, publish_time_slots, and daily/weekly/monthly limits
|
||||
- Respects site-specific publishing limits
|
||||
|
||||
**Content Model Updates:**
|
||||
- **NEW MIGRATION**: `0014_add_approved_status.py`
|
||||
- Added `approved` status to Content model: `draft → review → approved → published`
|
||||
- Created `ImagePrompts` proxy model
|
||||
|
||||
- **NEW MIGRATION**: `0015_add_publishing_scheduler_fields.py`
|
||||
- `site_status` field: `not_published | scheduled | publishing | published | failed`
|
||||
- `scheduled_publish_at` field: DateTime for scheduled publishing
|
||||
- `site_status_updated_at` field: Timestamp for status tracking
|
||||
|
||||
**PublishingSettings Model (NEW):**
|
||||
- **NEW MODEL**: `backend/igny8_core/business/integration/models.py`
|
||||
- `auto_approval_enabled` - Auto-approve content after review
|
||||
- `auto_publish_enabled` - Auto-publish approved content
|
||||
- `daily_publish_limit`, `weekly_publish_limit`, `monthly_publish_limit`
|
||||
- `publish_days` - JSON array of allowed days (mon, tue, wed, etc.)
|
||||
- `publish_time_slots` - JSON array of times (09:00, 14:00, 18:00)
|
||||
- Default: 3/day, 15/week, 50/month, Mon-Fri at 9am/2pm/6pm
|
||||
|
||||
**DefaultsService (NEW):**
|
||||
- **NEW FILE**: `backend/igny8_core/business/integration/services/defaults_service.py`
|
||||
- `create_site_with_defaults()` - Creates site with publishing and automation settings
|
||||
- `apply_defaults_to_existing_site()` - Applies defaults to existing sites
|
||||
- Optimized defaults for automated content publishing
|
||||
|
||||
**API Endpoints (NEW):**
|
||||
- `GET /api/v1/integration/sites/{site_id}/publishing-settings/` - Get publishing settings
|
||||
- `PUT/PATCH /api/v1/integration/sites/{site_id}/publishing-settings/` - Update settings
|
||||
- `POST /api/v1/writer/content/{id}/schedule/` - Schedule content for publishing
|
||||
- `POST /api/v1/writer/content/{id}/unschedule/` - Remove from schedule
|
||||
- `GET /api/v1/writer/content/?status__in=` - Filter by multiple statuses
|
||||
|
||||
**Celery Beat Schedule:**
|
||||
- Added `schedule-approved-content` task (hourly)
|
||||
- Added `process-scheduled-publications` task (every 5 minutes)
|
||||
|
||||
---
|
||||
|
||||
### 🧙 Onboarding Wizard (NEW)
|
||||
|
||||
**NEW COMPONENTS**: `frontend/src/components/onboarding/`
|
||||
|
||||
**OnboardingWizard.tsx:**
|
||||
- 5-step wizard for new user setup
|
||||
- Manages wizard state and navigation
|
||||
- Creates site with optimized defaults
|
||||
|
||||
**Step Components:**
|
||||
- `Step1Welcome.tsx` - Welcome screen with feature overview
|
||||
- `Step2AddSite.tsx` - Site creation with industry/sector selection
|
||||
- Uses SelectDropdown for industry
|
||||
- Badge-based sector selection (up to 5)
|
||||
- Shows optimized defaults info card
|
||||
- `Step3ConnectIntegration.tsx` - WordPress plugin installation
|
||||
- API key display with copy button
|
||||
- 4-step installation guide
|
||||
- Connection test functionality
|
||||
- Optional - can skip
|
||||
- `Step4AddKeywords.tsx` - Initial keyword entry
|
||||
- Multi-keyword input with paste support
|
||||
- Keyword suggestions
|
||||
- Optional - can skip
|
||||
- `Step5Complete.tsx` - Success screen with next steps
|
||||
- Setup summary
|
||||
- Expected timeline
|
||||
- Quick links to key areas
|
||||
|
||||
**Route:** `/setup/wizard` - New onboarding wizard page
|
||||
|
||||
---
|
||||
|
||||
### 📆 Content Calendar (NEW)
|
||||
|
||||
**NEW PAGE**: `frontend/src/pages/Publisher/ContentCalendar.tsx`
|
||||
- Calendar view of scheduled content
|
||||
- List view with drag-and-drop reordering
|
||||
- Schedule/unschedule content
|
||||
- View scheduled vs published vs approved content
|
||||
- Month navigation
|
||||
- Stats: scheduled, publishing, published counts
|
||||
|
||||
**Features:**
|
||||
- Drag content from approved list to calendar dates
|
||||
- Click to view content details
|
||||
- Remove from queue functionality
|
||||
- Publishing status badges (Scheduled, Publishing, Published, Failed)
|
||||
- Real-time updates
|
||||
|
||||
**Route:** `/publisher/content-calendar` (main)
|
||||
**Redirect:** `/sites/:id/publishing-queue` → `/publisher/content-calendar`
|
||||
|
||||
---
|
||||
|
||||
### 🎨 Design System Consolidation
|
||||
|
||||
**CSS Consolidation:**
|
||||
- **NEW FILE**: `frontend/src/styles/design-system.css` (836 lines)
|
||||
- Single source of truth for all design tokens
|
||||
- Only 6 base hex values - everything else derived
|
||||
- Tailwind default colors DISABLED
|
||||
- Color scales: brand-*, success-*, warning-*, error-*, purple-*, gray-*
|
||||
- Module-specific color schemes
|
||||
- Dark mode support
|
||||
|
||||
- **DELETED FILES**:
|
||||
- `frontend/src/styles/global.css`
|
||||
- `frontend/src/styles/tokens.css`
|
||||
- `frontend/src/index.css` (571 lines removed)
|
||||
|
||||
**ESLint Plugin (NEW):**
|
||||
- **NEW FILE**: `frontend/eslint/eslint-plugin-igny8-design-system.cjs`
|
||||
- `no-tailwind-default-colors` - Blocks blue-*, red-*, green-*, etc.
|
||||
- `no-hardcoded-colors` - Blocks inline hex colors
|
||||
- `no-lucide-imports` - Enforces local icon imports
|
||||
- `no-icon-children` - Blocks children in icon components
|
||||
|
||||
**Module Color Scheme:**
|
||||
- Planner (Keywords/Clusters/Ideas): Purple theme
|
||||
- Writer (Tasks/Content/Images): Green theme
|
||||
- Automation: Blue theme
|
||||
- Publisher: Brand/Orange theme
|
||||
- Unified visual distinction across pipeline
|
||||
|
||||
**Component Updates:**
|
||||
- 100+ files updated for semantic color tokens
|
||||
- All hardcoded Tailwind colors replaced
|
||||
- All inline hex colors replaced
|
||||
- Badge, Button, Card components updated
|
||||
|
||||
---
|
||||
|
||||
### 🏠 Site Dashboard Redesign
|
||||
|
||||
**Site Dashboard (`/sites/:id`):**
|
||||
- **NEW**: SiteInfoBar component for site-specific pages
|
||||
- **NEW**: Quick Actions grid (2-column card layout)
|
||||
- **FIXED**: Race condition in Dashboard.tsx - async loadSiteData using stale closure
|
||||
- AI Operations widget now loads real data from getDashboardStats API
|
||||
- Proper site filtering for all widgets
|
||||
|
||||
**Site Settings Page:**
|
||||
- Industry/Sector selector redesigned to match wizard style
|
||||
- SelectDropdown for industry selection
|
||||
- Badge-based sector selection with visual feedback
|
||||
- Publishing Settings tab (NEW)
|
||||
- Auto-approval toggle
|
||||
- Auto-publish toggle
|
||||
- Daily/Weekly/Monthly limits
|
||||
- Publish days selection
|
||||
- Time slots configuration
|
||||
|
||||
**Site List Page:**
|
||||
- Enhanced site cards with setup progress
|
||||
- WordPress connection status indicators
|
||||
- Quick actions per site
|
||||
|
||||
---
|
||||
|
||||
### 📄 New Pages & Routes
|
||||
|
||||
| Route | File | Description |
|
||||
|-------|------|-------------|
|
||||
| `/setup/wizard` | `Setup/SetupWizard.tsx` | Onboarding wizard |
|
||||
| `/publisher/content-calendar` | `Publisher/ContentCalendar.tsx` | Content calendar |
|
||||
| `/ui-elements` | `UIElements.tsx` | Design system reference (internal) |
|
||||
|
||||
**Legacy Redirects:**
|
||||
- `/sites/:id/publishing-queue` → `/publisher/content-calendar`
|
||||
|
||||
---
|
||||
|
||||
### 🔧 Backend Improvements
|
||||
|
||||
**New Migrations:**
|
||||
- `0014_add_approved_status.py` - Content approved status
|
||||
- `0015_add_publishing_scheduler_fields.py` - Scheduling fields
|
||||
- `0003_add_publishing_settings.py` - PublishingSettings model
|
||||
|
||||
**Celery Configuration:**
|
||||
- Added publishing scheduler tasks to celery beat
|
||||
- New `tasks/__init__.py` consolidating all task imports
|
||||
|
||||
**WordPress Publishing:**
|
||||
- Updated `publish_content_to_wordpress` to update `site_status`
|
||||
- On success: site_status='published'
|
||||
- On failure: site_status='failed'
|
||||
|
||||
---
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
**Dashboard:**
|
||||
- Fixed race condition where async loadSiteData used stale siteId closure
|
||||
- Now passes currentSiteId as parameter to loadSiteData function
|
||||
- Fixed site 5 showing site 21 data issue
|
||||
|
||||
**Content Filtering:**
|
||||
- Added `status__in` query parameter support for multiple status filtering
|
||||
- Content serializer includes new `site_status` and `scheduled_publish_at` fields
|
||||
|
||||
**UI/UX:**
|
||||
- Fixed industry/sector selector styling inconsistency
|
||||
- Fixed Site Dashboard quick actions layout
|
||||
- Fixed notification dropdown styling in dark mode
|
||||
|
||||
---
|
||||
|
||||
### 📚 Documentation Updates
|
||||
|
||||
**New Documentation:**
|
||||
- `docs/30-FRONTEND/COMPONENT-SYSTEM.md` - Complete UI components reference
|
||||
- `docs/30-FRONTEND/DESIGN-GUIDE.md` - Design system guidelines
|
||||
- `docs/50-DEPLOYMENT/WORDPRESS-INTEGRATION-FLOW.md` - WordPress setup guide
|
||||
- `docs/plans/FINAL-PRELAUNCH.md` - Pre-launch checklist
|
||||
- `docs/plans/implemented/FRONTEND-AUDIT-PLAN.md` - Frontend audit plan
|
||||
- `docs/plans/implemented/PUBLISHING-ONBOARDING-IMPLEMENTATION-PLAN.md` - Implementation plan
|
||||
|
||||
**Moved/Reorganized:**
|
||||
- `IGNY8-APP.md` → `docs/00-SYSTEM/IGNY8-APP.md`
|
||||
- `fixes-kb.md` → `docs/90-REFERENCE/FIXES-KB.md`
|
||||
- Various plan docs → `docs/plans/implemented/`
|
||||
|
||||
**Updated Documentation:**
|
||||
- `docs/INDEX.md` - Added new doc links, updated version
|
||||
- `docs/30-FRONTEND/DESIGN-TOKENS.md` - Expanded with color scales
|
||||
- `frontend/src/styles/README.md` - Updated for design-system.css
|
||||
|
||||
---
|
||||
|
||||
### 📁 Files Summary
|
||||
|
||||
**New Files (20+):**
|
||||
```
|
||||
backend/igny8_core/tasks/__init__.py
|
||||
backend/igny8_core/tasks/publishing_scheduler.py
|
||||
backend/igny8_core/business/integration/services/defaults_service.py
|
||||
backend/igny8_core/modules/writer/migrations/0014_add_approved_status.py
|
||||
backend/igny8_core/modules/writer/migrations/0015_add_publishing_scheduler_fields.py
|
||||
backend/igny8_core/business/content/migrations/0003_add_publishing_settings.py
|
||||
|
||||
frontend/src/components/onboarding/OnboardingWizard.tsx
|
||||
frontend/src/components/onboarding/steps/Step1Welcome.tsx
|
||||
frontend/src/components/onboarding/steps/Step2AddSite.tsx
|
||||
frontend/src/components/onboarding/steps/Step3ConnectIntegration.tsx
|
||||
frontend/src/components/onboarding/steps/Step4AddKeywords.tsx
|
||||
frontend/src/components/onboarding/steps/Step5Complete.tsx
|
||||
frontend/src/components/onboarding/steps/index.ts
|
||||
frontend/src/components/common/SiteInfoBar.tsx
|
||||
frontend/src/components/ui/button/IconButton.tsx
|
||||
frontend/src/components/ui/tooltip/CalendarItemTooltip.tsx
|
||||
frontend/src/pages/Publisher/ContentCalendar.tsx
|
||||
frontend/src/pages/Setup/SetupWizard.tsx
|
||||
frontend/src/pages/UIElements.tsx
|
||||
frontend/src/styles/design-system.css
|
||||
frontend/eslint/eslint-plugin-igny8-design-system.cjs
|
||||
frontend/audit-results/*.txt
|
||||
```
|
||||
|
||||
**Major Changes (50+ files):**
|
||||
- All frontend components updated for semantic colors
|
||||
- Site Dashboard, Settings, Content pages redesigned
|
||||
- Automation page color scheme updated
|
||||
- 100+ files with color token replacements
|
||||
|
||||
**Deleted Files:**
|
||||
- `frontend/src/styles/global.css`
|
||||
- `frontend/src/styles/tokens.css`
|
||||
- `frontend/src/index.css` (content moved to design-system.css)
|
||||
- Various old logo files
|
||||
- `docs/plans/final-fixes.md` (moved to implemented)
|
||||
- `docs/plans/flexible-model-configuration-plan.md` (moved)
|
||||
|
||||
---
|
||||
|
||||
### Git Reference
|
||||
```bash
|
||||
# Commits since v1.3.0 (21 commits)
|
||||
git log af408d0747429d94ab9168884c8f0e8e97add810..HEAD --oneline
|
||||
|
||||
# Key commits:
|
||||
# f1ba0aa5 - Section 2 Completed
|
||||
# 4d6ee214 - Section 2 Part 3
|
||||
# e2d462d8 - Update dashboard and automation colors
|
||||
# f28f641f - Components standardization 2
|
||||
# e9606977 - Global Styling part 1
|
||||
# f81fffc9 - Section 1 & 2 - Migration Run
|
||||
# 03400169 - Section 3-8 - Migration Run
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## v1.3.1 - January 2, 2026
|
||||
|
||||
### Design System Consolidation (Pre-Launch Section 1)
|
||||
|
||||
Reference in New Issue
Block a user