Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BFIP Versioning

A four-field alternative to Semantic Versioning: Breaking . Feature . Internal . Patch.

Where SemVer's minor version conflates "a feature was added" with "internals were reworked, nothing user-facing changed," and its patch version conflates "a bug was fixed" with "unannounced internal churn," BFIP gives each of those four kinds of change its own field. Reading a version number should tell you what you're getting without reading the changelog.

This repository contains the specification and the site that renders it: github.com/UniquePython/bfip-versioning. Open index.html directly, or serve the repo root with any static file server. Once GitHub Pages is enabled, it will be live at https://uniquepython.github.io/bfip-versioning/.

This repo's own version

This project is versioned under its own rules — see VERSION and CHANGELOG.md. It is currently in breaking version zero, meaning nothing about the spec's structure or rule numbering is a stability promise yet. See the spec's own FAQ ("How do I know when to release 1.0.0.0?") for what changes that.

Structure

index.html      the entire site — spec, interactive breakdown tool, FAQ
VERSION         this repo's current BFIP version, plain text
CHANGELOG.md    what changed at each version
LICENSE         CC BY 3.0

Local development

No build step. Open index.html in a browser, or:

python3 -m http.server 8000

Contributing

Issues and PRs are welcome. Since the spec is currently in 0.f.i.p, structural suggestions (renumbering rules, reshaping fields, tightening definitions) are in scope, not just wording fixes. Once 1.0.0.0 ships, changes to the declared public API (see Rule 5 in the spec) will require a proper B/F/I/P bump under the spec's own rules.

Author

BFIP Versioning was created by Ananyo Bhattacharya.

License

CC BY 3.0

About

A four-field alternative to Semantic Versioning — Breaking, Feature, Internal, Patch — so a version number tells you what changed before you read the changelog.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages