For the complete documentation index, see llms.txt. This page is also available as Markdown.

Version Numbering & Releases

This page includes the standardised versioning system and release process used by OEC to ensure updates to the code base don't unexpectedly break existing workflows.

1. Version Numbering Strategy

Semantic Versioning

Versions of OE software are named and numbered according to MAJOR.MINOR.PATCH format (e.g., 2.3.1):

  • MAJOR: Breaking changes, incompatible API modifications

  • MINOR: New features, backward-compatible additions

  • PATCH: Bug fixes, security patches

2. Release Cadence

Feature-Based Releases

  • A new release will occur when specific features are complete, typically about every 6 months

3. Release Preparation Process

Phase 1: Planning

  • Typically 3-4 months prioir to release

  • Roadmap review: Maintainer meeting to finalize features for release

  • Issue triage: Label and milestone assignment

  • Communication: Announce upcoming release and feature freeze date

  • Documentation planning: Identify docs needing updates

Phase 2: Development Window

  • Active development: Contributors work on milestoned features

  • Regular check-ins: Progress updates in public channels, typically weekly

  • Pull request reviews: Prioritize release-targeted PRs

  • Testing infrastructure: Ensure Continuous Iteration (CI) / Continuous Delivery (CD) pipelines are healthy

Phase 3: Feature Freeze

  • typically 1 month before scheduled release

  • Code freeze: No new features, only bug fixes

  • Beta release: Deploy beta version for community testing

  • Bug bash: Organized testing period with contributor participation

  • Translation updates: Coordinate with localization teams

  • Documentation completion: Finalize release notes, changelog, upgrade guides

Phase 4: Release Candidate

  • Release Candidate deployment: Publish release candidate (RC)

  • Final testing: Regression testing, security audit

  • Sign-off process: Maintainer approval required

  • Announcement draft: Prepare blog posts, social media content

Phase 5: Release Day

  • Tag creation: Create git tag with version number

  • Build artifacts: Generate and sign release binaries/packages

  • Distribution: Upload to package managers, registries, download sites

  • Announcement: Publish release notes, blog post, social media

  • Support preparation: Ensure maintainers are available for issues

Phase 6: Post-Release Activities

  • Monitor issue tracker for critical bugs

  • Prepare hotfix releases if needed

  • Gather community feedback

  • Update documentation based on user questions

  • Retrospective meeting with contributors

  • Document lessons learned

  • Update release process based on feedback

  • Begin planning next release cycle

Last updated