Compare commits

...

5 Commits

Author SHA1 Message Date
Gitea Actions Bot 0ee7eeaa59 chore: bump version to 1.0.77 (backend + frontend)
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is failing
2025-07-22 09:20:43 +00:00
paul 811230fb30 Merge branch 'security-updates-form-data-multer' into main
Mirror to GitHub / mirror (push) Successful in 31s
Test and Lint / backend-test (push) Successful in 1m26s
continuous-integration/drone/push Build is passing
Test and Lint / frontend-test (push) Successful in 2m9s
Version and Release / version-bump (push) Successful in 43s
Version and Release / trigger-drone (push) Successful in 3s
Upgrades npm packages for improved security and stability:
- 8 packages upgraded across backend and frontend
- 0 npm audit vulnerabilities maintained
- All upgrades tested and production-ready
2025-07-22 11:15:47 +02:00
paul 761b7791f9 chore: upgrade npm packages for security and stability
Backend upgrades:
- i18next: 25.3.1 → 25.3.2 (patch)
- bcrypt: 5.1.1 → 6.0.0 (maintains compatibility)
- nodemailer: 6.10.1 → 7.0.5 (no AWS SES impact)
- sharp: 0.32.6 → 0.34.3 (image processing)
- chokidar: 3.6.0 → 4.0.3 (file watching)

Frontend upgrades:
- date-fns: 2.30.0 → 4.1.0 (date utilities)
- lucide-react: 0.292.0 → 0.525.0 (icons)
- react-toastify: 9.1.3 → 11.0.5 (notifications)

All upgrades tested, 0 npm audit vulnerabilities maintained.
Deferred high-risk upgrades (archiver, React 19, Express 5).

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-22 11:14:37 +02:00
paul 41e89676c1 fix: update form-data and multer to address security vulnerabilities
- Update form-data from 4.0.3 to 4.0.4 (fixes CVE GHSA-fjxv-7rqg-78g4)
- Update multer from 2.0.1 to 2.0.2 (fixes CVE GHSA-fjgf-rc76-4x9p)
- Both backend and frontend now have 0 vulnerabilities
- Tested upload functionality - all working correctly

These are patch updates with no breaking changes. The updates address:
- form-data: Critical vulnerability - unsafe random function for boundary
- multer: High vulnerability - DoS via unhandled exception

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-22 10:08:09 +02:00
paul 484ac9a404 fix: remove file requirement from GitHub release in Drone CI
Mirror to GitHub / mirror (push) Successful in 29s
Test and Lint / backend-test (push) Successful in 1m34s
continuous-integration/drone/push Build is passing
Test and Lint / frontend-test (push) Successful in 2m22s
- Remove files parameter that was looking for non-existent CHANGELOG.md
- Update release notes to include Docker image pull commands
- Add proper formatting and quick start instructions
- Fix 'validation failed: failed to find any file to release' error

The GitHub release will now create without requiring file attachments.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-22 09:42:15 +02:00
6 changed files with 1121 additions and 761 deletions
+33 -3
View File
@@ -114,12 +114,42 @@ steps:
settings:
api_key:
from_secret: GITHUB_TOKEN
files: ["CHANGELOG.md"]
title: "PicPeak ${DRONE_TAG}"
note: |
Release ${DRONE_TAG}
# PicPeak ${DRONE_TAG}
See CHANGELOG.md for full details.
## 🐳 Docker Images
This release includes Docker images published to GitHub Container Registry:
```bash
# Backend
docker pull ghcr.io/the-luap/picpeak-backend:${DRONE_TAG}
docker pull ghcr.io/the-luap/picpeak-backend:latest
# Frontend
docker pull ghcr.io/the-luap/picpeak-frontend:${DRONE_TAG}
docker pull ghcr.io/the-luap/picpeak-frontend:latest
```
## 📦 What's New
See the [README](https://github.com/the-luap/picpeak#readme) for features and documentation.
## 🚀 Quick Start
```bash
# Clone and deploy
git clone https://github.com/the-luap/picpeak.git
cd picpeak
# Use the tagged version
docker-compose -f docker-compose.prod.yml up -d
```
---
For detailed deployment instructions, see the [Deployment Guide](https://github.com/the-luap/picpeak/blob/main/DEPLOYMENT.md).
trigger:
event:
+591 -298
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -1,6 +1,6 @@
{
"name": "picpeak-backend",
"version": "1.0.75",
"version": "1.0.77",
"description": "Backend for PicPeak event photo sharing platform",
"main": "server.js",
"scripts": {
@@ -21,17 +21,17 @@
"adm-zip": "^0.5.16",
"archiver": "^5.3.1",
"axios": "^1.10.0",
"bcrypt": "^5.1.0",
"chokidar": "^3.5.3",
"bcrypt": "6.0.0",
"chokidar": "4.0.3",
"cors": "^2.8.5",
"dotenv": "^16.0.3",
"express": "^4.18.2",
"express-rate-limit": "^6.7.0",
"express-validator": "^7.0.1",
"form-data": "^4.0.3",
"form-data": "^4.0.4",
"handlebars": "^4.7.8",
"helmet": "^7.0.0",
"i18next": "^25.3.1",
"i18next": "25.3.2",
"i18next-browser-languagedetector": "^8.2.0",
"i18next-http-backend": "^3.0.2",
"joi": "^17.9.1",
@@ -39,12 +39,12 @@
"jsonwebtoken": "^9.0.0",
"knex": "^2.4.2",
"mime-types": "^3.0.1",
"multer": "^2.0.1",
"multer": "^2.0.2",
"node-cron": "^3.0.2",
"nodemailer": "^6.9.1",
"nodemailer": "7.0.5",
"pg": "^8.16.3",
"react-i18next": "^15.6.0",
"sharp": "^0.32.0",
"sharp": "0.34.3",
"sqlite3": "^5.1.6",
"uuid": "^11.1.0",
"winston": "^3.8.2",
+440 -448
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "picpeak-frontend",
"private": true,
"version": "1.0.76",
"version": "1.0.77",
"type": "module",
"scripts": {
"dev": "vite",
@@ -25,7 +25,7 @@
"@types/react-google-recaptcha": "^2.1.9",
"axios": "^1.3.2",
"clsx": "^2.0.0",
"date-fns": "^2.29.3",
"date-fns": "4.1.0",
"dompurify": "^3.2.6",
"i18next": "^25.3.1",
"i18next-browser-languagedetector": "^8.2.0",
@@ -33,7 +33,7 @@
"js-cookie": "^3.0.5",
"lodash": "^4.17.21",
"lowlight": "^2.9.0",
"lucide-react": "^0.292.0",
"lucide-react": "0.525.0",
"react": "^18.3.1",
"react-countdown": "^2.3.5",
"react-dom": "^18.3.1",
@@ -42,7 +42,7 @@
"react-image-gallery": "^1.2.11",
"react-intersection-observer": "^9.4.3",
"react-router-dom": "^6.8.0",
"react-toastify": "^9.1.1",
"react-toastify": "11.0.5",
"tailwind-merge": "^3.3.1"
},
"devDependencies": {
+45
View File
@@ -0,0 +1,45 @@
# Package Upgrade Summary - Production System
Date: 2025-07-22
## ✅ Successfully Upgraded (8 packages)
### Phase 1 (Low Risk):
**Backend:**
- i18next: 25.3.1 → 25.3.2
- bcrypt: 5.1.1 → 6.0.0
- nodemailer: 6.10.1 → 7.0.5
**Frontend:**
- date-fns: 2.30.0 → 4.1.0
- lucide-react: 0.292.0 → 0.525.0
### Phase 2 (Medium Risk - Carefully Tested):
**Backend:**
- sharp: 0.32.6 → 0.34.3
- chokidar: 3.6.0 → 4.0.3
**Frontend:**
- react-toastify: 9.1.3 → 11.0.5
## 🚫 Deferred Upgrades (High Risk)
### Critical Bug Found:
- **archiver**: MUST stay at 5.3.2 (v7 has append() bug that breaks watermarks)
### Major Breaking Changes:
- express 4 → 5
- knex 2 → 3
- React 18 → 19
- tailwindcss 3 → 4
## Security Status
- **npm audit vulnerabilities: 0** ✅
- All upgraded packages tested and working
- No known security issues in current packages
## Backup Locations
- Phase 1: `/backups/phase1-upgrade-20250722-103923/`
- Phase 2: `/backups/phase2-upgrade-20250722-104940/`
## Production Ready
All upgrades have been tested and are ready for production deployment. Monitor closely for 48 hours after deployment.