Data Ingestion, CSV Imports & Engine Stability
v0.12.0Today's release focuses on massive improvements to our data ingestion engine, giving users more ways to import their historical data while bulletproofing our background workers.
Added
- Manual CSV Import: Added a robust client-side CSV importer. Users can now manually upload their Teachable transaction exports to populate their dashboards.
- Tiered Import Limits: Implemented smart file-size limits for CSV uploads (10MB for Core users to get a "cold start", 50MB for premium tiers).
- Onboarding Dashboard: Added a new "Cold Start" view to the Financials dashboard, clearly presenting users with their data connection options (Automated API Sync vs. Manual CSV Upload).
- Dynamic Upsells: Added custom marketing copy capabilities to locked features, explaining exactly what users unlock when they upgrade.
Updates
- Permission Simplification: Streamlined our access control logic. The Core plan now officially supports manual data imports to help new users experience the platform faster.
- Background Worker Efficiency: Upgraded the QStash background sync engine to detect terminal authentication errors (like an invalid API key) and gracefully abort, saving server resources.
- Database Schema: Upgraded the Transaction schema to natively capture Product Names, ensuring imported CSV data (which lacks Teachable Course IDs) still beautifully populates dashboard charts.
Fixed
- Bug: Fixed a critical "Ghost Tenant" database crash where overlapping Teachable transaction IDs across different accounts would cause imports to fail.
- Bug: Fixed an issue where the CSV importer would crash on batch duplicate transactions. (Deduplication is now handled efficiently in-memory before saving).
- Bug: Fixed a UI bug where invalid Teachable API keys would fail silently in the background. The dashboard now instantly flags the user with a helpful error message and a link to update their settings.
- Bug: Fixed a naming mismatch in the feature lock UI between the "Scale" and "Mastery" subscription tiers.