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

Assist user in choosing the next release version number #2389

Open
staabm opened this issue Aug 28, 2019 · 11 comments
Open

Assist user in choosing the next release version number #2389

staabm opened this issue Aug 28, 2019 · 11 comments

Comments

@staabm
Copy link

staabm commented Aug 28, 2019

when creating a new release the user is sitting in front of an empty form.

grafik

first thing to provide is the version number.
to create a new minor version I need to have in mind what the latest version is, so I can calc 'latest version + 1'. In case I dont have the version in mind, I need to navigate away from this form/open a new tab, to check what the latest version is.

feature request:
would be cool to assist the user in choosing the correct version number based on semantic versioning, e.g. with buttons like 'next minor' or 'next major'.

clicking those buttons could check what the latest minor is and pre-fill the 'version' input field with the correct next minor version. similar for next major.

optional: we could discuss whether it might make sense to have the buttons labeled like 'bugfixes only', 'new features - no breaking changes' and 'contains breaking changes'

@kidonng
Copy link
Member

kidonng commented Aug 28, 2019

I think you can already know that 😉
image

would be cool to assist the user in choosing the correct version number based on semantic versioning, e.g. with buttons like 'next minor' or 'next major'.

It's better to use tools like https://github.com/semantic-release/semantic-release instead. If one chooses to bump versions by themselves, they should have the version number to go in mind (or they will go check commit list to make decisions).

@hkdobrev
Copy link
Contributor

hkdobrev commented Aug 28, 2019

You could also use the AJAX query the page is doing for the autocomplete when starting to type in the "Tag version" input.

https://github.com/<owner>/<repo>/tags?q=1

I am mostly using this autocomplete to find the last one and bump it.


If someone implements that, I really like the suggestion on semantic version enforcement. We can use 3 different inputs that you can only change with a ⬆️ button and you can bump a version segment maximum one time. If you bump one version segment, the ones on the right should be locked at 0.

Example

Current version:
3️⃣• 4️⃣• 5️⃣

When you open the new release page, you will see the following at first:
3️⃣⬆️ • 4️⃣⬆️ • 6️⃣
So the suggested next version by default is a patch release.

You can choose to bump either the major or minor version using the two up arrows:

If you click the first arrow up, it will change to:
4️⃣• 0️⃣• 0️⃣
So you will bump the major version.

If you have chosen to click the second arrow, it will have changed to:

3️⃣• 5️⃣• 0️⃣
So you will bump the minor version.

Notes:

  • We need a reset button and some text explaining what's the previous version and a note what would be the change initially or after you click something.
  • We need to read the previous tags and if they have a v prefix to include it in the new tag.
  • We can later add numbered alpha, beta, rc suffix buttons.
  • We can add a link to semantic versioning spec.
  • We need to detect if the repo is not using semantic versioning and disable it.
  • This workflow really helps with patch releases which are most common as you wouldn't need to change anything from the default state of the page on the version.

@hkdobrev
Copy link
Contributor

@lukehefson 👋 Do you think the above is a good user story for the papercuts team? I hope bringing you in like that on such requests is fine!

@fregante
Copy link
Member

fregante commented Aug 30, 2019

I suggest:

  • Using np when possible

  • Showing a list of possible versions like np does, perhaps as an autocomplete dropdown that appears before the user starts typing, because then GitHub uses their own dropdown. Maybe patch, minor, major is enough.

We need a reset button and some text explaining what's the previous version and a note what would be the change initially or after you click something.

I'd rather show the latest version next to the field, to give some context (We already have this information from the branch-buttons feature btw), and not autofill the field.

We need to read the previous tags and if they have a v prefix to include it in the new tag.

👍

We can later add numbered alpha, beta, rc suffix buttons.

👎 Let the user add those details manually instead. Everyone will have different preferences and it makes no sense to venture into that (.dev, -0, -rc1, r3, .build.333)

We can add a link to semantic versioning spec.

👍 for informing the user.

We need to detect if the repo is not using semantic versioning and disable it.

👎 This feature is unrelated to semantic versioning, we'd just offer numbers. 1.0.0 becomes 1.0.1 whether they follow the semantic versioning spec or not.

This workflow really helps with patch releases which are most common as you wouldn't need to change anything from the default state of the page on the version.

👎 This is dangerous because pre-filling that field with a patch version might cause the user to release a major version as a patch by mistake, simply by forgetting to update the field.

@hkdobrev
Copy link
Contributor

I support everything @fregante said. I had doubts based on the same reasoning about defaults. I can see how a list is simpler to use and more abstract than bumping numbers.

@lukehefson
Copy link

I hope bringing you in like that on such requests is fine!

@hkdobrev Any time!

I think this is a super cool idea, but I wouldn't be able to make any comments as to if/when we might do something like it ourselves. I suspect that it's probably not within the realms of papercuts for us – but will make sure that it's tracked either way!

@kidonng
Copy link
Member

kidonng commented Sep 12, 2019

  • We can add a link to semantic versioning spec.

I think GitHub already has this:

image

@muuvmuuv
Copy link

muuvmuuv commented Feb 4, 2020

What about showing a dropdown on the left of the input where you can preselect all semver next versions, like np provides? Instead of a dropdown inside the input field.

+ a tab to select versions in previous commits from package managers like package.json#version.

Another idea would be to have some kind of config in .github to specify a version template. Is there a common release name version pattern?

Bildschirmfoto 2020-02-04 um 09 19 07
Bildschirmfoto 2020-02-04 um 09 19 03

Modified HTML code for: `.js-release-form .d-flex d-md-block flex-column`
<div class="d-flex d-md-block flex-column">
  
  <div class="d-inline-block mt-2 mt-md-0 js-release-target-wrapper">
    <details class="details-reset details-overlay v-align-middle d-md-inline-block mr-md-2">
      <summary class="btn d-block" aria-haspopup="menu" role="button">
        <div class="d-flex flex-items-center">
          <svg width="18" height="20" class="octicon octicon-versions mr-1" viewBox="0 0 14 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M13 3H7c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h6c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zm-1 8H8V5h4v6zM4 4h1v1H4v6h1v1H4c-.55 0-1-.45-1-1V5c0-.55.45-1 1-1zM1 5h1v1H1v4h1v1H1c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1z"></path></svg>
          <span class="flex-auto ml-1" data-menu-button="" style="display:none;">Insert version</span>
          <span class="dropdown-caret ml-2"></span>
        </div>
      </summary>

      <details-menu class="SelectMenu SelectMenu--hasFilter">
        <tab-container class="SelectMenu-modal">
          <div class="SelectMenu-header">
            <span class="SelectMenu-title">Pick a version (latest v1.0.0)</span>
          </div>
          <div class="SelectMenu-tabs" role="tablist">
            <button type="button" class="SelectMenu-tab" data-filter-placeholder="Filter branches…" role="tab" aria-selected="true">Semver</button>
            <button type="button" class="SelectMenu-tab" data-filter-placeholder="Filter recent commits…" role="tab">Package manager</button>
          </div>
          <div class="SelectMenu-list" role="tabpanel" id="filter-list-branches">
            <div data-filter-list="" role="menu">
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="development" name="release[target_commitish]" id="release_target_commitish_development">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <span data-menu-button-text="">v2.0.0</span>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="true">
                  <input hidden="hidden" type="radio" value="master" checked="checked" name="release[target_commitish]" id="release_target_commitish_master">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <span data-menu-button-text="">v1.1.0</span>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="development" name="release[target_commitish]" id="release_target_commitish_development">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <span data-menu-button-text="">v1.0.1</span>
                </label>
            </div>
            <div class="SelectMenu-blankslate" data-filter-empty-state="" hidden="">No results found.</div>
          </div>

          <div class="SelectMenu-list" role="tabpanel" id="filter-list-tags" hidden="">
            <div data-filter-list="" role="menu">
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="73ed7dd718743311718cca295132dd6bb6d60a4a" name="release[target_commitish]" id="release_target_commitish_73ed7dd718743311718cca295132dd6bb6d60a4a">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">v1.3.2</span>
                    <div class="text-normal">Found in <code>package.json</code> in commit <code>73ed7dd</code> @ <relative-time datetime="2020-02-04T00:01:51Z" class="no-wrap" title="4. Feb. 2020, 01:01 MEZ">8 hours ago</relative-time></div>
                  </div>
                </label>
            </div>
            <div class="SelectMenu-blankslate" data-filter-empty-state="" hidden="">No results found.</div>
          </div>
        </tab-container>
      </details-menu>
    </details>
    <span class="d-none d-md-inline"></span>
  </div>  
  
    <div class="position-relative d-inline-block mx-md-2">
      <auto-complete src="/muuvmuuv/portfolio/tags" aria-owns="tags-popup" role="combobox" aria-haspopup="listbox" aria-expanded="false">
        <input placeholder="Tag version" autofocus="autofocus" autocomplete="off" list="git-tags" class="form-control width-full mr-0 release-tag-field js-release-tag-field" aria-label="Enter tag name or version number" data-url="/muuvmuuv/portfolio/tags/check" data-existing-id="none" type="text" name="release[tag_name]" id="release_tag_name" aria-owns="tags-popup" spellcheck="false" aria-autocomplete="list" aria-controls="tags-popup">
        <ul id="tags-popup" class="autocomplete-results" hidden="" role="listbox"></ul>
      </auto-complete>
    </div>

    <div class="d-inline-block mt-2 mt-md-0 js-release-target-wrapper"><span class="d-none d-md-inline">@</span>

    <details class="details-reset details-overlay v-align-middle d-md-inline-block ml-md-2">
      <summary class="btn d-block" aria-haspopup="menu" role="button">
        <div class="d-flex flex-items-center">
          <svg class="octicon octicon-git-branch mr-1" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 00-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 00-1-3.72C.88 1 0 1.89 0 3a2 2 0 001 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"></path></svg>
          <i>Target:</i>
          <span class="flex-auto ml-1" data-menu-button="">master</span>
          <span class="dropdown-caret ml-2"></span>
        </div>
      </summary>

      <details-menu class="SelectMenu SelectMenu--hasFilter">
        <tab-container class="SelectMenu-modal">
          <div class="SelectMenu-header">
            <span class="SelectMenu-title">Pick a branch or recent commit</span>
          </div>

          <filter-input class="SelectMenu-filter" aria-owns="filter-list-branches">
            <input type="text" class="SelectMenu-input form-control" placeholder="Filter branches…" aria-label="Filter branches" data-filter-placeholder-input="" autofocus="" autocomplete="off" spellcheck="false">
          </filter-input>
          <div class="SelectMenu-tabs" role="tablist">
            <button type="button" class="SelectMenu-tab" data-filter-placeholder="Filter branches…" role="tab" aria-selected="true">Branches</button>
            <button type="button" class="SelectMenu-tab" data-filter-placeholder="Filter recent commits…" role="tab">Recent Commits</button>
          </div>
          <div class="SelectMenu-list" role="tabpanel" id="filter-list-branches">
            <div data-filter-list="" role="menu">
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="development" name="release[target_commitish]" id="release_target_commitish_development">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <span data-menu-button-text="">development</span>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="true">
                  <input hidden="hidden" type="radio" value="master" checked="checked" name="release[target_commitish]" id="release_target_commitish_master">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <span data-menu-button-text="">master</span>
                </label>
            </div>
            <div class="SelectMenu-blankslate" data-filter-empty-state="" hidden="">No results found.</div>
          </div>

          <div class="SelectMenu-list" role="tabpanel" id="filter-list-tags" hidden="">
            <div data-filter-list="" role="menu">
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="73ed7dd718743311718cca295132dd6bb6d60a4a" name="release[target_commitish]" id="release_target_commitish_73ed7dd718743311718cca295132dd6bb6d60a4a">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">73ed7dd</span>
                    <div class="text-normal">Merge pull request #9 from muuvmuuv/development @ <relative-time datetime="2020-02-04T00:01:51Z" class="no-wrap" title="4. Feb. 2020, 01:01 MEZ">8 hours ago</relative-time></div>
                  </div>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="5ac0d763da5b6ff4e7987a963b57b99f723c3c2a" name="release[target_commitish]" id="release_target_commitish_5ac0d763da5b6ff4e7987a963b57b99f723c3c2a">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">5ac0d76</span>
                    <div class="text-normal">Increased version and updated changelog @ <relative-time datetime="2020-02-03T23:46:23Z" class="no-wrap" title="4. Feb. 2020, 00:46 MEZ">8 hours ago</relative-time></div>
                  </div>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="2f2ad0acc33ec1d22ab22808d03085b1a0641851" name="release[target_commitish]" id="release_target_commitish_2f2ad0acc33ec1d22ab22808d03085b1a0641851">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">2f2ad0a</span>
                    <div class="text-normal">Make text visible again haha @ <relative-time datetime="2020-02-03T23:44:49Z" class="no-wrap" title="4. Feb. 2020, 00:44 MEZ">8 hours ago</relative-time></div>
                  </div>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="e2348eff6fa7706d909f26ba58cc1f0e4b90de70" name="release[target_commitish]" id="release_target_commitish_e2348eff6fa7706d909f26ba58cc1f0e4b90de70">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">e2348ef</span>
                    <div class="text-normal">Moved hide content style to stylesheet @ <relative-time datetime="2020-02-03T23:42:28Z" class="no-wrap" title="4. Feb. 2020, 00:42 MEZ">8 hours ago</relative-time></div>
                  </div>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="01452c714b724dd7178fee294cbb7ccb774ec14c" name="release[target_commitish]" id="release_target_commitish_01452c714b724dd7178fee294cbb7ccb774ec14c">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">01452c7</span>
                    <div class="text-normal">Fix normalized url bug which caused safari to crash @ <relative-time datetime="2020-02-03T23:41:57Z" class="no-wrap" title="4. Feb. 2020, 00:41 MEZ">8 hours ago</relative-time></div>
                  </div>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="16550b3127361bdcd5141ad73196ade2ca53cf72" name="release[target_commitish]" id="release_target_commitish_16550b3127361bdcd5141ad73196ade2ca53cf72">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">16550b3</span>
                    <div class="text-normal">Fix theme switch issue on safari @ <relative-time datetime="2020-02-03T23:41:26Z" class="no-wrap" title="4. Feb. 2020, 00:41 MEZ">8 hours ago</relative-time></div>
                  </div>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="acf0feb918db70fb8eb7a706878047275e443d7f" name="release[target_commitish]" id="release_target_commitish_acf0feb918db70fb8eb7a706878047275e443d7f">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">acf0feb</span>
                    <div class="text-normal">Update font @ <relative-time datetime="2020-02-03T23:41:05Z" class="no-wrap" title="4. Feb. 2020, 00:41 MEZ">8 hours ago</relative-time></div>
                  </div>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="a6f21baacce5d5b1dacc1d59cdd55695e820ad9f" name="release[target_commitish]" id="release_target_commitish_a6f21baacce5d5b1dacc1d59cdd55695e820ad9f">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">a6f21ba</span>
                    <div class="text-normal">Remove note for not published nodes @ <relative-time datetime="2020-02-03T21:43:13Z" class="no-wrap" title="3. Feb. 2020, 22:43 MEZ">10 hours ago</relative-time></div>
                  </div>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="476e6e55708bd0d8deb5d5e47637586ae4257f10" name="release[target_commitish]" id="release_target_commitish_476e6e55708bd0d8deb5d5e47637586ae4257f10">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">476e6e5</span>
                    <div class="text-normal">Fix lighthouse export path and other things @ <relative-time datetime="2020-02-03T21:42:56Z" class="no-wrap" title="3. Feb. 2020, 22:42 MEZ">10 hours ago</relative-time></div>
                  </div>
                </label>
                <label class="SelectMenu-item" tabindex="0" role="menuitemradio" aria-checked="false">
                  <input hidden="hidden" type="radio" value="26b54a8ea48e5841d12a9e7c43d124bbd4c3bc2d" name="release[target_commitish]" id="release_target_commitish_26b54a8ea48e5841d12a9e7c43d124bbd4c3bc2d">
                  <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
                  <div>
                    <span data-menu-button-text="" data-filter-item-text="">26b54a8</span>
                    <div class="text-normal">Merge pull request #7 from muuvmuuv/development @ <relative-time datetime="2020-02-03T21:19:25Z" class="no-wrap" title="3. Feb. 2020, 22:19 MEZ">11 hours ago</relative-time></div>
                  </div>
                </label>
            </div>
            <div class="SelectMenu-blankslate" data-filter-empty-state="" hidden="">No results found.</div>
          </div>
        </tab-container>
      </details-menu>
    </details>
    </div>

    <p class="note js-tag-status-message" data-state="loading" hidden="">
      <img width="16" height="16" class="spinner" alt="" src="https://github.githubassets.com/images/spinners/octocat-spinner-32.gif">
      Loading tag information…
    </p>

    <p class="note js-tag-status-message" data-state="empty">
      Choose an existing tag, or create a new tag on publish
    </p>

    <h4 class="is-success js-tag-status-message" data-state="valid" hidden=""><svg class="octicon octicon-check" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg> Existing tag</h4>

    <h4 class="is-error js-tag-status-message" data-state="invalid" hidden=""><svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"></path></svg> Invalid tag name</h4>
    <p class="js-tag-status-message" data-state="invalid" hidden="">We can’t create a tag with this name. Take a look at the suggestions in the sidebar for example tag names.</p>

    <h4 class="js-tag-status-message is-error" data-state="duplicate" hidden=""><svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"></path></svg> Duplicate tag name</h4>
    <p class="js-tag-status-message note" data-state="duplicate" hidden="">This tag already has release notes. Would you like to <a href="#" class="js-edit-release-link">edit them?</a></p>

    <p class="note js-tag-status-message" data-state="pending" hidden="">
      Excellent! This tag will be created from the target when you publish this release.
    </p>
  </div>

@staabm
Copy link
Author

staabm commented Feb 4, 2020

I like the suggestion, would add a small thing in the dropdown

2.0.0 - contains backwards incompatible changes
1.1.0 - new features included
1.0.1 - bugfixes only

As guidance

@fregante
Copy link
Member

@muuvmuuv that's a cool UI that GitHub could offer, but Refined GitHub is mostly language-agnostic and can't support all of the package managers.

Since we can't support that, we can just use a simple dropdown like this (+ @staabm's suggestion):

@fregante
Copy link
Member

Small update: GitHub added a dropdown selector to select existing tags:

Screen Shot 7

This is somewhat helpful because now we have a native list of tags that we can relatively easily pick from. We can steal latest-tag-button’s logic to find the latest tag and add a +1 on each of the first 3 numbers, dropping the rest.

Note: This would be helpful on most repos and doesn't have to cater to complex tagging systems.

Note 2: Feature freeze is still in place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

6 participants