Skip to content

PrivyDrop

v1.2.0 Breaking

This release includes 2 breaking changes for platform teams planning a safe upgrade.

Published 2mo File Storage & Sync
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

end2end file-sharing p2p text-sharing webrtc

Summary

AI summary

PrivyDrop now only supports Docker deployment, removing all bare‑metal and PM2 methods.

Full changelog

PrivyDrop v1.2.0 Release Notes

Release Date: March 28, 2026
Commits: 42 commits since v1.1.1
Files Changed: 131 files | +11,728 / -8,198 lines


⚠️ Breaking Changes

Docker-Only Deployment

PrivyDrop now only supports Docker-based deployment. All bare-metal/PM2 deployment methods have been removed.

What Was Removed:

  • build-and-deploy.sh (PM2-based deployment script)
  • ecosystem.config.js (PM2 configuration)
  • deploy.config.example
  • backend/docker/ directory (legacy Docker assets)
  • docs/DEPLOYMENT.md and docs/DEPLOYMENT.zh-CN.md (bare-metal guides)

Migration Guide:

If you were using PM2 or bare-metal deployment:

# Old method (no longer supported)
pm2 start ecosystem.config.js

# New method (use Docker)
bash deploy.sh --mode lan-http                    # Local LAN
bash deploy.sh --mode full --domain example.com   # Production

See Docker Deployment Guide for all deployment modes.


🚀 New Features

Enhanced Connection Feedback

8-Second Slow Connection Hint

  • New useConnectionFeedback hook monitors WebRTC connection state
  • Shows user-friendly hint if P2P connection takes longer than 8 seconds
  • Supports all 7 languages (EN, ZH, JA, KO, ES, DE, FR)

Join Room Timeout Fix

  • Implemented 15-second timeout for room joining
  • Added early success detection (ready/recipient-ready/offer signals)
  • Prevents false "Join room timeout" errors during slow networks

New Hooks & Utilities:

  • useOneShotSlowHint - Reusable one-shot notification hook
  • rtcPhase - Shared RTC phase mapper for consistent status messages

UI Improvements

Copy Button Feedback

  • RoomID and URL copy buttons now show check icon (✓) for 2 seconds after copying
  • Consistent with existing QR code copy behavior

QR Code Restoration

  • Restored QR code display in ShareCard (was accidentally removed in i18n refactor)
  • Copy QR code and download QR code now work correctly

🔧 Improvements

i18n Modernization (Major Refactor)

14 commits dedicated to i18n infrastructure:

| Change | Impact |
|--------|--------|
| Migrated to native next-intl hooks | Cleaner code, better tree-shaking |
| Removed TranslationProvider facade | Reduced bundle size |
| Replaced prop drilling with context | Simpler component APIs |
| Normalized translation keys | Consistent naming across 7 languages |
| Added next-intl routing infrastructure | Better i18n routing support |

Affected Components: 38 files modified across all UI components

Paste Button Label

  • Changed paste button in SendTabPanel from "粘贴房间ID" to "粘贴" (Paste)
  • More accurate: button pastes any clipboard content, not just room IDs
  • "粘贴房间ID" remains in RetrieveTabPanel where contextually appropriate

🐛 Bug Fixes

| Issue | Fix |
|-------|-----|
| React Hydration Mismatch | ThemeToggle now renders placeholder until mounted |
| QR Code Not Displaying | Restored QRCodeSVG component rendering |
| WebRTC Timeout False Positive | Added early success signal detection |
| SSR Window/DOM Access | Added guards for server-side rendering |
| Deployment CORS | Fixed same-origin API and www CORS origin |


📚 Documentation

New Documentation

AI Playbook (English)

  • Added complete English version of AI playbook
  • Code map, collaboration rules, flow documentation
  • Split into modular documents for better navigation

Blog Posts

  • New "AI Collaboration Playbook" blog post (7 languages)
  • Added cover images and improved formatting
  • Fixed missing content in some language versions

Updated Documentation

  • Docker deployment guide updated with full-mode runtime behavior
  • Added low-memory deployment guidance
  • Removed all PM2/bare-metal references
  • Updated README files to reflect Docker-only support

📦 Dependencies

  • Updated backend/package-lock.json
  • Added next-intl routing infrastructure
  • Updated frontend dependencies

🔗 Full Changelog

Compare v1.1.1...v1.2.0


Upgrade Instructions

  1. Update your deployment:

    # If using git pull
    git pull origin main
    git checkout v1.2.0
    
    # Restart with Docker
    bash deploy.sh --mode <your-mode>
    
  2. If using PM2 (deprecated):

  3. Environment variables:

    • No changes required for existing Docker deployments
    • Check docker/scripts/generate-config.sh for new CORS options

Contributors

Thanks to all contributors who made this release possible!

Breaking Changes

  • Removed all bare‑metal/PM2 deployment methods: `build-and-deploy.sh`, `ecosystem.config.js`, `deploy.config.example`, legacy Docker assets in `backend/docker/` directory, and related documentation (`docs/DEPLOYMENT.md` and `docs/DEPLOYMENT.zh-CN.md`).
  • PrivyDrop now requires Docker‑based deployment; no other deployment mechanisms are supported.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track PrivyDrop

Get notified when new releases ship.

Sign up free

About PrivyDrop

Simple and user-friendly, breakpoint-resumable peer-to-peer text, image, and file transfer tool based on WebRTC.

All releases →

Related context

Beta — feedback welcome: [email protected]