Skip to content

Releases: sathyvelukunashegaran/Tasty-Fonts

Tasty Custom Fonts 1.16.0-beta.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 May 12:48

What's Changed

Added

  • Added typed admin page view variables and preview-scene templates for editorial, card, reading, marketing, code, snippet, and interface previews.
  • Added catalog pipeline modules for building, hydrating, enriching, and caching font library catalog records behind the existing catalog entry point.
  • Added provider stylesheet resolver services for Google, Bunny, and Adobe runtime stylesheets, plus shared editor integration contracts and integration status helpers.
  • Added focused repository and storage interfaces for Google API keys, Adobe project metadata, role assignments, family metadata, imports, activity logging, and managed font storage.
  • Added repository-bounded context coverage for Google API key storage, Adobe project metadata, role storage, and family metadata, including plaintext-to-encrypted Google key upgrade coverage.
  • Added shared custom CSS font URL validation with structured validation results covering URL safety, blocked hosts, HTTP probing, content types, size limits, signatures, and CORS warnings.
  • Added delivery import strategy classes for CDN and self-hosted hosted-font imports, with focused strategy/workflow coverage.
  • Added extracted font utility modules for CSS variable naming, font axes, Unicode ranges, and variant token handling while keeping compatibility proxies in place.
  • Added a shared AdminActionRunner service to standardize admin action execution, success/error logging, and payload responses.

Changed

  • Completed the SettingsRepository bounded-context split so Google API key storage, Adobe project normalization, role storage, and family metadata now live behind focused repositories while the settings facade preserves compatibility.
  • Replaced the monolithic catalog implementation with a staged catalog pipeline while preserving existing catalog consumers and cache behavior.
  • Migrated custom CSS final imports, developer tools, runtime planning, asset generation, admin context building, and provider clients to narrower repository and resolver dependencies.
  • Extracted shared repository helper methods into a reusable trait to remove copy-paste duplication across the bounded-context repositories.
  • Refactored admin rendering around typed view variables, extracted preview templates, and slimmer renderer helpers.
  • Updated admin action helpers, REST, CLI, rollback, maintenance, support, and site-transfer actions to share consistent action payload typing.
  • Centralized hosted import face construction and provider stylesheet resolution to reduce strategy duplication across CDN and self-hosted imports.
  • Simplified HostedImportWorkflow so delivery-specific CDN and self-hosted face building is delegated to strategy implementations while preserving the existing import result shape.
  • Migrated Google Fonts and Adobe Fonts runtime clients off the settings facade so they now depend directly on their focused repository seams.
  • Migrated hosted import and REST variant-token handling to the extracted VariantTokenService instead of the FontUtils compatibility proxy.
  • Replaced remaining implicit admin renderer variable capture with explicit view arrays and removed generic template-scope extraction from admin rendering.
  • Moved runtime integration live-style checks into IntegrationStatus so RuntimeService no longer owns duplicated managed-state parsing.

Fixed

  • Fixed guarded bulk site-transfer export deletion so blocked locked-bundle cleanup does not log a deletion success message.
  • Fixed family fallback reset behavior so resetting per-family fallbacks to global values does not also clear family font-display overrides.
  • Fixed custom CSS font validation duplication and tightened final-import URL safety so font downloads are validated consistently before remote requests.
  • Fixed SettingsRepository cache and stale-read gaps by keeping extracted repositories as the source of truth for their bounded contexts.
  • Fixed catalog-pipeline regression coverage for provider discovery, hydration, enrichment, cache validation, and family delivery metadata.
  • Fixed verification harness gaps for thrown-exception assertions, injected runtime integration tests, and typed admin view reconstruction.
  • Fixed PHPStan return-type issues across admin action flows and kept PHP syntax, PHP tests, PHPStan, and JS tests green for the current change set.
  • Fixed uninstall wiring to use the focused Google API key and Adobe project repository seams after client constructor cleanup.

Full Changelog: 1.16.0-beta.2...1.16.0-beta.3

Tasty Custom Fonts 1.16.0-dev.202605031448

Choose a tag to compare

What's Changed

  • Prepare nightly architecture deepening release (769da80)
  • refactor: complete repository and admin surface deepening (e2f8555)
  • refactor: extract AdminActionRunner to consolidate admin action logging boilerplate (881b23b)
  • refactor: extract DeliveryImportStrategy from HostedImportWorkflow (360f8b2)
  • refactor: extract DeliveryImportStrategy from HostedImportWorkflow (ef4f281)
  • refactor: extract CustomCssFontValidator to deduplicate HTTP validation logic (90ad207)
  • refactor: extract RepositoryHelpers trait to eliminate jscpd clones (e445a58)
  • refactor: Phase 5 consumer migration and SettingsRepository cleanup (b4e4d03)
  • refactor: split SettingsRepository into 4 bounded-context repositories (6d89b9c)
  • Fix upload variable toggle test assertion to target specific class (2c0c4cc)
  • Release 1.16.0-beta.2 (d1440c5)
  • Prepare 1.16.0-beta.2 changes (85f653f)

Full Changelog: 1.16.0-dev.202604300814...769da80

Tasty Custom Fonts 1.16.0-beta.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 May 08:15

What's Changed

Added

  • Added a client-side font binary parser that reads TTF, OTF, and WOFF files to extract family name, weight, style, and variable font axes from the name, OS/2, head, and fvar tables, using DecompressionStream for WOFF deflate support and falling back to filename-based detection when binary parsing is unavailable.
  • Added automatic upload metadata detection in the admin upload builder so selecting a font file pre-fills family, weight, style, and variable axis ranges from the parsed binary when possible, with a "Use Detected Values" action to apply discovered metadata to the current row.
  • Added variable axis summary pills to Font Library family cards and face detail cards so variable font axes and their ranges are visible at a glance in both collapsed and expanded views.
  • Added JS contract tests for the font binary parser covering TTF/SFNT family extraction, OS/2 weight and style detection, fvar axis parsing, WOFF decompression, malformed input handling, and fallback merging.

Changed

  • Refined the upload builder so the Variable column stays visible even when variable font support is disabled, using disabled-state styling and tooltip guidance instead of hiding the control, so users can see what is available and how to enable it.
  • Updated the upload builder default fallback stack to inherit the current Body role fallback instead of hardcoding sans-serif, keeping uploaded family fallbacks consistent with the active sitewide configuration.
  • Improved font import deduplication in the catalog so families matched by slug share delivery profiles only when they also share underlying file paths, preventing unrelated families with the same slug from incorrectly merging.
  • Refined catalog face merging during imports so existing faces are skipped when all their files are already present, and existing axis metadata is preserved when merging face records, avoiding duplicate faces and stale axis overwrites.
  • Simplified variable axis editor headings so single-axis variable fonts no longer receive a special condensed heading treatment, keeping the label pattern consistent regardless of how many axes are present.

Fixed

  • Fixed upload builder behavior so the variable toggle is disabled with explanatory tooltip copy when variable fonts are off, rather than being hidden entirely, preserving layout stability and showing actionable guidance.
  • Fixed shared render helper passive-help attributes so forced help copy can render even when training wheels are off, used for disabled-state upload guidance.
  • Added regression coverage for variable axis summary rendering in family cards and face detail cards, multi-axis variable font upload persistence, and admin script dependency ordering.

Full Changelog: 1.16.0-beta.1...1.16.0-beta.2

Tasty Custom Fonts 1.16.0-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 May 20:37

What's Changed

Added

  • Added per-toggle "View CSS" previews in Output Settings so each class and variable option can show its generated CSS, empty-state copy, and dependency-aware guidance before saving.
  • Added syntax-highlighted CSS/code rendering for preview, snippets, diagnostics, and output-toggle preview surfaces.
  • Added family-level fallback stack controls in the Font Library, plus bulk maintenance actions to reset custom family fallbacks or global fallback stacks.
  • Added an optional Etch Canvas Bridge quick role panel with in-canvas Heading, Body, and Monospace assignment controls and publish-to-sitewide refresh behavior.

Changed

  • Updated the plugin and repository license metadata from GPLv2-or-later to GPLv3-or-later.
  • Refined Output Settings so dependency-limited class and variable controls stay visible, explain what unlocks them, and preserve saved preferences while their source role, family, or category is unavailable.
  • Reworked Output Settings with clearer section copy, nested integration controls, live payload updates, and CSS previews that stay aligned with the generated runtime CSS.
  • Reordered Role Classes before Role Styling and disabled "Role Weights in Classes" until Heading Class and Body Class are enabled, making the class-weight relationship clearer.
  • Split role alias variable output into independent Interface, UI, and Code alias controls, with generated CSS only emitting aliases when the relevant Body or Monospace family exists.
  • Simplified Output Preset detection so Minimal, Variables, Classes, and Custom follow the active output layers instead of requiring every granular subgroup to match a preset baseline.
  • Locked role weight variable output on while Automatic.css role sync is enabled, including the saved setting and visible Settings control.
  • Centralized fallback resolution and role-family catalog payloads so admin previews, builder integrations, generated CSS, and runtime planning use the same family fallback, weight, axis, delivery, and publish-state metadata.
  • Refined Etch canvas loading so published role changes can refresh generated CSS inside accessible iframes without a full builder reload.
  • Added a local artifact cleanup helper and wired the pre-commit hook to remove Playwright screenshots, temporary output, prompt exports, .DS_Store files, and generated duplicate-scan reports before commits complete.

Fixed

  • Preserved monospace class and variable output preferences while the Monospace role is disabled so saved choices resume when the role becomes available again.
  • Prevented hidden sitewide role weight output from staying enabled outside Custom output mode.
  • Fixed misleading output previews when required roles, aliases, monospace support, or published family dependencies are unavailable.
  • Fixed fallback output consistency so per-family overrides, global role defaults, and category defaults resolve the same way across generated CSS, previews, and runtime assets.
  • Added regression coverage for dependency-aware output controls, independent role alias variables, Automatic.css weight-variable locking, quick-mode normalization, monospace output preference preservation, fallback reset handling, output preview rendering, Etch canvas contracts, and runtime refresh behavior.

Full Changelog: 1.15.0-dev.202604291546...1.16.0-beta.1

Tasty Custom Fonts 1.16.0-dev.202604300814

Choose a tag to compare

What's Changed

  • Update license to GPLv3 (2bf0e11)

Full Changelog: 1.16.0-dev.202604300808...2bf0e11

Tasty Custom Fonts 1.16.0-dev.202604300808

Choose a tag to compare

What's Changed

  • Start 1.16.0-dev (ac4e254)
  • Release 1.15.0 (0840f50)
  • Remove duplicate implementation paths (3edf9d3)
  • Prepare latest 1.15.0 nightly (30ff272)

Full Changelog: 1.15.0-dev.202604291546...ac4e254

Tasty Custom Fonts 1.15.0

Choose a tag to compare

@github-actions github-actions released this 30 Apr 08:08

What's Changed

Changed

  • Added a Marketing preview scene with CTA, signup, purchase, and social-follow samples so role selections can be reviewed against campaign-style content.
  • Refined admin preview and diagnostics sample copy to use TastyWP branding and consistent sample attribution.
  • Reworked compact admin control sizing so help buttons stay visually small while icon-only controls preserve larger hit targets.
  • Updated admin UI color tokens, OKLCH fallbacks, badges, hover states, and preview treatments to keep amber usage readable within the Tasty palette.
  • Improved help tooltip positioning and import/search result interaction markup for steadier admin UI behavior.
  • Updated CSS lint output and CSS audit coverage for compact controls and scoped OKLCH token overrides.
  • Added an Advanced Tools developer gate for Custom CSS URL Imports so the expert From URL workflow stays disabled by default until deliberately enabled.
  • Expanded library, catalog, runtime, storage, and settings flows so custom CSS delivery profiles participate in generated CSS, deployment planning, diagnostics, and managed storage consistently with other providers.
  • Updated README/readme feature copy to include custom CSS URL imports alongside local, Google, Bunny, and Adobe workflows.
  • Reworked the Advanced Tools overview around collapsible health triage, focused primary actions, clearer status labels, and a separate Debug Details surface instead of mixing runtime facts into the health checklist.
  • Refined Settings rows with changed-state indicators, clearer dependency-disabled states, Compact Mode wording, safer save/reset shell behavior, capability-disable warnings, and better guidance for Sitewide Delivery, integrations, and transfer actions.
  • Clarified sitewide role deployment states and publish controls so Off, Live, and Pending Publish states describe whether saved role assignments are draft-only or served to visitors and integrations.
  • Updated Font Library card actions, source chips, role controls, delivery-profile rows, delete guardrails, and quick-switch delivery actions so live usage, staged role changes, and active delivery choices stay visually distinct.
  • Changed selected-family fallback resolution so role CSS and previews inherit the selected family fallback; explicit role fallback stacks are now reserved for fallback-only roles.
  • Tightened integration/runtime behavior so Block Editor Font Library sync, Etch canvas loading, Bricks integration output, and monospace role CSS respect their saved settings and Sitewide Delivery dependencies.
  • Refreshed admin CSS tokens, row-board styling, health surfaces, toast styling, preview/snippet controls, role-card controls, delivery-profile cards, and final documentation screenshots for the latest calmer Settings, Library, and Advanced Tools layouts.
  • Refactored generated CSS handling behind the existing AssetService facade into focused cache, canonical stylesheet, regeneration queue, delivery, and inline nonce services.
  • Replaced the shared hosted-provider import trait with a reusable hosted import workflow, request/config/provider adapter layer, and shared variant planner for Google and Bunny imports.
  • Split library catalog discovery, delivery/profile mutations, publish-state changes, role protection checks, capability cleanup, Adobe project persistence, and admin maintenance actions into focused service modules while preserving the existing public controller/service entry points.
  • Consolidated duplicate admin action helpers, provider import normalization, catalog axis/default normalization, delivery selection resolution, and repeated renderer role-list/details paths so jscpd reports no duplicate code.
  • Moved font import workflow controls into Settings > Behavior, keeping Google Fonts, Bunny Fonts, and custom uploads enabled by default while Adobe Fonts and URL imports remain opt-in.
  • Moved Show Onboarding Hints and Show Activity Log into the Advanced Tools Developer tab so Settings > Behavior focuses on import workflows, font capabilities, cleanup, and access.
  • Simplified Advanced Tools developer controls so the release rail appears first and saves channel changes immediately without a separate save button.
  • Refined Advanced Tools transfer/activity surfaces, hidden activity-log messaging, destructive tool summaries, and snapshot rows so retained exports, locked exports, font files, and storage files are easier to understand.
  • Polished admin masthead, top-panel rails, transfer actions, select clears, log toggles, copy/download buttons, search/import status copy, and compact icon chrome using shared design tokens.
  • Bumped the catalog cache transient namespace and tagged custom CSS URL import delivery profiles with URL Import filter tokens.

Fixed

  • Fixed the card preview pricing flag so the "Most Popular" label remains readable on the dark pricing tile.
  • Renamed verified diagnostics states to "Working Fine" / "OKAY" so passing health checks do not imply external verification.
  • Improved hosted-font URL resolution so relative @font-face sources from CDN stylesheets, including Fontsource CSS, resolve correctly during dry runs and imports.
  • Added regression coverage for dry-run validation, warning states, duplicate behavior, self-hosted and remote final imports, gated admin rendering, JS contracts, generated CSS, and runtime planning.
  • Fixed Advanced Tools health output so runtime reference data no longer dilutes the actionable checklist and passing diagnostics are labeled as OK rather than over-claiming verification.
  • Fixed settings save/reset handling for compact mode, monospace role support, variable font support, and integration toggles so persisted behavior matches the current Settings UI.
  • Fixed generated CSS, preview, Block Editor, and integration runtime paths to honor disabled sitewide delivery, selected-family fallback stacks, and monospace role state consistently.
  • Fixed Font Library role badges and delete blocking so draft role assignments are not mistaken for live sitewide usage.
  • Fixed stale or undeliverable library records so capability cleanup and live-role changes remove unavailable families instead of rendering ambiguous Unavailable cards.
  • Fixed Bunny Fonts search pagination so has_more is calculated without hydrating an extra hidden family page and infinite load-more loops stop when the result set makes no progress.
  • Fixed Google variable CSS2 URL generation so custom axis tags keep their required uppercase form while registered axes are serialized with CSS-compatible casing.
  • Added end-to-end workflow gating so disabled font import workflows are reflected in Add Fonts UI panels and rejected consistently by REST/admin actions.
  • Fixed hydrated family details so fallback, display, delivery, and publish-state controls bind only once while still initializing correctly after AJAX replacement.
  • Fixed bulk export deletion paths so locked site-transfer bundles are preserved and blocked actions expose disabled-state messaging to both the UI and controller responses.

Added

  • Added a gated Custom CSS URL import workflow for expert users, including server-side dry runs, font-face review, duplicate handling, and final import support for one public HTTPS stylesheet at a time.
  • Added Custom CSS provider services for URL inspection, snapshot persistence, self-hosted downloads, remote delivery profiles, and source metadata.
  • Added live admin UI support for From URL imports, including disabled developer-gate messaging, delivery-mode selection, selectable face rows, warning details, and inline errors.
  • Added documentation and wiki guidance for Custom CSS imports, provider limitations, privacy/licensing considerations, troubleshooting, and end-to-end testing.
  • Added in-place Font Library refresh after uploads, hosted imports, custom CSS URL imports, delivery changes, publish-state changes, and Adobe project saves so successful actions update the affected rows without a full admin reload when possible.
  • Added REST endpoints for refreshing Font Library rows and saving, resyncing, or removing Adobe Fonts projects, including payloads that keep role selectors, preview state, family options, and generated CSS diagnostics in sync.
  • Added rollback-protected cleanup when disabling variable fonts or the monospace role: variable font files/profiles and saved axis data are removed safely, monospace assignments/output options are cleared, and the settings response reports what changed.
  • Added live/draft role usage chips and inline role previews so Heading, Body, and Monospace assignments show whether they are published sitewide or only staged as draft changes.
  • Added an Advanced Tools Health triage model with Action Needed, Worth Reviewing, and Checks Passed groups, plus a Debug Details panel for runtime CSS paths, URLs, file facts, runtime family counts, generated CSS status, and copy-friendly support values.
  • Added Advanced Tools bulk cleanup actions for deleting rollback snapshots and retained site-transfer export bundles, with confirmation phrases, activity logs, and guardrails that preserve locked export bundles.
  • Added update-channel option labels that include the latest available Stable, Beta, or Nightly version in the Advanced Tools Developer release rail.
  • Added a URL Import source filter for the Font Library so custom CSS URL import families can be isolated in library views while still retaining their self-hosted or external-request delivery filters.
  • Added hosted import workflow, generated CSS seam, library mutation, admin action, capability cleanup, provider paging, and JS contract regression coverage for the extracted service modules and refreshed admin flows.

Full Changelog: 1.14.1...1.15.0

Tasty Custom Fonts 1.15.0-dev.202604291546

Choose a tag to compare

What's Changed

  • Prepare next 1.15.0 nightly (3cbe90b)

Full Changelog: 1.15.0-dev.202604282004...3cbe90b

Tasty Custom Fonts 1.15.0-dev.202604282004

Choose a tag to compare

What's Changed

  • Prepare latest nightly build (60dcc8b)
  • Remove local-only planning files (f8052c2)
  • Update design system guidance (fc53539)
  • Refactor font service seams (07b1994)
  • Refine advanced tools cleanup and UI polish (0cb59a0)
  • Refine font import workflow gates (a066753)
  • Release 1.15.0-beta.2 (1493d90)
  • Add Impeccable design lint check (abd4062)
  • Add product design context (38602cd)
  • Prepare 1.15.0-beta.1 (c82e787)
  • Update ARCHITECTURE.md (e8f9be2)
  • docs: update ARCHITECTURE.md and wiki/Architecture.md to be comprehensive and current (3f57319)

Full Changelog: 1.15.0-dev.202604261502...60dcc8b

Tasty Custom Fonts 1.15.0-dev.202604261502

Choose a tag to compare

What's Changed

  • Release 1.14.1 (053921a)
  • Document 1.14.1 screenshot update (c328a89)
  • Add refreshed admin screenshots (1b48af9)

Full Changelog: 1.15.0-dev.202604260549...417f4d7