# Dependency Update Summary 2026

**Last Updated:** 2026-03-02

Quick reference summary of all dependency updates completed on 2026-03-02.

## Quick Stats

- **Total Packages Updated:** 16
- **Major Version Updates:** 6
- **Minor/Patch Updates:** 10
- **Breaking Changes:** 3 (lint-staged v16, PhpSpreadsheet 5.x, pandas 3.x)
- **Files Modified:** 12
- **Documentation Created:** 2 new files, 4 updated

## All Updates at a Glance

### npm Packages (8 updates)

| Package | Before | After | Type |
|---------|--------|-------|------|
| lint-staged | ^15.5.2 | ^16.3.1 | Major |
| postcss-cli | ^9.1.0 | ^11.0.1 | Major |
| @fullhuman/postcss-purgecss | ^6.0.0 | ^8.0.0 | Major |
| globals | ^15.15.0 | ^17.4.0 | Major |
| markdown-link-check | ^3.11.0 | ^3.14.2 | Minor |
| cssnano | ^7.0.7 | ^7.1.2 | Patch |
| sharp | ^0.34.4 | ^0.34.5 | Patch |
| postcss | ^8.4.40 | ^8.5.6 | Patch |

### Composer Packages (3 updates)

| Package | Before | After | Type |
|---------|--------|-------|------|
| PHP requirement | >=8.0 | >=8.1 | Major |
| google/apiclient | ^2.15 | ^2.19 | Minor |
| phpstan/phpstan | ^1.10 | ^1.12 | Minor |
| phpoffice/phpspreadsheet | ^1.29 | ^5.5 | Major |

### Python Packages (3 updates)

| Package | Before | After | Type |
|---------|--------|-------|------|
| jsonschema | >=4.17.0 | >=4.26.0 | Minor |
| pytest | >=7.4.0 | >=9.0.0 | Major |
| pandas | >=2.0.0 | >=3.0.0 | Major |

### GitHub Actions (3 updates)

| Action | Before | After |
|--------|--------|-------|
| actions/checkout | v4 | v6 |
| actions/setup-node | v4 | v6.2.0 |
| shivammathur/setup-php | v2 | v2 (major tag) |

### Node.js

| Item | Before | After |
|------|--------|-------|
| Node.js | 20 LTS | 22 LTS |
| EOL Date | April 30, 2026 | April 30, 2027 |

## Files Modified

### Configuration Files

1. `package.json` - npm dependencies updated
2. `composer.json` - PHP dependencies and requirement updated
3. `v2/composer.json` - PhpSpreadsheet updated
4. `requirements.txt` - Python dependencies updated
5. `.nvmrc` - Node version updated (20 → 22)
6. `.github/workflows/production-deployment.yml` - Actions updated
7. `.github/workflows/lighthouse-ci.yml` - Actions and @lhci/cli version updated
8. `.github/workflows/code-quality.yml` - Actions updated

### Documentation Files

1. `docs/development/DEPENDENCY_UPDATE_2026.md` - **NEW** - Complete migration log
2. `docs/development/DEPENDENCY_UPDATE_SUMMARY_2026.md` - **NEW** - This file
3. `docs/development/DEV_TOOLING.md` - Updated with new versions
4. `docs/development/PRE_PRODUCTION_AUDIT_CHECKLIST.md` - Updated checklist
5. `docs/development/ESLINT_MIGRATION_2026.md` - Updated with Node 22 note

### Helper Scripts Created

1. `v2/scripts/dev-helpers/check-dependency-versions.php` - **NEW** - Version checker
2. `v2/scripts/dev-helpers/test-node-22-compatibility.js` - **NEW** - Node 22 tester

## Breaking Changes Summary

### lint-staged v16

- **Node.js requirement:** Minimum Node.js 20.18+
- **Process spawning:** Replaced `execa` with `tinyexec`
- **Removed `--shell` flag:** No longer supports shell evaluation
- **Migration:** No changes needed - current config compatible

### PhpSpreadsheet 5.x

- **PHP requirement:** Requires PHP ^8.1
- **IOFactory names:** Format names changed (e.g., `'CSV'` → `'Csv'`)
- **Deprecated methods:** Several methods removed
- **Testing required:** Excel generation endpoints need thorough testing

### pandas 3.0

- **String dtype:** Default string data type changed (str dtype instead of object)
- **Copy-on-Write:** Now default (chained assignment no longer works)
- **Testing required:** Python scripts using pandas need testing

## Testing Status

### ✅ Completed

- npm lint, format check, build, minify
- PHP extension checks
- Pre-deployment validation
- Markdown link checks
- Lead capture copy validation
- LLM metadata validation

### ⏳ Pending Manual Tests

- Node.js 22 local installation and testing
- CI/CD workflow testing (requires PR)
- Excel generation testing (requires `composer install`)
- Google API integration testing (requires credentials)
- Production page testing (requires server access)

## Next Actions

1. **Install Node 22:** `nvm install 22 && nvm use 22`
2. **Install Composer dependencies:** `composer install` (will install PhpSpreadsheet 5.x)
3. **Test Excel generation:** Generate a template and verify output
4. **Test Python scripts:** Run pandas-dependent scripts to verify compatibility
5. **Create test PR:** Verify GitHub Actions workflows work correctly
6. **Monitor production:** Watch for regressions after deployment

## Rollback Instructions

See `docs/development/DEPENDENCY_UPDATE_2026.md` for detailed rollback procedures for each update category.

## Related Documentation

- `docs/development/DEPENDENCY_UPDATE_2026.md` - Complete migration log with breaking changes
- `docs/development/DEV_TOOLING.md` - Updated tooling reference
- `docs/development/PRE_PRODUCTION_AUDIT_CHECKLIST.md` - Updated audit checklist
