Development Changelog

Download Big King Media
Trott Bailey Family · WordPress Media Operating System
Big King Media — Complete Development Changelog
Follow Big King Media from its newest production release back through its recorded development history. This cumulative changelog preserves the features, fixes, stabilization work, security hardening, and production milestones that shaped Big King Media.
== Changelog === 8.3.4.5 — September 7, 2026 at 10:41 PM — America/Bahia =

* Stabilization: audited the 8.3.4.4 Big King Media Browser search repair across the separate Narration and Music Video browser search path.
* Hardened the bounded special-audio search so a database failure inside optional Folder / World Within World / Post association expansion retries the same constrained query against native indexed media metadata (title, alt, caption, description) rather than losing direct matches.
* Preserved healthy association-only discovery, existing site/folder/date/order constraints, special-audio classification, pagination behavior, nonce/rate-limit protections, multisite index scope, and all established media/renderer behavior.
* Security: retained prepared SQL with esc_like() search escaping, sanitized request inputs, authenticated AJAX nonce verification, and existing multisite boundaries; no REST, upload, remote-fetch, destructive-operation, renderer, or database-schema changes.
* Regression review: no unrelated feature changes; database schema version remains unchanged.

= 8.3.4.4 — September 7, 2026 at 10:31 PM — America/Bahia =

* Fix: Big King Media Browser direct metadata search isolation.
* Root cause: the Browser still executed optional Folder / World Within World / post association SQL before proving an ordinary media-index metadata match. The 8.3.4.2/8.3.4.3 recovery path only switched to title/alt/caption/description search after a zero expanded count or database error, so direct media matches could remain dependent on an optional association query path.
* The Browser now performs the same bounded, prepared title/alt/caption/description query against the authoritative "tbfbkm_index" first. When a direct media metadata match exists, that direct query becomes the result path; association-expanded discovery is used only when there are no direct metadata matches. Existing site, MIME/type, folder, date, ordering, pagination, Dynamic Movie mixing, and rendering constraints are preserved.
* Security review: search remains on prepared WordPress database queries using "$wpdb->esc_like()" plus "$wpdb->prepare()"; request sanitization, authenticated AJAX nonce verification, multisite index scoping, and existing output sanitization/escaping remain intact. No REST, upload, file-write, remote-fetch, destructive-operation, or database-schema surface changed. Database schema remains 10.
* Validation: PHP syntax, JavaScript parsing, search request/event flow review, SQL placeholder/parameter ordering, cumulative README/version consistency, database-schema version check, and final ZIP root/content inspection. Static validation only; no live WordPress runtime environment was available. Regression risk: LOW.

= 8.3.4.3 — September 7, 2026 at 12:55 PM — America/Bahia =

* Mandatory stabilization: Big King Media Browser search-result recovery.
* Re-audited the packaged 8.3.4.2 ZIP and confirmed healthy Folder / World Within World / post-association search remains the first-choice query while ordinary title, alt, caption, and description matches are recovered from the authoritative media index if the expanded search reports zero direct matches.
* Stabilization correction: also detects a database error on the expanded result-row query after a successful count and retries that bounded page once against the same core media-index metadata search. This prevents the Browser from stepping through apparently empty pages when an optional association relationship becomes unavailable between count and row resolution.
* Adds an internal response-source marker only when the recovery path is used, preserving all existing browser payload fields, filters, pagination, sorting, folder counts, Dynamic Movie mixing, and frontend rendering. Re-ran PHP syntax, JavaScript parsing, search-request/input checks, SQL placeholder/parameter-order review, archive-root/package integrity, version consistency, and database-schema checks. Database schema remains 10. Low regression risk.

= 8.3.4.2 — September 7, 2026 at 12:47 PM — America/Bahia =

* Big King Media Browser search-result recovery pass.
* Hardened the authenticated browser search input to accept scalar search values only before sanitization, preventing malformed request shapes from reaching the search query contract.
* Preserves the existing rich search across media title, alt text, caption, description, folders, World Within World groups, and post associations, but adds a bounded authoritative media-index fallback when the optional association-expanded search returns zero direct matches. The fallback reruns the same active site/type/folder/date/sort constraints against title, alt, caption, and description only, so an unavailable, partially upgraded, or failing optional association table can no longer make ordinary Big King Media Browser title/metadata searches appear completely empty.
* The fallback activates only after an expanded search reports zero matches; normal successful association search, pagination, filters, Dynamic Movie mixing, folder counts, and browser rendering are unchanged. Database schema remains 10. Low regression risk.

= 8.3.4.1 — September 7, 2026 at 12:14 PM — America/Bahia =

* Mandatory stabilization: Kezideki Movie preview start/stop no-rebuild behavior.
* Re-audited the packaged 8.3.4.0 ZIP and confirmed normal Play, Pause, and natural preview completion no longer replace the Movie Maker studio/timeline DOM, preserving clip cards, selected/highlighted items, lane thumbnails, scroll position, and the centered-playhead follow state without the start/stop flicker rebuild.
* Stabilization correction: before starting playback, compares the mounted preview box index with the resolved master-clock preview index. If they differ, only the preview box is refreshed through the existing in-place transition renderer; the timeline and editor remain mounted. A full studio render remains only as a defensive fallback when the preview box itself is unexpectedly missing.
* Confirmed video resume seeks/plays the already-mounted video at the current timeline time, image playback schedules from the already-mounted image, Pause preserves the current visual frame, and the final clip remains visible at natural completion. Re-ran PHP syntax, JavaScript parsing, transport accessibility, playback/timer event wiring, full-render call-site checks, archive-root/package integrity, version consistency, and database-schema checks. Database schema remains 10. Low regression risk.

= 8.3.4.0 — September 7, 2026 at 12:06 PM — America/Bahia =

* Kezideki Dynamic Movie preview start/stop flicker stabilization pass.
* Removes the normal full Movie Maker studio rebuild when preview playback starts, pauses, or reaches the natural end. The mounted preview media, timeline cards, lane thumbnails, selections, scroll position, and editor controls remain in place while only playback state, transport button semantics, media play/pause, clock, audio, and red playhead are updated.
* Preview Play now activates the already-mounted image/video/audio elements in place, with a full studio render retained only as a defensive fallback if the preview DOM is unexpectedly absent. Pause freezes the current visual frame in place instead of reconstructing the preview. Natural completion also keeps the final frame and timeline mounted instead of rebuilding them.
* Consolidates Play/Pause button class, icon, accessible label, title, aria-pressed, and visible text updates through one in-place transport helper, reducing duplicate DOM mutation while preserving the existing autoplay-rejection recovery path. Database schema remains 10. Low regression risk.

= 8.3.3.9 — September 7, 2026 at 11:56 AM — America/Bahia =

* Mandatory stabilization: centered-playhead timeline-follow behavior.
* Re-audited the packaged 8.3.3.8 ZIP and confirmed playback follow activates only when the red marker reaches the visible timeline center, then advances the existing scroll container so ruler, visual, audio, and text lanes move together beneath the fixed visual playhead position.
* Confirmed the half-viewport playback runway is applied only to the timeline canvas while follow mode is active, short timelines remain bounded, zoom continues to use the established pixels-per-second geometry, and click-to-time, cut, drag, trim/duration, transition, and clip-position calculations retain their original untransformed coordinate contract.
* Re-ran PHP syntax, JavaScript parsing, CSS selector/variable checks, playback-event wiring, archive-root, package-integrity, version consistency, and database-schema checks. No corrective runtime change was required. Database schema remains 10. Low regression risk.

= 8.3.3.8 — September 7, 2026 at 11:50 AM — America/Bahia =

* Kezideki Dynamic Movie centered-playhead timeline-follow pass.
* During preview playback the red timeline marker continues travelling normally until it reaches the visible horizontal center of the timeline. From that point the marker remains visually centered while the existing timeline scroll container advances beneath it, making the visual, audio, text, and ruler lanes slide together from right to left.
* Uses timeline scrolling rather than per-clip transforms, preserving the established time-to-pixel geometry used by cutting, pointer placement, clip dragging, duration handles, transitions, zoom, and keyboard/mouse interactions. A temporary right-side playback runway equal to half the visible timeline width allows the playhead to remain centered through the end of the timeline.
* Playback-follow state is activated only after the marker actually reaches center for the current viewport and disables smooth-scroll interpolation while following so lane movement tracks the master clock without scroll-animation lag. Database schema remains 10. Low regression risk.

= 8.3.3.7 — September 7, 2026 at 11:42 AM — America/Bahia =

* Mandatory stabilization: simultaneous Kezideki Movie text-block creation.
* Re-audited the packaged 8.3.3.6 ZIP and confirmed the text-count control is a native labeled select bounded to 1–10, defaults to one block, persists its chosen count across Movie Maker rerenders, and passes only a normalized integer into the text-creation routine.
* Confirmed multi-add gives every text block a unique clip ID, common timeline start, bounded 10-second default duration, visible custom vertical placement, active group highlighting, and the existing first-block inline editing target; the established text multi-drag, autosave, history, and timeline sanitization paths remain intact.
* Re-ran PHP syntax, JavaScript parsing, accessibility-control semantics, event wiring, archive-root, package-integrity, version-consistency, and database-schema checks. No corrective runtime change was required. Database schema remains 10. Low regression risk.

= 8.3.3.6 — September 7, 2026 at 11:36 AM — America/Bahia =

* Kezideki Dynamic Movie simultaneous text-block creation pass.
* Adds a native labeled Text × count selector to both normal and contextual Movie Maker tool rails, allowing 1–10 text blocks to be created in one action while keeping the historical one-block behavior as the default.
* Multi-add creates the requested text blocks at the current timeline pointer with the same initial duration and distributes multiple blocks vertically across the preview so they are immediately visible instead of being stacked directly on top of each other. The new text clips receive unique IDs and become the active highlighted group while the first block remains the inline-edit target.
* Uses native label/select/button semantics, bounded integer input, existing timeline sanitization/autosave/history paths, and escaped/generated internal markup consistent with the accessibility and WordPress-standards remediation. Database schema remains 10. Low regression risk.

= 8.3.3.5 — September 7, 2026 at 11:31 AM — America/Bahia =

* Mandatory stabilization: Kezideki Dynamic Movie selected-media duplication.
* Re-audited the packaged 8.3.3.4 ZIP and confirmed the Duplicate action is available only for selected visual/audio timeline instances, creates fresh timeline clip IDs without creating WordPress attachments or copying physical files, and preserves the original media asset references/settings.
* Confirmed multi-selected media are duplicated in timeline order; visual copies are inserted after the selected visual group, positioned-audio copies preserve their relative spacing in a new visible group, and every new copy becomes highlighted through the established multi-selection model so the existing drag/reposition workflow can place the copies immediately.
* Re-ran PHP syntax, JavaScript parsing, event-handler wiring, version consistency, archive-root, package-integrity, undo/autosave interaction, and database-schema checks. No corrective runtime change was required. Database schema remains 10. Low regression risk.

= 8.3.3.4 — September 7, 2026 at 11:25 AM — America/Bahia =

* Kezideki Dynamic Movie timeline media duplication pass.
* Adds an accessible Duplicate action to the selected-media tool rail for visual and audio clips. A single selected clip can be duplicated in one tap; when multiple clips in the same media lane are selected, the complete selected group is duplicated together in timeline order.
* Visual copies are inserted immediately after the selected visual group and inherit the original clip settings while receiving new timeline clip IDs. Positioned audio copies preserve the selected group spacing and are placed immediately after the source group in time so the copies remain visible and independently movable.
* Newly created copies become the active highlighted selection, including multi-selection for grouped copies, so they are immediately ready for the existing drag/reposition workflow. No WordPress attachment is physically duplicated; this duplicates only Dynamic Movie timeline instances and therefore does not consume additional media storage. Database schema remains 10. Low regression risk.

= 8.3.3.3 — September 7, 2026 at 10:53 AM — America/Bahia =

* Mandatory stabilization: Kezideki Dynamic Movie Multisite persistence fix.
* Re-audited the packaged 8.3.3.2 ZIP as the stabilization source and confirmed every normal Movie Maker persistence path remains pinned to the owning blog ID: network-library edit handoff, project list/open/create, autosave, explicit save, Dynamic Movie publish, metadata update, render health, and export handoff.
* Confirmed project verification compares the returned owning blogId as well as the numeric project ID, preventing a same-number post on another Multisite subsite from being accepted as the saved project. Cross-site switching is capability-checked after entering the target blog and restored during the earliest WordPress shutdown phase.
* Confirmed Save Project and Dynamic Movie library publishing do not call Multisite upload-quota APIs. Project persistence is governed by edit_posts/edit_post; publishing accepts publish_posts while retaining prior upload_files compatibility; only rendered-file export retains an upload_files requirement. No corrective runtime change was required during stabilization.
* Re-ran complete PHP syntax, JavaScript parsing, version consistency, 109-file package integrity, Movie Maker request-routing, capability-boundary, quota-decoupling, and cross-site response-verification checks. Database schema remains 10. Low regression risk.

= 8.3.3.2 — September 7, 2026 at 10:48 AM — America/Bahia =

* Kezideki Dynamic Movie Multisite persistence fix.
* Pins Kezideki Movie project and Dynamic Movie persistence to the WordPress site that owns the movie. Shared-network Dynamic Movie edit links now carry the owning blog ID, project/list/open/save/autosave/publish/export requests preserve that blog ID, and the server safely switches into that site before resolving project IDs, feature flags, capabilities, posts, and post metadata.
* Decouples project save/load from the media-upload capability: editing project posts now follows edit_posts/edit_post permissions instead of upload_files, so a Multisite upload-space quota or host policy tied to media uploading cannot incorrectly block timeline/title persistence. Library Movie publishing accepts normal publish_posts permission while preserving legacy upload_files compatibility; rendered-file export still requires upload_files because it creates media.
* Dynamic Movie registered-meta authorization is now object-aware through edit_post/edit_posts instead of a blanket upload_files check. Project responses and Dynamic Movie responses now carry their owning blogId, save-title updates return WordPress errors instead of failing silently, and Save Project verifies the saved project can be reloaded from the same site before reporting success.
* Improves Save Project / Add Dynamic Movie AJAX failure reporting for expired security tokens, HTTP 403/413/5xx responses, network failures, and non-JSON PHP/server output instead of collapsing those failures into the generic message. Database schema remains 10. Low regression risk.

= 8.3.3.1 — September 6, 2026 at 9:55 PM — America/Bahia =

* Mandatory stabilization: Photofall template-contract regression fix.
* Re-audited the packaged 8.3.3.0 ZIP and confirmed every call to the four fixed Photofall templates is supplied through the explicit router contract; no runtime path relies on WordPress load_template() argument extraction and the Photofall grid receives its intended shortcode "$args" array without loader-name collision.
* Added a defensive local default for "$branding" and "$grid_html" inside "photofall-gallery.php", keeping the template warning-free even if an external theme/integration loads it outside the normal router contract. Normal gallery output is unchanged when the router supplies its values.
* Re-ran complete PHP syntax, JavaScript parse, template-caller contract, version-consistency, archive-integrity, and security-regression checks. No plugin-side extract() or variable-driven template include was reintroduced. Database schema remains 10. Low regression risk.

= 8.3.3.0 — September 6, 2026 at 9:51 PM — America/Bahia =

* Photofall template-contract regression fix.
* Replaces the WordPress load_template() argument-extraction dependency introduced during template-inclusion hardening with explicit variable assignment for each of the four fixed internal Photofall templates, while retaining the security guarantee that no user-controlled template path can be included and no plugin-side extract() is used.
* Fixes the dashboard/frontend warning "Undefined variable $grid_html" in "templates/photofall-gallery.php" and also restores the intended Photofall grid "$args" contract, which could collide with load_template()'s own "$args" parameter under EXTR_SKIP semantics.
* Audited every include_template() caller and explicitly maps its complete variable contract before loading the corresponding literal internal template. No database schema or feature behavior is intentionally changed. Database schema remains 10. Low regression risk.

= 8.3.2.9 — September 6, 2026 at 8:50 PM — America/Bahia =

* Mandatory stabilization: WordPress 7.1 compatibility metadata.
* Re-audited the packaged 8.3.2.8 release and confirmed the feature pass changed only the main plugin version metadata and cumulative readme compatibility/changelog metadata; no runtime feature implementation was altered.
* Confirmed Tested up to remains 7.1, Requires at least remains 6.2, Requires PHP remains 7.4, and no plugin-side upper WordPress-version gate was introduced. Re-ran complete PHP syntax, JavaScript parse, package-integrity, and version-consistency checks.
* Database schema remains 10. Low regression risk.

= 8.3.2.8 — September 6, 2026 at 8:50 PM — America/Bahia =

* WordPress 7.1 compatibility metadata pass.
* Performed a static compatibility review across the complete production plugin for upper-version gates, legacy/removed PHP and WordPress API patterns, PHP syntax, JavaScript parsing, and the established WordPress 6.2+ baseline; no code-level WordPress 7.1 blocker was identified in the shipped source.
* Updated the WordPress.org readme compatibility declaration from Tested up to 6.9 to Tested up to 7.1 and advanced the plugin/stable version to 8.3.2.8. Requires at least remains 6.2 and Requires PHP remains 7.4.
* No runtime feature behavior or database schema changed. Database schema remains 10. Low regression risk.

= 8.3.2.7 — September 6, 2026 at 8:05 PM — America/Bahia =

* Part 3 final stabilization — accessibility and standards closure
* Stabilization correction: moves Big King Media Media Browser footer/notice reset CSS into admin_enqueue_scripts so WordPress prints the already-established rules at the correct lifecycle point.
* Adds programmatic accessible names to the remaining legacy form controls found by the final Part 3 accessibility rescan and corrects the language switcher label/select association, without changing submitted names, values, settings behavior, or layout.
* Re-runs the Part 3 accessibility and WordPress-standards checks across image alternatives, form labels, keyboard semantics, enqueue discipline, internationalization foundations, LICENSE/README integrity, debug/discouraged patterns, and normal-context executable/style output.
* Database schema remains 10. Low regression risk.

= 8.3.2.6 — September 6, 2026 at 8:02 PM — America/Bahia =

* Final Part-3 residual accessibility and WordPress asset-standard cleanup
* Added accessible names to legacy Photofall lightbox Previous/Next controls and the legacy hidden upload file picker.
* Moved normal WordPress-context executable/style output for Featured Media, World Ruler state/replay helpers, the Media Library action link, Big King Media browser footer CSS, Samsung Smart View management, and Photofall homepage formatting onto WordPress enqueue/inline asset handles.
* Removed the unused Dynamic Movie inline-style helper. Self-contained receiver/rendered-document HTML and non-executable JSON/JSON-LD script payloads remain intentionally document-local because normal theme enqueue APIs do not own those documents.
* No database schema change; Low regression risk.

= 8.3.2.5 — September 6, 2026 at 7:57 PM — America/Bahia =

* Mandatory stabilization: license, README, and directory-compliance cleanup
* Audited packaged 8.3.2.4 for GPL file presence, plugin/readme identity consistency, updater diagnostic semantics, WP_DEBUG gating, and cumulative README preservation.
* Confirmed all 871 pre-pass changelog blocks remain present, with the new 8.3.2.4/8.3.2.5 entries added above them and the oldest 6.0.0 entry remaining at the bottom.
* No functional correction required; no database schema change; Low regression risk.

= 8.3.2.4 — September 6, 2026 at 7:56 PM — America/Bahia =

* WordPress standards: license, readme, updater, and directory-compliance cleanup
* Added a standalone GPL-2.0 LICENSE file matching the plugin's existing GPLv2-or-later declaration.
* Removed assignment-in-condition patterns from updater diagnostic notices without changing transient lookup/deletion behavior.
* Cleaned the formal plugin/readme title to TBF Big King Media — Multisite Media Operating System while retaining WordPress platform references in the description and documentation.
* Reordered the complete cumulative README changelog newest-to-oldest while preserving every historical release block; existing debug logging remains correctly gated behind WP_DEBUG.
* No database schema change; Low regression risk.

= 8.3.2.3 — September 6, 2026 at 7:55 PM — America/Bahia =

* Mandatory stabilization: WordPress asset loading and internationalization
* Audited the packaged 8.3.2.2 tour asset refactor on Plugins, network settings, and site settings screen gates.
* Validated the extracted tour JavaScript independently, confirmed translated Photofall strings retain their original English output, and confirmed the WordPress 6.2+ text-domain baseline needs no manual loader.
* No functional correction required; no database schema change; Low regression risk.

= 8.3.2.2 — September 6, 2026 at 7:55 PM — America/Bahia =

* WordPress standards: tour asset loading and frontend internationalization
* Converted the Big King Media activation tour from raw admin 

Load at the Speed of Light

Add App 🚀
×