Skip to content

Releases: golovanov-dev/weft

Weft v0.1.1

Choose a tag to compare

@golovanov-dev golovanov-dev released this 22 Jul 22:50

Packaging and example fixes for the first release.

Fixed

  • The example/documentation site now runs straight after composer install, with no Node build
    step: its built assets are committed and it defaults to production mode.
  • composer require golovanov/weft no longer pulls the example site, tests or CI config into
    vendor/ — the package archive now ships only the engine (src/) and its metadata.

Upgrade: none required. golovanov/weft v0.1.1 is API-compatible with v0.1.0; it only changes what
the package archive contains and how the example site is run. Existing sites keep working unchanged.

Weft v0.1.0

Choose a tag to compare

@golovanov-dev golovanov-dev released this 17 Jul 22:42

Initial release: the complete engine as a Composer library (golovanov/weft), with a working
example site that doubles as the documentation.

Added

  • Convention routing: pages/about.php/about, directory indexes, [slug] dynamic
    segments, api/*.php → JSON endpoints under /api/*; no route table.
  • SEO toolkit: title templates, canonical, Open Graph, Twitter cards, hreflang and JSON-LD
    rendered from config with per-page overrides; generated /sitemap.xml and /robots.txt.
  • Optional i18n (off by default): prefix-free default locale, prefixed URLs for others,
    automatic hreflang and canonical redirects, translation arrays in lang/<locale>/.
  • Optional caching with file and Redis stores; Cache::remember() stays a safe no-op when
    caching is disabled.
  • Request tracing: one JSONL timeline per request via golovanov/traceloom, with automatic
    redaction of sensitive keys and an X-Trace-Id response header.
  • Form protection: rate limiting, CSRF tokens, honeypot check and optional Google
    reCAPTCHA v3 (safe pass when disabled).
  • Best-effort alerting to AlertLoop that never blocks a request.
  • Built-in utilities: curl-based HTTP client, thin PDO wrapper with a minimal model, JWT
    (firebase/php-jwt), security headers, string/array/JSON helpers.
  • Vite integration: dev server with HMR in development, hashed production assets resolved
    from the manifest.
  • Two-layer configuration: gitignored environment constants plus committed business config
    read via config('dot.keys').
  • example/ — a complete working site that is also the engine's documentation
    (example/content/en/).