﻿ticket	summary	component	version	type	owner	created	_changetime	_description	_reporter	resolution
24456	[PATCH] Power circuits relations presets and validation	Core validator		enhancement	team	2025-09-04T09:43:13+02:00	2026-05-03T21:36:40+02:00	"Dear all,

Recently, and after several years of improvements, power=circuits has been reviewed and approved.
https://wiki.openstreetmap.org/wiki/Proposal:Power_circuits_routing

I encourage to use relations to map power circuits over physical level of power segments (line, cable, minor_line...).
It's a robust solution to avoid values lists in some keys like frequency as mentioned in #22633 and #22915.

Currently in JOSM, discouraged tagging with type=route + route=power is part of presets.
It should be move to a new category and replaced with type=power + power=circuits relations with same tagging completed with new topology{linear,branched} key.
https://wiki.openstreetmap.org/wiki/Tag:power%3Dcircuit
https://wiki.openstreetmap.org/wiki/Key:topology
wires=* key should not be used on power=circuit relations.

Roles are also changing. A power circuits expects `substation` and `section` as roles instead of `substation` and `line`.

It is possible to create relations involving discontinued lines as some segments may be missing at the moment at which the mapper intends to link two substations.
https://www.openstreetmap.org/relation/19536763

Finally, as per https://wiki.openstreetmap.org/wiki/Proposal:Power_circuits_routing#Less_tagging_redundancy_between_lines,_sections_and_circuits, a validation warning should be raised when both power=line and power=circuit relation it may be member of expose frequency=*. This information should be on relation only.

Best regards"	francois.lacombe	fixed
24457	Power line_section relations presets and validation	Core validator		enhancement	team	2025-09-04T10:32:05+02:00	2026-05-03T21:36:40+02:00	"Dear all,

Following #24456, recent power routing tagging improvements also introduce `power=line_section` relations.
https://wiki.openstreetmap.org/wiki/Tag:power%3Dline_section
They are intended to merge consecutive power segments (line, cable, minor_line) into a single linear path.
Those relations only expect ways members with role `line` consecutively connected to each others, without branches.

It would be useful to add a preset for it and group it with power=circuit under type=power relations.

Validation could seek for branched lines or inappropriate roles.
No `frequency=*` or `wires=*` should be used on power=line_section
https://wiki.openstreetmap.org/wiki/Proposal:Power_circuits_routing#Less_tagging_redundancy_between_lines,_sections_and_circuits
"	francois.lacombe	duplicate
24487	error on Josm start	Core		defect	team	2025-10-02T18:09:50+02:00	2026-04-30T17:32:38+02:00	"==== What steps will reproduce the problem?
1. 
2. 
3. 

==== What is the expected result?

==== What happens instead?

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Revision:19439
Build-Date:2025-09-01 09:22:37

Identification: JOSM/1.5 (19439 cs) Windows 10 64-Bit
OS Build number: Windows 10 Home 22H2 (19045)
Memory Usage: 312 MB / 11496 MB (128 MB allocated, but free)
Java version: 21.0.8+9-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1366x768x32bpp@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 1366×768
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: Cp1250
Locale info: cs_CZ
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.19439, -XX:MaxRAMPercentage=75.0, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=%UserProfile%\AppData\Local\JOSM\JOSM.exe]
Dataset consistency test: No problems found

Last errors/warnings:
- 00002.037 W: extended font config - overriding 'filename.Malgun_Gothic=malgun.ttf' with 'MALGUN.TTF'
- 00002.042 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF'
- 00002.044 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
- 00004.062 E: java.security.KeyStoreException: Windows-ROOT not found. Přičina: java.security.NoSuchAlgorithmException: Windows-ROOT KeyStore not available
- 00113.333 W: Unknown remote control parameter title, skipping it
- 00113.626 E: Handled by bug report queue: java.lang.IllegalArgumentException: {proj} is not a valid TMS argument. Please check this server URL:



=== REPORTED CRASH DATA ===
MapView#layerAdded:
 - layer: TMSLayer [info=https://www.medellin.gov.co/servidormapas/services/ServiciosImagen/Ortofoto_Medellin_2024/ImageServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=Ortofoto_Medellin_2024:Ortofoto_2024_3&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}[] ('Celý svět) - https://www.medellin.gov.co/servidormapas/services/ServiciosImagen/Ortofoto_Medellin_2024/ImageServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=Ortofoto_Medellin_2024:Ortofoto_2024_3&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox} - TMS]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (31) of main
java.lang.IllegalArgumentException: {proj} is not a valid TMS argument. Please check this server URL:
https://www.medellin.gov.co/servidormapas/services/ServiciosImagen/Ortofoto_Medellin_2024/ImageServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=Ortofoto_Medellin_2024:Ortofoto_2024_3&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}
	at org.openstreetmap.gui.jmapviewer.tilesources.TemplatedTMSTileSource.checkUrl(TemplatedTMSTileSource.java:218)
	at org.openstreetmap.josm.gui.layer.TMSLayer.getTileSourceStatic(TMSLayer.java:119)
	at org.openstreetmap.josm.gui.layer.TMSLayer.getTileSource(TMSLayer.java:77)
	at org.openstreetmap.josm.gui.layer.TMSLayer.getTileSource(TMSLayer.java:35)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.initializeIfRequired(AbstractTileSourceLayer.java:580)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.attachToMapView(AbstractTileSourceLayer.java:562)
	at org.openstreetmap.josm.gui.MapView.layerAdded(MapView.java:361)
	at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerAdded(LayerManager.java:462)
	at org.openstreetmap.josm.gui.layer.LayerManager.realAddLayer(LayerManager.java:237)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:327)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$addLayer$0(LayerManager.java:221)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:247)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:221)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:210)
	at org.openstreetmap.josm.io.remotecontrol.handler.ImageryHandler.lambda$handleRequest$4(ImageryHandler.java:90)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.desktop/java.awt.Dialog.show(Unknown Source)
	at java.desktop/java.awt.Component.show(Unknown Source)
	at java.desktop/java.awt.Component.setVisible(Unknown Source)
	at java.desktop/java.awt.Window.setVisible(Unknown Source)
	at java.desktop/java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:255)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:113)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
}}}
"	dalik58	worksforme
24720	bug found	Core		defect	team	2026-04-30T05:20:35+02:00	2026-04-30T17:32:37+02:00	"==== What steps will reproduce the problem?
1. 
2. 
3. 

==== What is the expected result?

==== What happens instead?

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Revision:19277
Build-Date:2025-01-03 15:21:55

Identification: JOSM/1.5 (19277 en_GB) Windows 11 64-Bit
OS Build number: Windows 10 Home Single Language 25H2 (26200)
Memory Usage: 388 MB / 5652 MB (138 MB allocated, but free)
Java version: 21.0.5+11-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920x1080x32bpp@144Hz (scaling 1.25×1.25)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: Cp1252
Locale info: en_GB
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.19277, -XX:MaxRAMPercentage=75.0, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=%UserProfile%\AppData\Local\JOSM\JOSM.exe]
Dataset consistency test: No problems found

Plugins:
+ buildings_tools (36474)
+ contourmerge (v0.2.2)

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/ColorWays&zip=1

Last errors/warnings:
- 00000.600 W: extended font config - overriding 'filename.Malgun_Gothic=malgun.ttf' with 'MALGUN.TTF'
- 00000.602 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF'
- 00000.603 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
- 00001.821 E: java.security.KeyStoreException: Windows-ROOT not found. Cause: java.security.NoSuchAlgorithmException: Windows-ROOT KeyStore not available
- 00329.032 W: Unknown remote control parameter title, skipping it
- 00330.898 E: Handled by bug report queue: java.lang.IllegalArgumentException: {proj} is not a valid TMS argument. Please check this server URL:



=== REPORTED CRASH DATA ===
MapView#layerAdded:
 - layer: TMSLayer [info=https://www.medellin.gov.co/servidormapas/services/ServiciosImagen/Ortofoto_Medellin_2024/ImageServer/WMSServer?FORMAT=image/png&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;TRANSPARENT=TRUE&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;VERSION=1.3.0&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;SERVICE=WMS&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;REQUEST=GetMap&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;LAYERS=Ortofoto_Medellin_2024:Ortofoto_2024_3&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;STYLES=&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}[] ('Worldwide) - https://www.medellin.gov.co/servidormapas/services/ServiciosImagen/Ortofoto_Medellin_2024/ImageServer/WMSServer?FORMAT=image/png&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;TRANSPARENT=TRUE&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;VERSION=1.3.0&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;SERVICE=WMS&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;REQUEST=GetMap&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;LAYERS=Ortofoto_Medellin_2024:Ortofoto_2024_3&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;STYLES=&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox} - TMS]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (40) of main
java.lang.IllegalArgumentException: {proj} is not a valid TMS argument. Please check this server URL:
https://www.medellin.gov.co/servidormapas/services/ServiciosImagen/Ortofoto_Medellin_2024/ImageServer/WMSServer?FORMAT=image/png&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;TRANSPARENT=TRUE&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;VERSION=1.3.0&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;SERVICE=WMS&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;REQUEST=GetMap&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;LAYERS=Ortofoto_Medellin_2024:Ortofoto_2024_3&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;STYLES=&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}
	at org.openstreetmap.gui.jmapviewer.tilesources.TemplatedTMSTileSource.checkUrl(TemplatedTMSTileSource.java:189)
	at org.openstreetmap.josm.gui.layer.TMSLayer.getTileSourceStatic(TMSLayer.java:119)
	at org.openstreetmap.josm.gui.layer.TMSLayer.getTileSource(TMSLayer.java:77)
	at org.openstreetmap.josm.gui.layer.TMSLayer.getTileSource(TMSLayer.java:35)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.initializeIfRequired(AbstractTileSourceLayer.java:579)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.attachToMapView(AbstractTileSourceLayer.java:561)
	at org.openstreetmap.josm.gui.MapView.layerAdded(MapView.java:361)
	at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerAdded(LayerManager.java:462)
	at org.openstreetmap.josm.gui.layer.LayerManager.realAddLayer(LayerManager.java:237)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:327)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$addLayer$0(LayerManager.java:221)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:247)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:221)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:210)
	at org.openstreetmap.josm.io.remotecontrol.handler.ImageryHandler.lambda$handleRequest$4(ImageryHandler.java:90)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.desktop/java.awt.Dialog.show(Unknown Source)
	at java.desktop/java.awt.Component.show(Unknown Source)
	at java.desktop/java.awt.Component.setVisible(Unknown Source)
	at java.desktop/java.awt.Window.setVisible(Unknown Source)
	at java.desktop/java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:255)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:113)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
}}}
"	anishkoirala555@…	duplicate
