# Version Update to 11.0.0-PostgreSQL PREVIEW

**Date:** 2026-02-26  
**Status:** ✅ Complete  
**New Version:** 11.0.0-PostgreSQL PREVIEW

---

## What Was Changed

### 1. SharedVersion.cs ✅

**File:** `SharedVersion.cs`

**Changed:**
```csharp
// OLD:
[assembly: AssemblyVersion("10.12.0")]
[assembly: AssemblyFileVersion("10.12.0")]

// NEW:
[assembly: AssemblyVersion("11.0.0")]
[assembly: AssemblyFileVersion("11.0.0")]
[assembly: AssemblyInformationalVersion("11.0.0-PostgreSQL-PREVIEW")]
```

**Impact:**
- All assemblies will report version 11.0.0
- Informational version shows "11.0.0-PostgreSQL PREVIEW"
- Visible in About dialog and file properties

---

### 2. jellyfin-setup.iss ✅

**File:** `jellyfin-setup.iss`

**Changed:**
```ini
; OLD:
AppVersion=11.0.0
OutputBaseFilename=JellyfinSetup-PostgreSQL-11.0.0

; NEW:
AppVersion=11.0.0-PostgreSQL-PREVIEW
OutputBaseFilename=JellyfinSetup-PostgreSQL-11.0.0-PREVIEW
```

**Impact:**
- Installer shows "11.0.0-PostgreSQL PREVIEW" in wizard
- Output filename: `JellyfinSetup-PostgreSQL-11.0.0-PREVIEW.exe`
- Add/Remove Programs shows PREVIEW version

---

### 3. build-installer.ps1 ✅

**File:** `build-installer.ps1`

**Changed:**
```powershell
# OLD:
[string]$Version = "11.0.0"

# NEW:
[string]$Version = "11.0.0-PostgreSQL-PREVIEW"
```

**Impact:**
- Default version when building installer
- Can still override: `.\build-installer.ps1 -Version "11.0.1"`

---

## Version Information Breakdown

### Assembly Versions

**AssemblyVersion:** `11.0.0`
- Binary version for .NET assembly
- Used for strong naming
- Must be numeric only (no text)

**AssemblyFileVersion:** `11.0.0`
- File version shown in Windows Explorer
- File Properties → Details → File version
- Must be numeric only

**AssemblyInformationalVersion:** `11.0.0-PostgreSQL-PREVIEW`
- Product version shown in About dialog
- Can contain text (e.g., "PREVIEW", "beta", "rc1")
- Used in logs and UI

---

## Where Version Appears

### 1. About Dialog / Dashboard

**Location:** Web UI → Dashboard → About

**Displays:**
```
Jellyfin Server
Version: 11.0.0-PostgreSQL PREVIEW
```

### 2. File Properties

**Right-click jellyfin.dll → Properties → Details:**
```
File version: 11.0.0
Product version: 11.0.0-PostgreSQL PREVIEW
```

### 3. Installer Wizard

**Windows Installer:**
```
Jellyfin Server (PostgreSQL Edition)
Version 11.0.0-PostgreSQL PREVIEW

Setup
```

### 4. Add/Remove Programs

**Windows Settings → Apps:**
```
Jellyfin Server (PostgreSQL Edition)
Version: 11.0.0-PostgreSQL PREVIEW
Publisher: Your Name
```

### 5. Log Files

**Startup logs:**
```
[INF] Jellyfin version: 11.0.0-PostgreSQL PREVIEW
[INF] Operating system: Windows 10.0.19045
[INF] Architecture: X64
```

---

## Building with New Version

### Build Application

```bash
# Clean and build
dotnet clean
dotnet build --configuration Release

# Verify version in output
cd lib/Release/net11.0
dotnet jellyfin.dll --version
# Should show: 11.0.0-PostgreSQL PREVIEW
```

### Build Installer

```powershell
# Use default version (11.0.0-PostgreSQL-PREVIEW)
.\build-installer.ps1

# Output:
# installer-output\JellyfinSetup-PostgreSQL-11.0.0-PREVIEW.exe
```

Or with custom version:
```powershell
.\build-installer.ps1 -Version "11.0.1-PostgreSQL-RC1"
```

---

## Version Naming Convention

### Format: `MAJOR.MINOR.PATCH-SUFFIX`

**Examples:**
```
11.0.0-PostgreSQL-PREVIEW    ← Current (preview/alpha)
11.0.0-PostgreSQL-RC1        ← Release candidate
11.0.0-PostgreSQL            ← Stable release
11.0.1-PostgreSQL            ← Bug fix release
11.1.0-PostgreSQL            ← Minor feature release
12.0.0-PostgreSQL            ← Major release
```

### Suffix Guidelines

**PREVIEW** (Current)
- Early testing version
- May have bugs
- Features being tested
- Breaking changes possible

**ALPHA**
- Very early version
- Unstable
- For developers only

**BETA**
- Feature complete
- Testing phase
- Minor bugs expected

**RC1, RC2, etc.**
- Release candidate
- Nearly stable
- Final testing

**No suffix**
- Stable release
- Production ready

---

## Updating Version in Future

### For Next Release

**File:** `SharedVersion.cs`
```csharp
[assembly: AssemblyVersion("11.0.1")]
[assembly: AssemblyFileVersion("11.0.1")]
[assembly: AssemblyInformationalVersion("11.0.1-PostgreSQL")]
```

**File:** `jellyfin-setup.iss`
```ini
AppVersion=11.0.1-PostgreSQL
OutputBaseFilename=JellyfinSetup-PostgreSQL-11.0.1
```

**File:** `build-installer.ps1`
```powershell
[string]$Version = "11.0.1-PostgreSQL"
```

### One-Command Update

Create `update-version.ps1`:
```powershell
param([string]$NewVersion)

# Update SharedVersion.cs
$sharedVersion = Get-Content "SharedVersion.cs" -Raw
$sharedVersion = $sharedVersion -replace 'AssemblyVersion\("[\d\.]+"\)', "AssemblyVersion(`"$NewVersion`")"
$sharedVersion = $sharedVersion -replace 'AssemblyFileVersion\("[\d\.]+"\)', "AssemblyFileVersion(`"$NewVersion`")"
Set-Content -Path "SharedVersion.cs" -Value $sharedVersion

# Update build script
# (Similar for other files)
```

---

## README.md Updates Needed

### Quick Start Section

**Update version references:**

```markdown
## Quick Start

### Windows Installer
```powershell
# Run JellyfinSetup-PostgreSQL-11.0.0-PREVIEW.exe
# Follow wizard for PostgreSQL setup
```

### From Source
```bash
cd pgsql-jellyfin
dotnet build --configuration Release
cd lib/Release/net11.0
dotnet jellyfin.dll
# Jellyfin 11.0.0-PostgreSQL PREVIEW
```
```

---

## Documentation Updates Needed

### Files to Update

1. **README.md**
   - Update installer filename references
   - Update version in quick start
   - Update version in installation guide

2. **INSTALLER_QUICK_START.md**
   - Update installer filename
   - Update version numbers

3. **INSTALLER_GUIDE.md**
   - Update version references
   - Update screenshot references if any

4. **PR_DESCRIPTION.md**
   - Update version numbers
   - Mention PREVIEW status

---

## Git Commit

```bash
git add SharedVersion.cs jellyfin-setup.iss build-installer.ps1
git commit -m "Update version to 11.0.0-PostgreSQL PREVIEW

Changes:
- Updated SharedVersion.cs to 11.0.0
- Added AssemblyInformationalVersion: 11.0.0-PostgreSQL-PREVIEW
- Updated jellyfin-setup.iss AppVersion
- Updated installer output filename
- Updated build-installer.ps1 default version

Reason:
- Clearly identifies this as PostgreSQL fork
- PREVIEW indicates testing/early release status
- Distinguishes from official Jellyfin releases

Visibility:
- About dialog shows 11.0.0-PostgreSQL PREVIEW
- Installer shows PREVIEW version
- Add/Remove Programs displays full version
- Log files show PostgreSQL PREVIEW

Breaking Changes: None
Build Status: ✅ Successful
"
```

---

## Verification

### Check Assembly Version

```powershell
# Build and check
dotnet build --configuration Release
cd lib/Release/net11.0

# Check DLL version
$dll = Get-Item "jellyfin.dll"
$version = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($dll.FullName)
Write-Host "File Version: $($version.FileVersion)"
Write-Host "Product Version: $($version.ProductVersion)"

# Expected output:
# File Version: 11.0.0
# Product Version: 11.0.0-PostgreSQL PREVIEW
```

### Check at Runtime

```bash
cd lib/Release/net11.0
dotnet jellyfin.dll --version

# Should show:
# Jellyfin 11.0.0-PostgreSQL PREVIEW
```

### Check Installer

```powershell
# Build installer
.\build-installer.ps1

# Verify output file
Test-Path "installer-output\JellyfinSetup-PostgreSQL-11.0.0-PREVIEW.exe"
# Should return: True

# Run installer and check version in wizard
```

---

## Comparison: Official vs. Fork

### Official Jellyfin
```
Version: 10.12.0
Database: SQLite
Platform: Original
```

### This Fork (PostgreSQL PREVIEW)
```
Version: 11.0.0-PostgreSQL PREVIEW
Database: PostgreSQL
Platform: Enterprise
```

**Clear differentiation** ✅

---

## Future Version Roadmap

### Suggested Path

**11.0.0-PostgreSQL-PREVIEW** ← Current
- Initial testing
- Early adopters
- Feature development

**11.0.0-PostgreSQL-RC1**
- Feature complete
- Bug fixes
- Final testing

**11.0.0-PostgreSQL**
- Stable release
- Production ready
- Official launch

**11.0.1-PostgreSQL**
- Bug fixes
- Minor improvements

**11.1.0-PostgreSQL**
- New features
- Minor version bump

---

## Summary

**Old Version:** 10.12.0  
**New Version:** 11.0.0-PostgreSQL PREVIEW  

**Files Changed:**
1. SharedVersion.cs - Assembly versions
2. jellyfin-setup.iss - Installer version
3. build-installer.ps1 - Build script default

**Build Status:** ✅ Successful  
**Installer:** `JellyfinSetup-PostgreSQL-11.0.0-PREVIEW.exe`  
**Display:** "11.0.0-PostgreSQL PREVIEW" everywhere  

✅ **Version update complete!**
