Skip to content

v2.0.0 — aiposition fork

Latest

Choose a tag to compare

@maciusman maciusman released this 09 Apr 11:43

Yash v2.0.0 — aiposition fork

Fork of Yash v1.1.0 by Marcin Żmuda. Modified by Maciej Walczuk.

Added

  • Paragraph-click playback — click any paragraph to start audio from that point
  • Volume control — slider in main and floating player, synced, persisted in localStorage
  • Multilingual UI — Polish and English interface with language selector in settings
  • Multi-language TTS voices — 6 languages (PL, EN-US, EN-GB, DE, ES, FR) with optgroup dropdown
  • Custom post type support — configurable via multi-checkbox in settings (post, page, CPT)
  • Rate limiting — per-IP throttling on public AJAX endpoints
  • Smart cache invalidation — MD5 content hash comparison, skips regeneration when text unchanged
  • Floating player dismiss persistence — sessionStorage remembers dismiss across page reloads

Changed

  • Chunk size — reduced from 1400 to 600 characters for precise paragraph-level playback
  • Highlight algorithm — text-based paragraph matching instead of proportional index calculation
  • Schema JSON-LD — emits standalone AudioObject only (no Article wrapper, no SpeakableSpecification), prevents conflicts with SEO plugins (Rank Math, Yoast)
  • Play button icon — forced white fill/color for dark theme compatibility
  • Google API key — moved from URL query string to X-Goog-Api-Key header
  • #ar-text-source — added aria-hidden="true" for accessibility

Removed

  • AI Summary (Claude/OpenRouter) — removed entire feature
  • Audio Sitemap (/audio-sitemap.xml) — removed (used incorrect video namespace)
  • Article schema wrapper — replaced with standalone AudioObject
  • SpeakableSpecification block — removed to prevent conflicts

Security

  • DOM APIs replace innerHTML templates in admin.js (XSS prevention)
  • addLog() uses textContent instead of innerHTML
  • chunk_idx clamped to [0, 999] in PHP and cache class
  • $days parameter clamped to [1, 365] in stats queries

Installation: Download the "Source code (zip)" below, extract, rename the top folder to yash, and upload to wp-content/plugins/. Then activate via the WordPress admin.

Full changelog: see CHANGELOG.md