---
title: "ChangeLog"
manual: "maps2 (Maps2)"
version: "13.1"
source: "ChangeLog/Index.rst"
rendered: "2026-10-01T12:50:05+00:00"
---

# ChangeLog {#changelog}

## Version 13.1.1 {#version-13-1-1}

-   BUGFIX: Fix TypeError when rendering internal page links in info window content
-   BUGFIX: Use fluid.html file ending in default info window template path

## Version 13.1.0 {#version-13-1-0}

-   FEATURE: Support coalesce/concat resolution strategies for the
    `foreignColumnName` of `synchronizeColumns`, allowing fallback columns and
    combined columns (including arbitrary nesting of both strategies)
-   BUGFIX: Fix TypeError in CreateMaps2RecordHook when synchronizing columns
    (SynchronizeColumn was accessed via array offset instead of its getters)

## Version 13.0.2 {#version-13-0-2}

-   BUGFIX: Load assets for embedded map in EditPoiCollection partial

## Version 13.0.1 {#version-13-0-1}

-   BUGFIX: Fix TypeError in OpenStreetMap2 JS when no PoiCollection is assigned
-   BUGFIX: Fix XSS via category title/uid in OpenStreetMap2 and GoogleMaps2 category checkboxes
-   TASK: Replace gulp with esbuild for building the JavaScript assets

## Version 13.0.0 {#version-13-0-0}

-   Compatibility fixes for TYPO3 14 LTS
-   Remove TYPO3 13 compatibility
-   Introduce Environment configuration state and EnvironmentFactory, replacing SettingsHelper
-   Add MapProviderEnum and MapperFactory to streamline Google Maps / OpenStreetMap handling
-   Refactor Google Maps initialization to use the async Google Maps JavaScript API
-   Add support for Google Maps Map ID configuration
-   Fix OpenStreetMap backend map rendering when switching FormEngine tabs
-   Replace QueryBuilder injection with ConnectionPool throughout the extension
-   Migrate sys_category TCA overrides to the current TYPO3 14 API
-   Add ColumnRegistration to make Maps2Registry storage configuration type-safe
-   Migrate Maps2Registry from a JSON-file-based Singleton registry to a
    TcaSchemaFactory-driven, cached, event-listener-based column detection
-   Replace useNonce with csp in asset definitions for Content Security Policy compliance
-   Remove deprecated MapProviderRequestService, GetExtConfTrait and GetTypo3RequestTrait
-   Replace Extbase @validate annotations with PHP attributes
-   Declare service, mapper and helper classes as readonly and/or final wherever possible
-   Rename Fluid templates to use the .fluid.html extension
-   Introduce Rector configuration under Build/rector for automated code modernization
-   Update testing-framework dependency to ^9.5.0 and refactor test suite accordingly

## Version 12.1.1 {#version-12-1-1}

-   Replace hardcoded tab labels with localized labels in tt_content

## Version 12.1.0 {#version-12-1-0}

-   Fixed issue with extracting OpenStreetMap house number

## Version 12.0.12 {#version-12-0-12}

-   Updated wizard title with \[extension\] name format
-   Updated wizard identifier prefix

## Version 12.0.11 {#version-12-0-11}

-   Create fake TYPO3_REQUEST in CLI mode

## Version 12.0.10 {#version-12-0-10}

-   Check for TYPO3_REQUEST before accessing it

## Version 12.0.9 {#version-12-0-9}

-   Update testing directory

## Version 12.0.8 {#version-12-0-8}

-   Add pages and recursive back to tt_content types

## Version 12.0.7 {#version-12-0-7}

-   Add ajaxUrl to embed environment
-   Activate deep merge for GM JS lib

## Version 12.0.6 {#version-12-0-6}

-   Load assets for embedded map in Maps2/PoiCollection partial

## Version 12.0.5 {#version-12-0-5}

-   Remove ScriptDynamic from CSP rules

## Version 12.0.4 {#version-12-0-4}

-   Update CSP rules

## Version 12.0.3 {#version-12-0-3}

-   Set addQueryString to "untrusted" in RequestUriForOverlay VH

## Version 12.0.2 {#version-12-0-2}

-   Disable page cache usage while rendering the info window content

## Version 12.0.1 {#version-12-0-1}

-   Add cookie consent to searchwithinradius and citymap plugin

## Version 12.0.0 {#version-12-0-0}

-   Compatibility fixes for TYPO3 13 LTS
-   Remove TYPO3 12 compatibility
-   Repair translation handling incl. Info Window Content
-   Migrate maps2 plugins to content elements. Implement Upgrade Wizard.
-   Migrate Standalone View to ViewFactory
-   Use PoiCollectionService insteadof individual DB queries
-   Use DI wherever possible
-   Migrate TypoScript to three Site Sets
-   Declare classes as readonly and/or stateless wherever possible
-   Migrate GeneralUtility::makeInstance to DI, if possible
-   Use PHP Attributes for Extbase Validators
-   Migrate plain SQL Query to Doctrine QueryBuilder to find POI on earth
-   Make use of more constants in classes, if possible
-   Migrate Extbase Ajax call to Middleware
-   Make use of new HashService
-   Implement new InfoWindowContentService
-   Implement new PoiCollectionService. DB queries without Extbase context.
-   Load CSS/JS from VH assets instead from TypoScript
-   Create table and columns via TCA. Schema API
-   Move l10n_parent to palettes
-   Remove ext_tables.php file
-   Migrate static VHs to use original render method again
-   Add configuration for CSP (Configuration/ContentSecurityPolicies.php)
-   Add Site Sets for Google Maps and OpenStreetMap
-   Migrated tests to "podman"
-   Upgrade tests against MariaDB 10.4 to 10.5

## Version 11.0.3 {#version-11-0-3}

-   BUGFIX: Implement better `extend` function for JavaScript

## Version 11.0.2 {#version-11-0-2}

-   BUGFIX: Do not store FlashMessages in BE session in CLI context

## Version 11.0.1 {#version-11-0-1}

-   BUGFIX: Use correct TypoScript syntax for settings.mapTypeId

## Version 11.0.0 {#version-11-0-0}

-   BUGFIX: Show info window content for TYPO3 instances where FE/pageNotFoundOnCHashError is active
-   DOCU: Add section about routing configuration

## Version 10.0.10 {#version-10-0-10}

-   BUGFIX: Repair OSM UpgradeWizard for TYPO3 10

## Version 10.0.9 {#version-10-0-9}

-   BUGFIX: Exclude external Google Maps JS script from concatenation
-   BUGFIX: Update to new OSM Geocode URI. Please execute UpgradeWizard
-   DOCU: Set indents to 4 spaces

## Version 10.0.8 {#version-10-0-8}

-   BUGFIX: To allow h\* tags in info_window_content we have moved preview as fieldWizard below RTE

## Version 10.0.5 {#version-10-0-5}

-   BUGFIX: Create new Overlay Partial, so it can be used from foreign extensions
-   TASK: Deprecate getRequestUri() in PoiCollectionController
-   FEATURE: Add new RequestUriForOverlay ViewHelper
-   FEATURE: Add new IsRequestToMapProviderAllowed ViewHelper
-   TASK: Add FETCH_ASSOC to all fetch() methods to prevent deprecation logs
-   BUGFIX: Catch JsonException if Maps2Registry config is empty

## Version 10.0.4 {#version-10-0-4}

-   BUGFIX: A reload bypasses consent

## Version 10.0.3 {#version-10-0-3}

-   BUGFIX: Better implementation for category selector

## Version 10.0.2 {#version-10-0-2}

-   Apply isset to $dataHandler->substNEWwithIDs\[$uid\] before accessing record UID

## Version 10.0.1 {#version-10-0-1}

-   Check for existence of poi table before loading UpgradeWizard

## Version 10.0.0 {#version-10-0-0}

-   Remove TYPO3 9 compatibility
-   Add TYPO3 11 compatibility
-   Removed tx_maps2_domain_model_poi table (Please execute UpgradeWizard)
-   Update Documentation (Adopt TYPO3 Doc Styleguide)
-   Move MapService::getMapProvider to MapHelper:getMapProvider
-   Remove MapProviderOverlayRequestHandler
-   Implement new uncached ControllerAction to show Overlay
-   Replace PoiCollection and EditPoiCollection Widget
-   Add new setting: overlay.link.addSection
-   Category selection in FE works for area, route and radius, too.
-   Add SettingsHelper to get streamlined settings
-   Add extbase.flashmessages.maps2 queue identifier for non-controller FlashMessages
-   Rename sDEFAULT to sDEF in FlexForm
-   Change frontend behaviour for multiple categories

## Version 9.3.10 {#version-9-3-10}

-   BUGFIX: Show InfoWindowContent in translated language

## Version 9.3.9 {#version-9-3-9}

-   BUGFIX: Add all GET-params to requestUri. Needed for AllowMap template

## Version 9.3.8 {#version-9-3-8}

-   Set address column as readonly
-   Add further description for TCA columns

## Version 9.3.7 {#version-9-3-7}

-   Replace plain SQL query with SchemaManager to be PostgreSQL compatible

## Version 9.3.6 {#version-9-3-6}

-   Update TS condition for requireCHashArgumentForActionArguments
-   \[BUGFIX\] Re-Implement OverlayRequestHandler

## Version 9.3.5 {#version-9-3-5}

-   Update old TS condition for requireCHashArgumentForActionArguments

## Version 9.3.4 {#version-9-3-4}

-   Repair AJAX calls on POI click

## Version 9.3.3 {#version-9-3-3}

-   Use RequestBuilder instead of ConfigurationManager to retrieve extKey

## Version 9.3.2 {#version-9-3-2}

-   Add title parameter to EditPoi VH

## Version 9.3.1 {#version-9-3-1}

-   Bugfix: Remove strict types from ReadOnly Input text element to be in sync with class from core

## Version 9.2.1 {#version-9-2-1}

-   Bugfix: Fallback to "footway", if "road" was not found in OSM response

## Version 9.2.0 {#version-9-2-0}

-   Feature: Add all related foreign records to PoiCollection
-   Feature: New SignalSlot to modify related foreign records before adding them to PoiCollection

## Version 9.1.0 {#version-9-1-0}

-   Feature: Allow Info Window for all Map Types

## Version 9.0.1 {#version-9-0-1}

-   Replace "var" with "let" in OpenStreetMap Module JS
-   Use same scheme from current request for MapTiles in OpenStreetMap Module JS

## Version 9.0.0 {#version-9-0-0}

-   First version which is compatible with TYPO3 10.
-   Removed TYPO3 8.7 compatibility
-   Replace Extbase @validate annotations
-   Replace Extbase @lazy and @cascade Annotations
-   Remove old Form Elements for TYPO3 8.7
-   Make use of new ExtensionConfiguration class
-   Reduce ext_tables.sql to business columns only
-   Use Symfony expressions in TypoScript
-   Add strict types where possible
-   Adopt UnitTests

## Version 8.0.1 {#version-8-0-1}

-   Restructured GoogleMapsModule JS file to be more compatible with requireJS

## Version 8.0.0 {#version-8-0-0}

-   SignalSlot preIsRecordAllowedToCreatePoiCollectionCatch does not allow returning $isValid as 4th parameter anymore
-   Add Message Handling to Map Provider Clients.

## Version 7.1.5 {#version-7-1-5}

-   Catch Exception for TYPO3 8 in ArrayUtility of sysext core.

## Version 7.1.4 {#version-7-1-4}

-   Check FlexForm for each entry before processing them in UpgradeWizard

## Version 7.1.3 {#version-7-1-3}

-   Set previous RenderingContext in edit POI Widget to have access to ViewHelperVariableContainer

## Version 7.1.2 {#version-7-1-2}

-   Do not build Request of foreign extensions, to check, if map should be shown or not.

## Version 7.1.1 {#version-7-1-1}

-   As references can not be passed to call_user_func in SignalSlot Dispatcher, we have to use
    the SlotReturn value to get new value of isValid.

## Version 7.1.0 {#version-7-1-0}

-   Add possibility to pre-filter records with help of Maps2Registry API before attaching a PoiCollection record
-   Add possibility to pre-filter records with help of a SignalSlot before attaching a PoiCollection record
-   Update Documentation

## Version 7.0.0 {#version-7-0-0}

-   Remove AjaxController. There is no need anymore after switch to AjaxDispatcher.
-   Remove ModifyMarker Ajax Request, as we update position fields in BE form directly.
-   Remove all extbase classes from Ajax Calls and switch over to Doctrine
-   Update Documentation

## Version 6.1.0 {#version-6-1-0}

-   Option mouseScrollWheelZoom is now available for Google Maps and OpenStreetMap
-   All FlashMessages are now created by MessageHelper
-   All FlashMessages are now stored in Session

## Version 6.0.0 {#version-6-0-0}

-   Breaking: Removed cacheIdentifier property from all Cache ViewHelpers
-   Bugfix: Create better multilingual CacheIdentifier for InfoWindow content.
-   Feature: New CacheService to manage CacheIdentifiers and CacheTags
-   Task: Remove CacheEntry after storing of PoiCollection in Backend with help of "flushByTag" instead of "remove"
-   Update Documentation of Cache ViewHelpers
-   Bugfix: Clear InfoWindowContent Cache for our own records, too.

## Version 5.3.1 {#version-5-3-1}

-   Bugfix: Wrong HTML id in AllowMapForm as {data} was not assigned in MapService
-   Task: Remove mapHeight und mapWidth from AllowMapForm template

## Version 5.3.0 {#version-5-3-0}

-   Task: Update address in PoiCollection if necessary
-   Feature: In AddressHelper you can now check a formatted address against foreignLocationRecord
-   Bugfix: Clear Maps2 HTML Cache after a PoiCollection was saved.

## Version 5.2.10 {#version-5-2-10}

-   Bugfix: Repair checkForUpdate in Flexform migration class
-   Bugfix: Store FlashMessages in Session for BE context

## Version 5.2.9 {#version-5-2-9}

-   Bugfix again: Do not try to update empty pi_flexform columns in Wizard

## Version 5.2.8 {#version-5-2-8}

-   Bugfix: Do not try to update empty pi_flexform columns in Wizard

## Version 5.2.7 {#version-5-2-7}

-   Bugfix: Add extKey to getConfiguration() settings of maps2 only

## Version 5.2.6 {#version-5-2-6}

-   Documentation: Repair links to Cache VHs and Widget VHs in Documentation

## Version 5.2.5 {#version-5-2-5}

-   Documentation: Better explaination of using Maps2Registry
-   Bugfix: Better check to prevent loading session again

## Version 5.2.4 {#version-5-2-4}

-   UniTest: Update secure of slack notification in Travis
-   Bugfix: Fill cruser_id with be_user ID if set, else with 0

## Version 5.2.3 {#version-5-2-3}

-   Bugfix: Add compatibility for UpdateWizard in TYPO3 8 and 9

## Version 5.2.2 {#version-5-2-2}

-   Bugfix: Remove quotes from geocode uri
-   Bugfix: Disable compression for js files with get parameters
-   Bugfix: Re-check, if maps2 cache is initializable in Maps2Registry

## Version 5.2.1 {#version-5-2-1}

-   Bugfix: Correct wrong geocode URIs in ext_conf_template

## Version 5.2.0 {#version-5-2-0}

-   Feature: Show all PoiCollections of a StorageFolder
-   Feature: Force set zoom level
-   Feature: Add possibility to change Geocode API URI of map providers

## Version 5.1.0 {#version-5-1-0}

-   Make use of initializeArguments in VH Widgets
-   Add plugin defaults to TS-Templates
-   Correct merging of settings in VH Widgets

## Version 5.0.3 {#version-5-0-3}

-   Repair zoom level settings for OSM

## Version 5.0.0 {#version-5-0-0}

-   Rewritten documentation
-   Add new ext_icon as SVG
-   Add OpenStreetMap Implementation
-   Update various translations
-   Add placeholders to style settings in TCA
-   Add mapProvider to switch between GM and OSM in Backend
-   Add static templates for GM and OSM
-   Remove automatic maps2 registry for tt_address

## Version 4.3.5 {#version-4-3-5}

-   Set default of relation columns to 0. strict_type.

## Version 4.3.4 {#version-4-3-4}

-   Check against NULL before unserialize ExtConf

## Version 4.3.3 {#version-4-3-3}

-   Replace deprecated placeIdOnly with setFields in Google Maps JS

## Version 4.3.2 {#version-4-3-2}

-   Implement better record icons
