Release Notes and Lifecycle
This document describes the Hubble Network SDK release process, versioning strategy, and support policies. Understanding these policies helps developers plan their integration efforts and make informed decisions about when to upgrade to new releases.
Overview
The Hubble Network SDK follows a structured release lifecycle designed to ensure stability, reliability, and backward compatibility. Releases progress through distinct phases from initial development through release candidates to stable production releases. The SDK adheres to Semantic Versioning principles to clearly communicate the nature and impact of each release.
Release Lifecycle
The Hubble Network SDK release process consists of three primary phases:
Development Phase
All new development work is integrated into the main branch. During this
phase:
New features, enhancements, and experimental functionality are added
API changes may be introduced
Breaking changes may occur without prior notice
No stability guarantees are provided
Important: Code from the main branch is not recommended for production
use. When sufficient changes accumulate or significant new features are ready,
the development team schedules a release and transitions to the release
candidate phase.
Release Candidate Phase
When a release is scheduled, the following process begins:
- Release Candidate Creation
A release candidate tag (e.g.,
v1.4.0-rc1) is created from themainbranchThe release candidate is published for testing and validation
- Feature Freeze
The
mainbranch enters a feature freeze periodOnly the following types of changes are permitted:
Critical bug fixes
Test fixes and improvements
Documentation updates and corrections
Security patches
- Issue Tracking
All known issues are documented and categorized
Issues are classified as either:
Release blockers: Must be resolved before the stable release
Known limitations: Documented and acceptable for the release
Hardening and Validation Phase
Before a stable release, comprehensive validation is performed across multiple dimensions:
- Functional Testing
Unit Tests: Validate individual components in isolation
Cryptographic primitives and signing flows
Message encoding and decoding operations
BLE advertising payload formatting (including edge cases, maximum length handling, and truncation scenarios)
Integration Tests: Verify end-to-end functionality
Complete signing and verification workflows between the SDK and reference backend systems
Cross-platform compatibility validation
Interoperability testing with Hubble Network services
- Quality Assurance
Code review and static analysis
Memory safety and resource leak detection
Performance benchmarking
Documentation review and accuracy verification
- Platform Validation
Testing across all supported platforms (Zephyr, FreeRTOS, ESP-IDF)
Hardware-in-the-loop testing where applicable
Regression testing against previous releases
Release Model
The Hubble Network SDK uses Semantic Versioning with the format
MAJOR.MINOR.PATCH (e.g., 1.4.2).
Version Components
- MAJOR Version Increment
Indicates breaking changes that may require modifications to existing code:
Changes to public API function signatures
Modifications to public data structures that affect binary compatibility
Changes to documented protocol behavior
Removal or deprecation of previously supported features
Example: Upgrading from
v1.x.xtov2.x.xmay require code changes in your application.- MINOR Version Increment
Indicates backward-compatible feature additions:
New API functions or methods
New configuration options
Enhanced functionality that doesn’t break existing code
Performance improvements
Example: Upgrading from
v1.4.xtov1.5.xadds new features but maintains compatibility with existing code.- PATCH Version Increment
Indicates backward-compatible bug fixes:
Bug fixes that don’t change API behavior
Security patches
Documentation corrections
Internal improvements with no user-visible changes
Example: Upgrading from
v1.4.0tov1.4.1fixes issues without introducing new features or breaking changes.
Versioning Rules
The following guidelines determine version increments:
MAJOR bump: Required when public structs, function signatures, or documented behavior change in ways that could break existing user code
MINOR bump: Used when adding new APIs or options without breaking existing functionality
PATCH bump: Applied for bug fixes and security updates that maintain backward compatibility for documented use cases
Release Types
The Hubble Network SDK maintains two types of releases:
Stable Releases
Stable releases (e.g., v1.4.0, v1.4.1) represent production-ready
versions of the SDK:
Fully validated: Complete testing and quality assurance processes have been completed
Production approved: Suitable for use in production environments
Documented: Comprehensive release notes and migration guides are provided
Supported: Receive bug fixes and security updates according to the support policy
Long-Term Support (LTS) Releases
LTS releases (e.g., v2.0.x) are designated stable releases with extended
support periods:
Extended lifecycle: Receive security updates and critical bug fixes for an extended period (typically 12-24 months)
Target audience: Designed for high-volume deployments and long-lived products that require stability over new features
Predictable maintenance: Regular security patches and critical fixes without feature additions
Migration path: Clear upgrade paths documented for transitioning to newer LTS or stable releases
LTS releases are explicitly marked in release announcements and documentation.
Support Policy
The Hubble Network SDK maintains different support levels depending on release type:
Stable Releases
The current and previous releases receive:
Security updates: All security patches
Critical bug fixes: High-severity issues affecting production deployments
Documentation updates: Corrections and clarifications as needed
No new features: Feature additions are not backported to stable releases
Long-Term Support Releases
LTS releases receive:
Security updates: All security patches
Critical bug fixes: High-severity issues affecting production deployments
Documentation updates: Corrections and clarifications as needed
No new features: Feature additions are not backported to LTS releases
Release Schedule
The Hubble Network SDK follows a predictable release schedule:
Regular Releases
Major releases: depending on feature development and user needs
Minor releases: depending on feature development and user needs
Patch releases: Released as needed for bug fixes and security updates
Release candidates: Published 2-4 weeks before stable releases for community testing
Release Announcements
All releases are announced through:
GitHub releases page
SDK documentation updates
Release notes with detailed changelogs
Migration guides for major version upgrades
For the most current release information, visit the Hubble Network SDK GitHub repository.
Migration and Upgrade Guidance
When upgrading between SDK versions:
Review release notes: Understand changes, deprecations, and new features
Check migration guides: Follow platform-specific upgrade instructions
Test thoroughly: Validate your application with the new SDK version
Update dependencies: Ensure compatible versions of platform dependencies
For detailed migration instructions, refer to the release notes for your target version.
Release Notes
Detailed release notes for each version: