Title: Flying Pigs Uploader
Author: herb morris
Published: <strong>September 23, 2026</strong>
Last modified: September 24, 2026

---

Search plugins

![](https://ps.w.org/flying-pigs-uploader/assets/banner-772x250.png?rev=3709383)

![](https://ps.w.org/flying-pigs-uploader/assets/icon-256x256.png?rev=3709383)

# Flying Pigs Uploader

 By [herb morris](https://profiles.wordpress.org/48hmorris/)

[Download](https://downloads.wordpress.org/plugin/flying-pigs-uploader.0.11.101.zip)

 * [Details](https://wordpress.org/plugins/flying-pigs-uploader/#description)
 * [Reviews](https://wordpress.org/plugins/flying-pigs-uploader/#reviews)
 * [Development](https://wordpress.org/plugins/flying-pigs-uploader/#developers)

 [Support](https://wordpress.org/support/plugin/flying-pigs-uploader/)

## Description

On the Media  Add New page WordPress uploads one file per request and makes every
thumbnail on the server: two hundred photos means two hundred requests, two hundred
rounds of server image work, and a host’s rate limiter slowing the lot. WordPress
7.1 moves that work into the browser for block editor uploads, in Chrome and Edge
only, and still sends every thumbnail as its own request. Flying Pigs does the image
work in your browser for bulk uploads on the Media page, in every modern browser,
and ships the results in a few large requests. The same 221 photos that take the
Media page twelve minutes on a managed host, and twenty on a large shared host, 
take Flying Pigs Free two minutes and nineteen, and less again with Pro’s turbo 
boost.

Found under Media  Flying Pigs Uploader.

#### What is free and what is Pro

Everything an upload needs is free: the browser image engine, every size, WebP and
AVIF, optimizing, folders, delivery, retries. Pro adds the power tools for big libraries
and product catalogs.

 * **Sizes made in the browser, no server work.** Free: yes. Pro: yes.
 * **Optimize original (auto rotate, remove metadata).** Free: yes. Pro: yes.
 * **Convert PNG to JPG.** Free: yes. Pro: yes.
 * **WebP and AVIF companions, quality and effort per format.** Free: yes. Pro: 
   yes.
 * **Choose which sizes to make, and which get a companion.** Free: yes. Pro: yes.
 * **WebP/AVIF delivery set up for you.** Free: yes. Pro: yes.
 * **AI Data Mining statement in every file.** Free: yes. Pro: yes.
 * **Media folders (FileBird and friends).** Free: yes. Pro: yes.
 * **Unlimited file size, packed batches.** Free: yes. Pro: yes.
 * **Retry, run recovery, throttling.** Free: yes. Pro: yes.
 * **Resize image before upload.** Free: no. Pro: yes, 2560×2560 by default.
 * **WebP only (drop the JPEG/PNG base).** Free: no. Pro: yes, on by default.
 * **Watermark, with a text and logo maker.** Free: no. Pro: yes.
 * **Turbo boost, up to six upload lanes.** Free: one lane. Pro: yes.
 * **Link check: your line and this host timed, lanes and first batch sized from
   it.** Free: no. Pro: yes.
 * **Overwrite in place, references repaired.** Free: no. Pro: yes.
 * **File date: the file’s own date, or one you pick.** Free: this month. Pro: yes.
 * **Set post date apart from the file date.** Free: no. Pro: yes.
 * **Photos onto WooCommerce products by the SKU in their names, as they land.**
   Free: no. Pro: yes.
 * **Updates and support.** Free: WordPress.org. Pro: the Pro update channel and
   the help desk.

Free shows every Pro control in place, disabled and badged PRO, so you can see where
it would sit. The Free plugin carries none of the Pro code.

#### Flying Pigs Free and the Media page, side by side

 * **Speed, 221 photos (209 MB), same files, same day.** WebP-only, HTTP/2, lean
   installs with no other plugin hooking uploads. The image work is in your browser,
   so the host’s per-file resizing never enters the race.
 * **A managed host.** WP Media page: 12:20. Free, one lane: 2:19. Pro turbo, two
   lanes: 2:12.
 * **A budget LiteSpeed host.** WP Media page: 15:47. Free, one lane: 4:23. Pro 
   turbo, two lanes: 2:55.
 * **A large shared host, its optimizer off.** WP Media page: 20:05. Free, one lane:
   11:08. Pro turbo, two lanes: 6:09.
 * **Ready the moment it lands.** WordPress: uploads the original, then resizes 
   on the server; optimizers finish later still, on a background job or the first
   visitor. Flying Pigs Free: every file lands already final, with nothing left 
   to wait on.
 * **Optimized originals.** WordPress: the original is stored as it came off the
   camera. Flying Pigs Free: the original is optimized in the browser at its own
   dimensions, about 60% smaller, auto rotated, metadata removed, written in sRGB
   with no embedded profile; PNG to JPG is a tick away.
 * **WebP and AVIF.** WordPress: a separate plugin, server-side, after the upload.
   Flying Pigs Free: built in, made in the browser, quality and effort per format,
   a companion that came out larger discarded, and you choose which sizes get one.
   The Delivery panel tests your server and sets delivery up for you, or hands off
   to the delivery plugin you already run.
 * **AI Data Mining.** WordPress: nothing. Flying Pigs Free: the IPTC rights statement(“
   No AI training, allow search indexing” by default) written into every file the
   browser makes.
 * **Media folders on upload.** WordPress: whatever your folder plugin bolts on.
   Flying Pigs Free: pick the folder in the run options; FileBird, Real Media Library,
   CatFolders, Mediamatic, Folders by Premio, Wicked Folders, HappyFiles and any
   hierarchical media taxonomy, with subfolders shown as a tree.
 * **File size.** WordPress: capped by the host’s upload limit. Flying Pigs Free:
   unlimited, chunked under the limit.
 * **A failed upload.** WordPress: failed. Flying Pigs Free: retried, and a run 
   survives a dropped connection or an expired login.
 * **Uploads that adapt to your line and your host.** WordPress: no. Flying Pigs
   Free: batches sized to your line as the run goes.
 * **Optimizer plugins.** WordPress: every upload is handed to Smush, EWWW, ShortPixel
   or the host’s optimizer to be done again on the server. Flying Pigs Free: its
   uploads are already optimized, so they are hidden from those plugins’ on-upload
   hooks and land once.
 * **Cost, limits, accounts.** WordPress: free. Flying Pigs Free: free, no quota,
   no account, nothing leaves your site.

#### What Pro adds

 * **Resize image.** Free optimizes the original at its own dimensions. Pro fits
   it within a width and height before upload (2560×2560 by default, WordPress’s
   own big-image threshold, never upscaled), so a 6,000-pixel camera file never 
   reaches the server.
 * **WebP only.** Free keeps the JPEG or PNG and adds the WebP beside it. Pro, on
   by default, writes the base and every size as WebP and keeps no JPEG or PNG alongside(
   AVIF companions can still sit beside them). Half the files, so it saves disk 
   and, more to the point, inodes, and browsers get the WebP directly with no delivery
   layer. Turn it off to keep the originals. On a slow host the smaller uploads 
   win outright (a throttled shared host, 221 photos: WebP-only 2:34 vs JPEG 3:37).
 * **Watermark.** Bring your own, or build one on the fly in the what-you-see-is-
   what-you-get maker with your text and logo. Applied in the browser before upload,
   on every size, when Optimize original is on.
 * **Turbo boost upload speed.** Free: one upload lane. Pro: up to six parallel 
   lanes. On a host that throttles each connection this is the whole game — one 
   that holds every HTTP/2 stream to about 0.25 MB/s moves roughly six times as 
   much on six lanes; on a fast uncapped link the gain is smaller.
 * **Link check.** Times your line against Cloudflare’s nearest edge and one stream
   to this host, says which of the two sets the pace, and sizes the first batch 
   and the lane count from it. Pro only, and only when you press the button (an 
   automatic mode is a separate switch, off by default). Free makes no call outside
   your site.
 * **Overwrite in place.** Re-upload a file with the same name and it replaces the
   existing attachment at the same URLs, then the builder, gallery and cache references
   to the old size files are repaired: post content, post meta and options, Kadence
   and Spectra galleries, stale srcset lists, and the Elementor, Divi and Smart 
   Slider 3 caches.
 * **File date and post date.** Free files every upload under this month’s folder
   and lists it under today. Pro’s File date picker lands the file in the month 
   of its own date, or a date you choose; Set post date is a separate choice — now,
   the file’s date, or another date — so a product line can be filed under its own
   directory on disk and still show as today’s import in the library.
 * **Updates and support.** Pro updates arrive through WordPress’s own Plugins screen
   from the Flying Pigs channel, and the help desk is a click away in the page.

**What it does**

 * Every registered image size is made in your browser, so the server does no image
   work at all. Every file is written in sRGB with no embedded profile: wide-gamut
   sources (Display P3, Adobe RGB) are converted first, so colours come out right.
 * The original is optimized in the browser by default (about 60% smaller, auto 
   rotated, metadata removed; turn it off to upload it as it is), and PNG to JPG
   conversion is a tick away.
 * WebP and AVIF companions for the original and every size, with a quality and 
   effort per format, and an option to discard a companion that came out larger.
   The Sizes panel picks which sizes are made and which get a WebP or an AVIF.
 * Delivery: the companions use the standard sidecar name (photo.jpg.webp) that 
   delivery plugins already understand; if one is active the panel says so. Otherwise“
   Set up delivery for me” tests the server and turns on a rewrite in the site .
   htaccess where the host honours it (WebP and AVIF, Vary: Accept) or a wrap on
   the page everywhere else. Reversible any time.
 * An AI Data Mining statement in every file the browser makes: the IPTC “Data Mining”
   rights statement (IPTC Photo Metadata Standard 2023.1), “No AI training, allow
   search indexing” by default.
 * Packed batches: hundreds of chunks and items travel in one ~25 MB request, dozens
   of requests per thousand files instead of thousands, which is what keeps a host’s
   rate limiting out of the way.
 * Unlimited file size: files are chunked to fit under the host’s upload limit, 
   so a 1 GB file goes through a 2 MB limit.
 * Retry on error: a failed request is re-sent, in smaller batches when the host
   refuses the size, and a run survives a dropped connection, a login that expires
   mid-run, or a lost response.
 * Media folders on upload for FileBird, Real Media Library, CatFolders, Mediamatic,
   Folders by Premio, Wicked Folders, HappyFiles and any hierarchical media taxonomy,
   shown as a tree.
 * A progress card that pops out into its own window, with MB/s and files per second,
   and badges that list failed files and network errors as they happen.
 * Throttling for shared hosts: upload rate, batch size, pause every N seconds, 
   and a cap on image workers.

**Free means free**

There is no file limit, no monthly quota and no account. Your files go to your own
site only.

### Requirements

 * A browser with WebAssembly threads: Chrome, Edge, Brave, Safari 16.4 or later,
   and Firefox all run the engine (verified on a live site); the plugin’s test suite
   runs in Chrome. iPad and iPhone browsers usually refuse the engine’s memory and
   work in fallback mode (see the FAQ).
 * HTTPS (or localhost). The engine needs SharedArrayBuffer, which browsers enable
   only in a secure, cross-origin-isolated page. Without it the page falls back 
   to classic uploads with server-side thumbnails and says so in its header.
 * No web-server configuration. The page fetches the engine’s files once and starts
   every worker from blobs of them, so the files need no headers or MIME types of
   their own on Apache, LiteSpeed or nginx.
 * No PHP limits to raise. Batches are capped at 25 MB, or 90% of the host’s upload
   limit when that is lower, and sized down from there to your measured line; a 
   file larger than a batch is sent in chunks.

### External services

None. Flying Pigs Free makes no call to any outside service: the image work happens
in your browser and the uploads go to this site’s own REST API. Nothing is sent 
anywhere else, and nothing is collected. (The Pro version has a link check, a speed
test against Cloudflare’s speed-test endpoint that runs when its button is pressed;
the free plugin carries none of that code.)

### Source code

The image engine is wasm-vips, libvips compiled to WebAssembly by Kleis Auke Wolthuizen(
MIT), from https://github.com/kleisauke/wasm-vips. The files under vendor/wasm-vips(
vips-es6.js, vips.wasm and vips-heif.wasm) are that project’s published npm release
0.0.18, unmodified; vendor/wasm-vips/SOURCE.txt records the release, the SHA-256
of each file, and the build instructions. The two .wasm files are the engine itself:
every size, WebP and AVIF file is made by them in the browser, and they are served
from your own site because the plugin loads no code from anywhere else. The plugin’s
own worker, vendor/wasm-vips/fpig-vips-worker.js, and everything else in the plugin
are plain source.

Fonts: DSEG (SIL OFL 1.1) for the run timer and Fredoka (SIL OFL 1.1) for the wordmark,
both under vendor/ with their licenses.

## Screenshots

[⌊The uploader: drop zone, run bar, and the Media, Sizes, Delivery and Advanced 
panels.⌉⌊The uploader: drop zone, run bar, and the Media, Sizes, Delivery and Advanced
panels.⌉[

The uploader: drop zone, run bar, and the Media, Sizes, Delivery and Advanced panels.

## FAQ

### Does anything leave my site?

No. Your files go from the browser to your own site, and the free plugin makes no
request to any outside service; see External services. There is no account or key
in the free plugin.

### Which browsers work?

Any browser with WebAssembly threads: Chrome, Edge, Brave, Safari 16.4 or later,
and Firefox. On a browser without them, and on most iPads and iPhones, the page 
still uploads, with WordPress making the sizes on the server as usual.

### What is fallback mode, and what do I lose in it?

The image work happens in a browser engine that needs a fixed 1 GB of memory per
worker. Desktop browsers grant it; iPadOS and iOS (Safari and Chrome alike, the 
same engine underneath) often refuse it, and so does a page that is not cross-origin
isolated. When you press Start, the page checks the engine first. If it cannot start,
the run does not start: a notice says why, the header switches, and from then on
that device works in fallback mode — the originals upload as they are and WordPress
makes the sizes on the server, the way its own uploader does.

What you lose in fallback is every job only the engine can do: optimizing the original(
auto rotate, remove metadata, resize), PNG to JPG, the AI Data Mining statement,
the WebP and AVIF effort settings, and in Pro the watermark and overwriting in place.
HEIC and other formats the engine decodes but your host’s PHP cannot land as they
are. And the speed win: the host resizes every image again, so the run costs it 
CPU and takes longer. Those options disable on the page with the reason beside them,
so what you see is what will run.

Optimizer plugins such as Smush and EWWW tell WordPress 7.1 to turn its own browser-
side processing off so that originals keep reaching them on the server. That does
not put Flying Pigs in fallback: the page brings its own engine, its own isolation
headers, and hides its uploads from those plugins. A site that really wants the 
server path can return false from the `fpig_client_side_possible` filter.

What you keep is everything the server can honour: the upload machinery itself (
packed batches, chunked large files, retries, run recovery, and Pro’s turbo lanes),
the Sizes panel, JPG quality, WebP and AVIF companions with their quality and discard-
if-larger settings (where the host’s image library writes them), media folders, 
file and post dates, delivery and throttling. WebP only (Pro) works too, in two 
steps: the JPEG or PNG uploads, the server makes its WebP, and the base is dropped
before the file reaches the library.

### Do visitors actually get the WebP and AVIF files?

Only if something serves them, and the Delivery panel makes sure something does.
If a delivery plugin is already active, the panel names it and leaves it in charge;
the sidecar names Flying Pigs writes are the ones those plugins serve. If nothing
is serving them, “Set up delivery for me” tests your server and turns on a rewrite
in the site .htaccess (Apache and LiteSpeed; the panel reports whether WebP, AVIF
and the Vary: Accept header came back from the test) or, where the host will not
honour one, wraps your images in a tag on the page. Both are reversible from the
same panel. Pro’s WebP only needs none of this: the uploads are WebP and are served
as they are.

### Will my optimizer plugin compress the uploads again?

Not on upload. Smush, EWWW, ShortPixel, reSmush.it and the host’s bundled optimizers
take their turn from WordPress’s upload hooks, and Flying Pigs lifts them off for
its own writes, so a file optimized in the browser lands once and stays as the browser
made it. A bulk or background optimizer that scans the library later can still touch
the files; leave those off for the pig’s uploads or exclude the folder.

### Can it tell AI crawlers to leave my photos alone?

It can say so, in the file. The Media panel’s AI Data Mining option writes the IPTC“
Data Mining” rights statement (IPTC Photo Metadata Standard 2023.1) as an XMP packet
into every file the browser makes: the original when it is optimized, every size,
every WebP and AVIF. Choose “No AI training, allow search indexing” (the default),“
No AI training, no search indexing”, “Allow AI training” or “No statement”. With
Remove metadata on it is the only metadata that travels (about 400 bytes); off, 
the original keeps its own metadata with the statement merged into its XMP packet,
while sizes and companions carry the statement alone, as WordPress strips their 
metadata. It is a statement, not a lock: crawlers that read the standard honour 
it, and the rest do not. It is engine work, so fallback mode lands files without
it. For a signal crawlers cannot miss, add robots.txt rules or an X-Robots-Tag header
for your uploads folder as well.

### Does it work with my folder plugin?

FileBird, Real Media Library, CatFolders, Mediamatic, Folders by Premio, Wicked 
Folders (once its media folders are switched on in its settings), HappyFiles, and
any plugin that files media under a hierarchical taxonomy. Pick the folder in the
run options, subfolders included, and every upload in the run lands in it. Media
folders are virtual: they never change where the file sits on disk. That is the 
File date picker’s job, in Pro.

### What is in Pro?

Resize image before upload (2560×2560 by default), WebP only (store only the WebP,
with no JPEG or PNG kept), a watermark with a text and logo maker, turbo-boost multi-
lane uploads with a link check that sizes them, overwriting existing files in place
with builder and gallery references repaired, the File date picker (the file’s own
date, or one you choose, decides the uploads folder) and a separate Set post date,
photos onto WooCommerce products by the SKU in their names, plus updates through
WordPress’s Plugins screen and the help desk. Optimizing, PNG to JPG, WebP and AVIF
companions, choosing which sizes to make and which get a companion, delivery, the
AI Data Mining statement and media folders are all free. See [flying-pigs.wpspeedmeup.com](https://flying-pigs.wpspeedmeup.com/)
for Pro.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Flying Pigs Uploader” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ herb morris ](https://profiles.wordpress.org/48hmorris/)

[Translate “Flying Pigs Uploader” into your language.](https://translate.wordpress.org/projects/wp-plugins/flying-pigs-uploader)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/flying-pigs-uploader/),
check out the [SVN repository](https://plugins.svn.wordpress.org/flying-pigs-uploader/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/flying-pigs-uploader/)
by [RSS](https://plugins.trac.wordpress.org/log/flying-pigs-uploader/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.11.98

 * Upload complete reads like the desktop app’s popup: a slate panel with the title
   in a pill, the entries line, then “Optimizer Results – Average Savings” in two
   rows: Base Image, Add WebP and Add AVIF, then the WebP and AVIF thumbnails, every
   one shown, n/a when nothing was made. A saving is green; a negative one (a companion
   that came out larger, kept because discarding is off) is amber. The protocol 
   and browser-processing readings follow in smaller type. A stopped run’s card 
   appears the moment Stop is pressed, with a line saying active uploads may take
   several seconds to finish, and the controls read WAIT until they have; the numbers
   settle then. A run the network monitor stopped is titled “Upload Network Error”
   in a red pill, with the reason and “Please check your WordPress server and network
   configuration.”
 * Fix (Free): unticking a size in the Sizes panel’s Base column snapped back to
   all sizes. Choosing which sizes to make is a Free feature, but the server-side
   save of that list was inside a Pro-only block, so the Free build dropped it and
   the save’s reply put the old list back. Pro was unaffected.
 * The Media panel’s head reads “WebP only” when WebP only is on, instead of just“
   WebP”.
 * Fix: Advanced  Browser processing off had no effect until the page was reloaded,
   so flipping it and pressing Start still processed in the browser. The switch 
   now takes effect on the next run, and the header says so at once.
 * Upload complete: “Main image” is now “Base Image”. In WebP only there is no base
   file, so Base Image reads n/a and the saving of the WebP against the camera file
   shows under Add WebP.
 * Pro needs an active license to upload. Without one Start is greyed with a note,
   the header badge reads Unlicensed, and the server refuses upload requests; the
   monthly trial allowance of 100 files is gone. The free plugin on WordPress.org
   is the trial.
 * Photos to products: the Media Library’s “Uploaded to” column names the product,
   and when photos land out of order the row that briefly held the product-image
   slot is corrected to “gallery”.
 * Photos to products (Pro, WooCommerce): a run option, “Attach to WooCommerce products
   by SKU” (shown with WooCommerce active). name each photo after the product’s 
   SKU: 10023.jpg becomes the product image of SKU 10023; 10023-1.jpg, 10023-2.jpg…
   fill its gallery in that order (10023.0.jpg, 10023.1.jpg … work too, the naming
   in WooCommerce.com’s bulk product image guide); a variation’s SKU sets the variation’s
   image. On a product that already has an image, the photo named for the product
   image takes its place and the old image moves to the front of the gallery; the
   numbered photos join the gallery in order. Each row says what it attached to,
   and the Upload complete card counts photos, products and photos with no matching
   SKU. Free shows the option as a stand-in with the PRO badge when WooCommerce 
   is active.

#### 0.11.97

 * Browse folder: a button beside Browse opens the browser’s folder chooser and 
   stages every file under the folder you pick, subfolders included. For browsers
   where a dropped folder does not arrive (a Chromebook’s Files app hands a page
   its files but not its folders) and for touch screens, where dragging a folder
   is awkward.

#### 0.11.96

 * The secure-context check no longer calls str_ends_with(), so nothing in the plugin
   depends on a PHP 8 function (WordPress supplies that one on PHP 7.4, but the 
   plugin should not lean on it).
 * vendor/wasm-vips/SOURCE.txt names the bundled engine release, wasm-vips 0.0.18,
   with the SHA-256 of each file so the copies can be checked against the npm package.
 * New artwork: the pig now flies a cargo plane.

#### 0.11.95

 * The link check (a speed test against Cloudflare) is a Pro feature now: Free uploads
   on one lane, so the reading only ever sized the first batch there. Free makes
   no call outside your site at all; the Advanced panel shows the check in place,
   disabled and badged PRO.
 * Non-image uploads load WordPress’s admin media helpers only for audio and video,
   where its metadata reader needs them.

#### 0.11.94

 * The panel’s buttons are smaller and read in their own case: 29px tall with 11px
   sides instead of 32 and 14, and labels show as written (Start upload, Browse,
   Choose image…) instead of all caps, so the setup controls no longer look like
   primary actions. A clicked button goes back to hollow once the pointer leaves
   it; it used to stay filled, because the fill followed focus, until something 
   else took focus. Keyboard focus still fills it.

#### 0.11.93

 * The engine’s files (the worker script, the wasm-vips module and its two wasm 
   binaries, 8.5 MB) are fetched once per page and every image worker starts from
   blobs of them. A worker spawned during a network blip used to die on its script
   fetch and fail the file it was for; a host that marks scripts no-store made every
   spawn refetch them; and the libvips threads refetched the module ten times per
   worker. Now nothing is fetched at spawn time, the files need no headers or MIME
   types on any host (Safari included; the PHP endpoint of 0.11.92 is gone), and
   the wasm streaming compile works everywhere because the blob carries its own 
   type.
 * A dropped request in the Network errors list says where it dropped — “connection
   lost while sending the upload (12.3 of 25.0 MB sent)” or “connection lost while
   waiting for the server (upload finished in 29s)” — instead of a bare “network
   error”. The browser reports no status for these, so the phase is the useful fact:
   the first is the line, the second is the host.
 * Both log levels default to Errors instead of Off, so a site always keeps the 
   lines that explain a slow run — lane drops, a 503, a worker crash — without the
   verbose chatter. A factory reset lands there too.
 * A failed engine check gets a second chance. A worker that died or never answered
   with no cause given (a blocked or slow first fetch of the engine scripts — seen
   once in Brave) used to mark the device engine-down for the life of the page, 
   so every later Start uploaded the server way until a reload. Now the next Start
   probes once more, with a 20-second wait, and the page returns to browser processing
   if the engine comes up. A boot error with a cause (iPadOS refusing the heap) 
   still stands.
 * Server time is the upload handler alone, from entering the upload to leaving 
   it. WordPress and the site’s plugins booting for each request, seconds on a shared
   host, used to be counted as server time, so a run doing 0.2 s of plugin work 
   per batch read as “the server took 30% of batch time” and lost its lanes. The
   boot now shows as its own figure (wp=) in the log, and the lane rule reads the
   handler time only.
 * The Network errors list names the HTTP status when the server sent one: “server
   answered 503 with an error page” instead of “bad response from server”, so a 
   host pushing back (503, 429) is told apart from a PHP crash mid-answer.

#### 0.11.92

 * Faster: an idle image worker used to be thrown away and rebooted after every 
   50 engine calls, a habit from an earlier engine build whose memory could grow.
   This build’s heap is fixed, so the recycle only cost a boot every five or six
   photos — about a third of a run’s engine time. Gone.
 * The client log now records image-worker crashes (what killed the worker, how 
   many answers it had given, how many workers remain and the pool cap for the rest
   of the run) and, at debug level, each worker start. A run that slowed because
   the browser killed workers under memory pressure used to explain itself only 
   in the browser console.
 * Start answers at once: the progress card appears on the click and reads “Saving
   settings”, “Checking the image engine” and “Clearing old sessions” as each step
   runs, instead of the page sitting still for the seconds those take on a slow 
   host. The engine is warmed when images are dropped, so Start usually finds it
   already up.
 * Fix: Start upload disables the moment it is clicked. The steps before the status
   appears (saving settings, probing the engine, clearing old sessions) take a few
   seconds on a slow host, and a second click in that gap uploaded every file twice.
 * Fix: Safari ran in fallback mode (“Image engine could not start on this device:
   failed to start (no error details)”, the originals uploaded as they were and 
   the server made the sizes) since 0.11.88 removed the header file beside the engine’s
   scripts. WebKit, unlike Chrome and Firefox, checks the isolation header on every
   script a worker imports, not only on the worker’s own blob. The two engine scripts
   now come from the plugin itself with the header on every host, Apache, LiteSpeed
   and nginx alike; the wasm files stay static.

#### 0.11.91

 * First release in the WordPress.org plugin directory.

## Meta

 *  Version **0.11.101**
 *  Last updated **18 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AVIF](https://wordpress.org/plugins/tags/avif/)[bulk upload](https://wordpress.org/plugins/tags/bulk-upload/)
   [media library](https://wordpress.org/plugins/tags/media-library/)[upload](https://wordpress.org/plugins/tags/upload/)
   [webp](https://wordpress.org/plugins/tags/webp/)
 *  [Advanced View](https://wordpress.org/plugins/flying-pigs-uploader/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/flying-pigs-uploader/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/flying-pigs-uploader/reviews/)

## Contributors

 *   [ herb morris ](https://profiles.wordpress.org/48hmorris/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/flying-pigs-uploader/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://flying-pigs.wpspeedmeup.com/corn/)