-
Notifications
You must be signed in to change notification settings - Fork 15
Releases and Versioning
The BHoM is released as a complete package, with the individual BHoM libraries and its toolkits all versioned together. This is to ensure ease of tracking compatibility across the number of dependant repositories.
BHoM versions are therefore named using the following convention:
A major version denotes some fundamental change in the BHoM framework. Targeted approximately yearly.
Minor versions denote the more frequently planned development cycles and the release of new features/issues, as per individual development road maps and SCRUM planning. Targeted every couple of months/quarterly.
The live current state of all the master branches are compiled as an alpha release. This is automatically kept up to date for each successful merging of a PR or PR cluster.
Each alpha release will therefore have a major and minor version number according to the current development cycle, followed by an alpha and an incremented release number for each occurrence,
i.e. major.minor.α.increment
.
At the end of a successful development cycle a new beta version will be released
i.e. major.minor.β.0
.
A new minor development cycle will therefore then start.
Hotfixes to beta releases are made only in exceptional circumstances.
That is if and only if a critical issue is found and it is deemed necessary to include in the previous minor version, in advance of the release of the current cycle. If this happens, the last digit of the beta release will be incremented, i.e. major.minor.β.1
etc.
Example table of a sequence of releases over a number of development cycles:
2.1 | 2.2 | 2.3 | ||
---|---|---|---|---|
2.1.α.0 | ||||
2.1.α.1 | ||||
2.1.α.2 | ||||
2.1.α.3 | ||||
... | ||||
2.1.β.0 | ≡ | 2.2.α.0 | ||
2.2.α.1 | ||||
2.2.α.2 | ||||
... | ||||
2.2.β.0 | ≡ | 2.3.α.0 | ||
2.2.β.1 | 2.3.α.1 | |||
2.3.α.2 | ||||
... |
Bold denotes deployed release
Italic denotes hotfix
-
Introduction to the BHoM:
What is the BHoM for?
Structure of the BHoM
Technical Philosophy of the BHoM -
Getting Started:
Installing the BHoM
Using the BHoM
Submitting an Issue
Getting started for developers -
Use GitHub & Visual Studio:
Using the SCRUM Board
Resolving an Issue
Avoiding Conflicts
Creating a new Repository
Using Visual Studio
Using Visual Studio Code -
Contribute:
The oM
The Engine
The Adapter
The Toolkit
The UI
The Tests -
Guidelines:
Unit convention
Geometry
BHoM_Engine Classes
The IImmutable Interface
Handling Exceptional Events
BHoM Structural Conventions
BHoM View Quality Conventions
Code Versioning
Wiki Style
Coding Style
Null Handling
Code Attributes
Creating Icons
Changelog
Releases and Versioning
Open Sourcing Procedure
Dataset guidelines -
Foundational Interfaces:
IElement Required Extension Methods -
Continuous Integration:
Introduction
Check-PR-Builds
Check-Core
Check-Installer -
Code Compliance:
Compliance -
Further Reading:
FAQ
Structural Adapters
Mongo_Toolkit
Socket_Toolkit