The wait is over. It has been more than 1 year and 3 months or 467 days since our last release v3.1. During this period we got asked several times why there has not been a new release for so long. The answer is simple: when Thorsten took over the lead in developing Maps Marker Pro about 2 years ago, it became pretty clear soon, that a complete rewrite would be needed in order to lift Maps Marker Pro to the next level and build a sustainable codebase for future developments.
So instead of tweaking the existing code – with all the known limitations that grew over the last 5 years of development – we decided to start from scratch and implement a complete object-oriented rewrite of the codebase.
To give you an idea about the scope of the changes, here some stats for Maps Marker Pro 4.0 development:
While this process took quite a few months to complete, the long-term benefits are absolutely worth it.
During the development process it became also clear very soon, that Maps Marker Pro 4.0 would need to be implemented as a new plugin in order to avoid any technical debt from the older version. Nevertheless we also focused backward compatibility so that the upgrade from 3.1.1 for existing users is as smooth as possible: as you can see from the update tutorial below, we built a migration tool which helps you update your marker shortcodes (which have been depreciated in 4.0). Anyway as v4.0 is a complete new plugin (using the slug maps-marker-pro in contrast to leaflet-maps-marker-pro in v3.1), all data from v3.1.1 is migrated to new database tables – so in case the migration should not work as expected (which we consider unlikely though due to 4 beta releases and 6 release candidates), all you would need to do is to disable v4.0 and enable v3.1.1 again.
Please be aware that the docs and FAQ have not been fully updated to reflect all 4.0 changes – we decided to release v4.0 nevertheless as we did not want to postpone the release any further because of this. An updated user documentation and frequently asked questions will be added soon.
Let us know what you think about this new release by submitting a review or leaving a comment below!
Please be aware of some profound changes:
tabbedfor displaying maps in tabs
mapsmarker lat="48" lon="16" markers="1,2,3,4"
Although we focused on backward compatibility, it also became clear that not all features can be fully ported to v4.0, either because the used components are not supported anymore or because it would break other functionality which is essential for Maps Marker Pro v4.0:
inputtags from popuptexts if option “HTML filter for popuptexts (wp_kses)” is enabled
No technology is perfect, and neither is ours. Although security was a high priority for us during v4.0 development, there may be things that we can have overlooked. If you think you found a security issue, please report it to us safely by submitting your report via our hackerone bug bounty program.
All included translations have been updated thanks to 100+ translators helping to use Maps Marker Pro in your language.
For credits please see the full changelog at the end of this page.
For a tutorial on how to update to version 4 and migrate existing maps please have a look at this user guide in our knowledge base.
That´s it – now you can start using Maps Marker Pro v4.0 – happy mapping 🙂
It is recommended for 4.0 beta testers to re-run the migration tool, as some bugs have been fixed and settings have been changed with v4.0. In case the migration tool is not re-run, some default settings (especially for settings using checkboxes) will be used instead, unless you re-apply your custom settings manually.
Anyway please be aware that all new maps or markers that were created or any changes made to migrated maps or markers since the installation of any 4.0-beta or 4.0-RC release will be lost if the migration tool is executed again!
For directly downloading and installing the v4.0 package as zip file, please click here.
For an archive of all available releases, please click here.
For the SHA-256 hash value and the number of files for this release please check the following file: https://www.mapsmarker.com/SHA256SUMS.txt
This file is digitally signed with our PGP key, key signature file available at https://www.mapsmarker.com/SHA256SUMS.txt.asc
Click here for a tutorial on how to verify the integrity of the plugin package (recommended if the plugin package for a new installation was not downloaded from https://www.mapsmarker.com – verification is not needed though if the automatic update process is used)
If you want to use v3.1.1 again, please first deactivate Maps Marker Pro v4.0 and then activate Maps Marker Pro v3.1.1 again. Then navigate to Settings / Permalinks and press the “Save changes” button once.
Please be aware that any new maps or marker changes which have been made with Maps Marker Prov 4.0 will not be visible with Maps Marker Pro v3.1.1, as a complete new database schema is used!
Changelog for version 4.0 - released on 18.08.2018 (release notes)
|complete rewrite / refactorization of the code base from procedural to object oriented|
|decreased download size for marker data, allowing for up to 75% faster map loading|
|advanced customization for maps: settings are now saved on a map basis instead of globally|
|upgraded leaflet.js ("the engine of Maps Marker Pro") from v1.0.3 to v1.3.4 including optimizations and bugfixes - please see blog post on leafletjs.com and full changelog for more details|
|support for GPX elevation charts and waypoints as well as multiple tracks|
|support for HERE basemaps|
|options to display the list of markers right or left to a layer map|
|option to add a link instead of a popup for markers|
|Leaflet.GestureHandling support (prevents users from getting trapped on the map when scrolling a long page)|
|(retired) Wikitude augmented reality API has been replaced with layar.com API|
|optimized permission system with Maps Marker Pro capabilities for better access control (attention: by default only admins have access!)|
|fractional zoom support (new interaction options: zoomDelta and zoomSnap)|
|separate settings to show address, coordinates (new) and directions of markers in popup|
|support for bing canvas dark, canvas light and canvays grey basemaps (disabled by default)|
|option to set maximum boundaries for maps to limit panning (button "Restrict to current view")|
|possibility to override global settings for each map by using new shortcode parameters|
|batch selection buttons (all/none) for layers in filter controlbox|
|API dashboard for Photon@Mapsmarker geocoding at https://www.mapsmarker.com/photon showing the API usage of the last hour|
|automatically parse map shortcodes in category & post tag description and term fields|
|support for condensed attribution|
|options to change positions of all available control boxes|
|new shortcode parameter |
|Easily change defaults for new maps by using the "Save current values as defaults for new maps" feature|
|compatibility check for LiteSpeed Cache which can cause maps to break|
|add Yoast SEO sitemap integration|
|improved performance by reducing the number of database queries needed and the use of caches where possible|
|optimized CSS & JS loading mechanism resulting in load time reduction of up to 20%|
|CSV/XLS(X)/ODS import/export has been replaced with native JSON import/export feature (tutorial for converting JSON into office formats)|
|simplified map concept: "marker maps" have been removed, "layer maps" were renamed to "maps" (to which you can assign objects like markers)|
|simplified multi-layer-map concept, now called filters with the option for custom sort order of filters|
|Photon@Mapsmarker: show streetnames+housenumbers for geocoding results if available|
|removed MapQuest basemap support (due to MapQuest basemaps now requiring their own API, making them incompatible to be implemented into a standard Leaflet installation; existing MapQuest maps will be switched to OpenStreetMap automatically)|
|removed depreciated Mapbox v3 integration (will be replaced with v4 with a future release)|
|removed six compatibility checks for plugins/themes which are not needed anymore due to Maps Marker Pro 4.0 rewrite|
|removed settings for (depreciated) mobile web app launch images and add simplified support for web app icons|
|replaced (retired) Visualead QR code generator with local jQuery QR code generator (QR codes can now be accessed on backend / "list all maps" only)|
|disabled tooltips by default on mobile devices as hover event is not available (thx Dirk!)|
|set interaction option "tap" to false by default to prevent issues with scrolling over maps on mobile devices (thx Thomas!)|
|GPX metadata is now displayed in a popup which opens by clicking on the track (instead of a dedicated GPX panel below the map)|
|updated language settings to choose frontend and backend language separately|
|increased rate limit for Photon@MapsMarker geocoding from 5.000 to 10.000 requests per day and from 10 to 20 requests per second|
|update leaflet-locatecontrol from v0.58 to v0.63 (includes bugfixes & leaflet 1.1.0 compatibility)|
|update leaflet-fullscreen codebase (support AMD and Node/CommonJS module systems, thx mpschaeuble!)|
|updated minimap addon from v3.4.0 to v3.5.0 (support for miminize/restore events - release notes)|
|optimized plugin folder structure (some plugin compatibility configs might need to be re-applied)|
|updated Algolia autocomplete.js from v0.21.7 to v0.29 (changelog)|
|updated es6-promise for IE11/Google Mutant from v4.1.0 to v4.2.5 (bugfix release)|
|updated Leaflet.MarkerCluster.LayerSupport from v1.0.3 to v1.0.4 (fixing issues with chunkedLoading)|
|updated EdgeBuffer plugin for pre-loading tiles beyond the edge of the visible map to v1.0.6|
|minimum required WordPress version for Maps Marker Pro increased to 4.5 (needed for Gutenberg compatibility)|
|removed hash plugin|
|do not strip |
|reduced timeouts for license API fallback calls to prevent issues on sites with connection issues|
|load map tiles for OSM Black&White and DE variant via https to prevent mixed-content warnings (thx Annette!)|
|shortcode parsing for WordPress audio and video tags in popups on layer maps was broken if wp_keses() was enabled|
|list of markers: show entries only once if marker is assigned to several layers|
|activation & deactivation functions were not processed since v3.0|
|broken permalink compatibility check returning wrong URL|
|incorrect marker count on list of markers when using multi-layer-maps|
|incorrect content-type when using callback for GeoJSON|
|WPML/Polylang: missing string registration for translatable elements if importer is used (thx Laurent!)|
|admin dashboard widget could be broken if PHP 7.1+ was used|
|OOM (Out of memory) error during SPBAS local key validation|
|manual selection of Slovenian as interface language was broken (thx Igor!)|
|Google logo credits link was broken on iOS devices|
|improved: global sanitation check for all settings instead of individual output filtering|
|updated Bosnian translation thanks to Kenan Dervišević||→ contribute|
|updated Catalan translation thanks to Roc, Efraim Bayarri, Vicent Cubells and Marta Espinalt||→ contribute|
|updated Czech translation thanks to Viktor Kleiner and Vlad Kuzba||→ contribute|
|updated Danish translation thanks to Mark Aabo Pedersen, Mads Dyrmann Larsen and Peter Erfurt||→ contribute|
|updated German translation by Maps Marker Pro team and Daniel Luttermann||→ contribute|
|updated Greek translation thanks to Charalampos Konstantopoulos, Philios Sazeides, Evangelos Athanasiadis and Vardis Vavoulakis||→ contribute|
|updated Spanish translation thanks to David Ramírez, Alvaro Lara, Victor Guevara, Ricardo Viteri, Juan Valdes & Marta Espinalt and Fernando Coello||→ contribute|
|updated Spanish/Mexico translation thanks to Victor Guevera and Eze Lazcano||→ contribute|
|updated Finnish translation thanks to Jessi Björk||→ contribute|
|updated French translation thanks to Vincèn Pujol, Rodolphe Quiedeville, Fx Benard, Cazal Cédric, Fabian Hurelle and Thomas Guignard||→ contribute|
|updated Galician translation thanks to Fernando Coello, Jorge Castro Ruso||→ contribute|
|updated Hungarian translation thanks to István Pintér and Csaba Orban||→ contribute|
|updated Croatian translation thanks to Neven Pausic, Alan Benic and Marijan Rajic||→ contribute|
|updated Indonesian translation thanks to Andy Aditya Sastrawikarta & Emir Hartato and Phibu Reza||→ contribute|
|updated Italian translation thanks to Luca Barbetti and Angelo Giammarresi||→ contribute|
|updated Japanese translations thanks to Shu Higash and Taisuke Shimamoto||→ contribute|
|updated Korean translation thanks to Andy Park||→ contribute|
|updated Lithuanian translation thanks to Donatas Liaudaitis and Donatas Liaudaitis||→ contribute|
|updated Latvian translation thanks to Juris Orlovs and Eriks Remess||→ contribute|
|updated Malay translation thanks to Mohd Zulkifli||→ contribute|
|updated Norwegian (Bokmål) translation thanks to Inge Tang||→ contribute|
|updated Dutch translation thanks to Ronald Smeets, Marijke Metz, Patrick Ruers, Fokko van der Leest and Hans Temming||→ contribute|
|updated Polish translation thanks to Pawel Wyszyński, Tomasz Rudnicki, Robert Pawlak, Daniel and Paul Dworniak||→ contribute|
|updated Portuguese - Brazil translation thanks to Fabio Bianchi, Andre Santos and Antonio Hammerl||→ contribute|
|updated Romanian translation thanks to Arian, Daniel Codrea and Flo Bejgu||→ contribute|
|updated Russian translation thanks to Ekaterina Golubina (supported by Teplitsa of Social Technologies - http://te-st.ru) and Vyacheslav Strenadko, http://slavblog.ru||→ contribute|
|updated Slovenian translation thanks to Igor Čabrian||→ contribute|
|updated Slovak translation thanks to Zdenko Podobny||→ contribute|
|updated Swedish translation thanks to Olof Odier, Tedy Warsitha, Dan Paulsson, Elger Lindgren, Anton Andreasson and Tony Lygnersjö||→ contribute|
|updated Thai translation thanks to Makarapong Chathamma and Panupong Siriwichayakul||→ contribute|
|updated Turkish translation thanks to Emre Erkan, Mahir Tosun and Cagatay Demir||→ contribute|
|updated Ukrainian translation thanks to Yaroslav B Yaroshevskyy, Andrexj, Sergey Zhitnitsky and Mykhailo||→ contribute|
|updated Vietnamese translation thanks to Hoai Thu||→ contribute|
|updated Chinese translation thanks to John Shen and ck||→ contribute|
|updated Chinese translation thanks to Jamesho Ho||→ contribute|