Releases: db-EV/ZoePHP
Release list
20260520
20260619 (testing/beta)
Security & performance hardening
This release tightens error handling and output security, speeds up data refresh, and makes file writes report failures correctly. Backward-compatible: no configuration or session-format changes.
Security
- API errors no longer expose the account ID or VIN — failed requests report only the host, and user-facing/cron messages are now generic.
- Consistent output escaping (
htmlspecialcharswithENT_QUOTES/UTF-8),rel="noopener noreferrer"on external map links, andCache-Control: no-storeon all pages.
Performance
- Cockpit, charge-mode and (Ph2) location are now fetched concurrently via
curl_multi, noticeably reducing dashboard load time; weather still follows afterwards as it depends on the GPS data. - cURL timeouts are centralized and lowered (8s connect / 15s total) so an unresponsive API can no longer stack up across the calls in a single page load.
Reliability
- Session and CSV writes now return
falseon a lock or write failure instead of always reporting success.
After updating you may delete the session file as usual; no settings need to change.
Full Changelog: 2024080...20260619-testing
20260520 (testing/beta)
Changed Gigya API key for Europe.
20260222 (testing/beta)
Overview
This is a substantial refactoring of ZoePHP with help of Claude AI. The changes modernize the codebase without adding new user-facing features.
Migrating from old codebase
Don't overwrite your old config.php. After uploading all other files, run migration.php and delete it afterwards.
New file src/functions.php
Central library of helper functions extracted from the main scripts:
- Session management
- HTTP/cURL wrappers
- Gigya key resolution
- Utility helpers
New file src/migration.php
One-time migration script for users upgrading from the old format:
- Converts config.php boolean flags from 'Y'/'N' strings → PHP true/false
- Migrates the session file from pipe-separated indexed format → JSON with named keys
- Adds $timezone to config if missing
New files src/templates/dashboard.php and src/templates/history.php
- HTML templates extracted from index.php and history.php to separate presentation from logic
20240809
20240101
20230418
Updated Kamereon API key (thanks to @TheReiner)