Skip to content

v1.0.0 — initial release

Choose a tag to compare

@tharunbudidha27 tharunbudidha27 released this 22 May 14:03
1e4981f

Initial release. FastPix video integration foundation plugin for Moodle 4.5 LTS+.

Added

  • HTTP gateway as the single boundary to the FastPix API, with retry, circuit breaker, idempotency keys, and structured logging.
  • Direct upload and URL-pull workflows, with a 60-second dedup window and an SSRF guard on URL-pull sources.
  • Webhook ingestion: signature verification with hash_equals, idempotent ledger, per-asset locking with total ordering, and a 30-minute dual-secret rotation window.
  • Local RS256 JWT signing for private and DRM-protected playback (media: and drm: audiences). Signing key bootstraps automatically and re-mints when API credentials change.
  • Public assets resolve tokenless: playback_service::resolve() skips JWT minting for access_policy=public.
  • Asset metadata cache with dual-key MUC invalidation and read-path lazy fetch.
  • Optional DRM, gated on both a feature flag and a configuration ID.
  • Scheduled cleanup tasks: orphan sweeper, webhook ledger pruning (90-day retention), soft-delete purge (7-day grace), and GDPR delete retry.
  • Full Moodle Privacy API provider with GDPR per-asset deletion; raw user IDs are never sent to FastPix (a site-specific HMAC is used).
  • Admin settings page (credentials, DRM, webhook secret) and a rate-limited health endpoint for monitoring.

Security

  • Seven non-negotiables enforced: RS256-only signing, no remote token minting, gateway-only HTTP, hash_equals signature checks, no cross-plugin imports, no _or_fetch on write paths, no Composer dependencies.

Compatibility: Moodle 4.5 LTS or later · PHP 8.1+
License: GNU GPL v3 or later