v.2.0.0
Internal re-architecture. No functional changes — every feature, post type slug (ve_event), meta key, virtual field key, query var, REST field, Schema.org / Open Graph output, iCal import, and Elementor/JetEngine integration behaves exactly as in 1.9.x.
Changed
- Restructured the codebase into a namespaced
src/tree (root namespaceVEV\) loaded by a lightweight custom PSR-4 autoloader. The 8 manualrequire_oncecalls in the bootstrap are gone. - Split the two monolithic classes (
class-admin.php~1977 lines,class-frontend.php) into cohesive single-responsibility classes undersrc/Admin/,src/Frontend/,src/Query/,src/Integrations/,src/Import/. - Introduced single sources of truth that previously had duplicated logic
- Extracted all inline admin CSS/JS (~400+ lines that were embedded in PHP) into versioned, enqueued files under
assets/css/andassets/js/. - Relocated the vendored iCal parser to
src/ThirdParty/ICal/with a README - Standardized indentation to tabs (WordPress coding standard) across the codebase.
Added
composer.json(dev-only tooling),phpcs.xml.dist(WordPress coding standard),phpunit.xml.dist, a unit-test suite, and a GitHub Actions CI workflow.gitignore; removed committed.DS_Storefiles.
Compatibility
- The legacy global class names
VEV_Events,VEV_Fields,VEV_Frontend, andVEV_Post_Typeare retained as thin backward-compatibility shims so existing theme snippets and integrations keep working.
Fixed
- Reconciled the version number, which was inconsistent across the plugin header, the internal constant, and the README.
What's Changed
- Refactor plugin to PSR-4 namespace structure with VEV\ prefix by @hau-git in #2
- Add CLAUDE.md with codebase guidance for AI assistants by @hau-git in #1
- Raise minimum PHP requirement to 8.3 by @hau-git in #3
New Contributors
Full Changelog: v1.9.1...v.2.0.0