Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First update of upstream master (v3) into our own master branch. #81

Merged
merged 1,059 commits into from
Dec 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1059 commits
Select commit Hold shift + click to select a range
9a64c65
Merge pull request #6955 from simonbilskyrollins/brewing-preset
quincylvania Oct 21, 2019
f6bd204
Add brewing supply store preset
simonbilskyrollins Oct 21, 2019
c2db471
Merge branch '2.15'
quincylvania Oct 21, 2019
8cfb83f
Remove unneeded field and update changelog
quincylvania Oct 21, 2019
2576f58
Show uppercase suggestions in the Draft Beers field and update changelog
quincylvania Oct 21, 2019
f92a4b6
Merge branch '2.15'
quincylvania Oct 21, 2019
bd9b4ed
Update to temaki v2.0.0
bhousel Oct 22, 2019
2211e7b
Swqp `temaki-gas` -> `temaki-propane_tank` icon
bhousel Oct 22, 2019
36f4ebc
Update vending machine icons and add egg, bread, ice_cubes
bhousel Oct 22, 2019
213709a
Use several of the new icons
bhousel Oct 22, 2019
2896a84
Move manholes to man_made folder, add types for different utilites
bhousel Oct 22, 2019
3595073
Merge branch '2.15'
bhousel Oct 22, 2019
8f61b73
Don't suggest adding "train=yes" to "railway=station" since it could …
quincylvania Oct 22, 2019
cc63707
Merge branch '2.15'
quincylvania Oct 22, 2019
9a7e901
Don't recommend highway=footway on floating piers
quincylvania Oct 22, 2019
7c846ba
Simplify station tag upgrade
quincylvania Oct 22, 2019
151fae4
Merge branch '2.15'
quincylvania Oct 22, 2019
99e5880
Switch geometry shortcut from G to T (close #6950)
quincylvania Oct 22, 2019
1728745
Remove "terms" property from all unsearchable presets and fields and …
quincylvania Oct 22, 2019
c121ecc
Merge pull request #6963 from openstreetmap/no-unsearchable-terms
quincylvania Oct 22, 2019
87ca6d7
Merge branch '2.15'
quincylvania Oct 22, 2019
6432f4d
Update changelog with info about new icons
quincylvania Oct 22, 2019
ab14ee6
Added more common advertising presets
hikemaniac Oct 23, 2019
e68261e
Upgrade to name-suggestion-index v3.3.0
bhousel Oct 24, 2019
fa8ba10
Add presets for `shop=telecommunication` and `shop=electrical`
bhousel Oct 24, 2019
205eff2
Merge branch '2.15'
bhousel Oct 24, 2019
cb12712
Update Changelog release highlights
bhousel Oct 24, 2019
8aa553a
npm run imagery
bhousel Oct 24, 2019
b312c12
npm run translations
bhousel Oct 24, 2019
dbe016a
v2.16.0
bhousel Oct 24, 2019
c4cc2ed
Merge branch '2.15'
bhousel Oct 24, 2019
ee68029
Upgrade osm-community-index to 1.0.0
bhousel Oct 24, 2019
889ec37
npm run build
bhousel Oct 24, 2019
c782a6c
Merge branch '2.15'
bhousel Oct 24, 2019
af4e59f
Don't require `man_made=pipeline` on `pipeline=valve` (re: #6393)
quincylvania Oct 24, 2019
8e2c5b9
Change instructions for branch `2.15` -> `2.x`
bhousel Oct 24, 2019
60f5ee3
Update rollup to 1.25.2
bhousel Oct 24, 2019
db153b3
Merge branch 'advertising' of https://github.com/hikemaniac/iD into h…
bhousel Oct 24, 2019
c290015
Merge branch 'hikemaniac-advertising' into 2.x
bhousel Oct 24, 2019
bd5c49c
Merge branch '2.x'
bhousel Oct 24, 2019
3886f2d
Merge branch '2.15-building-crossing-layers' into 2.x
bhousel Oct 24, 2019
85c5414
Merge branch '2.x'
bhousel Oct 24, 2019
b4137c1
Push strings to Transfiex only if we are building the 2.x branch
bhousel Oct 24, 2019
ba9cc97
Merge branch '2.x'
bhousel Oct 24, 2019
dd10f4f
Change the warning in the README from `2.15` -> `2.x`
bhousel Oct 24, 2019
defcbe7
Merge branch '2.x'
bhousel Oct 24, 2019
b5fac63
fix(mode/rotate): polygonHull sometimes returns array of length 2 whi…
hackily Oct 28, 2019
b40d4ac
Fix lint
hackily Oct 28, 2019
3e5b007
Merge branch '2.x'
bhousel Oct 28, 2019
d6b7563
Link to the talk
bhousel Oct 28, 2019
4c61354
Merge branch '2.x'
bhousel Oct 28, 2019
d63b645
Updated readme urls to https to avoid redirect[v2]
mbrickn Oct 28, 2019
9f65425
Merge pull request #6984 from mbrickn/patch-2
bhousel Oct 28, 2019
0cccff4
Update rollup to the latest version
bhousel Oct 28, 2019
a4ffc2a
Merge branch '2.x'
bhousel Oct 28, 2019
3feb20c
disable circularize if object is already circular
Oct 29, 2019
c942ac1
translatable string: already_circular
Oct 29, 2019
036c5fa
Allow `natural=cape` on vertex geometry
bhousel Oct 29, 2019
6d25ed0
Merge branch '2.x'
bhousel Oct 29, 2019
df5f859
Allow vending machines on vertices (close #6515)
quincylvania Oct 29, 2019
fc4ec2e
Merge branch '2.x'
quincylvania Oct 29, 2019
48ccc79
improve checking circularity and unit tests
Oct 29, 2019
d7b6c5c
Merge pull request #6993 from CarycaKatarzyna/fix-issue-#6816
bhousel Oct 30, 2019
32be71b
Add derived data
quincylvania Nov 1, 2019
2698833
Update rollup to 1.26.2 (close #7000)
quincylvania Nov 1, 2019
779be49
Update uglify-js to 3.6.6 (close #6964)
quincylvania Nov 1, 2019
9224b0a
Update to abortcontroller-polyfill 1.4.0
bhousel Nov 1, 2019
5cb3891
Merge branch 'master' of https://github.com/openstreetmap/iD into ope…
Bonkles Nov 1, 2019
51dbdb4
Add country-coder as a dependency
quincylvania Nov 1, 2019
2c42093
Add shift modifier to A and D shortcuts so that they don't collide w…
Bonkles Sep 24, 2019
b4f1fa8
Fix duplicate shortcuts for add/remove fb roads.
Bonkles Sep 25, 2019
506ac26
Revert add/remove ml road hotkeys back to A and D (dropping shift)
Bonkles Sep 25, 2019
8534c81
Fix lint errors, remove file that should have been toasted with the m…
Bonkles Sep 25, 2019
8c07401
Replace remaining nominatim countryCode calls with country-coder call…
quincylvania Nov 1, 2019
87bc99d
Merge branch '2.x'
quincylvania Nov 1, 2019
bd52e0f
Use country-coder in v3-exclusive code (re: #6941)
quincylvania Nov 1, 2019
f9c7d0f
Add ref field to vending machine presets (close #7002)
quincylvania Nov 3, 2019
57ec15d
Drop default `oneway=yes` for `highway=motorway_link`
bhousel Nov 4, 2019
a81b66c
Merge branch '2.x'
bhousel Nov 4, 2019
cca6334
Add `landuse=village_green` to the list of green rendered areas
bhousel Nov 4, 2019
5d82afe
Merge branch '2.x'
bhousel Nov 4, 2019
86a5652
Add `I` for Issues pane to keyboard shortcut screen, improve spacing
bhousel Nov 4, 2019
88a4e73
Include "Area" in the preset labels for "Bridge", "Tunnel", "Road"
bhousel Nov 4, 2019
7618da1
Merge branch '2.x'
bhousel Nov 4, 2019
6dfdec0
Ignore `junction` in areaKeys code and remove the unsearchable presets
bhousel Nov 4, 2019
8ee4c4a
Alpha version of RapiD v3.
Bonkles Sep 25, 2019
b8ac94e
Merge branch '2.x'
bhousel Nov 4, 2019
74cb337
Update dependencies
bhousel Nov 4, 2019
2a4841f
Update several communications mast and tower icons
bhousel Nov 4, 2019
af4ea2c
Merge branch '2.x'
bhousel Nov 4, 2019
d89996e
Update country-coder to 2.0.0 (close #7029)
quincylvania Nov 7, 2019
6f97389
Merge branch 2.x
quincylvania Nov 7, 2019
8c67d7e
Update name-suggestion-index to 3.4.0 (close #7022)
quincylvania Nov 7, 2019
538829d
Don't flag nonstandard brands from incompatible countries (close #6513)
quincylvania Nov 7, 2019
f45670a
Don't suggest brands from incompatible countries in the Name field (c…
quincylvania Nov 7, 2019
c89b06d
Merge branch '2.x'
quincylvania Nov 7, 2019
de22c77
Fallback to SVG preset icons when image fails to load or has not load…
quincylvania Nov 7, 2019
9d367d1
Cherry pick preset image error fallback
quincylvania Nov 7, 2019
71bfeb5
Fix lint warnings
quincylvania Nov 7, 2019
263c3ad
Modernize build scripts, working towards multiple rollup targets
bhousel Nov 5, 2019
0bbe9dd
Cleanup build_src script.. add emojis to build messages
bhousel Nov 7, 2019
4a07ae7
Testing out multiple build targets in build_src..
bhousel Nov 7, 2019
5da962a
Just make the build steps sequential, build single target with buble
bhousel Nov 7, 2019
05b3d02
pacify eslint
bhousel Nov 7, 2019
e172a86
Polyfill string.fromcodepoint for IE11/Phantom
bhousel Nov 7, 2019
791701f
Merge branch '2.x'
bhousel Nov 7, 2019
0c1dd82
Add preset for `shop=spices`
scaidermern Nov 8, 2019
73e8b2c
Reinstate v3 parts of build_data.js
quincylvania Nov 8, 2019
e73ca63
Add preset for office=consulting to support new NSI entry (re: #7022)
quincylvania Nov 8, 2019
271a4cb
Update rbush to 3.0.1 (close #6359)
quincylvania Nov 8, 2019
e8e95c6
Replace mph.json file with country-coder implementation (re: #6941)
quincylvania Nov 8, 2019
3f35a35
Remove unused imperial.json and drive-left.json data files
quincylvania Nov 8, 2019
3677d20
Update d3 to v5.12.0
bhousel Nov 8, 2019
14ba67c
Update mapillary-js to v2.19.0 (closes #7030)
bhousel Nov 8, 2019
cd6d9d1
Merge branch '2.x'
bhousel Nov 8, 2019
433efd6
Add Utilities field to Utility Pole and Street Cabinet preset (re: #6…
quincylvania Nov 8, 2019
67b283c
Add more field to Telephone preset (close #7010)
quincylvania Nov 8, 2019
76939dd
Merge branch '2.x'
quincylvania Nov 8, 2019
d986d1b
Use native Promises and drop "q" dependency, update streetside.js to es6
bhousel Nov 8, 2019
b22c90e
Merge branch '2.x'
bhousel Nov 8, 2019
e6df233
Merge pull request #7031 from scaidermern/shop-spices
quincylvania Nov 11, 2019
e348b7b
Add preset for `shop=spices`
scaidermern Nov 8, 2019
f3f6f15
Adjust name, add terms, and add derived data for `shop=spices` preset…
quincylvania Nov 11, 2019
d7a646b
Merge branch '2.x'
quincylvania Nov 11, 2019
87f4f35
Don't flag crossing=zebra as deprecated (re: #6962)
quincylvania Nov 11, 2019
e85b6b9
Include default field values when upgrading a preset with a specific …
quincylvania Nov 11, 2019
40edee1
Don't flag very close nodes with different house or unit numbers (clo…
quincylvania Nov 11, 2019
138a0ba
Use simple tag deprecation instead of specific replacements for two o…
quincylvania Nov 11, 2019
bc39b0e
Don't flag nonstandard brands with a matching `not:brand:wikidata` ta…
quincylvania Nov 11, 2019
a1fadfe
Add derived data from prior commits
quincylvania Nov 11, 2019
719ee3e
Add Network Type field to route presets (re: #6992)
quincylvania Nov 11, 2019
c32cca2
Add additional comment to close nodes validation
quincylvania Nov 11, 2019
445fb2c
Merge branch '2.x'
quincylvania Nov 11, 2019
25772d2
Deprecate various old volcano-related tags
quincylvania Nov 11, 2019
7b2f85d
Deprecate type=audio and type=video for studios
quincylvania Nov 11, 2019
08a540d
Added more attraction presets
hikemaniac Nov 11, 2019
9908238
Remove object-inspect, workaround seems fixed now
bhousel Nov 11, 2019
6d77f6f
Merge branch '2.x'
bhousel Nov 11, 2019
428e274
Changed log flume icon to maki-ferry
hikemaniac Nov 11, 2019
2f3a9ea
I guess this workaround is still needed for Node 10+
bhousel Nov 11, 2019
3766cfa
Merge branch '2.x'
bhousel Nov 11, 2019
faee3d5
Merge pull request #7039 from hikemaniac/attractions
bhousel Nov 11, 2019
c0d7048
Added more attraction presets
hikemaniac Nov 11, 2019
0462da6
Changed log flume icon to maki-ferry
hikemaniac Nov 11, 2019
9906245
Reapply #7039 via branch '2.x'
bhousel Nov 11, 2019
693661a
Default TR to via-node only, use new key so everyone must re-choose
bhousel Nov 11, 2019
43aeb7c
Downgrade object-inspect to get travis ok again on node 10, 12?
bhousel Nov 11, 2019
a1a1dcf
Don't offer to upgrade object-inspect - need this specific version
bhousel Nov 11, 2019
9b84832
Merge branch '2.x'
bhousel Nov 11, 2019
88da0c5
Rename Network Type `network` fields to Network Class to avoid collid…
quincylvania Nov 12, 2019
4b84ce2
Add preset and fields for recreational network nodes (close #6992)
quincylvania Nov 12, 2019
ca66b63
Merge branch '2.x'
quincylvania Nov 12, 2019
5438ec5
Lower the match score on `network:type=node_network` preset in case t…
quincylvania Nov 12, 2019
24c72b6
Load issue fixes dynamically instead of cacheing them (close #7037)
quincylvania Nov 13, 2019
96c8bcb
Add tooltip to delete feature fix explaining if it's disabled (close …
quincylvania Nov 13, 2019
d51695c
Merge branch '2.x'
quincylvania Nov 13, 2019
a397b0c
Include "Area" in the preset labels for "River", "Stream", and "Canal…
quincylvania Nov 13, 2019
944a260
Merge branch '2.x'
quincylvania Nov 13, 2019
bc0d83b
Apply label baseline hack to Firefox 70+ (close #7044)
quincylvania Nov 13, 2019
b567d62
Merge branch '2.x'
quincylvania Nov 13, 2019
d2c73f8
Restore fixes for very close vertices issues
quincylvania Nov 18, 2019
26d21c6
Update rollup and rollup-plugin-visualizer (close #7041, close #7046)
quincylvania Nov 18, 2019
7324591
Merge branch '2.x'
quincylvania Nov 18, 2019
010c694
Prefer aerialway=station to aerialway=yes for stations (close #6994)
quincylvania Nov 18, 2019
b2611a9
Don't treat various source tags as descriptive tags
quincylvania Nov 18, 2019
1f5cce9
Don't treat `source_ref` subtags as descriptive tags
quincylvania Nov 18, 2019
4e14d3e
Switch icon for shop=chocolate
bhousel Nov 19, 2019
360dcea
Merge branch '2.x'
bhousel Nov 19, 2019
0a3c54d
Add "packstation" as a search term for parcel lockers (close #7052)
quincylvania Nov 19, 2019
f90bd2b
Merge branch '2.x'
quincylvania Nov 19, 2019
f7d8c51
Convert single-member multipolygons to simple areas when merging ways…
quincylvania Nov 19, 2019
d84c7f5
Deprecate `agrarian=agrcultural_machinry` (close #7053)
quincylvania Nov 19, 2019
0dd2a48
Merge branch '2.x'
quincylvania Nov 19, 2019
4dbc81e
create bridge or tunnel when crossed ways
CarycaKatarzyna Nov 19, 2019
fe98b36
Remove deprecation for amenity=social_club (re: #6252)
quincylvania Nov 20, 2019
8741aa8
Add Drinks field to the Drink Vending Machine preset
quincylvania Nov 20, 2019
3e022b8
Merge pull request #7055 from CarycaKatarzyna/fix-issue-6617
quincylvania Nov 20, 2019
5ed22cc
create bridge or tunnel when crossed ways
CarycaKatarzyna Nov 19, 2019
5640d78
Simplify some "add bridge or tunnel" fix code (re: #7055)
quincylvania Nov 20, 2019
091613a
Merge 2.x into master
quincylvania Nov 20, 2019
e791b75
Use existing vertices for "add a bridge/tunnel" endpoints if the edge…
quincylvania Nov 20, 2019
ff6eb88
Update add a bridge/tunnel fix icons
quincylvania Nov 20, 2019
2451001
Merge branch '2.x'
quincylvania Nov 20, 2019
a596db6
Add Width field to moreField of more highway presets
quincylvania Nov 20, 2019
7cd5778
Improve "add a bridge/tunnel" fix variable names somewhat (re: #7055)
quincylvania Nov 20, 2019
16adeb1
Merge branch '2.x'
quincylvania Nov 20, 2019
2712cae
Add preset for cycleway=asl (close #7014)
quincylvania Nov 21, 2019
f02c0cc
Don't include `area` tag on the point when extracting a point from an…
quincylvania Nov 21, 2019
7e3c3b9
Merge branch '2.x'
quincylvania Nov 21, 2019
4297b0d
Add unit test for single-member multipolygon collapse behavior in act…
quincylvania Nov 21, 2019
588fa36
Restore fixes for generic name warnings
quincylvania Nov 21, 2019
95a14ea
Add unit test for single-member multipolygon collapse behavior except…
quincylvania Nov 21, 2019
bc502e3
Add support for big open air chess board.
ToastHawaii Nov 21, 2019
3eba9e2
Merge pull request #7059 from ToastHawaii/master
quincylvania Nov 22, 2019
a498ae5
Cherry pick giant chess board
ToastHawaii Nov 21, 2019
0ce99bc
Update name, terms, and icon for giant chess board preset (re: #7059)
quincylvania Nov 22, 2019
ffe21d2
Merge branch '2.x'
quincylvania Nov 22, 2019
b5a5dfc
Don't list non-global imagery sources at low zooms (close #7062)
quincylvania Nov 22, 2019
4b9b086
Fix incomplete rendering of unclosed multipolygon rings (close #2945)
quincylvania Nov 22, 2019
d0c5add
Update some variable names to not be misleading
quincylvania Nov 22, 2019
45ac186
Flag unclosed multipolygon parts (close #2223)
quincylvania Nov 22, 2019
59f0c04
Don't flag unclosed parts of multipolygons with undownloaded members …
quincylvania Nov 22, 2019
7945f5d
Don't flag missing tags for nodes on unloaded tiles
quincylvania Nov 22, 2019
22266c6
Suggest noexit fix for almost junctions even if the endpoint has unin…
quincylvania Nov 22, 2019
62865db
Fix issue where crossing ways layer fix would set layer tag as a numb…
quincylvania Nov 22, 2019
b62162b
Add check to ensure osm service is available before calling isDataLoaded
quincylvania Nov 22, 2019
81b561f
Don't close unclosed multipolygon parts with fewer than three nodes w…
quincylvania Nov 22, 2019
8ea4991
Merge branch '2.x'
quincylvania Nov 22, 2019
6f09c3f
Flag unknown roads that are also members of relations
quincylvania Nov 22, 2019
9f8e88a
Don't cache point-as-vertex extraction fix
quincylvania Nov 25, 2019
be6e69c
Always flag tags as incomplete rather than outdated when the changes …
quincylvania Nov 25, 2019
5d5e29a
Add `man_made=water_tap` preset (close #7066)
quincylvania Nov 25, 2019
5c52cfa
Update names for `attraction=pirate_ship` and `attraction=river_rafti…
quincylvania Nov 25, 2019
16880c0
Merge branch '2.x'
quincylvania Nov 25, 2019
618937b
Deprecate barrier=railing, as per the OSM wiki
quincylvania Nov 25, 2019
25a4174
Update icon for barrier=block preset
quincylvania Nov 25, 2019
e76ffc5
Add terms to Cattle Grid preset
quincylvania Nov 25, 2019
e5275f5
Update temaki to v2.2.0 (close #7069)
quincylvania Nov 26, 2019
7550adb
Merge branch '2.x'
quincylvania Nov 26, 2019
8d02a1a
Don't use temaki-dog_shelter icon for shelters and boarding facilitie…
quincylvania Nov 26, 2019
b9f41bb
Add workaround for missing `ArrayBuffer.isView` in PhantomJS
bhousel Nov 27, 2019
ae3e47d
Merge branch '2.x'
bhousel Nov 27, 2019
0e7d888
Update temaki to v2.3.0 (close #7074)
quincylvania Nov 28, 2019
a5e542b
Merge branch '2.x'
quincylvania Nov 28, 2019
8c6bb82
Add `brand` field to Post Office preset
quincylvania Dec 2, 2019
995bfc3
Add preset for amenity=research_institute (close #7078)
quincylvania Dec 2, 2019
7a55769
Merge branch '2.x'
quincylvania Dec 2, 2019
1217b04
Upgrade temaki to scoped package `@ideditor/temaki`
bhousel Dec 2, 2019
80a4cec
Manually force background tile images to display at their expected si…
quincylvania Dec 2, 2019
16ff2b1
Upgrade country-coder to scoped package `@ideditor/country-coder`
bhousel Dec 2, 2019
feeee4b
Merge branch '2.x'
quincylvania Dec 2, 2019
5befa24
add tactile paving to steps
stragu Dec 3, 2019
7f82bb4
Merge pull request #7082 from stragu/patch-1
quincylvania Dec 3, 2019
49c6e44
add tactile paving to steps
stragu Dec 3, 2019
d715ce1
Add derived data
quincylvania Dec 3, 2019
707c275
Update fast-deep-equal to 3.1.1 (close #7076)
quincylvania Dec 3, 2019
b7daa03
Merge branch '2.x'
quincylvania Dec 3, 2019
e48c469
Update temaki to 3.1.0 (close #7084)
quincylvania Dec 3, 2019
e363b64
Merge branch '2.x'
quincylvania Dec 3, 2019
99152ab
Merge pull request #11 from bonkles-worldai/id_v3_merge-2
Bonkles Dec 3, 2019
aa0a440
Don't remove moreFields UI when clearing a value (close #6580)
quincylvania Dec 3, 2019
6e28e70
Add Marker, Utility Marker, and Power Marker presets (close #6978)
quincylvania Dec 3, 2019
247f20b
Merge branch '2.x'
quincylvania Dec 3, 2019
1647b9a
Add `countryCodes` and `notCountryCodes` properties for fields (close…
quincylvania Dec 4, 2019
6c7d8b6
Add `identifier` field for tags linking features to external databases
quincylvania Dec 4, 2019
f2b4ed4
Merge branch '2.x'
quincylvania Dec 4, 2019
00209de
Merge branch 'master' of https://github.com/openstreetmap/iD into v3_…
Bonkles Dec 4, 2019
189a6d1
Merge pull request #12 from bonkles-worldai/v3_merge
Bonkles Dec 4, 2019
07a8e92
Merge pull request #12 from bonkles-worldai/v3_merge
Bonkles Dec 4, 2019
bfed5ab
Merge branch 'master' of github.com:bonkles-worldai/RapiD
Bonkles Dec 4, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
316 changes: 316 additions & 0 deletions API.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,316 @@
This file documents efforts toward establishing a public API for iD.

## URL parameters

##### iD Standalone

iD supports several URL parameters. When constructing a URL to a standalone instance
of iD (e.g. `http://preview.ideditor.com/release/`), the following parameters are available
**in the hash portion of the URL**:

* __`background`__ - The value from a `sourcetag` property in iD's
[imagery list](https://github.com/openstreetmap/iD/blob/master/data/imagery.json),
or a custom tile URL. A custom URL is specified in the format `custom:<url>`,
where the URL can contain the standard tile URL placeholders `{x}`, `{y}` and
`{z}`/`{zoom}`, `{ty}` for flipped TMS-style Y coordinates, and `{switch:a,b,c}` for
DNS multiplexing.<br/>
_Example:_ `background=custom:https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png`
* __`comment`__ - Prefills the changeset comment. Pass a url encoded string.<br/>
_Example:_ `comment=CAR%20crisis%2C%20refugee%20areas%20in%20Cameroon`
* __`disable_features`__ - Disables features in the list.<br/>
_Example:_ `disable_features=water,service_roads,points,paths,boundaries`<br/>
_Available features:_ `points`, `traffic_roads`, `service_roads`, `paths`, `buildings`, `building_parts`, `indoor`, `landuse`,
`boundaries`, `water`, `rail`, `pistes`, `aerialways`, `power`, `past_future`, `others`
* __`gpx`__ - A custom URL for loading a gpx track. Specifying a `gpx` parameter will
automatically enable the gpx layer for display.<br/>
_Example:_ `gpx=https://tasks.hotosm.org/project/592/task/16.gpx`
* __`hashtags`__ - Prefills the changeset hashtags. Pass a url encoded list of event
hashtags separated by commas, semicolons, or spaces. Leading '#' symbols are
optional and will be added automatically. (Note that hashtag-like strings are
automatically detected in the `comment`).<br/>
_Example:_ `hashtags=%23hotosm-task-592,%23MissingMaps`
* __`id`__ - The character 'n', 'w', or 'r', followed by the OSM ID of a node, way or relation, respectively. Selects the specified entity and centers the map on it, ignoring the `map` parameter. Multiple comma-separated values are supported.<br/>
_Example:_ `id=n1207480649`
_Example 2:_ `id=n1207480649,n3334654948`
* __`locale`__ - A code specifying the localization to use, affecting the language, layout, and keyboard shortcuts. The default locale is set by the browser.<br/>
_Example:_ `locale=en-US`, `locale=de`<br/>
_Available values:_ Any of the [supported locales](https://github.com/openstreetmap/iD/tree/master/dist/locales).
* __`map`__ - A slash-separated `zoom/latitude/longitude`. This will have no effect if `id` is specified.<br/>
_Example:_ `map=20.00/38.90085/-77.02271`
* __`maprules`__ - A path to a [MapRules](https://github.com/radiant-maxar/maprules) service endpoint for enhanced tag validation.<br/>
_Example:_ `maprules=https://path/to/file.json`
* __`offset`__ - Background imagery alignment offset in meters, formatted as `east,north`.<br/>
_Example:_ `offset=-10,5`
* __`photo_overlay`__ - The street-level photo overlay layers to enable.<br/>
_Example:_ `photo_overlay=streetside,mapillary,openstreetcam`<br/>
_Available values:_ `streetside` (Microsoft Bing), `mapillary`, `mapillary-signs`, `mapillary-map-features`, `openstreetcam`
* __`presets`__ - A path to an external presets file or a comma-separated list of preset IDs. These will be the only presets the user may select.<br/>
_Example:_ `presets=https://path/to/presets.json`
_Example 2:_ `presets=building,highway/residential,highway/unclassified`
* __`rtl=true`__ - Force iD into right-to-left mode (useful for testing).
* __`source`__ - Prefills the changeset source. Pass a url encoded string.<br/>
_Example:_ `source=Bing%3BMapillary`
* __`walkthrough=true`__ - Start the walkthrough automatically

##### iD on openstreetmap.org (Rails Port)

When constructing a URL to an instance of iD embedded in the OpenStreetMap Rails
Port (e.g. `http://www.openstreetmap.org/edit?editor=id`), the following parameters
are available as **regular URL query parameters**:

* __`map`__ - same as standalone
* __`lat`__, __`lon`__, __`zoom`__ - Self-explanatory.
* __`node`__, __`way`__, __`relation`__ - Select the specified entity.
* __`background`__ - same as standalone
* __`disable_features`__ - same as standalone
* __`gpx`__ - same as standalone
* __`maprules`__ - same as standalone
* __`offset`__ - same as standalone
* __`presets`__ - same as standalone
* __`comment`__ - same as standalone
* __`source`__ - same as standalone
* __`hashtags`__ - same as standalone
* __`locale`__ - same as standalone, but the default locale is set by the language settings in your OSM user account.
* __`walkthrough`__ - same as standalone


## CSS selectors

iD has a documented and stable set of classes that can be used to apply style or
attach behavior to the visual representation of map data via CSS selectors.
These classes relate to the vocabulary of the OSM data model, a related geometric
vocabulary established by iD, and to the tags present on OSM entities.

### OSM Data Model classes

An SVG element on the map to which an iD.Entity has been bound as a datum shall
have a class with that datum's type, i.e. either `.node` or `.way`. (If and when
we add visual representations for relations, `.relation` may also be valid.)

The visual representation of a single entity may be composed of several elements,
e.g. ways are composed of casing and stroke. Such elements will have a distinct class
identifying the particular aspect of representation, e.g. `.casing` and `.stroke`.

The particular type of SVG element (`path`, `circle`, `image` etc.) that is used to
implement that visual representation is explicitly NOT part of the public API. Avoid
naming specific tags in CSS selectors; as iD evolves, we may need to change what SVG
elements we use in order to implement a particular visual style.

### Geometric classes

In addition to the OSM element vocabulary of nodes, ways, and relations, iD has
established a related geometric vocabulary consisting of points, vertices, midpoints,
lines, and areas.

A **point** is a node that is not a member of any way. Elements representing points
have a `.point` class. Since a point is always a node, they also have a `.node` class.

A **vertex** is a node that is a member of one or more ways. Elements representing
points have `.vertex` and `.node` classes.

A **midpoint** is a virtual point drawn midway between two vertices along a way.
Midpoints indicate the direction that the way, but can also be selected and dragged
to create a new point along the way. Midpoints are classed with a `.midpoint` class.

A **line** is a way that is not an area. Elements representing lines have a `.line`
class. Since a line is also a way, they also have a `.way` class.

An **area** is a way that is circular, has certain tags, or lacks certain other
tags (see `iD.osmWay#isArea` for the exact definition). Elements representing areas
have `.area` and `.way` classes.


### Tag classes

Elements also receive classes according to certain of the OSM key-value tags that are
assigned to them.

Tag classes are prefixed with `tag-` (see [`iD.svgTagClasses`](https://github.com/openstreetmap/iD/blob/master/js/id/svg/tag_classes.js) for details).

#### Primary

An element may be classed with at most one primary tag class based on its main OSM
key -- "building", "highway", "railway", "waterway", etc.
(e.g. `.tag-highway .tag-highway-residential`).

#### Secondary

An element may be classed with one or more secondary tag classes based on other
interesting OSM keys -- "bridge", "tunnel", "barrier", "surface", etc.
(e.g. `.tag-bridge .tag-bridge-yes`).

#### Status

An element may be classed with at most one status tag. Status tagging in OSM can
be either key or value based, but iD attempts to detect most common lifecycle tagging
schemes -- "construction", "proposed", "abandoned", "disused", etc.
(e.g. `.tag-status .tag-status-construction`).

#### Unpaved Surfaces (highways only)

Most vehicular highways in OSM are assumed to have a smooth paved surface. A highway
element may receive the special tag class `.tag-unpaved` if it contains certain OSM tags
indicating a bumpy surface.

### Special classes

- A node that is a member of two or more ways shall have the `.shared` class.

- A node that is an endpoint of a linear way shall have the `.endpoint` class.

- Two or more nodes at identical coordinates shall each have an `.overlapped` class. (TODO)

- Elements comprising the entity currently under the cursor shall have the `.hover` class.
(The `:hover` psuedo-class is insufficient when an entity's visual representation consists
of several elements, only one of which can be `:hover`ed.)

- Elements that are currently active (being clicked or dragged) shall have the `.active`
class.

- Elements that are currently selected shall have the `.selected` class.


## Customized Deployments

iD may be used to edit maps in a non-OpenStreetMap environment. This requires
certain parts of the iD code to be replaced at runtime by custom code or data.

iD is written in a modular style and bundled with [rollup.js](http://rollupjs.org/),
which makes hot code replacement tricky. (ES6 module exports are
[immutable live bindings](http://www.2ality.com/2015/07/es6-module-exports.html)).
Because of this, the parts of iD which are designed for customization are exported
as live bound objects that can be overriden at runtime _before initializing the iD context_.

### Services

The `iD.services` object includes code that talks to other web services.

To replace the OSM service with a custom service that exactly mimics the default OSM service:
```js
iD.services.osm = serviceMyOSM;
```

Some services may be removed entirely. For example, to remove the Mapillary service:
```js
iD.services.mapillary = undefined;
// or
delete iD.services.mapillary;
```


### Background Imagery

iD's background imagery database is stored in the `iD.data.imagery` array and can be
overridden or modified prior to creating the iD context.

Note that the "None" and "Custom" options will always be shown in the list.

To remove all imagery from iD:
```js
iD.data.imagery = [];
```

To replace all imagery with a single source:
```js
iD.data.imagery = [{
"id": "ExampleImagery",
"name": "My Imagery",
"type": "tms",
"template": "http://{switch:a,b,c}.tiles.example.com/{z}/{x}/{y}.png"
}];
```

Each imagery source should have the following properties:
* `id` - Unique identifier for this source (also used as a url paramater)
* `name` - Display name for the source
* `type` - Source type, currently only `tms` is supported
* `template` - Url template, valid replacement tokens include:
* `{z}`, `{x}`, `{y}` - for Z/X/Y scheme
* `{-y}` or `{ty}` - for flipped Y
* `{u}` - for quadtile scheme
* `{switch:a,b,c}` - for parts of the url that can be cycled for connection parallelization

Optional properties:
* `description` - A longer source description which, if included, will be displayed in a popup when viewing the background imagery list
* `overlay` - If `true`, this is an overlay layer (a transparent layer rendered above base imagery layer). Defaults to `false`
* `zoomExtent` - Allowable min and max zoom levels, defaults to `[0, 22]`
* `polygon` - Array of coordinate rings within which imagery is valid. If omitted, imagery is assumed to be valid worldwide
* `overzoom` - Can this imagery be scaled up when zooming in beyond the max zoom? Defaults to `true`
* `terms_url` - Url to link to when displaying the imagery terms
* `terms_html` - Html content to display in the imagery terms
* `terms_text` - Text content to display in the imagery terms
* `best` - If set to `true`, this imagery is considered "better than Bing" and may be chosen by default when iD starts. Will display with a star in the background imagery list. Defaults to `false`

For more details about the `iD.data.imagery` structure, see
[`update_imagery.js`](https://github.com/openstreetmap/iD/blob/master/data/update_imagery.js).


### Presets

iD's preset database is stored in the `iD.data.presets` object and can be overridden
or modified prior to creating the iD context.

The format of the `presets` object is
[documented here](https://github.com/openstreetmap/iD/tree/master/data/presets#custom-presets).

To add a new preset to iD's existing preset database.
```js
iD.data.presets.presets["aerialway/zipline"] = {
geometry: ["line"],
fields: ["incline"],
tags: { "aerialway": "zip_line" },
name: "Zipline"
};
```

To completely replace iD's default presets with your own:
```js
iD.data.presets = myPresets;
```

To run iD with the minimal set of presets that only match basic geometry types:
```js
iD.data.presets = {
presets: {
"area": {
"name": "Area",
"tags": {},
"geometry": ["area"]
},
"line": {
"name": "Line",
"tags": {},
"geometry": ["line"]
},
"point": {
"name": "Point",
"tags": {},
"geometry": ["point"]
},
"vertex": {
"name": "Vertex",
"tags": {},
"geometry": ["vertex"]
},
"relation": {
"name": "Relation",
"tags": {},
"geometry": ["relation"]
}
}
};
```


### Minimum Editable Zoom

The minimum zoom at which iD enters the edit mode is configured using the `context.minEditableZoom()` accessor. The default value is 16. To change this initialise the iD context as:

```js

var id = iD.coreContext()
.minEditableZoom(zoom_level)

```

This should be set with caution for performance reasons. The OpenStreetMap API has a limitation of 50000 nodes per request.
75 changes: 75 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
## Release Checklist

### Prerelease (several days prior)
- Notify translators of impending release
(https://www.transifex.com/projects/p/id-editor/announcements/)
- Notify TomH

### Prep
- If you don't have a `transifex.auth` file in the root of your iD checkout,
you'll need to create a Transifex account, ask @bhousel for admin rights
on the iD project, and then create this file with contents like<br><pre>
{"user": "yourusername", "password": "*******"}</pre>This file is not version-controlled and will not be checked in.

### Update `iD`

#### Update `2.x` branch
```bash
$ git checkout 2.x
$ rm -rf node_modules/editor-layer-index/
$ npm install
$ npm run imagery
$ npm run all
$ git add . && git commit -m 'npm run imagery'
$ npm run translations
$ git add . && git commit -m 'npm run translations'
```

- Update `CHANGELOG.md`
- Update version number in `modules/core/context.js`, `package.json`

```bash
$ git add . && git commit -m 'vA.B.C'
$ git push origin 2.x
```

#### Update and tag `release` branch
```bash
$ git checkout release
$ git reset --hard 2.x
$ npm run all
$ git add -f dist/*.css dist/*.js dist/img/*.svg dist/mapillary-js/ dist/pannellum-streetside/
$ git commit -m 'Check in build'
$ git tag vA.B.C
$ git push origin -f release vA.B.C
```
- Open https://github.com/openstreetmap/iD/tags
- Click `•••` –> `Create Release` and link to `CHANGELOG.md` in `Describe this release`

### Update `openstreetmap-website`

#### Setup remotes (first time only)
```bash
$ git remote add osmlab git@github.com:osmlab/openstreetmap-website.git
$ git remote add upstream git@github.com:openstreetmap/openstreetmap-website.git
```

#### Sync master branches

```bash
$ git fetch --all
$ git checkout master
$ git reset --hard upstream/master
$ git push osmlab master
```

#### Create and push branch with the new iD version

```bash
$ git checkout -b iD-A.B.C
$ bundle install
$ rm -rf vendor/assets/iD/* && vendorer
$ git add . && git commit -m 'Update to iD vA.B.C'
$ git push osmlab
```
- [Open a pull request](https://github.com/openstreetmap/openstreetmap-website/compare/master...osmlab:master) using the [markdown text from the changelog](https://raw.githubusercontent.com/openstreetmap/iD/master/CHANGELOG.md) as the description
Loading