Skip to content

Releases: openhab/openhab-distro

openHAB 5.1.0

22 Dec 20:59

Choose a tag to compare

This is the official release of openHAB 5.1.0.

The binaries are available on our download page and via "Stable" on our APT repository.

New and Noteworthy

The openHAB 5.1 release is a feature release that contains many new features, enhancements and bug fixes, both for the core runtime and for many add-ons. You can find the most relevant ones listed in detail below.

Please also note our release blog post, which describes the major new features in depth.

openHAB 5.1 is backward compatible to openHAB 5.0 setups, though there are a few exceptions where manual action is required to adapt an existing setup, so please carefully check the section on breaking changes. It is especially important to know that openHAB 5.x requires Java 21, so in case you are coming from a 4.x installation and haven't yet upgraded, this is mandatory.

Quick links:

Relevant Changes

New Add-ons

The following add-ons are newly introduced:

Add-on Type Issue
HomeKit Binding #19340
Lambda Heat Pump Binding #19378
Midea AC Binding #17749
Modbus FoxInverter Binding #19637
MSpa Binding #18746
Roborock Binding #19117
Sedif Binding #18718
SomfyCUL Binding #19207
UniFi Protect Binding #19411
Viessmann Binding #19123

Runtime

The following improvements were made to the core and the distro:

Type Issue Change
Enhancements 4032 Add pcm audio websocket with dialog support
4682 Persistence no default strategies and persistence configuration health check
4793 New API for conversion between file format and JSON
4910 Add tests for rules and rule templates JSON parsers
4913 Apply default semantic tags from linked channels to items
4919 AbstractScriptModuleHandler: Remove prefixes from ctx keys when setting execution context
4929 Marketplace fixes
4932 Upgrade Karaf from 4.4.7 to 4.4.8
4937 Add ItemChannelLinkRegistry to DefaultScriptScopeProvider
4942 Update Jackson to 2.19.2
4943 Add jackson-datatype-jdk8 bundle to Jackson feature
4948 Apply timeout logging to scheduled executor service
4961 Add new HTTP actions for images
4967 Persistence extensions query optimization
4969 Apply blocked task logging to scheduled executor service
4983 Make REST endpoints accept more logger name characters
4990 Pass event source to profiles
5006 Fix network interface configuration option enumeration
5028 Details error message in log when, in an UI transformation, a script is the error cause.
5030 MQTT transport: add cleanSession/cleanStart parameter
5032 Isolate discovery result registrations from binding threads
5040 Add item overloads for providing source
5041 Allow passing source when sending commands via REST API
5051 Make TimerImpl thread-safe
5054 AbstractScriptModuleHandler: Inject module type ID into context
5064 Refactor BusEvent to ScriptExtension
5072 Same thread executor
5073 Set event source for updates and commands from bindings according to new standards
5074 Very minor rulesupport fixes
5077 Script DSL: accept Collection Literals
5079 Send source for console commands to items
5080 Include source with item event descriptions when present
5081 Pass event sources through item state update/change events
5082 Set event source for restoring item states from persistence
5083 Allow cross-binding bridges
5092 Refactor Windows USB discovery
5094 Do not require Strategies{} in persistence/ files
5095 Support UPnP namespaces
5100 Add AbstractThingHandlerDiscoveryService constructor for tests to use
5106 make FilterCriteria.Operator.getSymbol public
5110 Added dimension for price per volume and related currency units
5119 Added support for TimeSeries on Offset-Profile
5122 Populate source when sending Item events via BusEvent
5131 Allow source from header in REST API
5140 Added semantic property for Prices
5142 Lower the log level for useTags
5153 Changes prefix for isolated models
5164 Add a couple more methods
5178 Add HomeAssistantAddonUpgrader to upgradetool
5180 Add HomieAddonUpgrader to upgradetool
Bug Fixes 4917 Map chart interpolation parameter into sitemap JSON response
4922 AbstractScriptModuleHandler: Recompile scripts on dependency change
4928 DSL Items Parser: Fix incorrect parsing of keywords encountered in the wrong context
4971 Fix script engine missing error during startup
4974 Fix ActionHandler nullness annotation
4978 Fix version number in YAML examples
4996 Fix USB discovery on Windows in ...
Read more

openHAB 5.1.0.RC3

21 Dec 22:53

Choose a tag to compare

This is a Release Candidate build for the upcoming openHAB 5.1 release, which brings the following fixes:

Add-ons

Add-on Type Issue Change
ahawastecollection Bug Fixes 19833 Fix typo in channel id lightweight
matter Bug Fixes 19844 Prevent adding an OnOff switch to a Fan when not intended

User Interfaces

UI Type Issue Change
Main UI Bug Fixes 3632 Config parameter: Fix password cannot be displayed if read-only
3634 useRuntimeStore: Fix docSrcUrl computation for RC versions
3635 Vite: Emit static assets to dedicated dirs & cache in service worker
3636 Thing details: Display channels tab after going back from channels
3637 Script/Code editor: Fix search panel closes on click
3639 Things Inbox: Fix JS issues including missing f7router
3640 Add-on details: Fix invalid back navigation

openHAB 5.1.0.RC2

20 Dec 23:14

Choose a tag to compare

This is a Release Candidate build for the upcoming openHAB 5.1 release, which brings many fixes and improvements.

Runtime

Type Issue Change
Bug Fixes 1847 update script: Apply file ownership for files created by upgradetool
5213 Persistence upgrader: Fix unmanaged config not respected
5214 Fix /links/orphans API (return of the result)

Add-ons

Add-on Type Issue Change

User Interfaces

UI Type Issue Change
Main UI Bug Fixes 3625 Only show the clipboard copy confirmation when necessary

openHAB 5.1.0.RC1

19 Dec 23:54

Choose a tag to compare

This is a Release Candidate build for the upcoming openHAB 5.1 release, which brings many fixes and improvements.

Runtime

Type Issue Change
Bug Fixes 5194 EnrichedSemanticTagDTO members not listed in openapi spec
5196 Perform simple escaping when building event sources
5197 Fix minor copy-pasted text inconsistencies and typos
5201 Upgrade JUPnP to 3.0.4
5212 Persistence upgrader: Create default persistence settings if no configuration so far

Add-ons

Add-on Type Issue Change
freeboxos Bug Fixes 19814 Add IPSec VPN server
homewizard Bug Fixes 19829 Fixed setting mode 'standby' for batteries not supporting the latest api version
velbus Bug Fixes 19803 Add missing channel 80 and fix label

User Interfaces

UI Type Issue Change
Main UI Bug Fixes 3587 Charts: Add missing number format localization
3589 Follow-up fixes and enhancements for #3123
3595 Fix stylesheet not working for layout grid items
3596 useStatesStore: Don't request constructor prop from SSE
3598 Analyzer: Fix controls cannot be reopened
3601 oh-state-series: Fix incorrect end time calculation
3602 Developer -> Widgets: Fix tags not shown anymore
3603 oh-toggle: Fix regression for Dimmer items
3605 Analyzer: Fix controls not closed when analyzer closed
3606 Model cards: Fix back navigation from analyzer
3608 Fix back button issue
3610 Blockly: Fix ReferenceError due to non-existing input
3611 Fix issues with addons-setup-wizard
3612 oh-plan-page: Make marker tooltips non interactive
3614 config-parameter: Fix showPassword icon does not show up
3615 Analyzer: Fix style leak & Reduce vertical block margin
3616 oh-map-marker: Display default icon if nothing set
3620 Analyzer: Fix Vue render error on Item change

openHAB 5.1.0.M4

14 Dec 21:12

Choose a tag to compare

This is a monthly milestone build for the upcoming openHAB 5.1 release, which brings many fixes and improvements.

New Add-ons

The following add-ons are newly introduced:

Add-on Type Issue
HomeKit Binding #19340
Sedif Binding #18718
UniFi Protect Binding #19411
Viessmann Binding #19123

The following improvements were made:

Runtime

Type Issue Change
Enhancements 4682 Persistence no default strategies and persistence configuration health check
5077 Script DSL: accept Collection Literals
5142 Lower the log level for useTags
5153 Changes prefix for isolated models
5164 Add a couple more methods
5178 Add HomeAssistantAddonUpgrader to upgradetool
5180 Add HomieAddonUpgrader to upgradetool
Bug Fixes 5098 Script DSL: do implicit import java.time.temporal.ChronoUnit;
5104 Change error code 500 to 400
5144 Add missing 400 response documentation to REST API endpoints
5151 Eliminate double localization of discovery results
5154 Consider item pattern formatter even without label
5181 Handles properly channels with group

Add-ons

Add-on Type Issue Change
ecovacs Enhancements 19745 Update supported device list
19750 Add support for Deebot X8
emby Bug Fixes 19752 Fix WebSocket buffer overflow for large session payloads
energidataservice Enhancements 19748 Remove binding configuration
entsoe Enhancements 19676 Quarterly-hour prices
freeboxos Enhancements 19669 Add VPN Server monitoring
hdanywhere Bug Fixes 19804 Deduplicate channel type
homeassistant Enhancements 19767 Move binding to configuration to the proper place
homewizard Enhancements 19765 Update batteries channels to latest api version
homie Enhancements 19700 Split Homie from MQTT Binding
http Enhancements 19519 Replace deprecated URL constructor
jsscripting Enhancements 19740 Upgrade to openhab-js 5.16.1
lifx Bug Fixes 19788 Eliminate log warnings for fixed color temperature lights
matter Enhancements 19762 Door Lock Pin Code Support
modbus.e3dc Enhancements 19763 Add performance ratio channels
monopriceaudio Enhancements 19775 Add support for 8 zone model
pythonscripting Enhancements 19793 Update helperlib.version to 1.0.15
roborock Bug Fixes 19760 Update login to use new protocol
sunsynk Bug Fixes 19741 Adapt to user logon requires a nonce and sign.
Yamaha MusicCast Enhancements 19798 Set DAB and FM tuner presets

User Interfaces

UI Type Issue Change
Basic UI Enhancements 3281 Adjust prefs label/description related to icons
3518 New NULL or UNDEF rendering for Slider, Colorpicker and Colortemperaturepicker
HABot Enhancements 3467 add source to commands
Main UI Enhancements 3123 Persistence strategies not automatically applied
3398 Upgrade to Blockly v11 and respective plugin versions
3483 Analyzer: Refactor to TypeScript and add oh-state-series support
3503 Refactor config sheet advanced toggle
3531 Update Google Assistant Metadata Definition
3554 Sitemap default icon for input widget
3564 Item picker: Refine group filter and add semantic filter
3577 Refactor $oh.media to TypeScript and use fetch()
3579 Compact F7 tables on Aurora
Bug Fixes 3530 Fix developer-dock title width too narrow
3536 Remove manual service worker registration
3539 oh-grid-layout: Fix grid widget sizing issues
3540 Redirect /overview to /overview/
3541 Fix oh-grid-item configuration not possible & Page save error
3542 Model page: Various style fixes
3543 oh-popup, oh-popover & oh-sheet: Several fixes
3544 Charts: Fix duplicate REST requests
3545 Fix other apps title too narrow
3546 oh-grid-item: Fix wrong configure/YAML popups opened
3547 Layout edit: Fix onPageBeforeOut clean-ups not performed in some cases
3548 oh-popover: Fix incorrect popover positioning
3549 oh-layout-page: Fix stylesheet not working
3552 Thing page: Fix channels cannot be added or edited
3553 oh-cell: Fix expanded cell is hidden below other widgets
3555 oh-context: Properly inherit attributes
3560 Rule edit: Fix condition wizard issues
3566 Adjusted comment text style to black to be visible on yellow background
3568 Thing details: Code tab fixes
3571 parameter-options: Fix issues due to type-mismatch for INTEGER/DECIMAL
3574 Fix back navigation issues for Thing add pages
3578 Analyzer/Charts: Fix week starting on Sunday starts on Monday
3584 Setup wizard: Fix location picker not opening
3585 Fix developer searchbar & item picker search not focused

openHAB 4.3.9

06 Dec 22:03

Choose a tag to compare

This patch release contains the following bug fixes:

Add-ons

Add-on Type Issue Change
amazonechocontrol Bug Fixes 19690 Fix authentication
19721 Fix IllegalStateException by removing JSON object
ecotouch Bug Fixes 19503 Fix initial install of binding ecotouch
energidataservice Bug Fixes 19623 Fix calculations for quarter-hourly spot prices
sleepiq Bug Fixes 19630 Force relogin on ExecutionException

openHAB 5.1.0.M3

30 Nov 17:48

Choose a tag to compare

This is a monthly milestone build for the upcoming openHAB 5.1 release, which brings many fixes and improvements.

New Add-ons

The following add-ons are newly introduced:

Add-on Type Issue
Lambda Heat Pump Binding #19378
Midea AC Binding #17749
Modbus FoxInverter Binding #19637
SomfyCUL Binding #19207

The following improvements were made:

Runtime

Type Issue Change
Enhancements 4032 Add pcm audio websocket with dialog support
5041 Allow passing source when sending commands via REST API
5064 Refactor BusEvent to ScriptExtension
5074 Very minor rulesupport fixes
5083 Allow cross-binding bridges
5092 Refactor Windows USB discovery
5094 Do not require Strategies{} in persistence/ files
5106 make FilterCriteria.Operator.getSymbol public
5110 Added dimension for price per volume and related currency units
5119 Added support for TimeSeries on Offset-Profile
5122 Populate source when sending Item events via BusEvent
5131 Allow source from header in REST API
5140 Added semantic property for Prices
Bug Fixes 5132 Make ConfigDescriptionParameter.stepsize serialize to "step"

Add-ons

Add-on Type Issue Change
amazonechocontrol Bug Fixes 19690 Fix authentication
19721 Fix IllegalStateException by removing JSON object
androiddebugbridge Bug Fixes 19660 Fix IllegalStateException
avmfritz Bug Fixes 19594 Fix parsing of EnergyStats response
bambulab Enhancements 19707 Add support for H series
bluetooth.ruuvitag Enhancements 19638 Ruuvi Air support
boschindego Enhancements 19545 Add support for multiple accounts / bridges
dscalarm Enhancements 19647 Add low battery indication for wireless zones
ecoflow Bug Fixes 19632 Fix missing updates for PowerStream channels
19655 Fix PV input channel definition for Delta 2
energidataservice Bug Fixes 19623 Fix calculations for quarter-hourly spot prices
enocean Bug Fixes 19573 : D2-50 change units of supply and exhaust air fan flow rate
evcc Enhancements 19228 Add channels for grid currents, grid energy and charging currents.
19677 Refactor state resolution, improve command handling, and migrate startup β†’ startupCompleted
folderwatcher Bug Fixes 19663 Fix parameter typo in containerPath
froniuswattpilot Enhancements 19718 Attempt reconnection periodically & Upgrade wattpilot4j
groovyscripting Enhancements 19511 Upgrade Groovy to 4.0.29
guntamatic Bug Fixes 19557 Fix spelling error in interuption channels
homeassistant Enhancements 19496 Split Home Assistant from MQTT binding
19518 Upgrade to Graal 25
19701 More fully implement none and default payload sentinels
19722 Update Home Assistant Python code to 2025.11.3
Bug Fixes 19681 Fix channel definitions within groups
homewizard Enhancements 19672 Add channel tariff to HWE-P1
http Enhancements 17271 autorefesh after sending command to update…
hue Bug Fixes 19401 Add workaround for Bridge v3 certificate issue
hueemulation Bug Fixes 19589 Fix NullPointerExceptions
jpa Enhancements 19581 Support state filter when querying
jsscripting Enhancements 19567 Upgrade to Graal 25
19702 Rework logger names used for script logging (e.g. console)
19719 Upgrade to openhab-js 5.16.0
Bug Fixes 19528 Fix injectionEnabledV2 allowed max is less then default
19633 Fix wrong default value for injectionEnabledV2 parameter
19642 Fix setTimeout/setInterval fails if delay not provided
19703 Fix bugs related to event obj conversion & script wrapping
jsscripting, pythonscripting, homeassistant Bug Fixes 19684 Set GraalVM cache path
knx Enhancements 18256 Upgrade to Calimero 3.0-M1
linky Enhancements 19147 Add support for reading index instead of basic value
matter Enhancements 19595 Door state support for door lock.
19699 Support Switchbot Candle Warmer
Bug Fixes 19644 Remove pattern from state options
19653 Fix for sending STOP to Rollershutter Items
mercedesme Bug Fixes 19548 Fix radius-hybrid channel type
metofficedatahub Bug Fixes 19627 2025 API Key adjustments
miio Enhancements 19558 Add support for 2 yeelights
mqtt.ruuvigateway Enhancements 19730 Support for Ruuvi Air
ojelectronics Bug Fixes 19555 Fix itemtype for date channels
openhabcloud Enhancements 19535 Set event source for commands
Bug Fixes 19652 Handle source sent via header
pihole Enhancements 19350 Integration of API v6
Bug Fixes 19618 NPE when getting session.sid
plclogo Enhancements 19096 Complete diagnostic channel Implementation
pythonscripting Enhancements [19568](http...
Read more

openHAB 5.0.3

23 Nov 20:10

Choose a tag to compare

This patch release contains the following bug fixes:

Runtime

Type Issue Change
Bug Fixes 5090 IP add-on finder: resolve source IP before broadcast scan

Add-ons

Add-on Type Issue Change
amazonechocontrol Bug Fixes 19690 Fix authentication
bluetooth.listener Bug Fixes 19499 Add binding
ecoflow Bug Fixes 19632 Fix missing updates for PowerStream channels
ecotouch Bug Fixes 19503 Fix initial install of binding ecotouch
energidataservice Bug Fixes 19623 Fix calculations for quarter-hourly spot prices
homeassistant Bug Fixes 19491 Fix re-connection after connection loss
ipcamera Bug Fixes 19514 Change Absolute URLs to Relative so items can be used with HTTPS easier.
linky Bug Fixes 19540 Fix tempo-info-tomorrow label
matter Enhancements 19495 Bumps matter.js to latest v15
metofficedatahub Bug Fixes 19627 2025 API Key adjustments
siemenshvac Bug Fixes 19512 Fix sanetization of channel type UID
sleepiq Bug Fixes 19630 Force relogin on ExecutionException
tesla Bug Fixes 19662 Fix IllegalStateException when optional fields driveState or chargeState are missing
upnpcontrol Bug Fixes 19613 Prevent excessive m-search traffic
zwavejs Bug Fixes 19500 Fix NullPointerException with ZUI 11.5.2
19620 Allow Longe Range node id's

openHAB 5.1.0.M2

26 Oct 17:52

Choose a tag to compare

This is a monthly milestone build for the upcoming openHAB 5.1 release, which brings many fixes and improvements.

Runtime

Type Issue Change
Enhancements 4910 Add tests for rules and rule templates JSON parsers
4913 Apply default semantic tags from linked channels to items
5030 MQTT transport: add cleanSession/cleanStart parameter
5032 Isolate discovery result registrations from binding threads
5040 Add item overloads for providing source
5051 Make TimerImpl thread-safe
5054 AbstractScriptModuleHandler: Inject module type ID into context
5072 Same thread executor
5073 Set event source for updates and commands from bindings according to new standards
5079 Send source for console commands to items
5080 Include source with item event descriptions when present
5081 Pass event sources through item state update/change events
5082 Set event source for restoring item states from persistence
5095 Support UPnP namespaces
5100 Add AbstractThingHandlerDiscoveryService constructor for tests to use
Bug Fixes 4974 Fix ActionHandler nullness annotation
5050 Semantics file correction
5062 ScriptTransformationService: Implement missing script dependency tracking
5063 ScriptTransformationService: Handle engine removal through ScriptEngineManager
5065 Fix check of syntax for item names
5076 Fix event handling for embeded devices
5090 IP add-on finder: resolve source IP before broadcast scan

Add-ons

Add-on Type Issue Change
airquality Enhancements 19472 Switch API access from http to https.
allplay Enhancements 19366 Remove binding
automower Enhancements 19268 Implement individual Things for configuration dependent items
avmfritz Enhancements 19488 Added ThingActions for power meter device to enable/disable high polling
19513 Add support for groups of blinds
bambulab Bug Fixes 19374 Enable camera only for local mode
bluetooth.bluez Enhancements 19392 Enable lazy scan via thing configuration
bluetooth.listener Bug Fixes 19499 Add binding
ecotouch Bug Fixes 19503 Fix initial install of binding ecotouch
energidataservice Enhancements 19433 Update tariff filter for Cerius
fenecon Enhancements 19442 Change default port to 80
freeboxos Bug Fixes 19355 Fix synchronization problems
frenchgovtenergydata Bug Fixes 19424 Fix IllegalArgumentException for thing type tempo
fronius Enhancements 19367 Thing Actions: Add string overrides for actions requiring enum
heos Bug Fixes 19438 Fix login failure when password contains special characters
19457 Fix bridge player channels
homekit Enhancements 19479 Send a source with all commands to items
homewizard Enhancements 19389 Add batteries channels to p1 meter
hueemulation Bug Fixes 19484 Fix IllegalArgumentException
ipcamera Bug Fixes 19514 Change Absolute URLs to Relative so items can be used with HTTPS easier.
jsscripting Enhancements 19429 Make event object conversion work independent of wrapper
19443 Wrapper: Always enable for actions, configurable for conditions
linky Bug Fixes 19540 Fix tempo-info-tomorrow label
matter Enhancements 19480 Send a source with all commands to items
19495 Bumps matter.js to latest v15
meross Enhancements 19322 Local commands and add garage door openers
Bug Fixes 19536 Fix cloud fallback not being called
miele Enhancements 19516 Add auto-detection of network interface for multicast events
mqtt.awtrix3 Enhancements 19466 Parse font tags for multi-colored app texts
19474 Allow blink/fade colored text and make text effects more user friendly
neeo Bug Fixes 19458 Fix unregistering of all mDNS services
netatmo Enhancements 19422 Add unitHint for ChannelType definitions with ItemType 'Number:Dimensionless'
network Bug Fixes 19398 Fix case where state no longer updates
nikohomecontrol Enhancements 19477 Add electricity meters and car chargers
ondilo Enhancements 19455 Handle command REFRESH
OpenWeatherMap Enhancements 19423 Add unitHint for ChannelType definitions with ItemType 'Number:Dimensionless'
pythonscripting Enhancements 19190 current marketplace version of pythonscripting next
19550 Update helperlib.version to 1.0.11
ring Bug Fixes 19409 Fix HttpResponseException: HTTP protocol violation
sbus Enhancements 19404 Fix bridge, lux & motion sensors
shelly Bug Fixes 19331 Fix websocket error when receiving relay status
siemenshvac Bug Fixes 19512 Fix sanetization of channel type UID
solarman Enhancements 19420 Enable write registers
sunsynk Enhancements 19506 Add support for solar strings, fix for battery status and misc improvements
surepetcare Enhancements 18114 Add support for waterstation Felaqua
tuya Enhancements 18949 Use dynamic providers to make channels, command and options translateable
19530 Things should be online/waiting as soon as we know the IP
upnpcontrol Enhancements 19485 Missing TrackMetaData key...
Read more

openHAB 5.0.2

17 Oct 06:18

Choose a tag to compare

This patch release contains the following bug fixes:

Runtime

Type Issue Change
Enhancements 5028 Details error message in log when, in an UI transformation, a script is the error cause.
Bug Fixes 4971 Fix script engine missing error during startup
4996 Fix USB discovery on Windows in case there is no USB port
5010 Fix YAML loading to handle elements in file original order
5015 RulesDSL: Fix DateTimeItem trigger's offset
5018 Persistence extensions: fix potential infinite loop
5050 Semantics file correction

Add-ons

Add-on Type Issue Change
amazonechocontrol Bug Fixes 19212 Fix IllegalArgumentException for devices with humidity
energidataservice Enhancements 19433 Update tariff filter for Cerius
frenchgovtenergydata Bug Fixes 19424 Fix IllegalArgumentException for thing type tempo
fronius Bug Fixes 19344 Fix config API authentication for firmware >= 1.38.6
19349 Fix battery control actions unavailable if FW < 1.36.x
heos Bug Fixes 19438 Fix login failure when password contains special characters
19457 Fix bridge player channels
linky Bug Fixes 19289 Fix new url schema for getMeasures() related to September Enedis changes to WebAPI
matter Bug Fixes 19238 Fix label regression in bridge
19293 Fix bridge fan mode configuration
mqtt.homeassistant Bug Fixes 19249 Fix python packages path on Windows
neeo Bug Fixes 19458 Fix unregistering of all mDNS services
network Bug Fixes 17972 Fix discovery performance causing a slow openHAB start
19398 Fix case where state no longer updates
ring Bug Fixes 19409 Fix HttpResponseException: HTTP protocol violation
tibber Enhancements 19312 Add support for quarter-hourly prices
zwavejs Bug Fixes 19325 Add unit conversion

User Interfaces

UI Type Issue Change
Main UI Bug Fixes 3309 Copy File Definition: Work around the security error in Safari
3339 Sitemap editor: Fix sitemap save