nodenv v1.3.1 Release Notes

Release Date: 2019-11-04 // over 4 years ago

    Clarify the description of rbenv versions

    ๐Ÿ›  Fixes #1148

    rbenv 1.1.2

    ๐Ÿ’Ž Disallow path segments and directory traversal in .ruby-version files

    ๐Ÿ’Ž A malicious .ruby-version file in the current directory could inject
    ../../../ into the version string and trigger execution of binaries
    outside of RBENV_ROOT/versions/.

    ๐Ÿ›  Fixes #977 OVE-20170303-0004

    ๐Ÿ‘‰ Make --version more semver friendly

    The current output of nodenv --version is essentially the direct output
    of git-describe, which is TAG-COMMITS_SINCE_TAG-gSHA.

    ๐Ÿ“‡ The commits-since, and sha segments would be considered build metadata
    in semver parlance.

    This change tweaks the output of git-describe such that it is in a
    semver compliant format; despite not strictly being semver compliant in
    semantics. (Which isn't really possible with edge/HEAD anyway)

    It also eliminates the "g" prefix which is used to denote the sha
    references the git SCM.

    rbenv help: fix 'type: write error: Broken pipe'

    Sometimes the command fails with a 'type: write error: Broken pipe'.
    This is because 'head -1' only reads the first line, then exits.
    If 'type' writes the second line after 'head -1' has already exited,
    then the aforementioned error is triggered.

    We fix this by buffering the entire output of 'type' before
    invoking 'head -1'.

    Silence errors when piping type | head -1

    ๐Ÿ‘ Allow / in version names

    ๐Ÿšš rbenv removed support for directory traversal .. as well as path
    segments. However, nodenv has a valid use-case for path segments: the
    lts alias names.

    This change keeps the .. pattern blocked, while allowing forward
    slashes in the version name.

    ๐Ÿ‘€ see:
    rbenv/rbenv#977 (comment)