Skip to content

Versioning proposal #68

@mraerino

Description

@mraerino

Currently we are not tagging this library in a way that is compatible with what go mod suggests.
It would be good to use semver.

If we want to include the netbox version in the release tag, we could use the condensed form, like 27 for 2.7, because api breakage happens on minor, not patch versions

Proposal 1: break in 0.x

  • always stay on 0.x
  • upgrade minor with netbox (non-patch) versions
  • semver allows breaking changes in minor version when on 0.x

This would mean we'd have versions like 0.27.1 for the second patch release supporting netbox 2.7.

Proposal 2: breaking per go spec

  • add major packages like v27 as subdirectories
  • pro: we'd have a client for every netbox version
  • pro: allows larger changes inside the library, e.g. v27.2.0
  • con: a lot of subdirs potentially

This would mean people needed to use the library in this way: github.com/netbox-community/go-netbox/v27


In both cases it would still be possible to version changes in the library via increasing the patch number. But any breaking changes would need to be synchronized with netbox releases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions