<p dir="auto">Changelog:</p>
<h4 dir="auto"><g-emoji class="g-emoji" alias="tada" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f389.png">🎉</g-emoji> New Features</h4>
<ul dir="auto">
<li>Show a <em>remaining input length</em> indicator and a warning if the maximum for OSM tags (typically, 255 characters) is exceeded (<a href="https://github.com/openstreetmap/iD/pull/9390" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/iD/pull/9390/hovercard">#9390</a>, <a href="https://github.com/openstreetmap/iD/pull/9392" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/iD/pull/9392/hovercard">#9392</a> thanks <a href="https://github.com/alanb43">@alanb43</a>, <a href="https://github.com/openstreetmap/iD/issues/7943" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/iD/issues/7943/hovercard">#7943</a>, <a href="https://github.com/openstreetmap/iD/issues/9374" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/iD/issues/9374/hovercard">#9374</a>)</li>
</ul>
<h4 dir="auto"><g-emoji class="g-emoji" alias="white_check_mark" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png">✅</g-emoji> Validation</h4>
<ul dir="auto">
<li>Add support value <code class="notranslate">uncontrolled</code> when using <em>connect features</em> validation fix on crossings with <code class="notranslate">crossing=uncontrolled</code> (<a href="https://github.com/openstreetmap/iD/pull/9443" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/iD/pull/9443/hovercard">#9443</a>, thanks <a href="https://github.com/arch0345">@arch0345</a>)</li>
</ul>
<h4 dir="auto"><g-emoji class="g-emoji" alias="bug" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji> Bugfixes</h4>
<ul dir="auto">
<li>Fix bug which made it impossible to change an object's preset from a sub-preset to the respective parents preset (e.g. from Driveway to Service Road) (<a href="https://github.com/openstreetmap/iD/issues/9372" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/iD/issues/9372/hovercard">#9372</a>)</li>
<li>Fix corruption of (directional) <code class="notranslate">cycleway</code> tags when editing a multi-selection (<a href="https://github.com/openstreetmap/iD/pull/9423" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/iD/pull/9423/hovercard">#9423</a>)</li>
<li>Fix unintended splitting of tag values in <code class="notranslate">semiCombo</code> fields into two values when the description contains a comma (<a href="https://github.com/openstreetmap/iD/issues/9471" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/iD/issues/9471/hovercard">#9471</a>)</li>
<li>Fix rendering of imagery tile vintage when it is unknown (<a href="https://github.com/openstreetmap/iD/pull/9458" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/iD/pull/9458/hovercard">#9458</a>, thanks <a href="https://github.com/furkanmutlu-tomtom">@furkanmutlu-tomtom</a>)</li>
</ul>
<h4 dir="auto"><g-emoji class="g-emoji" alias="hourglass" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/231b.png">⌛</g-emoji> Performance</h4>
<ul dir="auto">
<li>Speed up "outdated tags" validation by optimizing order of operations (<a href="https://github.com/openstreetmap/iD/pull/9434" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/iD/pull/9434/hovercard">#9434</a>, thanks <a href="https://github.com/Zaczero">@Zaczero</a>)</li>
</ul>
<h4 dir="auto"><g-emoji class="g-emoji" alias="rocket" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f680.png">🚀</g-emoji> Presets</h4>
<ul dir="auto">
<li>Clamp degree values in <code class="notranslate">direction</code> fields between 0 and 359 degrees (<a href="https://github.com/openstreetmap/iD/issues/9386" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/iD/issues/9386/hovercard">#9386</a>)</li>
<li>Disable increment/decrement buttons on number fields if the input value is not numeric or when there is a multi-selection with conflicting values</li>
<li>Filter out misspelled taginfo suggestions in combo field (<a href="https://github.com/openstreetmap/iD/issues/9397" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/iD/issues/9397/hovercard">#9397</a>)</li>
<li>Add <code class="notranslate">highway=busway</code> to 'Traffic Roads' group of map features (<a href="https://github.com/openstreetmap/iD/pull/9413" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/iD/issues/9413/hovercard">#9413</a>, thanks <a href="https://github.com/Rewinteer">@Rewinteer</a>)</li>
<li>Rename <code class="notranslate">cycleway</code> field type to <code class="notranslate">directionalCombo</code> and make it reusable for arbitrary directional tags (<a href="https://github.com/openstreetmap/iD/pull/9423" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/iD/pull/9423/hovercard">#9423</a>)</li>
</ul>
<h4 dir="auto"><g-emoji class="g-emoji" alias="earth_asia" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f30f.png">🌏</g-emoji> Localization</h4>
<ul dir="auto">
<li>Specify address format for Bulgaria (<a href="https://github.com/openstreetmap/iD/pull/9446" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/iD/pull/9446/hovercard">#9446</a>, thanks <a href="https://github.com/Dimitar5555">@Dimitar5555</a>)</li>
</ul>
<h4 dir="auto"><g-emoji class="g-emoji" alias="hammer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f528.png">🔨</g-emoji> Development</h4>
<ul dir="auto">
<li>Upgrade to Transifex API v3 (<a href="https://github.com/openstreetmap/iD/pull/9375" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/iD/pull/9375/hovercard">#9375</a>)</li>
<li>Upgrade dependencies: <code class="notranslate">d3</code> to v7.8, <code class="notranslate">@ideditor/country-coder</code> to v5.1, <code class="notranslate">@ideditor/location-conflation</code> to v1.1, <code class="notranslate">esbuild</code> to v0.17, <code class="notranslate">osm-community-index</code> to <code class="notranslate">v5.5</code></li>
</ul>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/openstreetmap/openstreetmap-website/pull/3905'>https://github.com/openstreetmap/openstreetmap-website/pull/3905</a></p>

<h4>Commit Summary</h4>
<ul>
  <li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/commits/50fc6f1ed11213bfa672e86daab5cb18e7bb200a" class="commit-link">50fc6f1</a>  Update to iD v2.24.0</li>
</ul>

<h4 style="display: inline-block">File Changes </h4> <p style="display: inline-block">(<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files">47 files</a>)</p>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-4eda3ef3523c16dae968ed3d8e4d2d56ea1308fff25bc1a407e7fb147c098a7a">vendor/assets/iD/iD.css.erb</a>
    (47)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-7bfbfa174a52a0444c509d578ea4e570a466ec11dd2c45493019eab72aeaa700">vendor/assets/iD/iD.js</a>
    (3461)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-d46989f9469709de45ed865d34623a1f4abf40645ed47cb4b3420ed26ae7b495">vendor/assets/iD/iD/data/address_formats.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-9ec5e7aa78ee835497808ef5d94a3c0cc1ca400e979799dfde7187d57a913440">vendor/assets/iD/iD/data/imagery.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-d6612cdc3ad4b869e8e7e966ccb7bd8242827c68555d7181271eaaf5e7a4ddd7">vendor/assets/iD/iD/data/keepRight.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-b5a0255f67aa9483eaf929fc2e6b30156f4b2cb602dbc0f7613fa53a7512e19f">vendor/assets/iD/iD/img/community-sprite.svg</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-3e58682a86a1e986b4803dc9577d4b40515795cf45c902045ee375b3208ebeb9">vendor/assets/iD/iD/locales/ar.min.json</a>
    (2)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-1804fd129e15201137aedd47bd9ed88f971ce229ab813d4bfc59c7e32cff6a51">vendor/assets/iD/iD/locales/bg-BG.min.json</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-a0800c41dcfc2519c8933d39b8522cf7f2fee4e745569e504fe80b229aa1142e">vendor/assets/iD/iD/locales/bg.min.json</a>
    (2)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-462dd8a188d295d8e3d042bf1e9b8d2a92b9baee2c1e269e502dadaab47a4e06">vendor/assets/iD/iD/locales/bg@Cyrl.min.json</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-ade885a44a53e083bf1a38adbda7da2bbe949219b681929b1a7f7057f546aa97">vendor/assets/iD/iD/locales/br.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-43951c31273d48c8b0c27fe6702fe690a229bf44f60c4261a23404157799226c">vendor/assets/iD/iD/locales/ca.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-e8f62615d00c562538d2d7f03212c598722b62aa741ebcfa007d51c8ef3adc1c">vendor/assets/iD/iD/locales/cs.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-58c46a53ed891b546acb814fb93b07e5adbedff2bf6a9065e4cf70502eda2b48">vendor/assets/iD/iD/locales/da.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-08e0c9fe264879584abaca5596f2f50fb4918633a704663733b75e340e0928f5">vendor/assets/iD/iD/locales/de.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-270e6b3446cf56b54502fd5a20d27cc2b33a5e61b626e1b1a128b5595c8553fc">vendor/assets/iD/iD/locales/el.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-6933df544cd94818c5aac6cddb9ade43aebf2e6ad1b0e111844299b2b10e3767">vendor/assets/iD/iD/locales/en.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-7ed66a2876b814fe793fa65a0b33d30d294ee4d3c91595931e38483f299f1a01">vendor/assets/iD/iD/locales/eo.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-0fc79e737e7ef1e73f61238c0985d30fce480a6a24ef55635364682df78cdfb0">vendor/assets/iD/iD/locales/es.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-7fa3b9681bf0f29731a7356e5adefa850191f8dfeb7b687a864876c6cd8d2dac">vendor/assets/iD/iD/locales/et.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-d20b9e98ed810932676f6fc924904d0cd4ccb6d45a43d1968f10d6288468c598">vendor/assets/iD/iD/locales/fa.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-a47ebc8dd9c818593db15553777e1c8fdd0a402f904f48c9538b38abaabdb2e7">vendor/assets/iD/iD/locales/fi.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-23158f4f193547015707f63e5c48787dd48f0c6f8a32aad61def316806fba0a5">vendor/assets/iD/iD/locales/fr-FR.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-e5acec5e4670db1d032943a468d293fbf1da7a4747811f6bf718997b03bda73a">vendor/assets/iD/iD/locales/fr.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-d32e6a64dbd6fcd02e8de9af8a5649eff4a951168460254b48853be59a2249e9">vendor/assets/iD/iD/locales/gl.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-6e31936d0cdd771d23bf1a4a09684af82d219a09a6504cf52ccc6300541e53ac">vendor/assets/iD/iD/locales/he.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-e3a0e5517bfb21e913f6cf31b0fe58b7e540bea539959ef0d814c0fee810dce6">vendor/assets/iD/iD/locales/hu.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-bd0f91b3a554d396cc513f27e5bfbfeb64125fd41ddda3ecd76eca822ad6a884">vendor/assets/iD/iD/locales/index.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-798ecbd07d986691451e617280cf22d08237af67dd8f2806700a00e3c6646055">vendor/assets/iD/iD/locales/it.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-8dfdad8d8bfec60720526dc910f3d61750bb768858845e306cb60a80fbad6e5c">vendor/assets/iD/iD/locales/ja.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-5e488d105b6fa77d479e76632a1b2949e6c89767851cfe370535bf6feaff5f60">vendor/assets/iD/iD/locales/ko.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-362830d16905bd925ad7acb75e88a0241fdad479f64b652c13094d5e91cae4d3">vendor/assets/iD/iD/locales/lv.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-19aede772dc20d2c9c6fda6bdc6a87391a15dcb82baf2827b6fe2e35135e7e6b">vendor/assets/iD/iD/locales/nl.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-071819b364c66becc5fa5b89a27fa7c92c46e7abbcd7c9a3f6b378c2a9852d51">vendor/assets/iD/iD/locales/no.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-3800201540da166094a2e278548e0110416a99c6a11643dd56e5e3373216ffbb">vendor/assets/iD/iD/locales/pa.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-addf90d0f047af5f48b8b9ba2acd682c7c45f9299a939c730ba457b913f958f0">vendor/assets/iD/iD/locales/pl.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-8987d5d3111b24be08485ee8647278a01e75de10d4deea7e84e70dcb004536a0">vendor/assets/iD/iD/locales/pt-BR.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-fe5751938abd657244c6c15affb5afa8c910bea03100040e7b0e3c395c1c2376">vendor/assets/iD/iD/locales/pt.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-12bbdeca879b63793014649db91fd038d9a08a71c20bbb480415f94e3dba19f0">vendor/assets/iD/iD/locales/ru.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-053cc848f804a71ba82ef478cb78a613b2c0ddaaa164023d100529dc07073704">vendor/assets/iD/iD/locales/sk.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-c96580d59b4f9067ac9b2d14b1226b044d548343a734e5ccf0ee01479913e76a">vendor/assets/iD/iD/locales/sr.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-0ae179f87de660db8bf5908bf950e2714deb83c0e26377c78f0e2ebcbbf9c5a7">vendor/assets/iD/iD/locales/sv.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-e337de94baecc28aeb074c213165fad170873e4f03946d325c4cf7b5a7681200">vendor/assets/iD/iD/locales/tr.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-1a22f864dba3685ef1ac716c37d1b3406cd4ab2b26f8e7c4ef7f648fa10adf98">vendor/assets/iD/iD/locales/uk.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-2541008c7cefd6cc8bc0befcadf9a614dcddba38e7a31ece789a7bfa5a18deaa">vendor/assets/iD/iD/locales/vi.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-a91a69e767a172a679f741e282ea293c64fef016f0761d7d1912a630b6df045f">vendor/assets/iD/iD/locales/zh-CN.min.json</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905/files#diff-86aa137656ad508b9563d35bf63cb4a208cbaa5e804f7500a7c247fe449503b8">vendor/assets/iD/iD/locales/zh-TW.min.json</a>
    (2)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/3905.patch'>https://github.com/openstreetmap/openstreetmap-website/pull/3905.patch</a></li>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/3905.diff'>https://github.com/openstreetmap/openstreetmap-website/pull/3905.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3905">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLMFSXYLTNT3LU7CGWDWTFKWNANCNFSM6AAAAAAUAOPZUA">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLKBQCFDK6BEHFGFGB3WTFKWNA5CNFSM6AAAAAAUAOPZUCWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHFYWLB3E.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/pull/3905</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/pull/3905",
"url": "https://github.com/openstreetmap/openstreetmap-website/pull/3905",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>