{
  "slug": "bw-map-magnet",
  "name": "BW Map Magnet",
  "version": "1.1.0",
  "download_url": "https://plugins.bowden.works/wp-content/uploads/plugin-updates/bw-map-magnet-1.1.0.zip",
  "download_hash": "sha256:0d55bdbc734d6fedccd129030eba1ce3e1aa463248fff22a3409b1aaef608c4a",
  "download_size": 213891,
  "requires": "6.0",
  "tested": "",
  "requires_php": "7.4",
  "last_updated": "2026-05-14",
  "homepage": "https://plugins.bowden.works/bw-map-magnet/",
  "author": "Bowden Works",
  "description": "Showcase locations on a map with hover-to-zoom interaction for activities, restaurants, attractions and more.",
  "changelog": "## [1.1.0] - 2026-05-14\n\n### Added\n- CSV importer can now download remote `image_url` values and attach them as the post's featured image. Opt-in via a new \"Download images and set as featured images\" checkbox on the Import / Export screen. The importer uses `download_url()` + `media_handle_sideload()` and sets alt text from the post title. If a download fails for any row, the URL is kept as the fallback `_bw_map_image_url` meta (so the frontend still renders the thumbnail from the remote source).\n- Per-row image-download stats are surfaced in the result notice (\"Images downloaded: N · Image downloads failed: M\") and any failed rows are listed in the error log.\n- `set_time_limit( 600 )` is requested up-front during import so larger CSVs with many image downloads don't hit PHP's default 30 s execution limit.\n\n### Fixed\n- The sideloader registers a high-priority repair filter on `wp_check_filetype_and_ext` for the duration of each sideload. Some site-wide plugins (notably SVG-upload extensions) intercept this filter at priority 10 and over-blank the result, breaking legitimate JPEG/PNG uploads with \"Sorry, you are not allowed to upload this file type.\" The repair filter detects when upstream filters returned empty data and restores the correct `ext`/`type` based on a content-sniffed MIME, then unhooks itself. Other code paths are unaffected."
}
