1.36 September 12, 2026 Cast $parent_post->post_author to int before passing to wp_update_post() (PHPStan finding — WP_Post properties come back as strings from the DB).

1.35 September 12, 2026 Removed the dead reconstruct_url() method (confirmed unused anywhere in the plugin). Split plugin_options() into a controller and a new partials/admin-page.php view, matching the existing partials/upload.php convention — the whole admin page’s markup now lives in partials/, none of it inline in the class.

1.34 September 12, 2026 Plugin-check hardening: added ABSPATH direct-access guards, escaped output (esc_html__/esc_attr/esc_html), sanitized and unslashed $_POST/$_GET reads with isset() checks, replaced unlink() with wp_delete_file(), removed the discouraged load_plugin_textdomain() call (WordPress auto-loads translations for wp.org-hosted plugins since 4.6), added a License/License URI header. Readme cleanup: tags trimmed to 5, "Tested up to" bumped to 7.1, Stable tag synced to the plugin version.

1.33 September 12, 2026 Added the lh-add-media-from-url/add-media-from-url MCP ability (gated to upload_files, matching the manual upload form’s own capability check), wrapping save_external_file() so an MCP agent can fetch a remote URL into the media library the same way the manual wp-admin form does.

1.32 September 12, 2026 Added plugin_name()/plugin_version() identity methods and an init filter gate (lh_add_media_from_url_init_plugin), per LH plugin conventions.

1.31 September 12, 2026 Removed a stray invalid line sitting before the class declaration. Fixed reconstruct_url() (was reading hostname instead of host). Removed dead bookmarklet code. handle_upload_v2() now returns a WP_Error on a failed capability check instead of silently returning null. add_media_from_url() no longer redirects on an empty result. Renamed includes/lh-copy-from-url-class.php -> includes/lh-add-media-from-url-copy-from-url.php (class LH_copy_from_url_class -> LH_add_media_from_url_copy_from_url), now a composed helper aligned to the plugin’s own namespace (this also renamed the _remote_get_args filter from lh_copy_from_url_class_remote_get_args to lh_add_media_from_url_remote_get_args). guess_file_extension() now uses wp_check_filetype_and_ext() against the local temp file instead of a second, unprotected fetch of the remote URL via exif_imagetype().

1.30 August 20, 2024 Minor security fix.

1.23 January 15, 2024 Bug fix.

1.22 April 16, 2021 Bug fix.

1.21 April 08, 2021 Added a filter to wp_remote_get.

1.20 March 05, 2021 Updated lh-copy-from-url-class.php again.

1.15 October 08, 2017 Updated lh-copy-from-url-class.php.

1.14 September 13, 2017 Added language directory.

1.13 September 13, 2017 Translatable strings.

1.12 August 05, 2017 Latest copy file class.

1.11 August 03, 2017 Separate file.

1.10 July 30, 2017 Moved uploader to separate class.

1.09 July 30, 2017 File type fixes.

1.08 July 30, 2017 Rejigged upload handling.

1.06 March 11, 2016 More documentation.

1.05 March 10, 2016 Added documentation.

1.0 November 13, 2015 Initial release.