Skip to content

Pincore 3

Choose a tag to compare

@yoosefap yoosefap released this 09 Jun 22:43

Package: pinoox/pincore · Kernel: 3.0 (code 30) · PHP: 8.1+

Pincore 3 is a new kernel generation — the HMVC engine as a standalone Composer package, with split deploy/config layers, smart multi-app routing, baked runtime cache, and 866+ tests in an isolated sandbox. Host platforms keep their own distribution version in {project}/config/pinoox.config.php; the kernel version lives in pincore/config/pincore.config.php.

composer require pinoox/pincore:^3.0
php pinoox version --kernel
php pinoox test platform

New Features

  • Standalone packagepinoox/pincore with launcher (PINOOX_BASE_PATH), kernel manifest, and minpin / .pinx compatibility via PinxVersion::kernel()
  • Two-layer config — host deploy files in {project}/config/ (version, domain, router, apps) merged with kernel defaults in pincore/config/; SystemConfig + stubs on first boot
  • Dual versioning — kernel 3.0 vs platform label from host manifest; php pinoox version shows both
  • App resolution — domain first, then longest path prefix; wildcard subdomains, shared/dedicated URL bases, query-route mode (?_pnx=)
  • App runtime cache — per-app baked cache under pinker/apps/{package}/cache/ (routes, api, boot, twig, graphql); .pinx ships pre-built; cache:build / cache:clear
  • Developer CLIapp:create (Twig simple mode + Vite stacks), interactive test / test all, mode:show, Pinx pipeline, Pinker rebuild/status/diff
  • Test platform — full suite in pincore/tests/; isolated TestRuntime so tests never pollute project apps/

Changes & Improvements

  • v3 path model~pincore = framework, ~project / ~config = deploy layer (replaces mixed system/)
  • External app registry — packages outside apps/ via apps.config.php
  • Runtime modes — dev / production / staging / test; per-app overrides in app.php → runtime
  • Env aliasesAPP_*, LOG_*, CACHE_*, DB_* wired into kernel config; .env wins over Pinker bake
  • Pinker overlay — source-newer pruning, legacy cache migration, cache-aware Twig/PinDoc/GraphQL registries
  • 866+ passing tests — portal contracts, routing, HTTP, database, installer, theme, cache, config

Fixed

  • Test apps (com_test_*) no longer land in project apps/
  • Config/version reads unified through SystemConfig, PinxVersion, and path aliases
  • 50+ regressions after v3 refactor (paths, pinker, router, theme manifest)
  • minpin tied to kernel only; platform version stays host-only
  • Pinker merge edge cases, stale overrides, corrupted bake recovery
  • Stable app engine loading in CLI, tests, and custom PINOOX_APPS_PATH setups

Requirements: PHP 8.1+, mysqli, zip, Composer 2.x