Repository navigation
Upgrading
-
Ask for the new version by name. While the package is below 1.0, each minor version (0.13, 0.14…) may include breaking changes, so Composer's
^keeps you on the one you installed:composer updatewon't move^0.13to 0.14.composer require ogunsakin01/laravel-video-demos:^0.18
Patch releases (0.14.0 to 0.14.1) arrive with a normal
composer update. -
Run the install command again.
php artisan video-demo:install
It runs the package's new migrations, updates the recorder's browser, rebuilds the sample database if your migrations, seeders or factories changed, restarts the queue workers, and keeps your config. Updating never touches your videos, their plans, recordings or what they cost so far.
-
Make sure a worker is running for the package's queue. A running worker keeps the code it loaded when it started; the install restarts it, and your process manager starts it again:
php artisan queue:work video-demo
With Horizon, run
php artisan horizon:terminate. Do the same in production after a deploy. -
Read the changelog. If you published the config or the views, compare them with the new versions: new settings work without being in your published config, but changes to published views won't reach you.
-
If your app caches its config or views, clear them:
php artisan optimize:clear.
- 0.18.6: nothing to run. A video's spending limit is now for each attempt, so Try again gets the whole limit; the video's cost still adds the attempts up. A new plan that stops early no longer takes the old plan's sample data with it.
- 0.18.5: nothing to run. Each version is recorded on its own fresh copy of the sample data, and Record the same plan again is rehearsed first. A plan the AI changed to fit what an earlier version left behind (a "Change goal" button, say) needs Try again with a new plan.
-
0.18.4: nothing to run. On SQLite, a video's progress no longer fails with "database is locked";
video-demo:doctorsuggests'journal_mode' => 'wal'and'busy_timeout' => 5000for the app's own writes. A video that failed this way: Record the same plan again, at no AI cost. - 0.18.3: nothing to run. A page that answers 403 or another 4xx, such as a "complete your profile" gate, fails its step instead of being shown, and on sample data the AI readies a sign-in step's user for it. Use Try again on a video that showed a gate.
-
0.18.2: nothing to run. Videos can sign in partway through, and cookie banners are accepted before recording (
VIDEO_DEMO_COOKIE_BANNER=leaveto show them). A video made before that described member pages over a sign-up form: use Try again to plan it again. Also fixes Windows. -
0.18.1: nothing to run. Library video pages get a written guide (videos published before 0.17.11 get it once published again), link previews, structured data and a sitemap.
php artisan video-demo:doctorand the studio check your setup. Videos download as Pest browser tests,<video-demo-player>and<video-demo-help>show them in any frontend,video-demo:previewrecords them on pull requests, and coding agents get an MCP server whenlaravel/mcpis installed. With a separate frontend, setVIDEO_DEMO_FRONTEND_PATHso the AI reads its code, and publish its videos again so<video-demo-help>finds them by page. -
0.18.0: run
php artisan video-demo:install; nothing else changes for apps whose pages are their own. Plans made on sample data are now rehearsed without recording before they are recorded (VIDEO_DEMO_REHEARSE), and the AI may look at up to three pages while planning (VIDEO_DEMO_PAGE_LOOKS). A frontend on its own address that uses the app as its API can now be recorded: see Separate Frontend. -
0.17.12: nothing to run. If you use Laravel Boost, run
php artisan boost:installand tick the package to get its newlaravel-video-demosskill. The studio asks once for a GitHub star after your first published video. -
0.17.11: run
php artisan video-demo:install. It brings back into the studio any published video its database no longer has. From now on each published video has its plan saved with it, so it comes back whole. To keep published videos in your codebase rather than on S3, setVIDEO_DEMO_DISK=video-demo-repo(see The Library). -
0.17.10: nothing to run where you make videos. The local voices use the full model now, which sounds more natural; it downloads once (about 330 MB) the first time a video uses one, or when you run
php artisan video-demo:install-voiceagain. Lines spoken before are spoken again the next time their video is recorded. If you update videos on deploy, add the voice cache step to your workflow (see On deploy):video-demo:refreshnow fails a video whose voice isn't available rather than publishing it silent. - 0.17.9: nothing to run. Only the package's description and the notes for AI assistants changed.
-
0.17.8: nothing to run.
video-demo:refreshtakes--changed,--fixand--json, for updating videos on deploy. - 0.17.7: nothing to run. Delete… moved to the top of a video's page.
-
0.17.6: run
php artisan video-demo:install. Aconfig/video-demo.phpnobody edited is removed; an edited one now gets every new setting from the package, with yours still winning. Set a built-in style, model or device tofalsein your copy to turn it off. -
0.17.5: run
php artisan video-demo:install. It adds Promo reel (and Spotlight) where an older copy of the config kept them out, and gives the built-in styles you haven't changed their new look: an outline around what is being used in every style, and the camera, music and two-line captions in Product showcase and Promo ad. - 0.17.4: nothing to run; only the package's own tests changed.
-
0.17.3: restart your queue worker. A translation's recording is now a queued job of its own. The studio's
regenerateandrerecordroutes are gone;VideoDemo::rerecord()stays. -
0.17.2: fixes, nothing to run. Secrets are hidden in everything sent to the AI, and
video-demo:cleankeeps a video's copies, spot pictures and the sample databases in use. - 0.17.1: a video's page folds its sections to a one-line summary each, and Where to put it shows the tag once. Nothing to run.
-
0.17: run
php artisan video-demo:installfor the new columns and table and the GIF encoder, then restart your queue worker. Publish videos again (or runvideo-demo:refresh) for<x-video-demo::help />to list them on their pages. Apps that extendRecorder::run()need its new return type,string; apps that extendEncoder::frames()orEncoder::join()need their new last parameter,?int $fps = null. -
0.16: run
php artisan video-demo:installfor the new column behind Where to put it, then restart your queue worker (finding spots runs on the package's queue). -
0.15: run
php artisan video-demo:installfor the new columns (a video's language) and the Promo reel style, then restart your queue worker. Videos are now written in the language of your app's pages: check a video's Language if your pages carry alangyou don't want it in. Apps that callVoices::flush()in tests can pass each voice's language as a second argument. -
0.14: run
php artisan video-demo:installfor the new column. Videos play at 1× by default now that waits are cut out: if you published the config, change thespeeddefault from 2 to 1 (or setVIDEO_DEMO_SPEED=1). Usephp artisan video-demo:workto make several videos at once. Apps that extendEncoder::encode()need its new last parameter,?Timeline $timeline = null. -
0.13: run
php artisan video-demo:installfor the new column behind View full error, then restart your queue worker. - 0.12.1: built-in music tracks are downloaded from GitHub when jsDelivr is down.
-
0.12: run
php artisan video-demo:installfor the new spending table; what you have spent so far is carried over. Cloud voices appear when an OpenAI, Gemini or ElevenLabs key is set, and four built-in music tracks are offered. -
0.11: voice-over and music, both off by default. Run
php artisan video-demo:installfor the new columns, andvideo-demo:install-voiceif you want the free local voices. Apps that extendRecorder::record()need its new last parameter,array $voice = []. - 0.10: Make it again is one form with an Ask the AI for a new plan toggle. Deleting a video shows where it is used first.
-
0.9.1: new videos start with a $0.50 spending limit (
VIDEO_DEMO_MAX_COSTchanges it). -
0.9: new videos record on sample data by default. Videos made before keep their setting; Try again on sample data switches one. Set
VIDEO_DEMO_SAMPLE_DATA=falseto keep recording on your own data by default. -
0.8:
video-demo:installbecame the one setup and upgrade command, and sample data arrived. -
0.4: videos run on the package's own
video-demoqueue; a plainqueue:workno longer picks them up.
Getting started
Making videos
- The Studio
- Sample Data
- Styles and Screens
- Voice-over and Music
- Command Line
- Keeping Videos Up To Date
- Other Languages
- Separate Frontend
Showing videos
Going further
Help