﻿ticket	summary	component	version	type	owner	status	created	_changetime	_description	_reporter
25008	Improve the tagging preset schema	Internal preset		enhancement	team	new	2026-11-06T22:15:02+01:00	2026-11-07T14:58:40+01:00	"I plan to add a new description to the XSD fields, as well as some extra validation, if possible (e.g. object types [node, way, relation]). While the schema is designed to be flexible, it is also error-prone. For almost 15 years, the fact that it contains unused parameters went unnoticed. Examples:
- `delete_if_empty` was removed in 2012 (r5155): https://github.com/JOSM/josm/blob/bdc651ba9185db66d751a9f81922a2a89ac486dc/resources/data/defaultpresets.xml#L3006-L3038
- `values_i18n=""false""` never did anything? https://github.com/JOSM/josm/blob/bdc651ba9185db66d751a9f81922a2a89ac486dc/resources/data/defaultpresets.xml#L295
- and more

More stringent validation enabled me to fix r19563, which had also gone unnoticed for some time.

The patch will follow soon, hopefully."	gaben
21059	JDK16 - IllegalAccessError: cannot access class [...] because module java.base does not export sun.security.action to unnamed module	Core		defect	Don-vip	reopened	2021-07-01T04:18:56+02:00	2026-11-07T12:54:24+01:00	"==== What steps will reproduce the problem?

Crash came 'out of the blue' - my last GUI action was to double-click on the route relation to which way 618324884 belongs.

==== What is the expected result?

Uhm, open the relation editor.

==== What happens instead?

Crash.

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-06-02 22:03:39 +0200 (Wed, 02 Jun 2021)
Revision:17919
Build-Date:2021-06-02 20:11:30
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (17919 en) Linux Ubuntu 20.04.2 LTS
Memory Usage: 3572 MB / 24576 MB (1150 MB allocated, but free)
Java version: 16.0.1+9-24, Oracle Corporation, OpenJDK 64-Bit Server VM
Look and Feel: com.formdev.flatlaf.FlatDarkLaf
Screen: :0.0 3840×2160 (scaling 1.00×1.00)
Maximum Screen Size: 3840×2160
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: XFCE
Java ATK Wrapper package: libatk-wrapper-java:all-0.37.1-1
libcommons-compress-java: libcommons-compress-java:all-1.19-1
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:-
VM arguments: [-Dsun.java2d.uiScale=1]
Dataset consistency test: No problems found

Plugins:
+ ImportImagePlugin (35567)
+ OpeningHoursEditor (35640)
+ PicLayer (1.0.1)
+ PolygonCutOut (v0.7)
+ apache-commons (35524)
+ buildings_tools (35756)
+ ejml (35458)
+ flatlaf (35734)
+ geotools (35458)
+ jaxb (35543)
+ jts (35458)
+ log4j (35458)
+ opendata (35640)
+ pbf (35720)
+ reverter (35732)
+ todo (30306)
+ utilsplugin2 (35691)
+ wikipedia (1.1.4)

Tagging presets:
+ ${HOME}/josm/stateParkPreset.xml

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/TigerReviewedNo&zip=1

Last errors/warnings:
- 04978.898 E: Failed to locate image 'peak'
- 04978.898 E: Failed to locate image 'peak'
- 04978.898 E: Failed to locate image 'peak'
- 04978.899 E: Failed to locate image 'peak'
- 04978.899 E: Failed to locate image 'peak'
- 04978.899 E: Failed to locate image 'peak'
- 04978.899 E: Failed to locate image 'peak'
- 04978.899 E: Failed to locate image 'peak'
- 04978.899 E: Failed to locate image 'peak'
- 15988.137 E: Handled by bug report queue: java.lang.IllegalAccessError: class com.sun.media.imageioimpl.plugins.pnm.PNMImageWriter (in unnamed module @0x6fbf5db2) cannot access class sun.security.action.GetPropertyAction (in module java.base) because module java.base does not export sun.security.action to unnamed module @0x6fbf5db2



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (22) of main
java.lang.IllegalAccessError: class com.sun.media.imageioimpl.plugins.pnm.PNMImageWriter (in unnamed module @0x6fbf5db2) cannot access class sun.security.action.GetPropertyAction (in module java.base) because module java.base does not export sun.security.action to unnamed module @0x6fbf5db2
	at com.sun.media.imageioimpl.plugins.pnm.PNMImageWriter.<clinit>(PNMImageWriter.java:111)
	at com.sun.media.imageioimpl.plugins.pnm.PNMImageWriterSpi.createWriterInstance(PNMImageWriterSpi.java:117)
	at java.desktop/javax.imageio.spi.ImageWriterSpi.createWriterInstance(ImageWriterSpi.java:351)
	at java.desktop/javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:849)
	at java.desktop/javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:833)
	at java.desktop/sun.awt.X11.XDataTransferer.getPlatformMappingsForFlavor(XDataTransferer.java:412)
	at java.desktop/sun.awt.datatransfer.DesktopDatatransferServiceImpl.getPlatformMappingsForFlavor(DesktopDatatransferServiceImpl.java:87)
	at java.datatransfer/java.awt.datatransfer.SystemFlavorMap.flavorToNativeLookup(SystemFlavorMap.java:446)
	at java.datatransfer/java.awt.datatransfer.SystemFlavorMap.getNativesForFlavor(SystemFlavorMap.java:560)
	at java.desktop/sun.awt.datatransfer.DataTransferer.getFlavorsForFormats(DataTransferer.java:458)
	at java.desktop/sun.awt.datatransfer.ClipboardTransferable.<init>(ClipboardTransferable.java:88)
	at java.desktop/sun.awt.X11.XClipboard.getContents(XClipboard.java:108)
	at org.openstreetmap.josm.gui.datatransfer.ClipboardUtils.getClipboardContent(ClipboardUtils.java:107)
	at org.openstreetmap.josm.gui.datatransfer.ClipboardUtils.getClipboardContent(ClipboardUtils.java:95)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.PasteMembersAction.getSupport(PasteMembersAction.java:41)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.PasteMembersAction.updateEnabledState(PasteMembersAction.java:48)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.PasteMembersAction.<init>(PasteMembersAction.java:28)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor$3.<init>(GenericRelationEditor.java:307)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.<init>(GenericRelationEditor.java:307)
	at org.openstreetmap.josm.gui.dialogs.relation.RelationEditor.getEditor(RelationEditor.java:83)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.editMembership(PropertiesDialog.java:568)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.access$1300(PropertiesDialog.java:140)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$MouseClickWatch.mouseClicked(PropertiesDialog.java:1000)
	at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:278)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6620)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6382)
	at java.desktop/java.awt.Container.processEvent(Container.java:2264)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4993)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2322)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4825)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4934)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4572)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4504)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2308)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4825)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	kennykb
25007	Add Java runtime information to the properties of the MSI and EXE packages	Installer Windows		enhancement	team	new	2026-11-06T21:41:03+01:00	2026-11-06T21:41:03+01:00	Currently it's hard to tell what is the bundled runtime in those packages. Add it as a property, so anyone can check without programing skills.	gaben
22285	DataIntegrityProblemException: Primitive cannot be modified in read-only dataset	Core	tested	defect	team	reopened	2022-08-12T20:04:20+02:00	2026-11-06T21:36:38+01: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.

{{{
URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2022-08-01 20:38:58 +0200 (Mon, 01 Aug 2022)
Build-Date:2022-08-02 01:30:56
Revision:18531
Relative:URL: ^/trunk

Identification: JOSM/1.5 (18531 en_GB) Windows 11 64-Bit
OS Build number: Windows 10 Home 2009 (22000)
Memory Usage: 247 MB / 247 MB (62 MB allocated, but free)
Java version: 1.8.0_341-b10, Oracle Corporation, Java HotSpot(TM) Client VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: en_GB
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djava.security.manager, -Djava.security.policy=file:<java.home>\lib\security\javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>\bin, -Djnlpx.origFilenameArg=%UserProfile%\Downloads\josm.jnlp, -Djnlpx.remove=false, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlpx.splashport=56708, -Djnlpx.jvm=<java.home>\bin\javaw.exe]
Dataset consistency test: No problems found

Last errors/warnings:
- 00003.787 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl
- 00004.790 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl
- 00176.897 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive cannot be modified in read-only dataset: {Way id=611679012 version=1 VT nodes=[{Node id=5790831720 version=1 V lat=53.1249548,lon=-2.7682584}, {Node id=5790831721 version=1 V lat=53.1249927,lon=-2.768213}, {Node id=5790831722 version=1 V lat=53.1250003,lon=-2.7682307}, {Node id=5790831723 version=1 V lat=53.1250366,lon=-2.7681867}, {Node id=5790831724 version=1 V lat=53.125029,lon=-2.7681696}, {Node id=5790831725 version=1 V lat=53.1250544,lon=-2.7681394}, {Node id=5790831726 version=1 V lat=53.1250162,lon=-2.7680548}, {Node id=5790831727 version=1 V lat=53.124917,lon=-2.7681744}, {Node id=5790831720 version=1 V lat=53.1249548,lon=-2.7682584}]}
- 00211.561 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive cannot be modified in read-only dataset: {Way id=611679012 version=1 VT nodes=[{Node id=5790831720 version=1 V lat=53.1249548,lon=-2.7682584}, {Node id=5790831721 version=1 V lat=53.1249927,lon=-2.768213}, {Node id=5790831722 version=1 V lat=53.1250003,lon=-2.7682307}, {Node id=5790831723 version=1 V lat=53.1250366,lon=-2.7681867}, {Node id=5790831724 version=1 V lat=53.125029,lon=-2.7681696}, {Node id=5790831725 version=1 V lat=53.1250544,lon=-2.7681394}, {Node id=5790831726 version=1 V lat=53.1250162,lon=-2.7680548}, {Node id=5790831727 version=1 V lat=53.124917,lon=-2.7681744}, {Node id=5790831720 version=1 V lat=53.1249548,lon=-2.7682584}]}



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-2 (55) of javawsApplicationThreadGroup
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive cannot be modified in read-only dataset: {Way id=611679012 version=1 VT nodes=[{Node id=5790831720 version=1 V lat=53.1249548,lon=-2.7682584}, {Node id=5790831721 version=1 V lat=53.1249927,lon=-2.768213}, {Node id=5790831722 version=1 V lat=53.1250003,lon=-2.7682307}, {Node id=5790831723 version=1 V lat=53.1250366,lon=-2.7681867}, {Node id=5790831724 version=1 V lat=53.125029,lon=-2.7681696}, {Node id=5790831725 version=1 V lat=53.1250544,lon=-2.7681394}, {Node id=5790831726 version=1 V lat=53.1250162,lon=-2.7680548}, {Node id=5790831727 version=1 V lat=53.124917,lon=-2.7681744}, {Node id=5790831720 version=1 V lat=53.1249548,lon=-2.7682584}]}
	at org.openstreetmap.josm.data.osm.OsmPrimitive.checkDatasetNotReadOnly(OsmPrimitive.java:206)
	at org.openstreetmap.josm.data.osm.OsmPrimitive.put(OsmPrimitive.java:592)
	at org.openstreetmap.josm.command.ChangePropertyCommand.executeCommand(ChangePropertyCommand.java:180)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:300)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:354)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$EditTagDialog.performTagEdit(TagEditHelper.java:591)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper.editTag(TagEditHelper.java:321)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$MouseClickWatch.mouseClicked(PropertiesDialog.java:1014)
	at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
}}}
"	anonymous
24967	DataIntegrityProblemException: Deleted node referenced: (ChangePropertyCommand)	Core	latest	defect	team	new	2026-10-22T09:57:41+02:00	2026-11-06T21:35:26+01:00	"What steps will reproduce the problem?
1. Dragged a node quite a long way then it appeared to stop existing - just the lines between where it should have been and the adjacent 2 nodes in that way. Then came up with error messages. When I changed the tagging it wouldn't let me undo changes with ctrl+Y anymore. I have a screenshot though not sure how to upload it here.
2. 
3. 

==== What is the expected result?

==== What happens instead?

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-08-11 15:36:21 +0200 (Tue, 11 Aug 2026)
Revision:19613
Build-Date:2026-08-12 01:30:51
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19613 en_GB) Windows 11 64-Bit
OS Build number: Windows 10 Home 26H2 (26300)
Memory Usage: 644 MB / 4022 MB (113 MB allocated, but free)
Java version: 26.0.1+8-34, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920x1200x32bpp@60Hz (scaling 1.50×1.50)
Maximum Screen Size: 1920×1200
Best cursor sizes: 16×16→48×48, 32×32→48×48
System property file.encoding: UTF-8
System property sun.jnu.encoding: Cp1252
Locale info: en_GB
Numbers with default locale: 1234567890 -> 1234567890

Dataset consistency test:
[DELETED REFERENCED] {Way id=1501173639 version=1 MV nodes=[{Node id=13743435399 version=1 V lat=50.791873,lon=0.2733158}, {Node id=-26188 version=0 MV lat=50.7911924,lon=0.273732}, {Node id=13743436504 version=1 V lat=50.7910903,lon=0.2739315}, {Node id=13743436505 version=1 VD lat=50.79184973049332,lon=0.27348533173828127}, {Node id=13743436506 version=1 V lat=50.7918059,lon=0.2763254}, {Node id=13743436507 version=1 V lat=50.7920764,lon=0.2773402}]} refers to deleted primitive {Node id=13743436505 version=1 VD lat=50.79184973049332,lon=0.27348533173828127}


Plugins:
+ buildings_tools (36503)
+ reverter (36503)
+ terracer (36503)
+ utilsplugin2 (36503)

Last errors/warnings:
- 00608.993 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 00608.994 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 00609.083 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 00609.083 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 00609.187 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 00609.187 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 00633.564 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=1501173639 version=1 MV nodes=[{Node id=13743435399 version=1 V lat=50.791873,lon=0.2733158}, {Node id=-26188 version=0 MV lat=50.7911924,lon=0.273732}, {Node id=13743436504 version=1 V lat=50.7910903,lon=0.2739315}, {Node id=13743436505 version=1 VD lat=50.79184973049332,lon=0.27348533173828127}, {Node id=13743436506 version=1 V lat=50.7918059,lon=0.2763254}, {Node id=13743436507 version=1 V lat=50.7920764,lon=0.2773402}]} (changed by the following commands: [Sequence: Dupe into 3 nodes], [Move 1 node], [Sequence: Merge 2 nodes], [Sequence: Dupe into 2 nodes])
- 00638.010 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=1501173639 version=1 MV nodes=[{Node id=13743435399 version=1 V lat=50.791873,lon=0.2733158}, {Node id=-26188 version=0 MV lat=50.7911924,lon=0.273732}, {Node id=13743436504 version=1 V lat=50.7910903,lon=0.2739315}, {Node id=13743436505 version=1 VD lat=50.79184973049332,lon=0.27348533173828127}, {Node id=13743436506 version=1 V lat=50.7918059,lon=0.2763254}, {Node id=13743436507 version=1 V lat=50.7920764,lon=0.2773402}]} (changed by the following commands: [Sequence: Dupe into 3 nodes], [Move 1 node], [Sequence: Merge 2 nodes], [Sequence: Dupe into 2 nodes])
- 00641.984 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=1501173639 version=1 MV nodes=[{Node id=13743435399 version=1 V lat=50.791873,lon=0.2733158}, {Node id=-26188 version=0 MV lat=50.7911924,lon=0.273732}, {Node id=13743436504 version=1 V lat=50.7910903,lon=0.2739315}, {Node id=13743436505 version=1 VD lat=50.79184973049332,lon=0.27348533173828127}, {Node id=13743436506 version=1 V lat=50.7918059,lon=0.2763254}, {Node id=13743436507 version=1 V lat=50.7920764,lon=0.2773402}]} (changed by the following commands: [Sequence: Dupe into 3 nodes], [Move 1 node], [Sequence: Merge 2 nodes], [Sequence: Dupe into 2 nodes])
- 00646.889 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=1501173639 version=1 MV nodes=[{Node id=13743435399 version=1 V lat=50.791873,lon=0.2733158}, {Node id=-26188 version=0 MV lat=50.7911924,lon=0.273732}, {Node id=13743436504 version=1 V lat=50.7910903,lon=0.2739315}, {Node id=13743436505 version=1 VD lat=50.79184973049332,lon=0.27348533173828127}, {Node id=13743436506 version=1 V lat=50.7918059,lon=0.2763254}, {Node id=13743436507 version=1 V lat=50.7920764,lon=0.2773402}]} (changed by the following commands: [Sequence: Dupe into 3 nodes], [Move 1 node], [Sequence: Merge 2 nodes], [Sequence: Dupe into 2 nodes])



=== REPORTED CRASH DATA ===
sequence_information:
 - sequence_name: Sequence: Change properties of up to 1 object
 - sequence_command: Set natural=tree_row for way '‎1501173639‎ (6 nodes)‌'
 - sequence_index: 1
 - sequence_commands: [org.openstreetmap.josm.command.ChangePropertyCommand;org.openstreetmap.josm.command.ChangePropertyCommand]
 - sequence_commands_descriptions: [Remove ""barrier"" for way '‎1501173639‎ (6 nodes)‌';Set natural=tree_row for way '‎1501173639‎ (6 nodes)‌']

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (42) of main
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=1501173639 version=1 MV nodes=[{Node id=13743435399 version=1 V lat=50.791873,lon=0.2733158}, {Node id=-26188 version=0 MV lat=50.7911924,lon=0.273732}, {Node id=13743436504 version=1 V lat=50.7910903,lon=0.2739315}, {Node id=13743436505 version=1 VD lat=50.79184973049332,lon=0.27348533173828127}, {Node id=13743436506 version=1 V lat=50.7918059,lon=0.2763254}, {Node id=13743436507 version=1 V lat=50.7920764,lon=0.2773402}]} (changed by the following commands: [Sequence: Dupe into 3 nodes], [Move 1 node], [Sequence: Merge 2 nodes], [Sequence: Dupe into 2 nodes])
	at org.openstreetmap.josm.data.osm.Way.checkNodes(Way.java:555)
	at org.openstreetmap.josm.data.osm.Way.fireNodesChanged(Way.java:573)
	at org.openstreetmap.josm.data.osm.Way.setDeleted(Way.java:475)
	at org.openstreetmap.josm.data.osm.OsmPrimitive.load(OsmPrimitive.java:882)
	at org.openstreetmap.josm.data.osm.Way.load(Way.java:267)
	at org.openstreetmap.josm.command.Command.undoCommand(Command.java:171)
	at org.openstreetmap.josm.command.SequenceCommand.undoCommands(SequenceCommand.java:138)
	at org.openstreetmap.josm.command.SequenceCommand.undoCommand(SequenceCommand.java:167)
	at org.openstreetmap.josm.data.UndoRedoHandler.lambda$undo$0(UndoRedoHandler.java:381)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWait(GuiHelper.java:225)
	at org.openstreetmap.josm.data.UndoRedoHandler.undo(UndoRedoHandler.java:372)
	at org.openstreetmap.josm.data.UndoRedoHandler.undo(UndoRedoHandler.java:362)
	at org.openstreetmap.josm.actions.UndoAction.actionPerformed(UndoAction.java:39)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1787)
	at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2949)
	at java.desktop/javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:295)
	at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:254)
	at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:3041)
	at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:3033)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2911)
	at java.desktop/java.awt.Component.processEvent(Component.java:6347)
	at java.desktop/java.awt.Container.processEvent(Container.java:2260)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4952)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2318)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4784)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1819)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:874)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1136)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1011)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:839)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4833)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2318)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2667)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4784)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:716)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	anonymous
24912	"Cannot run program ""dpkg-query"	Core		defect	thomas.finteis@…	needinfo	2026-09-24T08:41:04+02:00	2026-11-06T21:32:22+01: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.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-08-11 15:36:21 +0200 (Tue, 11 Aug 2026)
Revision:19613
Build-Date:2026-08-12 01:30:51
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19613 de) Linux Ubuntu 22.04.5 LTS
Memory Usage: 1488 MB / 11904 MB (920 MB allocated, but free)
Java version: 21.0.12+8-1-22.04-Ubuntu, Ubuntu, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920x1080x[Multi depth]@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: de_DE.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: de_DE
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: Unity:Unity7:ubuntu
VM arguments: [--module-path=/usr/share/openjfx/lib, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, -Djosm.restart=true, -Djava.net.useSystemProxies=true, -XX:MaxRAMPercentage=75.0, --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]
Dataset consistency test: No problems found

Plugins:
+ DirectDownload (36503)
+ DirectUpload (36503)
+ Elevation (0.17.6)
+ ElevationProfile (36503)
+ Mapillary (1822)
+ PicLayer (275)
+ RelationDissolve (0.2.0)
+ SeaChart (36483)
+ SeaMapEditor (36483)
+ apache-commons (36483)
+ changeset-viewer (61)
+ editgpx (36483)
+ graphview (36503)
+ merge-overlap (36483)
+ notesolver (0.5.0)
+ photo_geotagging (36503)
+ photoadjust (36503)
+ reltoolbox (36493)
+ reverter (36503)
+ routing (36493)
+ tageditor (36503)
+ utilsplugin2 (36503)

Tagging presets:
+ https://raw.githubusercontent.com/OpenNauticalChart/josm/master/Presets_Hafen.xml
+ https://raw.githubusercontent.com/OpenNauticalChart/josm/master/INT-1-preset.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/OpenSeaMap-PresetForSeamarks&zip=1

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Direction&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/NewParkingFeatures&zip=1

Last errors/warnings:
- 56273.557 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059433, exit code: 1, error: 0 (none) 
- 56273.558 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059434, exit code: 1, error: 0 (none) 
- 56273.559 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059435, exit code: 1, error: 0 (none) 
- 56273.560 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059436, exit code: 1, error: 0 (none) 
- 56273.561 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059437, exit code: 1, error: 0 (none) 
- 56273.563 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059438, exit code: 1, error: 0 (none) 
- 56273.564 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059439, exit code: 1, error: 0 (none) 
- 56273.565 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059440, exit code: 1, error: 0 (none) 
- 56273.566 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059441, exit code: 1, error: 0 (none) 
- 56273.567 W: java.io.IOException: Cannot run program ""dpkg-query"": Failed to exec spawn helper: pid: 2059442, exit code: 1, error: 0 (none) 



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (34) of main
java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
	at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113)
	at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087)
	at java.desktop/javax.swing.plaf.basic.BasicToolBarUI$Handler.mouseDragged(BasicToolBarUI.java:1366)
	at java.desktop/javax.swing.plaf.basic.BasicToolBarUI$DockingListener.mouseDragged(BasicToolBarUI.java:1583)
	at java.desktop/javax.swing.plaf.metal.MetalToolBarUI$MetalDockingListener.mouseDragged(MetalToolBarUI.java:429)
	at java.desktop/java.awt.Component.processMouseMotionEvent(Component.java:6669)
	at java.desktop/javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3416)
	at java.desktop/java.awt.Component.processEvent(Component.java:6390)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4592)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	thomas.finteis@…
24427	NullPointerException	Core		defect	team	new	2025-08-02T23:27:16+02:00	2026-11-06T21:30:30+01:00	"Installed via homebrew, running on MacMini M2 Pro.

--


{{{
Revision:19423
Build-Date:2025-07-12 12:05:40

Identification: JOSM/1.5 (19423 de) Mac OS X 15.5
OS Build number: macOS 15.5 (24F74)
Memory Usage: 2976 MB / 12288 MB (1517 MB allocated, but free)
Java version: 24.0.1+9, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 1 2560x1440x32bpp@60Hz (scaling 2.00×2.00)
Maximum Screen Size: 2560×1440
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: de_DE
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=19423, -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.apple.eawt=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=/Applications/JOSM_24_arm64.app/Contents/MacOS/JOSM]
Dataset consistency test: No problems found

Plugins:
+ CustomizePublicTransportStop (36438)
+ ImproveWay (38)
+ OpeningHoursEditor (36438)
+ Review.Changes (1.1.1)
+ buildings_tools (36438)
+ changessum (v0.1.1)
+ continuosDownload (127)
+ imagery_offset_db (36438)
+ measurement (36438)
+ utilsplugin2 (36438)

Tagging presets:
+ https://www.openrailwaymap.org/josm-presets/de-signals-bostrab.zip
+ https://www.openrailwaymap.org/josm-presets/de.zip
+ https://www.openrailwaymap.org/josm-presets/de-signals-eso.zip
+ https://www.openrailwaymap.org/josm-presets/de-avg-signals.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/BuildingPreset&zip=1
+ https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historical_Objects&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Light_sources&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/MappingAccessibility&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/MobilePhoneBaseStations&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/OpenStationMap&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/PublicTransportOneClick&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/DE.zip
+ https://osmtools.de/josm/steps.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/MastAndTower&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Windrad&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Surveillance&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/OneClick&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParcelLockers&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Stolpersteine&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Transdev-Entwerter_im_VRR&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Transdev-Fahrkartenautomat_im_VRR&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/WifiHotspots&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/pedestrian_crossings_in_DE&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://openrailwaymap.fly.dev/preset.zip

Map paint styles:
+ https://www.openrailwaymap.org/styles/signals.zip
+ https://www.openrailwaymap.org/styles/josm-additional.zip
- https://www.openrailwaymap.org/styles/electrified.zip
+ https://www.openrailwaymap.org/styles/standard.zip
- https://www.openrailwaymap.org/styles/maxspeed.zip
+ https://josm.openstreetmap.de/josmfile?page=Styles/FixmeAndNote&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/LayerChecker&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/LessObtrusiveNodes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Direction&zip=1

Validator rules:
+ https://josm.openstreetmap.de/josmfile?page=Rules/GermanySpecific&zip=1
+ https://www.openrailwaymap.org/validator/de-openrailwaymap.validator.mapcss
+ https://www.openrailwaymap.org/validator/openrailwaymap.validator.mapcss

Last errors/warnings:
- 02763.557 E: Cannot add MapCSS rule: Cannot add instruction assertNoMatch: way railway=rail operator=DB!
- 02763.557 E: Cannot add MapCSS rule: Cannot add instruction assertNoMatch: way railway=rail operator=DB!
- 02764.036 E: Cannot add MapCSS rule: Cannot add instruction assertNoMatch: node railway=signal railway:signal:combined=DE-KVB:hp railway:signal:combined:form=light!
- 02764.039 E: Cannot add MapCSS rule: Cannot add instruction assertNoMatch: way railway=rail operator=DB!
- 02764.039 E: Cannot add MapCSS rule: Cannot add instruction assertNoMatch: way railway=rail operator=DB!
- 02764.693 E: Cannot add MapCSS rule: Cannot add instruction assertNoMatch: node railway=signal railway:signal:combined=DE-KVB:hp railway:signal:combined:form=light!
- 02764.695 E: Cannot add MapCSS rule: Cannot add instruction assertNoMatch: way railway=rail operator=DB!
- 02764.695 E: Cannot add MapCSS rule: Cannot add instruction assertNoMatch: way railway=rail operator=DB!
- 02765.210 E: Thread main-worker-0 raised java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.Node.addReferrer(org.openstreetmap.josm.data.osm.OsmPrimitive)"" because ""node"" is null
- 02765.212 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.Node.addReferrer(org.openstreetmap.josm.data.osm.OsmPrimitive)"" because ""node"" is null



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: main-worker-0 (40)
java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.Node.addReferrer(org.openstreetmap.josm.data.osm.OsmPrimitive)"" because ""node"" is null
	at org.openstreetmap.josm.data.osm.Way.setNodes(Way.java:63)
	at org.openstreetmap.josm.data.osm.DataSet.clonePrimitives(DataSet.java:257)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetValidation.applyChangedTags(TaggingPresetValidation.java:93)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetValidation.lambda$validateAsync$0(TaggingPresetValidation.java:50)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

=== ADDITIONAL EXCEPTIONS ===
==== Exception at 1754169806379 ====
java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.Node.addReferrer(org.openstreetmap.josm.data.osm.OsmPrimitive)"" because ""node"" is null
	at org.openstreetmap.josm.data.osm.Way.setNodes(Way.java:63)
	at org.openstreetmap.josm.data.osm.DataSet.clonePrimitives(DataSet.java:257)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetValidation.applyChangedTags(TaggingPresetValidation.java:93)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetValidation.lambda$validateAsync$0(TaggingPresetValidation.java:50)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
}}}
"	politik_rebe7j@…
24414	Deleting multiple ways fails	Core		defect	gaben	new	2025-07-21T19:05:24+02:00	2026-11-06T21:29:52+01:00	"==== What steps will reproduce the problem?
1. downloading ways from OSM
2. Selecting multiple ways or sections of ways
3. clicking delete

==== What is the expected result?

The ways and nodes are deleted

==== What happens instead?

Nothing gets deleted and an unexpected exception pop-up appears

==== Please provide any additional information below. Attach a screenshot if possible.

I select multiple (sections of) ways and their nodes with the select tool then delete them, the operation fails and pop-up appears. This only happens with ways and relations imported from OSM. This has happened sporadically today and trying again usually works, it did not happen at all when i last worked on this project (5/12/2024)


{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2025-07-11 10:12:51 +0200 (Fri, 11 Jul 2025)
Revision:19423
Build-Date:2025-07-12 01:30:35
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19423 en) Windows 10 64-Bit
OS Build number: Windows 10 IoT Enterprise LTSC 2021 21H2 (19044)
Memory Usage: 475 MB / 1984 MB (272 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@60Hz (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_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Dicedtea-web.bin.location=%UserProfile%\AppData\Local\OpenWebStart\javaws, -Djava.util.Arrays.useLegacyMergeSort=true, --add-reads=java.base=ALL-UNNAMED,java.desktop, --add-reads=java.desktop=ALL-UNNAMED,java.naming, --add-reads=java.naming=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop, --add-exports=java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.action=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.provider=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.util=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.validator=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.x509=ALL-UNNAMED,java.desktop, --add-exports=java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.applet=ALL-UNNAMED,java.desktop,jdk.jsobject, --add-exports=java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=javafx.graphics/com.sun.javafx.application=ALL-UNNAMED, --add-exports=jdk.deploy/com.sun.deploy.config=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, -Djava.security.manager=allow]

Dataset consistency test:
[DELETED REFERENCED] {Relation id=2105648 version=25 MVT [node 292556046, way 157452301, way 157562899, way 258945469, way 157562881, relation 17147852, relation 17147868, relation 17147909]} refers to deleted primitive {Relation id=17147909 version=2 MVDT]}


Last errors/warnings:
- 00000.663 W: extended font config - overriding 'filename.Malgun_Gothic=malgun.ttf' with 'MALGUN.TTF'
- 00000.664 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF'
- 00000.664 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
- 01365.686 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=2105648 version=25 MVT [node 292556046, way 157452301, way 157562899, way 258945469, way 157562881, relation 17147852, relation 17147868, relation 17147909]} (changed by the following commands: [Sequence: Delete], [Sequence: Split way ‎Brabant Wallon - Namur‎ (75 nodes)‌ into 2 parts], [Sequence: Split way ‎1246045508‎ (53 nodes)‌ into 2 parts], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Split way ‎1245462800‎ (107 nodes)‌ into 2 parts], [Sequence: Split way ‎1246048725‎ (102 nodes)‌ into 2 parts], [Sequence: Split way ‎1246048725‎ (75 nodes)‌ into 2 parts], [Sequence: Split way ‎Brabant Wallon - Namur‎ (120 nodes)‌ into 2 parts], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Combine 7 ways], [Sequence: Delete])



=== REPORTED CRASH DATA ===
sequence_information:
 - sequence_name: Sequence: Delete
 - sequence_command: Change members of boundary[8] (""Walhain"", 8 members, incomplete)
 - sequence_index: 0
 - sequence_commands: [org.openstreetmap.josm.command.ChangeMembersCommand;org.openstreetmap.josm.command.ChangeMembersCommand;org.openstreetmap.josm.command.DeleteCommand]
 - sequence_commands_descriptions: [Change members of boundary[8] (""Walhain"", 8 members, incomplete);Change members of boundary[9] (""Tourinnes-Saint-Lambert"", 3 members);Delete 129 objects]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-1 (64) of JOSM
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=2105648 version=25 MVT [node 292556046, way 157452301, way 157562899, way 258945469, way 157562881, relation 17147852, relation 17147868, relation 17147909]} (changed by the following commands: [Sequence: Delete], [Sequence: Split way ‎Brabant Wallon - Namur‎ (75 nodes)‌ into 2 parts], [Sequence: Split way ‎1246045508‎ (53 nodes)‌ into 2 parts], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Split way ‎1245462800‎ (107 nodes)‌ into 2 parts], [Sequence: Split way ‎1246048725‎ (102 nodes)‌ into 2 parts], [Sequence: Split way ‎1246048725‎ (75 nodes)‌ into 2 parts], [Sequence: Split way ‎Brabant Wallon - Namur‎ (120 nodes)‌ into 2 parts], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Delete], [Sequence: Combine 7 ways], [Sequence: Delete])
	at org.openstreetmap.josm.data.osm.Relation.checkMembers(Relation.java:501)
	at org.openstreetmap.josm.data.osm.Relation.fireMembersChanged(Relation.java:513)
	at org.openstreetmap.josm.data.osm.Relation.setMembers(Relation.java:61)
	at org.openstreetmap.josm.command.ChangeMembersCommand.executeCommand(ChangeMembersCommand.java:52)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:112)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:300)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:354)
	at org.openstreetmap.josm.actions.mapmode.DeleteAction.doActionPerformed(DeleteAction.java:164)
	at org.openstreetmap.josm.actions.DeleteAction.actionPerformed(DeleteAction.java:86)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)
	at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2956)
	at java.desktop/javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:309)
	at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:264)
	at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:3049)
	at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:3041)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2918)
	at java.desktop/java.awt.Component.processEvent(Component.java:6398)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1952)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:883)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1146)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1020)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:848)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4877)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	anonymous
22376	PC crashed and lost all my preferences	Core		defect	team	new	2022-09-15T19:55:06+02:00	2026-11-06T21:29:03+01:00	"==== What steps will reproduce the problem?
1. I was editing in JOSM and it just crashed, don't know why...
2. The only instability i noticed since several versions ago is that parts of the interface disappear or get mixed up. In order to get them back i have to switch to another app and come back (like going to desktop and back) or pass my mouse pointer on the interface. This happens often and doesn't make me crash each time.
3. I'm not sure but it seemed that this happens when i try to check the historic of elements.

==== What is the expected result?

==== What happens instead?

==== Please provide any additional information below. Attach a screenshot if possible.
I lost all my preferences, loads of presets, the map paint style, imagery sources, plugins , etc... I really need all that back. When i launched JOSM after the crash, the backup file only brought the default preferences not ""my backup""... or is the default the backup?

{{{
Revision:18543
Build-Date:2022-08-30 13:34:09

Identification: JOSM/1.5 (18543 en) Windows 7 64-Bit
OS Build number: Windows 7 Professional (7601)
Memory Usage: 162 MB / 4092 MB (42 MB allocated, but free)
Java version: 17.0.4+8-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1280×1024 (scaling 1.00×1.00) \Display1 1280×1024 (scaling 1.00×1.00)
Maximum Screen Size: 1280×1024
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.18543, --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=C:\Program Files (x86)\JOSM\josm.exe]

Last errors/warnings:
- 00000.584 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
- 00000.585 W: extended font config - overriding 'filename.Kalinga=kalinga.ttf' with 'KALINGA.TTF'
- 00000.585 W: extended font config - overriding 'filename.Iskoola_Pota=iskpota.ttf' with 'ISKPOTA.TTF'
- 00000.585 W: extended font config - overriding 'filename.Shruti=shruti.ttf' with 'SHRUTI.TTF'
- 00000.586 W: extended font config - overriding 'filename.Raavi=raavi.ttf' with 'RAAVI.TTF'
- 00000.586 W: extended font config - overriding 'filename.Gautami=gautami.ttf' with 'GAUTAMI.TTF'
- 00000.587 W: extended font config - overriding 'filename.Vrinda=vrinda.ttf' with 'VRINDA.TTF'
- 00000.587 W: extended font config - overriding 'filename.Kartika=kartika.ttf' with 'KARTIKA.TTF'
- 00000.588 W: extended font config - overriding 'filename.Latha=latha.ttf' with 'LATHA.TTF'
- 00002.321 E: java.security.KeyStoreException: Windows-ROOT not found. Cause: java.security.NoSuchAlgorithmException: Windows-ROOT KeyStore not available
}}}
"	sharcrash
21362	better navigation of change history	Core	tested	defect	team	new	2021-09-21T18:19:25+02:00	2026-11-06T21:22:10+01:00	"==== What steps will reproduce the problem?
1. edit one existing object
2. select it
3. hit Ctrl-H
4. be happy about the current representation of change data, differences between last changeset and current uncommitted edit \\
 [[Image(2021-09-21_11-12.png,link=,50%)]]
5. press the cursor-up key to view the previous change
6. be perplex why it's only showing one changeset, the one before the last. \\
 [[Image(2021-09-21_11-12_1.png,link=,50%)]]
7. press the cursor-down key to go back to the initial representation
8. be perplex why you're now looking at the last changeset, not the difference to your edits \\
 [[Image(2021-09-21_11-12_2.png,link=,50%)]]

==== What is the expected result?

keep showing a difference between subsequent changes (committed or not).

==== Please provide any additional information below. Attach a screenshot if possible.


{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-09-03 03:12:33 +0200 (Fri, 03 Sep 2021)
Revision:18193
Build-Date:2021-09-03 01:31:19
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18193 fr) Linux Debian GNU/Linux 10 (buster)
Memory Usage: 415 MB / 1446 MB (111 MB allocated, but free)
Java version: 11.0.12+7-post-Debian-2deb10u1, Debian, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1366×768 (scaling 1.00×1.00)
Maximum Screen Size: 1366×768
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_GB.UTF-8
Environment variable LC_ALL: fr_FR.utf8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: fr_FR
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: GNOME
Java package: openjdk-11-jre:amd64-11.0.12+7-2~deb10u1
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-22
fonts-noto: fonts-noto:all-20181227-1
VM arguments: [-Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ buildings_tools (35756)
+ gridify (1606242219)
+ measurement (35640)
+ reverter (35732)
+ utilsplugin2 (35792)

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1

Last errors/warnings:
- 08004.040 W: java.net.ConnectException: Le réseau n'est pas accessible (connect failed)
- 08004.040 E: Connexion au proxy '/192.168.43.1:3128' pour lʼURI 'https://b.tile.openstreetmap.org/17/36350/62404.png' impossible. Lʼexception était: java.net.ConnectException: Le réseau n'est pas accessible (connect failed)
- 08004.040 W: Already here java.net.ConnectException: Le réseau n'est pas accessible (connect failed)
- 08004.041 W: Already here java.net.ConnectException: Le réseau n'est pas accessible (connect failed)
- 08004.041 W: java.net.ConnectException: Le réseau n'est pas accessible (connect failed)
- 08004.041 W: Already here java.net.ConnectException: Le réseau n'est pas accessible (connect failed)
- 08004.041 W: java.net.ConnectException: Le réseau n'est pas accessible (connect failed)
- 09265.470 W: JCS - Silent failure during download: https://tile.openstreetmap.org/15/9142/15546.png
- 10810.918 W: JCS - Silent failure during download: https://tile.openstreetmap.org/19/146330/248707.png
- 20361.508 W: JCS - Silent failure during download: https://tile.openstreetmap.org/19/145927/249209.png
}}}
"	mariotomo
18697	"IAE: ""Failed to set current primitive. Current version not available in history"" after conflicts"	Core		defect	team	new	2020-02-11T00:11:03+01:00	2026-11-06T21:21:40+01:00	"==== What steps will reproduce the problem?
1. Edit something
2. Upload the changes
3. Open the edited object's history, then in the diff view click on the latest version

==== What is the expected result?
After changeset upload, JOSM should update the object versions as it did before the regression.

==== What happens instead?
JOSM throwing exception.

==== Please provide any additional information below. Attach a screenshot if possible.
Some time ago I noticed after uploading changes the diff tool sometimes became out of sync. I mean changes don't make a new entry in the history.

{{{
URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-02-01 01:10:57 +0100 (Sat, 01 Feb 2020)
Build-Date:2020-02-01 00:12:46
Revision:15806
Relative:URL: ^/trunk

Identification: JOSM/1.5 (15806 en) Mac OS X 10.14.6
OS Build number: Mac OS X 10.14.6 (18G3020)
Memory Usage: 1850 MB / 1850 MB (265 MB allocated, but free)
Java version: 1.8.0_201-b09, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: Display 188945226 1920x1080, Display 69969284 2048x1152
Maximum Screen Size: 2048x1152
VM arguments: [-Djava.security.policy=file:<java.home>/lib/security/javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>/bin, -Djava.security.manager, -Djnlpx.origFilenameArg=${HOME}/Desktop/josm.jnlp, -Djnlpx.remove=false, -Dsun.awt.warmup=true, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlpx.heapsize=NULL,2048m, -Dmacosx.jnlpx.dock.name=JOSM, -Dmacosx.jnlpx.dock.icon=${HOME}/Library/Application Support/Oracle/Java/Deployment/cache/6.0/25/4c122699-6f5f907a.icns, -Djnlpx.jvm=""<java.home>/bin/java""]
Dataset consistency test: No problems found

Plugins:
+ EasyPresets (1537621333)
+ Mapillary (1.5.20)
+ OpenStreetCam (280)
+ apache-commons (35092)
+ apache-http (35092)
+ auto_tools (73)
+ buildings_tools (35248)
+ graphview (35313)
+ intersection (0.0.7)
+ jna (35092)
+ osm-obj-info (56)
+ reverter (35313)
+ rex (53)
+ tageditor (35258)
+ turnlanes-tagging (283)
+ turnrestrictions (35313)
+ utilsplugin2 (35248)

Tagging presets:
+ https://raw.githubusercontent.com/osmlab/name-suggestion-index/master/dist/name-suggestions.presets.xml

Map paint styles:
+ https://raw.githubusercontent.com/KaartGroup/Kaart-Styles/master/Kaart-Styles.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
+ https://raw.githubusercontent.com/KaartGroup/Kaart-Styles/master/Overlapping%20Ways.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss

Validator rules:
+ https://raw.githubusercontent.com/KaartGroup/KaartValidator/master/kaart.clingstone.validator.mapcss

Last errors/warnings:
- E: Conflicts detected - <html>Uploading <strong>failed</strong> because the server has a newer version of one<br>of your nodes, ways, or relations.<br>The conflict is caused by the <strong>way</strong> with id <strong>767,597,312</strong>,<br>the server has version 4, your version is 3.<br><br>Click <strong>Synchronize way 767,597,312 only</strong> to synchronize the conflicting primitive only.<br>Click <strong>Synchronize entire dataset</strong> to synchronize the entire local dataset with the server.<br>Click <strong>Cancel</strong> to abort and continue editing.<br></html>
- W: Deleted or moved objects - <html>There are 6 objects in your local dataset which might be deleted on the server.<br>If you later try to delete or update them the server is likely to report a conflict.<br>Click <strong>Check on the server</strong> to check the state of these objects on the server.<br>Click <strong>Ignore</strong> to ignore.</html>
- E: Error header: Version mismatch: Provided 3, server had: 4 of Way 767597312
- E: Conflicts detected - <html>Uploading <strong>failed</strong> because the server has a newer version of one<br>of your nodes, ways, or relations.<br>The conflict is caused by the <strong>way</strong> with id <strong>767,597,312</strong>,<br>the server has version 4, your version is 3.<br><br>Click <strong>Synchronize way 767,597,312 only</strong> to synchronize the conflicting primitive only.<br>Click <strong>Synchronize entire dataset</strong> to synchronize the entire local dataset with the server.<br>Click <strong>Cancel</strong> to abort and continue editing.<br></html>
- W: Conflicts detected - <html>There was 1 conflict detected.</html>
- W: Deleted or moved objects - <html>There are 6 objects in your local dataset which might be deleted on the server.<br>If you later try to delete or update them the server is likely to report a conflict.<br>Click <strong>Check on the server</strong> to check the state of these objects on the server.<br>Click <strong>Ignore</strong> to ignore.</html>
- W: java.net.ConnectException: Operation timed out (Connection timed out)
- W: java.net.ConnectException: Operation timed out (Connection timed out)
- W: Deleted or moved objects - <html>There are 3 objects in your local dataset which might be deleted on the server.<br>If you later try to delete or update them the server is likely to report a conflict.<br>Click <strong>Check on the server</strong> to check the state of these objects on the server.<br>Click <strong>Ignore</strong> to ignore.</html>
- E: Handled by bug report queue: java.lang.IllegalArgumentException: Failed to set current primitive. Current version 5 not available in history.


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-2 (45) of javawsApplicationThreadGroup
java.lang.IllegalArgumentException: Failed to set current primitive. Current version 5 not available in history.
	at org.openstreetmap.josm.gui.history.HistoryBrowserModel.setCurrentPointInTime(HistoryBrowserModel.java:334)
	at org.openstreetmap.josm.gui.history.HistoryBrowserModel.setCurrentPointInTime(HistoryBrowserModel.java:416)
	at org.openstreetmap.josm.gui.history.VersionTable$MouseListener.mousePressed(VersionTable.java:137)
	at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280)
	at java.awt.Component.processMouseEvent(Component.java:6536)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
}}}
"	anonymous
23940	History Dialog: No new version listed if the object is deleted	Core		defect	team	new	2024-09-24T15:55:37+02:00	2026-11-06T21:11:47+01:00	"==== What steps will reproduce the problem?
1. Download some data
1. Delete a node
1. Select the deleted node through search: `type:node deleted` with option ""all objects""
1. Open the History Dialog

==== What is the expected result?
A new version without a corresponding CS and the deleted state and therefore without coordinates

==== What happens instead?
No new version and no information about your modification

==== Please provide any additional information below. Attach a screenshot if possible.
This is also relevant in case of conflicts, as the incorrect version is used, a wrong CS is listed under ""Properties"" at least when a layer with a locally deleted node is merged to a copy of the layer without the deletion, see #23930

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2024-09-20 14:06:54 +0200 (Fri, 20 Sep 2024)
Revision:19228
Build-Date:2024-09-21 01:30:55
URL:https://josm.openstreetmap.de/svn/trunk
}}}
"	skyper
25002	OpenQA Osmose reports have invisible markers	Plugin openqa		defect	taylor.smock	reopened	2026-11-03T16:45:04+01:00	2026-11-06T18:45:32+01:00	"OpenQA version is 116.

I try to do:
1. Enable Osmose item 0, ""overlapping building.""
2. Download an area with Osmose issues.
3. Select Data → OpenQA layer.
4. Look for Osmose issue: there is none.

The Osmose API returns the issues, but OpenQA does not draw a visible marker. I notice OpenQA requests 
https://osmose.openstreetmap.fr/images/markers/marker-b-0.png

That address returns HTTP 404. ImageIO.read returns null, and OsmoseInformation.realGetIcon creates a blank icon.

I would like OpenQA shows a visible fallback icon when the Osmose marker image is unavailable.

Thanks"	anonymous
24164	Consider Migrating translations to self-hosted Weblate	Core		task	team	new	2025-02-21T10:32:21+01:00	2026-11-06T07:56:58+01:00	"See comment:170:ticket:8645

Over the years Weblate became much better. A new attempt to switch from Launchpad to a better translation plattform should be considered.

* Modern interface, but still easy to use
* No more errors
* Git or SVN instead of Bazaar for translations
* Internal checks for translation errors (missing XML, dots at the end, ...)
* Self-hostable

Test instance by Woazboat: https://translate.codeberg.org/projects/josm_translate_test/"	stoecker
25003	Tile error message overflows the next tile	Core		defect	team	new	2026-11-04T08:58:53+01:00	2026-11-05T13:50:39+01:00	"As title says. When a tile error is reported, sometimes it overflows to the next tile, making it hard to read. I noticed this issue a while ago, not a new issue.

[[Image(Képernyőkép 2026-11-03 202110.png,width=40%)]]

Test version: 19677."	gaben
24635	Fix new PMD warnings	Core		task	team	new	2026-02-12T08:56:04+01:00	2026-11-05T13:50:39+01:00	"After PMD upgrade a bunch of new warnings cam up.

Anyone time to help fixing them?"	stoecker
23007	[patch] Show progress on plugin downloads	Core		defect	team	new	2023-06-15T22:42:00+02:00	2026-11-05T13:50:39+01:00	"==== What steps will reproduce the problem?
1. Download a plugin, preferably a large one (MagicWand with around 100 MB is a good candidate)
2. Wait until the download finishes

==== What is the expected result?
The download dialog showing the download progress for each plugin it downloads.

==== What happens instead?
Just an empty progress bar, showing no progress at all.

==== Please provide any additional information below. Attach a screenshot if possible.

I find it hard to utilise the progress monitors in JOSM which could be the reason, that half of the time they are not working as expected.

{{{
URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2023-06-14 22:39:45 +0200 (Wed, 14 Jun 2023)
Build-Date:2023-06-15 01:30:59
Revision:18762
Relative:URL: ^/trunk

Identification: JOSM/1.5 (18762 hu) Windows 10 64-Bit
OS Build number: Windows 10 Pro for Workstations 2009 (19045)
Memory Usage: 1040 MB / 7266 MB (725 MB allocated, but free)
Java version: 1.8.0_371-b11, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1200 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1200
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1250
System property sun.jnu.encoding: Cp1250
Locale info: hu_HU
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djava.security.manager, -Djava.security.policy=file:<java.home>\lib\security\javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>\bin, -Djnlpx.origFilenameArg=%UserProfile%\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\31\583aa85f-694e407d, -Djnlpx.remove=false, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlpx.splashport=49405, -Djnlp.application.href=https://josm.openstreetmap.de/download/josm-latest.jnlp, -Djnlpx.jvm=<java.home>\bin\javaw.exe]

Plugins:
+ AddrInterpolation (36079)
+ FastDraw (36066)
+ OpeningHoursEditor (36079)
+ apache-commons (36034)
+ buildings_tools (36011)
+ continuosDownload (1.3.4)
+ ejml (35924)
+ geotools (36068)
+ gridify (1606242219)
+ jackson (36034)
+ jaxb (35952)
+ josm_magic_wand
+ jts (36004)
+ libphonenumber (8.13.14)
+ opendata (36079)
+ pbf (36034)
+ phonenumber (1.0.2)
+ pt_assistant (2.1.15-19-g9aeec3c-SNAPSHOT)
+ reverter (36066)
+ tageditor (36079)
+ turnlanes-tagging (0.0.5)
+ utilsplugin2 (36079)
+ wikipedia (605)

Last errors/warnings:
- 00010.914 W: josm_magic_wand bővítmény Java 11 verziót igényel. A jelenlegi Java verzió: 8. A bővítmény használatához frissítened kell a Javát.
}}}
"	gaben
24234	Update tag2link component	Core tag2link		task	team	reopened	2025-03-26T18:49:11+01:00	2026-11-05T13:50:39+01:00	"It seems to me that the  [https://github.com/JOSM/tag2link/commit/f31e86c0f680bb12570a4490ef541a1ec4433cae Automatic update for 2025.2.21] has not been taken into account :

My JOSM version is 19342
I can't find the changes to the `Key:ref:UAI`(see screenshot)

"	leni
24740	[PATCH] support amenity=lounger	Internal preset		enhancement	team	reopened	2026-05-24T08:32:50+02:00	2026-11-05T13:50:39+01:00	"==== What steps will reproduce the problem?
1. create node
2. add `amenity=lounger` to it

==== What is the expected result?

It has an icon

==== What happens instead?

Nothing

==== Please provide any additional information below. Attach a screenshot if possible.

It is in iD presets (that is how I found it, I have also some similar candidates and I can create tickets/patches if that would be welcome) - see https://github.com/openstreetmap/id-tagging-schema/blob/main/data/presets/amenity/lounger.json

iD presets have decent icon, using https://rapideditor.github.io/temaki/docs/#icon-temaki-lounger which maybe can be reused

has decent usage, 16k - see https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dlounger

I would add that preset for nodes only, like iD does

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-05-22 07:49:37 +0200 (Fri, 22 May 2026)
Revision:19575
Build-Date:2026-05-23 01:30:44
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19575 en) Linux Ubuntu 24.04.4 LTS
Memory Usage: 1148 MB / 7996 MB (127 MB allocated, but free)
Java version: 21.0.10+7-Ubuntu-124.04, Ubuntu, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920x1200x[Multi depth]@60Hz (scaling 1.00×1.00) :0.1 1920x1200x[Multi depth]@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 1920×1200
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: LXQt
Java package: openjdk-21-jre:amd64-21.0.10+7-1~24.04
Java ATK Wrapper package: libatk-wrapper-java:all-0.40.0-3build2
libcommons-compress-java: libcommons-compress-java:all-1.25.0-1
libcommons-logging-java: libcommons-logging-java:all-1.3.0-1ubuntu1
fonts-noto: fonts-noto:-
Dataset consistency test: No problems found

Plugins:
+ todo (159)

Last errors/warnings:
- 00003.265 W: Update plugins - You updated your JOSM software. To prevent problems the plugins should be updated as well.  Update plugins now?
- 00055.950 W: java.net.SocketTimeoutException: Connect timed out
- 00060.592 W: java.net.SocketTimeoutException: Connect timed out
- 00060.595 E: java.net.SocketTimeoutException: Connect timed out
- 00060.612 E: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.. Cause: java.net.SocketTimeoutException: Connect timed out
- 00060.631 E: IO Exception - <html>Failed to upload data to or download data from<br>'https://api.openstreetmap.org/api/0.6/map?bbox=19.8952103,49.8586814,19.9249077,49.8861187'<br>due to a problem with transferring data.<br>Details (untranslated): Connect timed out</html>
- 00211.908 W: Region [WMS_BLOCK_v2] : Problem verifying disk.
}}}
"	mkoniecz
24956	"[PATCH] Way ""modified"" flag should be based on node IDs, not coordinates"	Core		defect	team	new	2026-10-17T17:09:42+02:00	2026-11-05T13:50:39+01:00	"Generally, if the user changes a primitive and then manually reverts the change (without using ""undo""), JOSM doesn't automatically clear the modified flag, but any command that re-downloads the primitive (such as ""Update modified"") will clear the modified flag (see #3384 and ticket:17983#comment:1).  However, for a way, the decision to clear the modified flag is based on the coordinates of the nodes in the way.  This does not match the OSM data model, which stores only the node IDs.  As a result, if a node has been moved, the way can get stuck in the ""modified"" state.  This is confusing when I'm reviewing my own change by searching for `modified` objects, and a new version can even get uploaded that has no diff from the previous version.  The latter happened to me in [https://www.openstreetmap.org/changeset/184037358 changeset 184037358] ([https://www.openstreetmap.org/way/1155668688/history/3 affected way 1], [https://www.openstreetmap.org/way/1234242974/history/7 affected way 2]).

There's also a reverse scenario in which there are two nodes N1 and N2 at the same coordinates and a way W that contained N1 is modified to contain N2 instead.  An ""Update modified"" will mark W as unmodified because the node coordinates match.  At that point, the history dialog will show no diff and an upload will not upload W because it is marked unmodified.  But internally, W still contains N2!  If the user then makes some other change to W and uploads it, the replacement of N1 with N2 will get uploaded along with the other change.  This is potentially dangerous because a change is uploaded potentially without the user's knowledge.  Fortunately, I think the scenario is rare because duplicate nodes are discouraged.  Also fortunately, if W is updated a second time (""Update modified"" would not do it, but ""Update data"" would, for example), it gets reverted to contain N1.  I'm going to focus on the first scenario in this ticket.

==== What steps will reproduce the problem?
1. Download some data.
2. Move a node that belongs to a way.
3. Search for `modified`.  Only the node is selected.
4. Change a tag of the way, then change it back manually (not using ""undo"").
5. Search for `modified`.  Both the node and the way are selected.
6. Perform the ""Update modified"" command.
7. Search for `modified`.

==== What is the expected result?
In step 7, only the node is selected.

==== What happens instead?
Both the node and the way are selected.

==== Please provide any additional information below. Attach a screenshot if possible.

The behavior is coming from [https://github.com/JOSM/josm/blob/9eace0f57c6ebc551b8012e0cebc6c9b4c63e88c/src/org/openstreetmap/josm/data/osm/Way.java#L329-L330 this code] in `Way.hasEqualSemanticAttributes`.  Changing `Way.hasEqualSemanticAttributes` to compare node IDs instead of coordinates (as [https://github.com/JOSM/josm/blob/9eace0f57c6ebc551b8012e0cebc6c9b4c63e88c/src/org/openstreetmap/josm/data/osm/Relation.java#L324 it does for relations]) fixes the bug.  But I wonder why `Way.hasEqualSemanticAttributes` was written to compare coordinates.  Are there other use cases that rely on it?  A wild guess: do some users rely on that behavior to deduplicate ""new"" ways when merging layers?  If so, a possible compromise might be to have `Way.hasEqualSemanticAttributes` compare the coordinates of a node if it is ""new"" and the ID if it is not ""new"".

To help get things moving, I'll attach a patch that just changes `Way.hasEqualSemanticAttributes` to compare node IDs.  However, even if that approach is acceptable, I think it might help to have at least one unit test of the scenario from this ticket to help ensure that someone doesn't change the code back without being aware of the scenario.  Any advice on how to write such a test would be appreciated.

Side remark: I noticed that the map paint style for ""Modified objects"" shows the way as modified starting from step 2.  I haven't figured out why that's happening, but I think it's a separate issue and I'll file a separate ticket if I care about it.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-10-12 17:25:48 +0200 (Mon, 12 Oct 2026)
Revision:19647
Build-Date:2026-10-13 01:30:50
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19647 en) Linux Fedora Linux 44 (Forty Four)
Memory Usage: 240 MB / 4072 MB (38 MB allocated, but free)
Java version: 25.0.4.1+1, Red Hat, Inc., OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920x1080x[Multi depth]@46Hz (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.utf8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: X-QUBES
VM arguments: [--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, -Djosm.home=<josm.pref>]
Dataset consistency test: No problems found
}}}
"	mattmccutchen
24448	WARNING: package sun.security.action not in java.base	Core	tested	enhancement	team	new	2025-08-25T21:40:27+02:00	2026-11-05T13:50:39+01:00	"==== What steps will reproduce the problem?
1. Start JOSM in Windows 10 with the following bat file
{{{
java ^
   --module-path ""D:\graaljs-24.1.1\lib"" ^
   --add-modules org.graalvm.polyglot,org.graalvm.word,org.graalvm.collections ^
   --add-opens java.prefs/java.util.prefs=ALL-UNNAMED ^
   --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 ^
   -jar -Xms1g -Xmx8g ^
   josm-tested.jar
}}}
2. 
3. 

==== What is the expected result?
No warnings in console

==== What happens instead?
WARNING: package sun.security.action not in java.base


==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2025-07-11 10:12:51 +0200 (Fri, 11 Jul 2025)
Revision:19423
Build-Date:2025-07-12 01:30:35
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19423 bg) Windows 10 64-Bit
OS Build number: Windows 10 Education 22H2 (19045)
Memory Usage: 1024 MB / 8192 MB (619 MB allocated, but free)
Java version: 24.0.2+11-jvmci-b01, GraalVM Community, OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920x1080x32bpp@59Hz (scaling 1.00×1.00)
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: Cp1251
Locale info: bg_BG
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-XX:ThreadPriorityPolicy=1, --module-path=D:\graaljs-24.1.1\lib, --add-modules=org.graalvm.polyglot,org.graalvm.word,org.graalvm.collections, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, --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]

Plugins:
+ Mapillary (1813)
+ apache-commons (36438)
+ conflation (273)
+ ejml (36438)
+ geotools (36438)
+ imagery_offset_db (36438)
+ jackson (36438)
+ jaxb (36438)
+ jts (36438)
+ opendata (36440)
+ pmtiles (36438)
+ reverter (36447)
+ scripting (v0.3.5)
+ splinex (36438)
+ urbaneye3d (1.2.0)
+ utilsplugin2 (36438)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewParkingFeatures&zip=1

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1

Last errors/warnings:
- 00000.448 W: extended font config - overriding 'filename.Malgun_Gothic=malgun.ttf' with 'MALGUN.TTF'
- 00000.449 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF'
- 00000.449 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
}}}

"	pl71
24993	[patch] Update linux packaging files	unspecified		enhancement	team	new	2026-10-30T16:11:55+01:00	2026-11-05T13:50:39+01:00	I noticed the files used on Linux distros are outdated by years and some of the scripts recognizing Java runtime too. Also while doing so, realized a discrepancy in the validator CLI, which is also fixed.	gaben
23680	Make jump to coordinates accept unsplit coordinates	Core		enhancement	felagund	needinfo	2024-05-15T20:46:45+02:00	2026-11-05T13:50:39+01:00	"CTRL+J opens a dialog that allows one to put in coordinates. It works but is inefficient:

1) Latitude and Longtitude are separate. However, I usually paste the coordinates from another program, so I have something like “-71.44939,-44.15408” in my clipboard. I need to manually split it, which takes time.

2) Unhelpfully on Linux, when either of the two fields gets focus, there is a prefilled value, which gets selected, causing the prefilled value to get to X clipboard (the one accessed by selecting text, not pressing CTRL+C), erasing the value I just wanted to paste.

It would be great if the dialog just accepted coordinates like ""-71.44939,-44.15408"" directly.

Also see discussion here, I am apparently not the only one trying to get around this: https://community.openstreetmap.org/t/efficient-way-to-jump-to-coordinates-in-josm/113228"	felagund
24924	[patch] Remove Junit 4 last remains	Unit tests		enhancement	team	new	2026-09-30T18:32:34+02:00	2026-11-05T13:50:39+01:00	"While working on some patches, I noticed that IntelliJ still has ancient Junit4 files on the classpath. I therefore started removing them completely from the core.

I only focused on the core, the core plugins still have to be checked.

FYI: There is an existing ticket for Junit 6 migration (#24921)."	gaben
24842	[patch] Reuse the previous frame when panning at constant zoom	Core mappaint		enhancement	team	new	2026-08-12T13:05:21+02:00	2026-11-05T13:50:39+01:00	"Marked as `priority: major` due to being a massive improvement to the responsiveness of the panning action. 

Right-button dragging currently re-renders the whole map on every mouse move. On dense, low-zoom views one frame takes 200–300 ms to render even on my powerful gaming computer, and because the render happens on the UI thread, panning stutters and the editor freezes while a frame is drawn.

The map view already keeps the unchanged layers nonChangedLayersBuffer and reuses it while the view stays the same (lastViewID). The idea is to also reuse it for a panned view, by shifting the old pixels by the pan distance and only redrawing the strip that was exposed. Copying pixels is much cheaper than re-rasterizing the whole map.

The buffer is kept as a complete composite of all visible layers, so a panned view can always be built by shifting it. The reuse has to be skipped, falling back to the current full redraw, in situations such as a zoom, resize,
layer changes, paint preference changes, or a pan larger than the viewport.

One limitation is that while panning, layers invalidated mid-drag (for example freshly loaded imagery tiles) are only redrawn in the exposed strip, so their changes show up once the pan stops. When the view is still, each tile arrival still causes a full redraw of the layer, as before.

The main change is in `MapView.drawMapContent`. The imagery attribution is fixed to the viewport and would smear if it stayed in the reused composite, so it needs to be painted on top per frame instead.

Related: #11487 ""added an optional asynchronous tiled renderer"". This proposal targets the default synchronous renderer (used when tiled rendering is disabled and at zoom levels above `mappaint.fast_render.zlevel`), reducing per-frame work by reusing the previous frame instead of re-rasterizing the whole map. The two approaches are complementary.

=== Summary of attached patch (implementation example against r19616) ===

The map view already keeps a composite of the unchanged layers and reuses it while the view stays the same. This patch extends that to panned views. During a drag at constant zoom, it copies the previous frame shifted by the pan distance and redraws only the strip that was exposed (which I will refer to as pan-reuse). Copying pixels is far cheaper than re-rasterizing the whole map, so pan frames drop from roughly 200-300 ms to 1-20 ms (on my setup), depending on the complexity of the frame.

Changes by file:

* MapView.java: pan-reuse in `drawMapContent`. The buffer is copied back after every frame, so it always holds a complete composite of all visible layers and a pan frame can be built by shifting it and repainting the exposed strips. Reuse requires the layer set to be unchanged, the scale unchanged, the last frame to have covered the whole viewport, and the movement to be between 0.5 px and the viewport size. Layers invalidated during the pan (e.g. imagery tiles arriving) are painted strip-only, and the rest shows up when the pan stops. Also adds `isPanning()` and a per-frame imagery attribution pass. With the config preference `mappaint.debug.pan-reuse=true/false`, panning actions print debug information about which pan-reuse logic triggers into stdout.
* AbstractTileSourceLayer.java: the imagery attribution is fixed to the viewport, so it would smear if left in the reused composite. It is now painted on top of the frame each paint via a new `paintAttribution(Graphics2D, MapView)`.
* SelectAction.java, OsmDataLayer.java: hovering no longer invalidates the data layer. Previously every crossing of a feature caused a full re-render (~200-300 ms) and broke the reuse state. The hover highlight is now drawn by SelectAction as a temporary overlay layer, `OsmDataLayer.primitiveHovered` no longer resets the render cache or invalidates, and `giveUserFeedback` is suppressed while panning.
* MapMover.java: `endMovement` no longer invalidates all layers. A pan changes nothing but the view, so the last composite stays valid; the old invalidation caused a full re-render right after every drag and at the start of the next one.

Reuse falls back to the normal full repaint whenever the view did more than translate, i.e. zoom, resize, layer changes, or a pan larger than the viewport. When the view is still, invalidated layers repaint in full as before.

Testing: set `mappaint.debug.pan-reuse=true` (optionally `mappaint.render.benchmark=true`) and drag at constant zoom on a dense view. each drag frame should log `PANREUSE reuse` and the benchmark's phase 2's render time should drop to a fraction of a full frame render.

I will attach a video demonstrating panning in r19555 vs r19616 with the patch applied."	mistenman
24941	[patch] Compile JMapViewer as Java 11 target	JMapViewer		enhancement	team	new	2026-10-07T20:39:27+02:00	2026-11-05T13:50:39+01:00	"I realised that JMapViewer is still being compiled as a Java 8 target. Should I update it to Java 11, given that the Java 17 update is imminent? Or should I leave it as it is and switch to Java 17 once the core switch has been implemented? Or should it stay at Java 8?

This would tidy up the build scripts, as there are some hacks for pre-Java 11. E.g. the two-pass compile in Ant."	gaben
24115	Revert r19307 and use Java 14 switch expressions	Core		defect	team	new	2025-02-03T21:04:26+01:00	2026-11-05T13:50:39+01:00	r19307 is a stop-gap; the better solution uses the newer switch expressions. It probably wouldn't be a bad idea to look at all switch expressions at the same time.	taylor.smock
24972	[patch] Fix Sonar issues in ImageryProvidersPanel	Core		task	team	new	2026-10-24T16:15:00+02:00	2026-11-05T13:50:39+01:00	"The loop has been adjusted to remove the 'outer' label. Furthermore, the deprecated URL constructor has been updated. Finally, curly braces have been added back to control structures, and fields and variables have been declared as `final`.

see: https://josm.openstreetmap.de/sonar/project/issues?files=src%2Forg%2Fopenstreetmap%2Fjosm%2Fgui%2Fpreferences%2Fimagery%2FImageryProvidersPanel.java&issueStatuses=CONFIRMED%2COPEN&open=AWrwiICNtAo_7XrKw1YB&id=josm
see: https://josm.openstreetmap.de/sonar/project/issues?files=src%2Forg%2Fopenstreetmap%2Fjosm%2Fgui%2Fpreferences%2Fimagery%2FImageryProvidersPanel.java&issueStatuses=CONFIRMED%2COPEN&open=94525603-6156-4e94-8801-71c008c580e0&id=josm"	DanProgs <Abenteurer.2901@…>
25000	"[PATCH] ""area=yes is unnecessary for amenity"" doesn't apply to benches, which can be tagged as areas or loops"	Core validator		defect	team	new	2026-11-03T10:12:30+01:00	2026-11-05T13:50:39+01:00	"The ""Unnecessary tags"" validator ruleset emits a warning ""''area=yes is unnecessary for amenity''"" for `way:closed[amenity][area?][!highway]`. This doesn't make sense for `amenity=bench`es, which can be mapped as closed non-area ways when they form a long continuous loop, or as closed area ways, when they're a large platform people can sit on. I suggest we exclude `amenity=bench` from this unnecessary tag warning, and add a new validator rule for `way:closed[amenity=bench][area!=yes][area!=no]` that warns ""''amenity=bench on a closed way is ambiguous. Specify area=yes for a seating platform area or area=no for a linear bench loop''"". I've attached a patch to this effect.

I can see `amenity=bicycle_parking` facing the same issue, but I think mapping them as closed non-area ways is uncommon.

"	mistenman
24974	[patch] Fix Sonar issues in UrlBasedQueryPanel	Core		task	team	new	2026-10-24T19:47:48+02:00	2026-11-05T13:50:39+01:00	"The URL constructor in `UrlBasedQueryPanel`, which was marked as deprecated, has been updated. Furthermore, curly braces have been added to control structures, and fields and variables have been declared as ""final.""

see: https://josm.openstreetmap.de/sonar/project/issues?files=src%2Forg%2Fopenstreetmap%2Fjosm%2Fgui%2Fdialogs%2Fchangeset%2Fquery%2FUrlBasedQueryPanel.java&issueStatuses=CONFIRMED%2COPEN&open=ed3cd1b2-c58d-42b4-96aa-39822d159619&id=josm"	DanProgs <Abenteurer.2901@…>
24973	[patch] Fix Sonar issues in GetCapabilitiesParseHelper and TMSCachedTileLoaderJob	Core		task	team	new	2026-10-24T19:28:33+02:00	2026-11-05T13:50:39+01:00	"The URL constructors in `GetCapabilitiesParseHelper` and `TMSCachedTileLoaderJob`, which were marked as deprecated, have been updated. Furthermore, guard conditions and curly braces for control structures have been added, and fields and variables have been declared as ""final"".

see: https://josm.openstreetmap.de/sonar/project/issues?files=src%2Forg%2Fopenstreetmap%2Fjosm%2Fdata%2Fimagery%2FTMSCachedTileLoaderJob.java&issueStatuses=CONFIRMED%2COPEN&open=d8230e52-0283-4872-b22a-5f0b729215f5&id=josm
see: https://josm.openstreetmap.de/sonar/project/issues?files=src%2Forg%2Fopenstreetmap%2Fjosm%2Fdata%2Fimagery%2FGetCapabilitiesParseHelper.java&issueStatuses=CONFIRMED%2COPEN&open=70de2939-6c2c-4f42-b3a6-0eb317da383d&id=josm
see: https://josm.openstreetmap.de/sonar/project/issues?files=src%2Forg%2Fopenstreetmap%2Fjosm%2Fdata%2Fimagery%2FGetCapabilitiesParseHelper.java&issueStatuses=CONFIRMED%2COPEN&open=06b83a45-1728-4b8e-a342-0408ce36b105&id=josm"	DanProgs <Abenteurer.2901@…>
24975	[patch] Fix Sonar issues in HelpContentReader and HelpContentReaderTest	Core		task	team	new	2026-10-24T20:57:32+02:00	2026-11-05T13:50:39+01:00	"The URL constructor in `HelpContentReader`, previously marked as deprecated, has been updated and the exception handling has been adjusted. Furthermore, curly braces have been added to control structures, and fields and variables have been declared as ""final.""

see: https://josm.openstreetmap.de/sonar/project/issues?files=src%2Forg%2Fopenstreetmap%2Fjosm%2Fgui%2Fhelp%2FHelpContentReader.java&issueStatuses=CONFIRMED%2COPEN&open=dab53830-8cb9-4bd3-979d-e9b4eb160ff0&id=josm"	DanProgs <Abenteurer.2901@…>
24976	[patch] Fix Sonar issues in DownloadFileTask	Core		task	team	new	2026-10-24T21:24:22+02:00	2026-11-05T13:50:39+01:00	"The URL constructor in `DownloadFileTask`, previously marked as deprecated, has been updated, and the exception handling has been adjusted. Furthermore, an integer overflow (in the `count` variable) has been eliminated, and a safeguard against division by zero has been added. Finally, curly braces have been restored to control structures, and fields and variables have been declared as `final`.

see:https://josm.openstreetmap.de/sonar/project/issues?files=src%2Forg%2Fopenstreetmap%2Fjosm%2Fgui%2Fio%2FDownloadFileTask.java&issueStatuses=CONFIRMED%2COPEN&open=8a1eb504-ebdd-4c02-9ea6-7ee6f7d5a6c9&id=josm"	DanProgs <Abenteurer.2901@…>
24977	[patch] Fix Sonar issues in WikimediaCommonsEntry	Core		task	team	new	2026-10-24T22:20:08+02:00	2026-11-05T13:50:39+01:00	"The URL constructor in `WikimediaCommonsEntry`, which was marked as deprecated, has been updated. Furthermore, checks have been adjusted, curly braces have been added to control structures, and fields and variables have been declared as ""final"".

see: https://josm.openstreetmap.de/sonar/project/issues?files=src%2Forg%2Fopenstreetmap%2Fjosm%2Fgui%2Flayer%2Fgeoimage%2FWikimediaCommonsEntry.java&issueStatuses=CONFIRMED%2COPEN&open=3ce45443-aab9-47dc-bc4e-6fb3ab2f62a9&id=josm"	DanProgs <Abenteurer.2901@…>
24978	[Patch] Refactoring of AudioPreferenceTest	Core		task	team	new	2026-10-25T22:00:38+01:00	2026-11-05T13:50:39+01:00	The test cases in 'AudioPreferenceTest' have been optimized.	DanProgs <Abenteurer.2901@…>
24979	[Patch] Refactoring of DisplayPreferenceTest	Core		task	team	new	2026-10-25T22:34:58+01:00	2026-11-05T13:50:39+01:00	The test cases in 'DisplayPreferenceTest' have been optimized.	DanProgs <Abenteurer.2901@…>
24188	[WIP patch] Speed up tagging preset filtering	Core		enhancement	team	new	2025-03-02T14:05:29+01:00	2026-11-05T13:50:39+01:00	"==== What steps will reproduce the problem?
1. Open a large dataset (I'v used bus stops in Hungary, from Overpass)
2. Select all objects (Ctrl+A)
3. Open up the preset search menu (F3)
4. Start typing something, `description` for example

==== What is the expected result?
JOSM is somewhat responsive, even knowing the huge data in memory.

==== What happens instead?
JOSM is barely reaches responsive definition, around 1 char/s input speed.

==== Please provide any additional information below. Attach a screenshot if possible.
The fix makes it 2.5 times faster in my use case and the responsiveness is there.

What is happening is that JOSM is going through all presets with role definitions and then trying to regex match the selected object. Yes, all of them, one by one. Matching takes a lot of time, so prefiltering helps, but I need to make sure nothing broke, therefore marked as WIP.

{{{#!patch
Index: src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java
===================================================================
--- src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java	(revision 19342)
+++ src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java	(working copy)
@@ -369,7 +369,8 @@
                     if (!suitable && preset.types.contains(TaggingPresetType.RELATION)
                             && preset.roles != null && !preset.roles.roles.isEmpty()) {
                         suitable = preset.roles.roles.stream().anyMatch(
-                                object -> object.memberExpression != null && selectedPrimitives.stream().anyMatch(object.memberExpression));
+                                role -> role.memberExpression != null
+                                        && selectedPrimitives.stream().filter(preset::typeMatches).anyMatch(role.memberExpression));
                         // keep the preset to allow the creation of new relations
                     }
                     if (!suitable) {

}}}


{{{
Revision:19342
Is-Local-Build:true
Build-Date:2025-03-02 12:46:28

Identification: JOSM/1.5 (19342 SVN en) Linux Ubuntu 22.04.5 LTS
Memory Usage: 314 MB / 3988 MB (207 MB allocated, but free)
Java version: 21.0.6+7-Ubuntu-122.04.1, Ubuntu, OpenJDK 64-Bit Server VM
}}}
"	gaben
17858	OpenWebStart/Java 17 migration	Core		enhancement	Don-vip	assigned	2019-06-26T21:08:56+02:00	2026-11-05T13:50:39+01:00	"Things are starting to take shape with what comes after Java WebStart (see #16047):

https://openwebstart.com/

Original 2019 plan:

On the current roadmap, the first version will be released end of October. A macro planning for a Java 8 => Java 11 transitions for all JOSM users would roughly look like this:
- September 2019: we start testing OpenWebStart on all platforms. Likely we'll found a lot of bugs
- November 2019 : first OpenWebStart version. Unlikely to fix all bugs we'll find
- Somewhere in 2020: OpenWebStart version without any bug impacting us, we start asking everyone to switch
- End of 2020: End of Java WebStart support by Oracle for Java 8. We force everyone to switch
- Somewhere in 2021: Enough JOSM users have switched to OpenWebStart so we can consider moving the codebase to Java 11.

New 2021 plan:

- 2021-03-28: ask Oracle Java WebStart users to switch to OpenWebStart => r17679
- 2021-08-22: new Windows package that includes Java 16 => r18151:18155
- 2021-08-22: include JavaFX 16 in macOS and Windows packages => r18161
- 2021-08-22: update JNLP files to request Azul JVM from OpenWebStart as it includes JavaFX => r18158:18159
- 2021-08-22: update Debian/Ubuntu launch script to depend on openjfx => r18160
- 2021-09-15: Java 17 is released. Switch macOS / Windows packages to Java 17 and JavaFX 17, update Debian/Ubuntu launch script to prefer 17 over 11 and 8 => r18225
- 2022-04-21: Ubuntu 22.04 LTS is released and ships Java 17 (note: `default-jre` is Java 11)
- 2022-11-25: OpenWebStart [https://github.com/karakun/OpenWebStart/issues/495 adds Java 17] to their [https://download-openwebstart.com/jvms.json JVM list] => [https://github.com/karakun/OpenWebStart/commit/3a259ad0a10ce4b913f30c69bdbffccb340bdd5d done]
- somewhere in 2023/2024: Enough JOSM users are now using Java 17+ so we can consider moving the codebase to Java 17.
- 2024-04-xx: Ubuntu 24.04 LTS is released and ships Java 17+ as default; Debian Bookworm already ships Java 17 as default.

Java 21 followup: #23564"	Don-vip
24755	panoramax plugin crashed when clicking on the picture	Plugin panoramax		defect	taylor.smock	new	2026-05-31T17:51:47+02:00	2026-11-04T19:08:00+01:00	"==== What steps will reproduce the problem?
1. i was browsing several panoramax pictures normally in this sequence: https://panoramax.osm-hr.org/?focus=pic&map=18.9/45.8139799/15.9292149&pic=45725879-4261-4314-b201-53974d914f9a&seq=92b92041-a987-4130-89ed-cc15293243b7&speed=250&theme=default&users=default&xyz=0.00/0.00/30 and notes around it
2. the panoramax plugin ""crash window"" appeared (offering to update, disable, or keep using the plugin)
3. if I keep the plugin and ignore the error, almost all further interactions with Panoramax plugin repeat the crash

==== What is the expected result?
no crash

==== What happens instead?
crash

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-03-28 20:28:41 +0100 (Sat, 28 Mar 2026)
Revision:19555
Build-Date:2026-03-29 01:30:57
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19555 en) Linux Debian GNU/Linux 13 (trixie)
Memory Usage: 2736 MB / 2987 MB (219 MB allocated, but free)
Java version: 21.0.11+10-1-deb13u2-Debian, Debian, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920x1080x[Multi depth]@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: ICEWM
Java package: openjdk-21-jre:amd64-21.0.11+10-1~deb13u2
libcommons-logging-java: libcommons-logging-java:all-1.3.0-2
fonts-noto: fonts-noto:all-20201225-2
VM arguments: [-Dsun.java2d.opengl=true, --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]
Dataset consistency test: No problems found

Plugins:
+ DirectUpload (36474)
+ FixAddresses (36474)
+ ImageWayPoint (36474)
+ Mapillary (1819)
+ PicLayer (273)
+ Review.Changes (1.1.1)
+ apache-commons (36474)
+ apache-http (36474)
+ buildings_tools (36474)
+ conflation (279)
+ ejml (36474)
+ geotools (36474)
+ imagery_offset_db (36474)
+ jackson (36474)
+ jaxb (36474)
+ jna (36474)
+ jts (36474)
+ libphonenumber (9.0.31)
+ log4j (36474)
+ mbtiles (v2.8.1)
+ opendata (36474)
+ openqa (116)
+ osmwiki-dataitem (0.0.8)
+ panoramax (8)
+ phonenumber (1.2.0)
+ pmtiles (36474)
+ pt_assistant (682)
+ reverter (36474)
+ todo (159)
+ turnrestrictions (36474)
+ undelete (36474)
+ urbaneye3d (2.2.2)
+ utilsplugin2 (36497)
+ wikipedia (448)

Tagging presets:
+ https://raw.githubusercontent.com/OpenNauticalChart/josm/master/INT-1-preset.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Healthcare&zip=1
+ https://<user.name>.com/prezentacije/OpenStreetMap/josm-preset.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Xmas&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/GuidepostDirectionsAndDestinations&zip=1
+ https://github.com/simonpoole/beautified-JOSM-preset/releases/latest/download/josm_orig_icons.zip

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
+ http://bezdomni.net/Styles_HighlightedCapesBays-style.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/ColorWays&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/CyclewaysStylingBNA&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksPlus&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/BuildingColors&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/FixmeAndNote&zip=1
+ ${HOME}/tmp/g/1/openaddresses-HR.mapcss

Validator rules:
+ https://josm.openstreetmap.de/josmfile?page=Rules/KeepRight&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/QAToolInspiredValidations&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/OSMLint&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/MissingWeekdays&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/SourceObjectTag&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/IndoorRules&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/Pictures&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/MissingOpeningHours&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/CheckDate&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/FacebookWebsite&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/DuplicateAttributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/MissingMain&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/OldCovid&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/NotCheck&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/ThisOrThat&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/ChargeRules&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/InvalidWebsiteProtocol&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/AddrFullWarning&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/AddrRelationWarning&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/CountryCodeCheck&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/Geology&zip=1
+ https://raw.githubusercontent.com/stefan-a-bauer/josm-validators/master/mtb.validator.mapcss
+ https://github.com/Jungle-Bus/transport_mapcss/raw/gh-pages/transport.validator.zip
+ https://github.com/open-energy-transition/validate-my-grid/raw/refs/heads/gh-pages/power.validator.zip
+ https://josm.openstreetmap.de/josmfile?page=Rules/PublicTransportGtfs&zip=1
+ https://raw.githubusercontent.com/OpenNauticalChart/josm/master/Seamark.validator.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/UnresolvedFIXMEs&zip=1

Last errors/warnings:
- 19584.166 W: java.net.SocketTimeoutException: Connect timed out
- 19584.166 W: java.net.SocketTimeoutException: Connect timed out
- 19584.166 W: java.net.SocketTimeoutException: Connect timed out
- 19584.170 W: java.net.SocketTimeoutException: Connect timed out
- 19584.170 W: java.net.SocketTimeoutException: Connect timed out
- 19584.178 W: java.net.SocketTimeoutException: Connect timed out
- 19589.199 E: java.io.FileNotFoundException: /tmp/s/5294337_1.jpg (No such file or directory)
- 19758.396 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 19826.882 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""java.lang.CharSequence.length()"" because ""this.text"" is null
- 19826.934 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""java.lang.CharSequence.length()"" because ""this.text"" is null



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (25) of main
java.lang.NullPointerException: Cannot invoke ""java.lang.CharSequence.length()"" because ""this.text"" is null
	at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1808)
	at java.base/java.util.regex.Matcher.reset(Matcher.java:461)
	at java.base/java.util.regex.Matcher.<init>(Matcher.java:256)
	at java.base/java.util.regex.Pattern.matcher(Pattern.java:1180)
	at org.openstreetmap.josm.plugins.panoramax.PanoramaxJosmImage.getExifGpsInstant(PanoramaxJosmImage.java:260)
	at org.openstreetmap.josm.plugins.panoramax.PanoramaxJosmImage.getDisplayName(PanoramaxJosmImage.java:142)
	at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.updateTitle(ImageViewerDialog.java:1090)
	at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.updateButtonsNonNullEntry(ImageViewerDialog.java:1019)
	at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.displayImages(ImageViewerDialog.java:948)
	at org.openstreetmap.josm.plugins.panoramax.PanoramaxLayer.selectionChanged(PanoramaxLayer.java:156)
	at java.base/java.util.Optional.ifPresent(Optional.java:178)
	at org.openstreetmap.josm.plugins.panoramax.PanoramaxLayer.fireClickEvent(PanoramaxLayer.java:216)
	at org.openstreetmap.josm.plugins.panoramax.PanoramaxLayer$DataMouseListener.mouseClicked(PanoramaxLayer.java:253)
	at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:280)
	at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:279)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6624)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
	at java.desktop/java.awt.Component.processEvent(Component.java:6386)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4584)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	mnalis
25005	Wrong opening_hours with Data Edit Opening_hours	Plugin openinghourseditor	latest	defect	boman	new	2026-11-04T18:08:29+01:00	2026-11-04T18:29:33+01:00	"Import ""Mo-Th 09:00-12:00,14:00-17:30; We,Sa 09:00-12:00"" in the menu Data,  Edit Opening_hours.

The display is Mo-Th 09:00-12:00,14:00-17:30; Sa 09:00-12:00"" instead of ""Mo-Th 09:00-12:00,14:00-17:30; We,Sa 09:00-12:00"".
Note the comma between We and Sa that is noted on the original.

When I fix in this dialogue box with the mouse, I get ""Mo-Th 09:00-12:00,14:00-17:30; We-Sa 09:00-12:00"". Note We-Sa instead of We,Sa.

Perhaps, JOSM does not know the comma in hours.

Regards."	rpnpif@…
23564	Java 21 migration	Core		task	team	new	2024-03-20T14:20:21+01:00	2026-11-04T17:15:30+01:00	"Followup of #17858

Timelines:
* 2023-10-03: Build installer packages with Java 21 => r18848
* 2023-12-21: OpenWebStart supports Java 21
* 2024-03-20: Update Debian/Ubuntu launch script to prefer 21 over 17 and 11 => r19018
* 2025-05-29: Ubuntu LTS switches to Java 21
* 2025-08-09: Debian switches to Java 21 (''bookworm'' LTS til 2028-06-30 only has Java 17)
* ????-??-??: Enough users have switched to Java 21 that we can move codebase to Java 21 after transition phase
* ????-??-??: Start warning users that their version of Java will be unsupported during startup (1 month), then stop allowing JOSM to finish startup (1-3 months), then start compiling JOSM with Java 21 features."	taylor.smock
25001	Broken background image: Zurich, Switzerland	External imagery source		defect	team	new	2026-11-03T13:11:26+01:00	2026-11-04T16:04:33+01:00	"JOSM Version 19613
This is background image is broken because the link has changed:
PHOTO	CH	Kanton Zürich, Orthofoto ZH Frühjahr 2021 RGB 5cm[CH] ('Switzerland) - https://wms.zh.ch/OGDOrthoZH?LAYERS=ortho_w_2021&STYLES=&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap - WMS	wms:https://wms.zh.ch/OGDOrthoZH?LAYERS=ortho_w_2021&STYLES=&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap

The updated link should be:
wms:https://wms.zh.ch/OrthoZHWMS?LAYERS=ortho_w_2021&STYLES=&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap

Moreover, the latest available image is this:
Kanton Zürich, Orthofoto ZH Sommer 2024/25 RGB 5cm	wms:https://wms.zh.ch/OrthoZHWMS?LAYERS=ortho_s_2024&STYLES=&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap

Maybe this could be added to the standard config?

Thanks! 🙏"	Oreg
24955	Memory leaks, performance issues across core	Core		defect	team	new	2026-10-16T21:51:18+02:00	2026-11-03T22:10:16+01:00	"I've done some profiling and found some issues around many common code paths, which affect every user.

While I don't currently have exact numbers, the memory gains should be significant, especially during long editing sessions, ranging from few hundred megabytes to ''possibly'' gigabytes. Also, many listeners were left registered after deleted layers, thousands of them.

There are also some performance issues; funniest for me, the selection performance is held back by the conflict manager panel, which checks every object, even when there is no conflict. Only if the panel is visible.

I'll be publishing the patch soon as well."	gaben
23819	[Plugin panoviewer] JOSM crashes with ```Inconsistency detected by ld.so: dl-lookup.c: 106: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!```.	Plugin panoviewer	latest	defect	GhostFoxSledgehammer	new	2024-07-23T18:55:07+02:00	2026-11-03T11:24:08+01:00	"Ahoj,

having the [https://github.com/GhostFoxSledgehammer/panoviewer-josm plugin ""panoviewer""] installed, JOSM crashes on startup:

{{{
2024-07-23 18:45:03.795 INFO: loading plugin 'panoviewer' (version 0.9.0)
Inconsistency detected by ld.so: dl-lookup.c: 106: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
}}}

`josm --version`: `JOSM/1.5 (19149 SVN en) Linux Artix Linux`  
`java --version`:  
{{{
openjdk 22.0.1 2024-04-16
OpenJDK Runtime Environment (build 22.0.1+8)
OpenJDK 64-Bit Server VM (build 22.0.1+8, mixed mode, sharing)
}}}

There is alread [https://github.com/GhostFoxSledgehammer/panoviewer-josm/issues/1 an upstream bug report].

Regards!
"	osmidal
24991	Add LKS-2020 (EPSG:10306) Latvia TM projection	Core imagery		enhancement	MrFox	new	2026-10-30T15:46:02+01:00	2026-11-03T08:39:15+01:00	"Hello,

LKS-2020 released in October 1, 2026 and replaces the old LKS-92 Latvia TM.
More details at https://epsg.io/10306"	MrFox
24998	"[RFC PATCH] Search for ""modified"" objects includes ""new deleted"" objects, which is distracting"	Core		defect	team	new	2026-11-02T21:16:13+01:00	2026-11-03T08:18:23+01:00	"I frequently review my work by searching for `modified` with the ""all objects"" box checked.  I do want to review objects that exist on the server that I've deleted in my layer, but I've noticed that the search also includes objects that I created and then deleted locally without ever uploading them to the server.  This is distracting because such ""new deleted"" objects don't represent a change that would be uploaded and thus don't need to be reviewed.  (The upload dialog correctly filters them out.)  In fact, I was surprised that ""new deleted"" objects are retained in the layer at all, since they have no significance to any workflow I can imagine.

I propose that the `modified` keyword shouldn't match ""new deleted"" objects.  A workaround is to search for `modified -(new deleted)`, and it's easy enough to save that as a toolbar button.

Note that the `modified` keyword correctly does not match objects that are deleted both on the server and in the layer (call them ""already deleted"" objects).  For reference, I know of two ways to generate ""already deleted"" objects: download them from a changeset in the Changeset Manager, or use the undelete plugin to undelete an object and then delete it again.  So I'm proposing that the `modified` keyword should handle ""new deleted"" objects consistently with ""already deleted"" objects.

==== What steps will reproduce the problem?
1. Ensure expert mode is on.
2. Create a new local layer.
3. Create a node and then delete it.
4. Search for `modified` with the ""all objects"" box checked.

==== What is the expected result?
The search has no results.

==== What happens instead?
The search matches the node from step 3.

==== Please provide any additional information below. Attach a screenshot if possible.

According to my analysis, the problem happens because the condition in `SearchCompiler.Modified.match` is `osm.isModified() || osm.isNewOrUndeleted()`, and ''both'' disjuncts are true for ""new deleted"" objects.  FLAG_MODIFIED is true because `AbstractPrimitive.setDeleted` does `setModified(deleted ^ !isVisible())`, and new objects have FLAG_VISIBLE true (a questionable design in my view).  And of course, `osm.isNewOrUndeleted()` is true for all new objects.  

I can imagine a few levels at which the problem could be fixed:
1. Don't retain ""new deleted"" objects in the layer at all; purge them as soon as they are deleted.
2. Handle new objects more uniformly with objects deleted on the server by turning off FLAG_VISIBLE for new objects.  Then ""new deleted"" objects will have FLAG_MODIFIED set to false according to the `AbstractPrimitive.setDeleted` logic above.  Further, instead of having `SearchCompiler.Modified.match` call `osm.isNewOrUndeleted`, which expands to `isNew() || ((flags & (FLAG_VISIBLE + FLAG_DELETED)) == 0)`, just test the second part of the condition, `(flags & (FLAG_VISIBLE + FLAG_DELETED)) == 0` (which could be encapsulated in a new helper method of `AbstractPrimitive`).  With these changes, `SearchCompiler.Modified.match` would no longer match new deleted objects.
3. Just change the condition in `SearchCompiler.Modified.match` somehow so that it doesn't match new deleted objects.

Of course, fixing the problem at a deeper level has the potential benefit of fixing other problems related to new deleted objects and enabling code simplifications, but it presents a much higher risk of breaking other code in JOSM.  So my proposal would be to start with approach 3.  That doesn't preclude implementing a deeper fix later if the benefit is found to outweigh the cost.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-10-27 08:20:52 +0100 (Tue, 27 Oct 2026)
Revision:19668
Build-Date:2026-10-28 02:30:40
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19668 en) Linux Fedora Linux 44 (Forty Four)
Memory Usage: 234 MB / 4072 MB (132 MB allocated, but free)
Java version: 25.0.4.1+1, Red Hat, Inc., OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920x1080x[Multi depth]@46Hz (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.utf8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: X-QUBES
VM arguments: [--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, -Djosm.home=<josm.pref>]
Dataset consistency test: No problems found
}}}
"	mattmccutchen
23941	bicycle:conditional=dismount results in a validation error	Core validator		defect	team	new	2024-09-25T22:56:39+02:00	2026-11-03T08:12:27+01:00	"{{{
bicycle:conditional=dismount @ (Apr 01-30 08:00-18:00)
}}}
this tag  results in the following validation error when it should not
{{{
Error in bicycle:conditional value: dismount is not a valid restriction value (1)
}}}

I believe this is due to ""dismount"" being missing from ""RESTRICTION_VALUES"" in validation/tests/ConditionalKeys.java

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2024-06-03 18:08:14 +0200 (Mon, 03 Jun 2024)
Revision:19096
Build-Date:2024-06-07 01:31:15
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19096 en_GB) Windows 11 64-Bit
OS Build number: Windows 10 Pro 23H2 (22631)
Memory Usage: 1152 MB / 16368 MB (140 MB allocated, but free)
Java version: 22.0.1+8-16, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 2560×1440 (scaling 1.00×1.00) \Display1 2560×1440 (scaling 1.00×1.00) \Display2 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 2560×1440
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
Dataset consistency test: No problems found

Plugins:
+ HouseNumberTaggingTool (36298)
+ PicLayer (1.0.3)
+ apache-commons (36282)
+ ejml (36176)
+ geotools (36273)
+ gridify (1718663815)
+ jackson (36273)
+ jaxb (36118)
+ jts (36004)
+ measurement (36256)
+ opendata (36327)
+ scripting (v0.3.1)
+ turnlanes (36298)
+ utilsplugin2 (36298)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/Simple_Indoor_Tagging&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/GB.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Post_box_UK&zip=1

Map paint styles:
+ E:\Repos\josm-kits-base\Styles_kits_base.mapcss
- E:\Repos\josm-kits-PT\Styles_Kits-PT.mapcss
+ https://gitlab.com/cartocite/josm-style-traffic-signs-orientation/-/raw/main/traffic_sign_orientation_style.zip
- https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksAndFootways&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Postcode&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/FixmeAndNote&zip=1
- %UserProfile%\Desktop\custom bus style\Styles_KitsBusStops-style.mapcss
- E:\Repos\josm-power\Styles_Kits-UK-Power.mapcss
- E:\Repos\josm-street-lights\Styles_KitsStreetLights-style.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
- %UserProfile%\Desktop\coloured street.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1

Last errors/warnings:
- 00003.308 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl
- 00008.377 E: Failed to locate image 'traffic_signs/A/A_V4a.png'
- 00008.378 W:  No overtaking: Could not get presets icon traffic_signs/A/A_V4a.png
- 00056.228 E: Failed to locate image 'ColouredStreetsIcon.svg'
- 00056.228 W: Mappaint style ""standard"" (Coloured Streets) icon ""ColouredStreetsIcon.svg"" not found.
- 00065.360 E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm>
- 00065.368 E: Bad Request - <html>The OSM server 'api.openstreetmap.org' reported a bad request.<br><br>The area you tried to download is too big or your request was too large.<br>Either request a smaller area or use an export file provided by the OSM community.</html>
- 00201.815 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- 00203.123 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- 00203.613 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
}}}
"	anonymous
12270	[patch] allow modifying note data that has not been uploaded yet	Core notes	tested	enhancement	team	new	2016-01-02T10:22:45+01:00	2026-11-02T23:02:00+01:00	"while editing and adding notes, it could be helpful to modify them - for example, remove new notes completely, edit their content, remove new comments, edit their content

currently there does not seem to be any way to do so short of deleting the note layer, which nukes all modifications"	richlv
24850	parking:*:maxstay:conditional flagged by validator	Core validator		defect	team	new	2026-08-16T13:56:38+02:00	2026-11-02T20:11:14+01:00	"==== What steps will reproduce the problem?
1. tag a highway:residential with parking:left:maxstay:conditional=2 hours @ (08:00-22:00)
2. upload change set
3. Validation results will flag this as wrong syntax

==== What is the expected result?

that the syntax is evaluated and not flagged.
https://wiki.openstreetmap.org/wiki/Street_parking#Time_limits

==== What happens instead?

Syntax is flagged as wrong. I tried
parking:left:maxstay:conditional=2 hours @ (08:00-22:00)
and
parking:left:maxstay:conditional=2 hours @ (Mo-Su 08:00-22:00)



==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-08-11 15:36:21 +0200 (Tue, 11 Aug 2026)
Revision:19613
Build-Date:2026-08-12 01:30:51
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19613 en) Linux Ubuntu 26.04 LTS
Memory Usage: 736 MB / 9296 MB (104 MB allocated, but free)
Java version: 25.0.3+9-2-26.04.2-Ubuntu, Ubuntu, OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Screen: :0.0 2560x1440x[Multi depth]@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 2560×1440
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: ubuntu:GNOME
Java package: openjdk-25-jre:amd64-25.0.3+9-2~26.04.2
Java ATK Wrapper package: libatk-wrapper-java:all-0.44.0-1
fonts-noto: fonts-noto:all-20201225-2build1
VM arguments: [--module-path=/usr/share/openjfx/lib, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, -Djosm.restart=true, -Djava.net.useSystemProxies=true, -XX:MaxRAMPercentage=75.0, --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]
Dataset consistency test: No problems found

Plugins:
+ DirectDownload (36503)
+ Mapillary (1822)
+ apache-commons (36483)
+ apache-http (36483)
+ buildings_tools (36503)
+ ejml (36483)
+ imagery_offset_db (36503)
+ jna (36483)
+ jts (36483)
+ log4j (36483)
+ rex (63)
+ scripting (v0.4.2)
+ tageditor (36503)
+ terracer (36503)
+ todo (159)
+ turnlanes-tagging (1786514827)
+ turnrestrictions (36503)
+ utilsplugin2 (36503)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/Bus_lanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/BuildingPreset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Industrial&zip=1
+ https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.xml
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/AU.zip

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/BesideTheRoad_Speed&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SlovakiaBicycleRoutes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Schools&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1
- ${HOME}/Software/osm-nsw-address-import/src/elemstyles.mapcss

Last errors/warnings:
- 00002.374 W: Failed to scan file 'ImproveOsm.jar.new' for plugin information. Skipping.
- 00003.207 W: java.util.zip.ZipException: zip file is empty
- 00003.207 W: PluginException: : org.openstreetmap.josm.plugins.PluginException: Invalid jar file '<josm.pref>/plugins/ImproveOsm.jar.new'
- 00003.208 W: Failed to scan file 'ImproveOsm.jar.new' for plugin information. Skipping.
- 00009.115 W: java.util.zip.ZipException: zip file is empty
- 00009.115 W: PluginException: : org.openstreetmap.josm.plugins.PluginException: Invalid jar file '<josm.pref>/plugins/ImproveOsm.jar.new'
- 00009.116 W: Failed to scan file 'ImproveOsm.jar.new' for plugin information. Skipping.
- 00030.773 W: Failed to install plugin '<josm.pref>/plugins/ImproveOsm.jar' from temporary download file '<josm.pref>/plugins/ImproveOsm.jar.new'. zip file is empty: java.util.zip.ZipException: zip file is empty
- 00042.810 W: Failed to load Mappaint styles from '${HOME}/Software/osm-nsw-address-import/src/elemstyles.mapcss'. Exception was: java.nio.file.NoSuchFileException: ${HOME}/Software/osm-nsw-address-import/src/elemstyles.mapcss
- 00042.810 E: java.nio.file.NoSuchFileException: ${HOME}/Software/osm-nsw-address-import/src/elemstyles.mapcss
}}}
"	mapping@…
24996	Terracer plugin fails to install/download	Plugin terracer	tested	defect	xplorer765@…	needinfo	2026-11-02T14:54:48+01:00	2026-11-02T16:03:31+01:00	"==== What steps will reproduce the problem?
1. Open JOSM
2. Go to Edit → Preferences → Plugins
3. Search for ""terracer"" and click download plugin
4. Update plugin

==== What is the expected result?
The terracer plugin should install successfully and appear in the plugin list.

==== What happens instead?
The plugin fails to download/install. An error occurs during installation.


{{{
Revision:19613
Build-Date:2026-08-12 01:42:58

Identification: JOSM/1.5 (19613 en) Windows 11 64-Bit
OS Build number: Windows 10 Home Single Language 26H2 (26300)
Memory Usage: 428 MB / 6020 MB (157 MB allocated, but free)
Java version: 21.0.12+8-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920x1080x32bpp@60Hz (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_IN
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.19613, -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:
+ FastDraw (36503)
+ buildings_tools (36503)
+ markseen (184)
+ utilsplugin2 (36503)

Last errors/warnings:
- 00000.501 W: extended font config - overriding 'filename.Malgun_Gothic=malgun.ttf' with 'MALGUN.TTF'
- 00000.503 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF'
- 00000.504 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
- 00001.085 E: java.security.KeyStoreException: Windows-ROOT not found. Cause: java.security.NoSuchAlgorithmException: Windows-ROOT KeyStore not available
- 00090.917 W: Missing plugin main version in plugin mapwithai
- 00100.351 W: Missing plugin main version in plugin mapwithai
}}}
"	xplorer765@…
16100	Strava Global Heatmap in JOSM	Plugin strava_heatmap		enhancement	allier-osm	new	2018-03-16T21:47:30+01:00	2026-11-02T14:49:40+01:00	With the latest changes to the Global Heatmap, street-level detail is only available when logged into a Strava account. A result of this is unfortunately that the Heatmap has become a more or less useless tool for improving Openstreetmap using JOSM. I guess that this was an unintended result of the changes made to the Heatmap.	anonymous
24534	sometimes using the sidewalks plugin across two ways at once causes an error	Plugin sidewalks		defect	taylor.smock	new	2025-11-09T22:20:20+01:00	2026-11-01T17:59:43+01:00	"==== What steps will reproduce the problem?
1. using the sidewalks plugin, enter sidewalk mode
2. place a node and, crossing two highways, place another node
==== What is the expected result?
for it to add two nodes where it crosses both highways, and tag them with highway=crossing.
==== What happens instead?
it sometimes does not create a node on one or both highways, or sometimes errors
==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2025-08-31 14:19:57 +0200 (Sun, 31 Aug 2025)
Revision:19439
Build-Date:2025-09-02 01:30:58
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19439 en_CA) Windows 11 64-Bit
OS Build number: Windows 10 Pro 25H2 (26200)
Memory Usage: 656 MB / 8176 MB (150 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@75Hz (scaling 1.00×1.00) \Display1 1920x1080x32bpp@165Hz (scaling 1.00×1.00)
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_CA
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Dicedtea-web.bin.location=%UserProfile%\AppData\Local\Programs\OpenWebStart\javaws, -Djava.util.Arrays.useLegacyMergeSort=true, --add-reads=java.base=ALL-UNNAMED,java.desktop, --add-reads=java.desktop=ALL-UNNAMED,java.naming, --add-reads=java.naming=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop, --add-exports=java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.action=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.provider=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.util=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.validator=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.x509=ALL-UNNAMED,java.desktop, --add-exports=java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.applet=ALL-UNNAMED,java.desktop,jdk.jsobject, --add-exports=java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=javafx.graphics/com.sun.javafx.application=ALL-UNNAMED, --add-exports=jdk.deploy/com.sun.deploy.config=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, -Djava.security.manager=allow]
Dataset consistency test: No problems found

Plugins:
+ FastDraw (36438)
+ Mapillary (1813)
+ RoadSigns (36438)
+ apache-commons (36438)
+ buildings_tools (36438)
+ fastdriveway (v1.0.1)
+ gridify (37)
+ indoor_sweepline (36438)
+ indoorequal (0.0.7)
+ indoorhelper (262)
+ markseen (176)
+ pmtiles (36438)
+ sidewalks (71)
+ turnlanes (36438)
+ utilsplugin2 (36438)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/Simple_Indoor_Tagging&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/US.zip
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/CA.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/TurnLanes&zip=1

Map paint styles:
+ D:\Downloads\style\elemstyles.mapcss
- <josm.pref>\plugins\indoorhelper\resources\sit.mapcss

Last errors/warnings:
- 00175.860 W: java.io.IOException: Attribution is not loaded yet
- 00175.860 W: java.io.IOException: Attribution is not loaded yet
- 00175.860 W: java.io.IOException: Attribution is not loaded yet
- 00175.861 W: java.io.IOException: Attribution is not loaded yet
- 00175.862 W: java.io.IOException: Attribution is not loaded yet
- 00175.862 W: java.io.IOException: Attribution is not loaded yet
- 00175.863 W: java.io.IOException: Attribution is not loaded yet
- 00175.864 W: java.io.IOException: Attribution is not loaded yet
- 00175.865 W: java.io.IOException: Attribution is not loaded yet
- 01862.279 E: Handled by bug report queue: java.lang.IllegalArgumentException: {Way id=-3615 version=0 MVDT nodes=[]} is already deleted



=== REPORTED CRASH DATA ===
sequence_information:
 - sequence_name: Sequence: Create crossing way
 - sequence_command: Delete way ‎footway (highway)‎ (0 nodes)‌
 - sequence_index: 0
 - sequence_commands: [org.openstreetmap.josm.command.DeleteCommand;org.openstreetmap.josm.command.ChangePropertyCommand;org.openstreetmap.josm.command.AddCommand;org.openstreetmap.josm.command.ChangeNodesCommand;org.openstreetmap.josm.command.ChangeNodesCommand;org.openstreetmap.josm.command.AddPrimitivesCommand]
 - sequence_commands_descriptions: [Delete way ‎footway (highway)‎ (0 nodes)‌;Set 1 tags for 0 objects;Add node node;Change nodes of ‎Dolan Avenue‎ (2 nodes)‌;Change nodes of ‎footway (highway)‎ (4 nodes)‌;Added 1 object]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-1 (67) of JOSM
java.lang.IllegalArgumentException: {Way id=-3615 version=0 MVDT nodes=[]} is already deleted
	at org.openstreetmap.josm.command.DeleteCommand.lambda$executeCommand$0(DeleteCommand.java:211)
	at org.openstreetmap.josm.data.osm.DataSet.update(DataSet.java:1065)
	at org.openstreetmap.josm.command.DeleteCommand.executeCommand(DeleteCommand.java:207)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:112)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:300)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:354)
	at org.openstreetmap.josm.plugins.mapwithai.street_level.actions.mapmode.SidewalkMode.createCrossingWay(SidewalkMode.java:338)
	at org.openstreetmap.josm.plugins.mapwithai.street_level.actions.mapmode.SidewalkMode.mouseReleased(SidewalkMode.java:251)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
	at java.desktop/java.awt.Component.processEvent(Component.java:6386)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	anonymous
24985	New action: create a buffer (area at a given distance) around  selected ways	Core		enhancement	team	new	2026-10-28T00:14:54+01:00	2026-10-31T13:39:41+01:00	"This is a request for comments before any code is written. It follows up the suggestion in #24891 (comments 2 and 4) and the bug in #24983.

==== Use case
From #24891: a GPX track, possibly with excursions, and a GeoJSON file with many thousands of POI. The POI close to the track should be kept and all others removed. The approach is to draw a polygon at e.g. 100 m around the track and then use ""All inside [testing]"" to select the POI inside it. GerdP suggested an action like ""Calculate buffer"" or ""Calculate halo"" for this.

==== Why the Parallel mode is not the tool
Parallel offsets a path to one side. Running it once to the left and once to the right gives something which looks like a buffer, but is not one:
 * The two runs produce two separate sets of ways. They have no round ends at the start and end of the path, and they are not joined into a closed way.
 * Where the path crosses itself or comes back close to itself, each side consists of several pieces (see #24983). The pieces of one side meet those of the other side, but at separate nodes, so they would have to be merged by hand.
 * An area enclosed by the path but further than the distance from it (e.g. inside a loop) is a hole of the buffer, made of pieces from both sides.
Turning that into a closed area is a lot of manual work, and easy to get wrong.

==== Proposal
A new action '''Tools > Create Buffer...''', next to Create Circle:
 * It takes the selected ways, asks for the distance (in the current system of measurement, remembering the last value) and creates the outline of everything within that distance of them.
 * The result is a closed way, or a multipolygon if the outline has holes or several separate parts. It is selected afterwards, so ""All inside"" can be used right away.
 * The outline has round ends and round outer corners, approximated by chords like the arcs of the Parallel mode. Where the ways cross or come close to each other, the outline is simply the outline of the union.
 * The distance is in metres, converted to projected units at the centre of the selection, as the Parallel mode does at the mouse position. Over very large extents the true distance varies with the scale of the projection.

==== Questions
 1. Core, or rather a plugin (utilsplugin2 has many tools of this kind)?
 2. Inputs: ways only, or also nodes (giving circles)? For a closed way: the buffer of the line (a band on both sides) or of the area (grown outwards)?
 3. Several unconnected ways: one result for their union, or one per way?
 4. Tags of the result: none (it is a construction helper), `area=yes`, or chosen by the user?
 5. Menu placement and shortcut.

==== Implementation ideas
Two ways to compute the outline:
 * '''Reuse the engine of the Parallel mode''' (#24891, #24983). A path traversed out and back is a closed ring whose outward offset is exactly the buffer outline, including the round ends. A first experiment gives the right outline (outer ring and the hole) for a path looping round and passing under itself. Two things need work: the corners must stay round (the Parallel mode replaces gentle arcs by mitres), and a path with an out-and-back excursion of its own does not close yet. It handles one branchless path, like the Parallel mode.
 * '''Java2D''': stroke the ways with a `BasicStroke` of width 2 × distance with round caps and joins, and merge the shapes with `java.awt.geom.Area`. Much less code, and several ways or nodes are merged naturally. To check: precision (the stroker works in floats, so the coordinates would have to be shifted to a local origin first) and speed on large inputs such as a long track or a coastline.
"	wangi
20366	[partial patch] JOSM rendering is very slow especially on UHD displays	Core	latest	enhancement	team	new	2021-01-08T19:35:13+01:00	2026-10-29T22:22:06+01:00	"After upgrading to UHD (4K) monitor I experience slow rendering in JOSM which makes mapping no more pleasant. Slowdown is higher if I move map outside of boundaries of downloaded data (see attached video) but it is also slow on normal editing, or with just panning signle layer of background imagery.

JOSM Version: 17447 (reproducible also on current josm-tested)
JRE: OpenJDK 16 (reproducible also on  OpenJDK 15)
OS: Debian Bullseye
HW: Radeon RX 5500 (HW acceleration enabled), AMD Ryzen 3900X, 64GB RAM

I run JOSM like this:

java -Dsun.java2d.uiScale=2 -Dsun.java2d.opengl=True -jar ~/josm-tested.jar

In the 2nd line of the console output I see:

OpenGL pipeline enabled for default config on screen 0

Parameter -Dsun.java2d.opengl=True actually makes no difference for the speed."	*Martin*
24988	landuse=construction and building=construction without construction=* is ok	Core validator	latest	defect	team	new	2026-10-29T20:09:33+01:00	2026-10-29T20:09:33+01:00	"landuse=construction without construction=* is not an error. Sometimes it is impossible to specify what kind of construction it is.
The same with building=construction without construction=* - I can see that they're building a building, but I don't know what will it be.
Please remove these ""errors"", because that way we could create thousands of such issues: shop without opening_hours, restaurant without delivery, road without surface etc.

Related issue: https://github.com/osmose-qa/osmose-backend/issues/2374"	anonymous
24828	Sidewalks plugin causes crash / crashes after upload of changes	Plugin sidewalks		defect	taylor.smock	new	2026-07-31T18:45:04+02:00	2026-10-29T10:53:52+01:00	"==== What steps will reproduce the problem?
1. Enable sidewalk plugin
2. Upload changes
3. Change mode (a for add, s for select, or any other)

==== What is the expected result?

The mode should be changed appropriately

==== What happens instead?

The error message appears

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Revision:19555
Is-Local-Build:true
Build-Date:2026-06-29 19:38:35

Identification: JOSM/1.5 (19555 SVN de) Linux CachyOS
Memory Usage: 2928 MB / 11296 MB (920 MB allocated, but free)
Java version: 26.0.2, Arch Linux, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 3840x2160x[Multi depth]@60Hz (scaling 2.00×2.00)
Maximum Screen Size: 3840×2160
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: de_DE.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: de_DE
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: KDE
VM arguments: [--add-modules=java.scripting,java.sql, -Djosm.restart=true, -Djava.net.useSystemProxies=true, -XX:MaxRAMPercentage=75.0, --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]
Dataset consistency test: No problems found

Plugins:
+ BuildingGeneralization (59)
+ FootAndCycleways (1757059790)
+ ShapeTools (75)
+ buildings_tools (36474)
+ reverter (36474)
+ sidewalks (71)
+ tageditor (36474)
+ turnlanes (36474)
+ turnlanes-tagging (1769860692)
+ turnrestrictions (36474)

Map paint styles:
- https://gitlab.com/cartocite/MapCSS-JOSM-Bicycle/-/archive/master/MapCSS-JOSM-Bicycle-master.zip
+ https://raw.githubusercontent.com/tordanik/direction-cones-style/refs/heads/main/direction-cones.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
+ https://www.dropbox.com/s/qo3ai47fpv241jf/Styles_Fixme_and_Notes.zip?raw=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksAndFootways&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SimpleBuildingTags&zip=1
- https://raw.githubusercontent.com/yopaseopor/traffic_signs_style_JOSM/master/DE.zip

Last errors/warnings:
- 18855.792 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 18855.913 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 18855.913 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 18855.953 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 18855.953 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 18856.009 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 18856.009 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 18856.035 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 18856.035 W: Not downloading all tiles because there are more than 40 tiles on an axis!
- 20568.038 E: Handled by bug report queue: java.lang.IllegalArgumentException: Listener org.openstreetmap.josm.plugins.mapwithai.street_level.actions.mapmode.SidewalkMode$DrawActionCustom@73c8bd50 (instance of org.openstreetmap.josm.plugins.mapwithai.street_level.actions.mapmode.SidewalkMode$DrawActionCustom) was not registered before or already removed.



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (41) of main
java.lang.IllegalArgumentException: Listener org.openstreetmap.josm.plugins.mapwithai.street_level.actions.mapmode.SidewalkMode$DrawActionCustom@73c8bd50 (instance of org.openstreetmap.josm.plugins.mapwithai.street_level.actions.mapmode.SidewalkMode$DrawActionCustom) was not registered before or already removed.
	at org.openstreetmap.josm.tools.ListenerList.failRemove(ListenerList.java:136)
	at org.openstreetmap.josm.tools.ListenerList.removeListener(ListenerList.java:130)
	at org.openstreetmap.josm.data.Preferences.removePreferenceChangeListener(Preferences.java:210)
	at org.openstreetmap.josm.actions.mapmode.MapMode.exitMode(MapMode.java:99)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.exitMode(DrawAction.java:318)
	at org.openstreetmap.josm.plugins.mapwithai.street_level.actions.mapmode.SidewalkMode.exitMode(SidewalkMode.java:155)
	at org.openstreetmap.josm.gui.MapFrame.selectMapMode(MapFrame.java:496)
	at org.openstreetmap.josm.gui.MapFrame.selectMapMode(MapFrame.java:473)
	at org.openstreetmap.josm.actions.mapmode.MapMode.actionPerformed(MapMode.java:128)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1787)
	at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2949)
	at java.desktop/javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:295)
	at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:254)
	at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:3041)
	at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:3033)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2911)
	at java.desktop/java.awt.Component.processEvent(Component.java:6347)
	at java.desktop/java.awt.Container.processEvent(Container.java:2260)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4952)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2318)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4784)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1819)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:874)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1136)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1011)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:839)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4833)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2318)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2667)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4784)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:716)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	anonymous
24727	NOT UPLOADING MY CORRECTION	Plugin MapRoulette	latest	task	taylor.smock	new	2026-05-05T21:29:14+02:00	2026-10-29T10:53:01+01:00	"==== What steps will reproduce the problem?
1. when done with MapRoulette task
2. I click fix and it submits that
3. And then I click stop task 

==== What is the expected result? It is supposed to the stop task

==== What happens instead? it brings out error bug

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Revision:19555
Build-Date:2026-03-30 09:42:59

Identification: JOSM/1.5 (19555 en) Windows 10 64-Bit
OS Build number: Windows 10 Pro 22H2 (19045)
Memory Usage: 668 MB / 6036 MB (309 MB allocated, but free)
Java version: 21.0.10+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1366x768x32bpp@48Hz (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: Cp1252
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.19555, -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:
+ MapRoulette (82)
+ Mapillary (1819)
+ apache-commons (36474)
+ apache-http (36474)
+ buildings_tools (36474)
+ continuosDownload (132)
+ imagery_offset_db (36474)
+ jna (36474)
+ mapathoner (v1.7.4)
+ mapwithai (839)
+ photoadjust (36474)
+ pmtiles (36474)
+ utilsplugin2 (36497)

Tagging presets:
+ https://cdn.jsdelivr.net/npm/name-suggestion-index@latest/dist/presets/nsi-josm-presets.min.xml

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1

Last errors/warnings:
- 01273.465 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 206 out of bounds for length 206
- 01284.937 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 206 out of bounds for length 206
- 01285.887 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 206 out of bounds for length 206
- 01286.269 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 206 out of bounds for length 206
- 01286.288 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 206 out of bounds for length 206
- 01286.315 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 206 out of bounds for length 206
- 01291.194 W: java.util.zip.ZipException: zip END header not found
- 01291.198 W: PluginException: : org.openstreetmap.josm.plugins.PluginException: Invalid jar file '<josm.pref>\plugins\pt_assistant.jar.new'
- 01291.200 W: Failed to scan file 'pt_assistant.jar.new' for plugin information. Skipping.
- 01291.376 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 206 out of bounds for length 206



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (31) of main
java.lang.ArrayIndexOutOfBoundsException: Index 206 out of bounds for length 206
	at java.desktop/javax.swing.DefaultRowSorter.convertRowIndexToModel(Unknown Source)
	at java.desktop/javax.swing.JTable.convertRowIndexToModel(Unknown Source)
	at java.desktop/javax.swing.JTable.getValueAt(Unknown Source)
	at org.openstreetmap.josm.plugins.maproulette.gui.task.list.TaskListPanel.getSelected(TaskListPanel.java:219)
	at org.openstreetmap.josm.plugins.maproulette.gui.layer.MapRouletteClusteredPointLayer.paint(MapRouletteClusteredPointLayer.java:207)
	at org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable$CompatibilityModeLayerPainter.paint(AbstractMapViewPaintable.java:27)
	at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:487)
	at org.openstreetmap.josm.gui.MapView.drawMapContent(MapView.java:603)
	at org.openstreetmap.josm.gui.MapView.paint(MapView.java:509)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent._paintImmediately(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintImmediately(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$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/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	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)
}}}
"	adeyemiomolola1207@…
24764	Area mapcss, datalayer, gives white background when not selected in Layers	Core mappaint	tested	defect	team	new	2026-06-05T11:49:59+02:00	2026-10-29T08:03:29+01:00	"When I do not select the Data Layer 1, but other backgrounds in Layers (green icon). I get all area as white in this Data Layer 1. ( or grey if the mouseposition is not on the map)

I only have area| in the style to visualise, I was trying to visualise area landuse landcover etc. with only svg images.

This code gives the problem. ( this is a small part of the code.)
{{{
/****************************/
/* NATURAL                 */
/****************************/
/* text */
area|z27-[natural]::area_natural_base_text_layer {
	z-index: -9;
	fill-opacity:1;
	fill-image: natural_1024_text.svg;
}
/****************************/
/* Natural GRASSLAND */
/****************************/
area|z17[natural=grassland]::area_natural_layer {
	z-index: -7;
	fill-opacity:1;
	fill-image: natural_grassland_32.svg;
}
}}}

Then I set fill-opacity:1; to 0, this solved the problem. Now the white is not visible.
 

{{{
	fill-opacity:0;
}}}

But when I delete fill-opacity: lines totaly the problem is back.

So I must set fill-opacity:0; but then I do not see the area image svg.

Uploaden data, and green icon is set, on the Data Layer 1, layer active. 
When not set to set fill-opacity:0; to 1 or line deleted, the uploading proces gives also these grey background change.




Here is the online file and info about the area visualisation.
[https://community.openstreetmap.org/t/nl-area-kaartstyle-voor-josm/142936 link info]

Is this correct or a problem? For me a problem not seeing the images.

[[Image(areajosmgrey.png)]]

With |27- I visualise a svg image legend layer. (text)



"	Allroads
24986	Add geo-block information to imagery	Core imagery		enhancement	team	new	2026-10-28T21:00:03+01:00	2026-10-28T21:00:03+01:00	"A few imagery sources nowadays are geo-blocked (i.e. IP address must match the country of origin).
* Add a new keyword to the imagery definition
* Somehow show that information in JOSM (How?)"	stoecker
