bugGNU Octave - Bugs: bug #55829, prosposal: marking dev versions in...


bug #55829: prosposal: marking dev versions in DESCRIPTION

Submitter:  Colin Macdonald <cbm>
Submitted:  Mon 04 Mar 2019 08:06:18 PM UTC
Category:  Octave Forge website Severity:  1 - Wish
Priority:  5 - Normal Item Group:  Documentation
Status:  Wont Fix Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup

Jump to the original submission

Tue 27 Feb 2024 08:06:13 PM UTC, comment #11: 

sorry, comment #10 was intended for another report.

As the octave forge website has marked as unmaintained, and currently points to packages.octave.org,  closing this report as won't fix.

Nicholas Jankowski <nrjank>
Group Member
Tue 27 Feb 2024 08:04:22 PM UTC, comment #10: 

the link is still in error, but the page now has a header indicating the page is no longer maintained and points to packages.octave.org, which does have correct links to the NaN repository.  closing report as won't fix.

Nicholas Jankowski <nrjank>
Group Member
Thu 14 Mar 2019 11:12:12 PM UTC, comment #9: 

Here's another patch we could apply after my previous one

(file #46541)

Colin Macdonald <cbm>
Thu 14 Mar 2019 10:09:27 PM UTC, comment #8: 

This is the canonical description of Octave's current version scheme

Note to future selves: the line number anchor is not reliable, but my intent is to point to the "Release Numbering" heading.

I would not recommend following all of Octave's version scheme for Octave Forge packages, but rather something closer to SemVer, minus SemVer's special provision for pre-release suffixes.

Mike Miller <mtmiller>
Group Member
Thu 14 Mar 2019 09:56:00 PM UTC, comment #7: 

I have a patch but it doesn't take CarnĂ«'s comments into account yet (written before that).  I'll post it anyway for discussion.

Is there some URL we could point to about Octave's current versioning schemes?  We could let packagers decide to use x.y.z+ or core Octave.

(file #46539)

Colin Macdonald <cbm>
Thu 14 Mar 2019 09:47:44 PM UTC, comment #6: 

The only thing needed to resolve this is to make a change in the Octave Forge HTML pages and publish it. That is this code repository

  * http://hg.code.sf.net/p/octave/project-web

@cbm Do you have thoughts where or how on the Forge web site this recommendation would be documented? I assume somewhere on developers.php.

Mike Miller <mtmiller>
Group Member
Thu 14 Mar 2019 02:55:46 PM UTC, comment #5: 

From a technical point, version X.Y.Z+ is already supported since Octave 4.2 (see https://hg.savannah.gnu.org/hgweb/octave/rev/32cd60419b61 and https://hg.savannah.gnu.org/hgweb/octave/rev/1fff60b89786 )

I made the change on purpose to support the + on version numbers during development.

The logic of using '+' on package version numbers stems from its usage on octave core itself.  But core changed that recently, and I think makes sense to follow whatever core is doing.

Carnë Draug <carandraug>
Group Member
Wed 13 Mar 2019 04:34:04 AM UTC, comment #4: 

I like this. I've been using "X.Y.Z-SNAPSHOT" in my not-in-Forge packages, but would be glad to switch over.

Andrew Janke <apjanke>
Tue 05 Mar 2019 08:06:29 PM UTC, comment #3: 

Posted as https://savannah.gnu.org/bugs/?55838, will also raise on the maintainers list for input.

Mike Miller <mtmiller>
Group Member
Mon 04 Mar 2019 09:08:33 PM UTC, comment #2: 

I need to change my practice in Doctest (https://github.com/catch22/octave-doctest/pull/195) and Symbolic (to follow) but otherwise, I agree no particular changes.

What you propose for "~" sounds fine to me (as a separate issue).  It should be documented in "compare_versions".  We could list those "~rc" examples on the OF website too.

Colin Macdonald <cbm>
Mon 04 Mar 2019 08:58:41 PM UTC, comment #1: 

Sounds fine to me, seems supported by the comments and works with the existing implementation. Implied by your notes, this should be phrased as a suggestion to package maintainers, maybe along with a set of working examples demonstrating different options?

Tagging as web site, because there's nothing much to change in any particular package or in Octave itself, right?

Alternatively, I very much prefer the semantics of the tilde character supported in both deb and rpm packages and would be happy to see Octave support that as well. That is, any suffix starting with "~" sorts less than the empty string. Using this special rule, a version "0.4.3~foo" would be strictly less than "0.4.3". This would give you the ability to have versions like "0.4.3~dev", "0.4.3~rc", or "0.4.3~1234".

I could propose that on the maintainers list or a separate bug report. There is a small risk of breaking an existing version beacuse "~" is already one of the allowed characters with no special semantics (it currently sorts after "_", "-", and "+"). But no Octave Forge packages currently use "~" at all.

Mike Miller <mtmiller>
Group Member
Mon 04 Mar 2019 08:06:18 PM UTC, original submission:  

As a matter of best practice, I propose that Octave Forge packages could set "Version: " in the DESCRIPTION file to "0.4.2+" during the time following the release of version "0.4.2" and before the release of "0.4.3" (or "0.5.0").


1.  Most importantly, this would allow users who try a development version to have "pkg" upgrade to the final version when released.

2.  I personally like "-dev" but our "compare_versions" differs from Python's "PEP 440" (https://www.python.org/dev/peps/pep-0440/#developmental-releases) in how "0.4.2-dev" is sorted compared to "0.4.2".  The "+" postfix seems unambiguous.

3.  Its short so doesn't visually pollute "pkg list" output.

4.  private/get_description.m:is_valid_pkg_version_string specifically mentions this example in its comments.  So perhaps "everyone" except me alreaady knows this ;-)


  * If someone prefers using "4.2.91" as development
    versions or pre-releases, that's fine too!  Really
    I'm arguing against "-dev" here...

  * If people like this, should we document it somewhere
    on the Octave Forge website?

Colin Macdonald <cbm>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #46541:  More_notes_of_versioning.patch added by cbm (859B - text/x-patch)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by nrjank (Posted a comment)
  • -email is unavailable- added by apjanke (Posted a comment)
  • -email is unavailable- added by cbm
  • -email is unavailable- added by cbm (Submitted the item)
  • -email is unavailable- added by cbm

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.


    Follow 11 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-02-27 nrjank StatusNone Wont Fix
        Open/ClosedOpen Closed
    2020-06-21 mtmiller CategoryOctave website Octave Forge website
        Severity3 - Normal 1 - Wish
    2019-03-14 cbm Attached File- Added More_notes_of_versioning.patch, #46541
    2019-03-14 cbm Attached File- Added Add_notes_about_development_versions.patch, #46539
    2019-03-05 mtmiller Carbon-CopyRemoved mtmiller -
    2019-03-04 mtmiller CategoryOctave Package Octave website
    2019-03-04 cbm Carbon-Copy- Added oheim
        Carbon-Copy- Added mtmiller
        Carbon-Copy- Added carandraug

    Back to the top

    Powered by Savane 3.13-3cd0.
    Corresponding source code