Skip to content

Releases: openstreetmap/iD

v2.40.0

07 May 12:15
v2.40.0
032f236

Choose a tag to compare

📣 Release Highlights

New rendering style for shared bike and foot paths

The new style indicates a way that is designated for bike and foot traffic in cases where we have established tagging for this kind of infrastructure:

  • highway=path: When bicycle+foot=designated are explicitly tagged, the way is displayed in our new, shared infrastructure style.
  • highway=cycleway: When foot=designated is present, the way is displayed in our new, shared infrastructure style (bicycle=designated can, but does not have to be tagged as it is implicit by the highway=cycleway tag)
  • highway=footway: does not change, regardless of the presence of bicycle+foot=designated tags, because there is no established tagging that fits this new style

Dynamic level of detail for created circular objects

This leads to more accurately round geometries for large circular objects like large roundabouts, etc., and at the same time also reduces the previously sometimes slightly excessive number of nodes produced used on small round objects like circular huts, etc.

Fixed and improved tag-cleanup when changing presets

This improves how tags are handled when the preset of an object is changed. The goal is to prevent straggling tags to remain on the OSM object after changing its preset: For example, when a POI changes in the real world from a restaurant to a shop, it does not make sense for the restaurant's cuisine tag to be preserved in the shop POI.1

Now, only tags are preserved that are also valid tags of the newly applied preset. For the example above, general attributes like the address and phone number would be preserved, but restaurant-specific tags like the cuisine or dietary options would be removed.

As this is a relatively big change compared to how iD previously handled tags when changing presets, please report any bugs, inconsistencies or other oddities you notice.

Full Changelog

✨ Usability & Accessibility

  • Render shared bicycle/foot paths with a dedicated colour (#10256, thanks @k-yle)
  • Expand input element of multi-combo fields while typing to fit content (#12169)
  • When searching presets, include presets when the preset label is included in the search input (#12159, thanks @matkoniecz)

✂️ Operations

  • Create fewer points when circularizing small features (and vice versa): the number of vertices in the resulting circle is now dynamic between a 12 and 32 depending on the radius of the circle (instead of always resulting in 19 nodes) (#12139)
  • Correctly split a way on all selected vertices when three or more nodes are selected (#12120)

✅ Validation

  • Treat most aerialways as part of the routable network when checking other ways' connectivity (#9406)
  • Only consider well known tags containing URLs during website validation (#12178, thanks @bhavyaKhatri2703)
  • Sort full issues list by issue type first (instead of only by distance from map center), such that similar issues are always listed next to each other (#9017)
  • For disconnected routable multipolygon areas: report the relation in the validation warning (#12245)

🐛 Bugfixes

  • Prevent duplicate nodes from being created while using spacebar key to draw a way (#12051)
  • Fix some tags automatically deleted when re-selecting the same preset (#12070, thanks @k-yle)
  • Fix a bug that caused step_count to be set to NaN when merging features with non-numeric step count values (#12110, thanks @JaiswalShivang)
  • Fix a bug that caused duplicates of new notes to appear when such a note is dragged on the map (#9092)
  • Prevent keyboard shortcuts from triggering an additional input after their action is performed (#9071)
  • Include railway and building features with lifecycle status only in past/future features category (#9058)
  • Disable autocomplete on changeset comment box on mobile Firefox to work around buggy/glitchy behavior of the input field (#9011)
  • Fix crash when trying to delete a single-node way (#9007)
  • Make sure the available options of multi/semi-combo fields are updated properly when a previous tag change caused a change of the feature's preset (#12217)
  • Handle OSM API responses with 200 status code, but a runtime error in the response (#6454)
  • Keep natural=coastline tag on outer way of created multipolygon when combining areas (#11818, thanks @Kaushik4141)
  • Show correct cursor on headings of quality assurance results in the sidebar (#12276, thanks @Quantum-Cucumber)
  • Fix exception when a onewayCheck field is present on a non-way feature (e.g. a ferry route) (#12272)
  • Make sure that disable_features parameter from URL hash is not overwritten by locally cached value from last session
  • Fix feature filter falsely hiding boundary relation members while in dragging mode when other features are hidden (#12267)
  • Make sure long autocomplete-suggestions in input fields do not scroll the input field beyond the cursor location in Firefox

🚀 Presets

  • Standardize tooltips in combo boxes: always show (full) raw tag, don't duplicate the already rendered titles, and show descriptions from wiki/taginfo where available (#12010, thanks @tordans)
  • Use full width for the dropdown box for the values of the access field (#12065)
  • Preserve the order of options when a combo field accepts both static options as well as autosuggestions from taginfo and display additional tag values from taginfo as raw-options only (#12117)
  • When removing tags while changing presets: include all tags associated with localized, multiCombo and directionalCombo fields (#12075, #11696)
  • Preserve all feature tags when changing to a new preset that includes the old preset's primary tags as a field (#12071)

🔨 Development

  • Replace sinon with vitest's built in spy/mock library (#12058)
  • Add type annotations to context.js module (#11589, thanks @k-yle)
  • Drop netlify-cli dependency and run it during CI via npx (#12237)
  1. Note that the previous release already tried to fix this, but had to be reverted due to some bugs in the first implementation.

v2.39.6

07 Apr 16:05
v2.39.6
3752920

Choose a tag to compare

v2.39.5

23 Mar 16:47
v2.39.5
b9b1750

Choose a tag to compare

  • Fix regression where some strings (like some section headings) are not rendered correctly (#12083)

v2.39.4

23 Mar 14:41
v2.39.4
5fdd07a

Choose a tag to compare

  • Fix title of preset search results not updating correctly (#12050, thanks @bhavyaKhatri2703)
  • Fix user images and upload help text from showing up as duplicates in upload dialog (#12063)
  • Fix crash when a checkbox-field is rendered using a custom (non-yes/no) value (#12078)

v2.39.3

21 Mar 11:35
v2.39.3
76adbb7

Choose a tag to compare

  • Revert: When changing presets, delete tags from the old preset which are not in the new preset (#12068)

v2.39.2

20 Mar 16:06
v2.39.2
c7c7689

Choose a tag to compare

  • Fix a bug where iD would crash when the "Style Options" submenu is expanded during startup (0241c765)

v2.39.0

19 Mar 16:17
v2.39.0
6618c61

Choose a tag to compare

✨ Usability & Accessibility

  • Increase number of displayed recently used presets to 8 (from 4) (#9545, thanks @k-yle)
  • Always render icons for craft features mapped as areas (#9183)
  • Change labeling of route relation to show icons, ref and route colours (#11052)
  • Render the turnout_side of railway switches (#11944, thanks @hlfan)
  • Show descriptions of preset field options directly in the combobox dropdown menu in slightly smaller font size (#11876, thanks @Sembauke)
  • Render "outside" side of guardrails with small dots (#9594)

✂️ Operations

  • Show a preview of the result of some geometry operations while the respective button in the edit menu is hovered (#11778)
  • Preserve tagged nodes from being moved around too much when circularizing a feature (#8265)

📷 Street-Level

  • Show username of Mapilio photos (#9903, thanks @sezerbozbiyik)
  • Fix mouse wheel zooming on 360° photos using the pannellum viewer (e.g. the ones from Panoramax) (#11995)

✅ Validation

  • Make wording of fix for overlapping features validator less ambiguous (#9888, thanks @k-yle)
  • Skip disconnected_way validation for Golf Paths (#11863, thanks @Kayd-06)
  • Also suggest to remove deprecated tag when the object already has the corresponding new tag (#9272)
  • Add explanation how to fix "point should be vertex" validation warning (#10958)
  • Suggest to "reposition features" before other fixes when the validator found overlapping buildings (#11329)

🐛 Bugfixes

  • Fix the sorting of tag values when multiple objects' tags are combined in utilCombinedTags (#11932, thanks @JaiswalShivang)
  • Don't change the value of railway:turnout_side when reversing a railway track (#11645)
  • Fix a bug where the squaring operation would remove a whole corner if it had duplicate vertices (same coordinates, but different node ids) at that point (#9155)
  • Fix crash when uploading changesets with more than 10,000 features (#11388, thanks @k-yle)
  • Preserve relation memberships when an area is automatically converted from a closed way to a multipolygon or vice versa during a merge or split operation (#9064, #12024)
  • Make sure tooltips of the map menu are not clipped on the top/bottom of the map (#11017, thanks @mykh-hailo)

🌏 Localization

🚀 Presets

  • When changing presets, delete tags from the old preset which are not in the new preset (#11696, thanks @k-yle)

🔨 Development

  • Use <details> element for collapsible disclosure content (#11952, thanks @Shrinks99)
  • Use JSON endpoints for (almost) all OSM APIs (#11661, thanks @k-yle)
  • Replace lodash with es-toolkit (#12016, thanks @tordans)
  • Replace fast-deep-equals with fast-equals (#12021, thanks @tordans)
  • Add type definitions to some util functions (#11993, thanks @k-yle)
  • Localizer module: allow string replacements to use callback functions (#11347)

v2.38.0

02 Mar 16:30
v2.38.0
16e5ae7

Choose a tag to compare

✨ Usability & Accessibility

  • Show warning when attempting to paste but nothing has been copied (#9401, thanks @omsaraykar)
  • Don't suggest values from Taginfo for addr:* tags (#11733, thanks @k-yle)
  • Don't suggest values from Taginfo for tags with less than 100 uses, even if they're documented on the wiki (#11794, thanks @Kaushik4141)
  • Don't suggest values from Taginfo for keys that should only be used on changesets, such as hashtags (#11697, thanks @bhavyaKhatri2703)
  • Handle <key>=left|right|both in the directionalCombo UI to enable support for sidewalk=left|right|both in the future (#10935, thanks @tordans, @k-yle)
  • Update tag list for paved/semipaved surfaces (ffc7e21)
  • Add dedicated rendering style for highway=ladder ways (#11804, thanks @bhavyaKhatri2703)

✂️ Operations

  • Display reflection axis on the map while hovering the reflection operations in the edit menu (#11774, thanks @Kaushik4141)

✅ Validation

  • Don't error on features with a sole note tag (#11522)
  • Warn when two features cross each other on same layer, regardless of bridge / tunnel tags (#10999, thanks @homersimpsons)
  • Add railway=crossing tag when connecting two railways using the validation fix (#9226, thanks @paulklie)
  • Enable validation of invalid URLs in tags like website (#6831, #11499, thanks @hlfan)

🐛 Bugfixes

  • Fix typo: parking:left:capacity duplicated in osmSummableTags, missing parking:right:capacity (#11819, thanks @JaiswalShivang)
  • Fix some gpx/geojson properties not visible, such as numbers or complex data structures (#11636, thanks @k-yle)
  • Fix error setting custom background (#11862, thanks @Kayd-06)
  • Fix crash when commenting/closing notes when the note is closed by another mapper in the meantime (#8464)
  • Fix confusing 'Point should be a point' warning (#11589, thanks @k-yle)
  • Let presets fall back to base point/line/area presets if there is no matching preset in the current region (cbeb0d5)
  • Properly skip tag suggestions for tags ending in _1 (#11633, thanks @k-yle)
  • Skip emergency access tags when determining whether a feature should be an area or not (#11327)
  • Correctly show special characters in names of background layers (#11773, thanks @Kaushik4141)
  • Fix a bug where the validator mixed up point and vertex in some warning messages (#11590, thanks @k-yle)
  • Fix some icons having the wrong background color in dark mode (#11657, thanks @hlfan)

🌏 Localization

  • Add Moroccan phone number and address formats (#11651, #11698, thanks @ilias52730)
  • The Languages field shows language names in your preferred language. (#11699, thanks @Razen04)
  • When viewing the help information for tags or presets, use locale-specific properties if available (#11760, thanks @k-yle)
  • Show country names in your preferred language and country flag emoji in the Country field dropdown (#11783, thanks @Razen04)
  • Allow language codes of language variants (e.g. name:zh-Latn-pinyin) in multilingual name fields (be0a20e)

⌛ Performance

  • iD is now twice as fast during long editing sessions (#11861, thanks @k-yle)

🎓 Walkthrough / Help

🚀 Presets

  • Add dedicated styling for highway=ladder to make it distinguishable from highway=steps (#11799, thanks @bhavyaKhatri2703)
  • Make fields more rubust when options are undefined (#11533, thanks @hlfan)
  • make addr:floor subfield of the address field narrow by default (b064967)

🔨 Development

  • Change package name to @openstreetmap/id to be able to publish releases on npm
  • Use Röntgen icon set directly from upstream npm package (#11784, thanks @tordans)
  • Replace deprecated document.createEvent/initEvent with modern Event constructor ([#11871], thanks [@JaiswalShivang])
  • Fix crash in country combo field when entering unrecognized ISO country codes (#11904, thanks @JaiswalShivang)
  • Upgrade clipboard functionality with modern Clipboard API (#11869, thanks @tulavamsidheeraj)

v2.37.3

31 Oct 09:48
v2.37.3
ecf16f8

Choose a tag to compare

🐛 Bugfixes

  • bump id-taging-schema to 6.13.4 (#11532)
  • fix a potential crash when base presets are missing

v2.37.2

30 Oct 14:51
v2.37.2
a5b385d

Choose a tag to compare

🐛 Bugfixes

  • Correctly resolve subtitles of NSI presets when base preset has a crossreferenced string (#11527)