Skip to content

Releases: WebTigers/TigerCore

v0.19.0-beta

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 19:14
64b7bf5

Marketing pages + Solutions mega-menu. Audience-segmented, static, shipped in every download.

  • New home (/) — a lean landing that positions Tiger broadly and points at three audience paths + the feature grid (placeholder for a fuller redesign).
  • /vibe — the former home, repositioned as the SaaS-startup / vibe-coding pitch.
  • /agency — new: one client or a hundred, white-label per tenant, run from one back office.
  • Solutions mega-menu — static 2×2 card panel in the header's first dropdown → /cms, /agency, /vibe, + a placeholder.

Pretty routes /vibe + /agency are static aliases into the core IndexController.

v0.18.0-beta

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 17:05
e266aed

TigerSEO — Article + BreadcrumbList JSON-LD (per-content rich results).

Completes the structured-data track:

  • BreadcrumbList — every CMS page emits a trail (Home → each path segment; leaf labelled with the page title, intermediate segments humanized).
  • BlogPosting — every blog article emits headline / description / feature image (real URL + dimensions) / datePublished / dateModified / author / publisher→Organization / isPartOf→WebSite, plus its own breadcrumb.

Both emit as additional @graph blocks cross-referencing the site-identity graph by @id, on the same head placeholder. Fail-soft; home/single-segment pages emit no breadcrumb.

v0.17.0-beta

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 16:53
203dce6

Site Identity — an admin screen for the site's brand.

A new first-party identity module adds a Site Identity screen (under Settings):

  • Name + tagline — now editable in the UI (was .ini-only).
  • Logo + favicon — chosen from the Media Library or uploaded (TigerMediaPicker).
  • Social profile URLs — X / Facebook / Instagram / LinkedIn / YouTube / GitHub.

All values write to the config tier (live-override, no deploy) and light up what already consumes them: the favicon (rel="icon" + apple-touch-icon, a single high-res square the browser scales), the logo (Organization.logo), and the socials (Organization.sameAs) in the JSON-LD.

Own ACL resource (grantable per-org for multi-tenant); GLOBAL config scope for now, isolated in one _scope() method for the future multi-site module. No schema change.

v0.16.0-beta

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 16:09
3748ad1

TigerSEO — JSON-LD structured data (rich results / sitelinks layer).

A single <script type="application/ld+json"> @graph describing the site as an entity:

  • Organization — brand name, logo (resolved through the media row → real absolute URL + dimensions), social sameAs.
  • WebSitepublisher → Organization; optional SearchAction (sitelinks searchbox) when tiger.seo.schema.search_url is set.
  • SiteNavigationElement — the primary menu, so Google can map site structure into nav sitelinks.

Config-driven (tiger.site.*, tiger.seo.social.*, tiger.seo.schema.*), org-scoped, fail-soft, and </> hex-escaped so no value can break out of the <script>. Emitted via the tigerJsonLd head placeholder the public layout renders — gone when the module is uninstalled.

Full notes: CHANGELOG.md.

v0.15.0-beta

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 15:41
85b1c03

TigerSEO — public-URL mapping + Open Graph.

Sitemap + robots (public-URL registry)

  • Tiger_Sitemap — a core registry any module contributes its public (guest) URLs to (like Tiger_Dashboard).
  • /sitemap.xml + /robots.txt served as routes (never docroot files — cPanel real-file-first .htaccess would shadow them). Org-scoped, guest-readable, fail-soft.
  • Providers ship for CMS pages (/slug) and blog articles (/blog/slug); TigerDocs maps its public docs tree from its own repo.

Phase 2 — Open Graph + Twitter

  • og:title/description/type/url/site_name, article:* times, twitter:card; og:image resolved through the media row to a true absolute URL + dimensions, hero-as-og:image for articles.

Full notes: CHANGELOG.md.

v0.14.0-beta — TigerSEO Phase 1 + org_id tenant stamping

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 13:51
69cc875

Added

  • TigerSEO — Phase 1 (the head registry). A bundled seo module renders the SEO data Tiger already collects — title / meta description / robots / canonical — via TigerZF's headTitle/headMeta/headLink, which the public layout now adopts. Seo_Service_Head maps a page's meta.seo to the head; Seo_Plugin_Head covers CMS pages, a guarded call covers blog articles. Uninstall it and the head still renders, with less.
  • Migrations can run PHP (fn($db) steps) for data transforms SQL can't express.

Changed

  • org_id stamped on every tenant write (base-model, like created_by); public reads scope to the site org (Tiger_Model_Org::siteOrgId()). CMS pages + blog articles are now org-owned instead of ''. Migration 0033 backfills existing content. The exact seam a future multi-site module overrides per host.
  • Unified page SEO metadata onto page.meta.seo (migration 0032).

v0.13.1-beta — fix dashboard Customize button

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 09:13
1cb3f4d

Fixed

  • Dashboard "Customize" button did nothing. The dashboard's inline script runs before Bootstrap's JS loads (layout footer), so new bootstrap.Modal() ran against an undefined window.bootstrap and the click handler never attached. The modal is now created lazily on first click. No behavior change beyond the fix.

v0.13.0-beta — dashboard Customize + registry refresh

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 09:03
7a16daf

Added

  • Customize the dashboard — hide/show widgets per user (WP "Screen Options" style). A Customize button (top-right, replacing the breadcrumb) opens a modal to switch widgets on/off. A hidden widget is not rendered (its body does no work) — it stays as a lightweight shell out of the Muuri grid; switching it back on fetches the body via /api and drops the card in live, no reload. Persists per-user in the lazy option tier. The dashboard breadcrumb was removed.
  • "Refresh directory" button in the Module Manager. The registry index is cached ~3h, so a newly published listing could take that long to appear. A refresh control re-fetches the catalog (and sponsored overlay) on demand.

v0.12.1-beta — drop deprecated curl_close()

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 06:16

Fixed

  • Tiger_Module_Github: dropped the deprecated curl_close(). On PHP 8+ the CurlHandle is GC-freed when the handle leaves scope, so the call was already a no-op — and PHP 8.5 emits E_DEPRECATED for it (which the update checker's GitHub fetches were tripping). No behavior change on 8.1–8.5.

v0.12.0-beta — Updates screen shows what's new

Choose a tag to compare

@WebTigers WebTigers released this 17 Jul 06:10

Added

  • Update screen — "What's new" per update. The Updates screen now shows each offered version's changelog section beside the version bump. Tiger_Update_Checker::notes() fetches the target's CHANGELOG.md from its repo at the new release ref (not the installed copy) and slices out the ## [<version>] section; the view renders it in a collapsible "What's new in x.y.z". Tries the tag first, then the default branch (main/master) — a tag's tree can predate its changelog entry — and is file-cached, fail-soft to version-numbers-only. One source of truth: the CHANGELOG.md every Tiger repo already keeps (no separate release-notes file).

Housekeeping

  • Backfilled the core changelog for 0.7.0 → 0.11.1 (it had fallen behind the shipped tags), and pushed the missing v0.10.0-beta tag so the tag run is contiguous again.