Changes
🗄️ PostgreSQL Database Support
Multi-Database Architecture
- PostgreSQL Integration - Full PostgreSQL support alongside existing SQLite
- Dynamic Database Selection - Environment-driven database type selection
- Connection Management - Support for both connection strings and individual parameters
- Type Safety - PostgreSQL-specific type parsers for consistent data handling
Enhanced Migration System
- Smart Migration Detection - Automatic database type detection with appropriate driver selection
- Consolidated Schema - New PostgreSQL initial schema migration for fresh deployments
- Cross-Database Compatibility - All migrations enhanced with database-specific logic
- Data Type Mapping - Proper handling of SQLite vs PostgreSQL differences
Technical Infrastructure
- Configuration Management - New PostgreSQL environment variables with validation
- Service Layer Updates - Database abstraction for transparent cross-database support
- Performance Optimizations - Database-specific query patterns and connection pooling
- Security Enhancements - Enforced password validation and secure credential handling
📚 PostgreSQL Configuration & Migration Guide
📁 Sonarr Season Folder Management
Configuration Enhancement
- New
createSeasonFolders
Setting - Configure season folder creation per Sonarr instance - Backward Compatible - Defaults to
false
to maintain existing behavior - Per-Instance Control - Individual configuration for each Sonarr instance
- API Integration - Proper
seasonFolder
field mapping to Sonarr API specification
Implementation Details
- Database Migration - New
create_season_folders
column with SQLite/PostgreSQL support - Frontend UI - Toggle switch in Sonarr instance configuration with tooltip
- Environment Variable -
sonarrCreateSeasonFolders=true/false
for development - TypeScript Support - Full type definitions across frontend and backend
- Documentation - Updated configuration guide with new environment variable
🔒 Dashboard Integration Support
Security Enhancement
- New
allowIframes
Configuration - Enable embedding Pulsarr in dashboard applications - Secure by Default - Iframe support disabled by default (
allowIframes=false
) - Dynamic X-Frame-Options - Conditional frame protection based on configuration
Implementation Details
- Environment Variable -
allowIframes=true/false
- Helmet.js Integration - Disables frameguard when iframe support is enabled
- TypeScript Support - Updated config types
- Documentation - Configuration guide with security warnings
- feat(sonarr): add create season folders option and update related configurations (#266) @jamcalli
- 📝 Add docstrings to
develop
(#267) @coderabbitai - feat(sonarr): add create season folders option and update related configurations (#265) @jamcalli
- feat(security): add iframe support configuration and update related documentation (#263) @jamcalli
- Feature: Support PostgreSQL (#261) @jamcalli
- 📝 Add docstrings to
develop
(#264) @coderabbitai - Feature/support postgres (#259) @jamcalli
Docker
docker pull lakker/pulsarr:0.3.13
Contributors
@coderabbitai, @coderabbitai[bot] and @jamcalli