Skip to content

v12.40.3

Choose a tag to compare

@riderx riderx released this 30 Oct 07:30
· 3769 commits to main since this release

🆕 Changelog

Added

  • Support for Cloudflare Workers as primary API deployment platform handling 99% of traffic
  • Cloudflare Workers testing infrastructure with dedicated test commands and scripts
  • D1 database integration with sync verification and replication system
  • Apple App Site Association for deep linking
  • Custom device ID mode support across device management endpoints
  • Organization-level API functionality with CRUD operations
  • Statistics API endpoints with backend aggregation and date range filtering
  • Events API for tracking user actions and system events
  • Bundle metadata endpoint for retrieving version information
  • Channel override logic for device-specific update routing
  • Composite indexes for manifest and app_versions tables for performance optimization
  • Table counts tracking for apps, channels, devices, and other core entities
  • Monthly email reporting system for usage statistics
  • Price calculator tool for subscription cost estimation
  • Credits system in database for billing management
  • Hindi language support
  • Reload button functionality in UI components
  • Chart visualizations for events by version, bundle uploads, and app-level metrics
  • Notification settings with snake_case column names and default values
  • First name, last name, and country fields to user registration
  • Organization dropdown with improved interaction and selection feedback
  • Scan page functionality for mobile platforms
  • Device comparison logic for tracking changes
  • Mass bundle delete capability with UI confirmation
  • Deploy history screen in channel management
  • Dedicated components for delete organization dialog
  • Onboarding event tracking for completion monitoring
  • VueDatePicker integration with custom theming
  • Memory Bank documentation and project brief
  • Playwright test framework with E2E test coverage
  • Security tests for authentication and authorization
  • Nightly database reset workflow for development environment
  • Price updates reflected in seed data

Changed

  • Migrated stats calculation system to use backend API instead of frontend processing
  • Switched to UTC-based date calculations for statistics
  • Updated stats endpoint to use D1 database for improved performance
  • Replaced direct header access with get_apikey_header function in SQL migrations
  • Consolidated imports across backend files for cleaner code structure
  • Improved error handling with serializeError function replacing JSON.stringify
  • Enhanced subscription handling and logging in Stripe webhook events
  • Refactored device version handling to use version name instead of version ID
  • Updated bundle URL generation to prevent query params on signed URLs
  • Improved logging to use cloudlogErr for better error tracking
  • Optimized update_app_versions_retention function with batch processing
  • Enhanced channel self-management with D1 support
  • Streamlined event handling by removing unused imports and improving middleware
  • Updated health check endpoints to use HTTP GET method
  • Migrated manifest data to dedicated table for better data organization
  • Improved API key management with organization and app-level restrictions
  • Enhanced table component with server-side pagination and search
  • Refactored subscription status checks with is_good_plan conditions
  • Updated PostgrestVersion to 13.0.4
  • Migrated from petite-vue-i18n to vue-i18n for better internationalization
  • Improved dashboard totals calculation handling undefined values
  • Enhanced mobile design and responsive layouts across components
  • Updated button and dropdown styles for consistency
  • Improved tab and navigation design patterns
  • Switched to daisy UI classes with 'd-' prefix
  • Enhanced organization storage management with localStorage
  • Updated CLI test utilities with better dependency handling
  • Improved queue processing with PGMQ integration
  • Refactored file upload system with TUS protocol support
  • Enhanced device tracking with lowercase device ID normalization
  • Updated dashboard to show app filtering and search functionality
  • Improved chart grid colors and tooltip behavior
  • Enhanced password validation rules (minimum 6 characters with special character)
  • Updated test infrastructure to run in parallel for faster execution
  • Migrated to JSON configuration for wrangler settings
  • Improved error messages and user feedback across forms
  • Enhanced bundle link/unlink UX with better dialogues

Fixed

  • Cloudflare Workers test stability issues by commenting out unstable tests
  • Search path configuration in database queries
  • Webhook secret handling in environment configuration
  • Stats action enum with 'blocked_by_server_url' value
  • Health check endpoint methods for Cloudflare Workers
  • Channel_self endpoint to prevent spam attempts
  • Git rebase interactive commands by avoiding -i flag
  • Stripe API version compatibility (updated to 2025-07-30.basil)
  • Bundle display issues showing encryption status
  • Device POST endpoint authentication and authorization
  • Stats return type consistency across endpoints
  • Manifest replication and synchronization issues
  • Queue consumer stability and message handling
  • Account deletion flow with proper RLS policies
  • Two-factor authentication for admin users and password reset
  • API key deletion and update operations
  • Channel deletion constraints to prevent removal when devices linked
  • User invitation acceptance with proper data insertion
  • Version meta table creation and management
  • Duplicate code issues identified by SonarCloud
  • Security issues with API key exposure and logging
  • Concurrency issues in test execution
  • Storage bundle download filename handling
  • Login redirect flow to preserve intended destination
  • Organization dropdown showing correct membership
  • Device table display and filtering issues
  • Bundle page channel assignment functionality
  • Captcha integration on login and password reset pages
  • Native package compatibility checks for channel bundle assignments
  • Subscription failure handling and status updates
  • Rate limiting implementation for public API endpoints
  • File upload with proper chunk size handling
  • Stats calculation for trial users and canceled subscriptions
  • Mobile design issues across multiple pages
  • Date picker styling and interaction patterns
  • Language translations and placeholders across multiple locales
  • Test execution speed with optimized database operations
  • CLI test reliability with proper environment setup
  • Android and iOS build configurations
  • Deployment script environment variable handling
  • Supabase connection handling to prevent pool exhaustion

Security

  • Implemented Row Level Security (RLS) policies for organization access
  • Added API key validation and scope restrictions
  • Enhanced authentication checks for statistics endpoints
  • Implemented captcha validation on registration, login, and password reset
  • Added rate limiting for API endpoints to prevent abuse
  • Improved secret management by removing hardcoded values from tests
  • Enhanced CORS header configuration for API requests
  • Added organization-level access controls for sensitive operations
  • Implemented safeguards to prevent removal of last super admin from organization
  • Added validation to prevent bundle uploads exceeding plan limits
  • Improved error handling to avoid exposing sensitive information
  • Enhanced webhook signature verification for Stripe events
  • Added XSS protection measures in user-generated content
  • Implemented proper permission checks before allowing account deletion
  • Added constraints to prevent channel deletion when devices are linked

Removed

  • Deprecated update endpoint functionality
  • Old queue system in favor of PGMQ
  • Legacy trigger functions no longer needed
  • Plunk email service integration
  • SW (Service Worker) functionality
  • Old encryption key system
  • Scraper functionality
  • Backend charts functionality
  • ElementPlus components (switched to Konsta)
  • Unnecessary blank lines in multiple UI components
  • Deprecated get_identity function
  • Old API key verification system
  • Legacy billing email and customer ID fields
  • Obsolete legal flag from user settings
  • Duplicate migration statements
  • Console.log statements from backend code
  • Hyperdrive configuration (temporarily)
  • Old update_lite endpoint (replaced with new version)
  • Deprecated domain configuration files
  • Unused Stunning service
  • Old blog service integration
  • Redundant error test cases
  • Obsolete create organization test
  • Deprecated fields from channel_devices schema
  • Unused "wrappers" extension from base SQL

Deprecated

  • Direct Supabase storage access patterns (migrating to R2)
  • Version ID references (migrating to version name)
  • Old stats calculation methods (moving to backend API)
  • Legacy encryption methods (transitioning to new system)
  • Manual device ID handling (switching to normalized lowercase)

🔗 Full Changelog: v11.3.70...v12.40.3