Introduction
Release cycle management is a crucial aspect of software development that involves planning, scheduling, and controlling the release of software products. This process is designed to ensure the smooth and efficient delivery of new features, enhancements, and bug fixes to end-users while maintaining the stability and reliability of the software.
This document describes the release cycle management within Netaxis for the SRE product.
Versioning
The management of releases is categorized into major, minor, and bugfix releases. Each type serves a specific purpose in maintaining and evolving the SRE product. Within Netaxis the versioning comes with the following definitions.
Major Releases
Definition: Major releases signify significant milestones in the software product's development. They usually introduce major features, architectural changes, or substantial improvements to the overall functionality.
Purpose: Major releases are often associated with delivering new, groundbreaking features or adapting to changing technological landscapes. They may also involve significant user interface overhauls or major restructuring of the codebase.
Minor Releases
Definition: Minor releases are incremental updates that bring additional features, enhancements, or improvements to existing functionality. They are less disruptive than major releases but still contribute to the overall evolution of the software.
Purpose: Minor releases are geared towards refining and expanding the software without introducing major changes. They may include improvements based on user feedback, performance optimizations, or the addition of smaller features. Netaxis aim to maintain backward-compatibility with the previous minor release or to provide the tools for a seamless update.
Bugfix Releases
Definition: Bugfix releases, also known as maintenance releases or patches, focus on addressing and resolving issues identified in the software. They are essential for maintaining the stability and reliability of the product.
Purpose: Bugfix releases are crucial for delivering timely solutions to software defects, security vulnerabilities, or other issues that may impact the user experience. They are often released as needed, outside the regular update schedule. Netaxis always provide backward-compatibility between bugfix releases.
Release Notation
The version number is expressed as MAJOR.MINOR.PATCH and provides a quick understanding of the release's impact,
Example: Suppose the solution is currently at version 2.1.3. In this case:
- Major Release is 2.
- Minor Release is 1.
- Patch Release is 3.
Users can interpret this version as a minor release with bugfixes, indicating incremental improvements with a focus on addressing specific issues without introducing major changes. This versioning strategy ensures that users can make informed decisions based on the impact of each release on their systems and workflows.
Support Periods
Active Support Period
Once a new MAJOR version of the product is released (numbered MAJOR.0.0), the active support period starts. This active support is a customer service approach that focuses on identifying and addressing potential issues before they escalate into problems. The goal of active support is to anticipate customer needs, prevent issues from arising through testing, and provide solutions or assistance before customers realize they have a problem.
This approach involves regularly system testing, analyzing data, and actively engaging with customers to ensure a seamless and satisfactory experience.
Key characteristics of proactive support include:
Prevention: Prevent problems and disruptions before they occur.
Regular Updates: Keeping customers informed about upcoming changes, improvements, or potential disruptions.
During the active support period, one or more minor releases (numbered MAJOR.1.0, MAJOR.2.0, ...) may be released to introduce new features and improvements to the product.
The active support period ends when a new major version is release (numbered MAJOR+1.0.0)
This period is estimated to last around 2 years but may vary depending on the market needs.
Reactive Support Period
Reactive support involves responding to customer issues or inquiries after they have been raised. During this period, no new features or enhancements are introduced.
Reactive support is typically characterized by:
Issue Resolution: resolving customer problems and providing solutions after they have occurred;
Customer Inquiry Handling: Responding to customer inquiries, complaints, or support requests in a timely and effective manner.
Troubleshooting: Identifying the root cause of problems and implementing corrective actions to address them.
Ticketing Systems: Utilizing ticketing systems to track and manage customer issues, ensuring that each problem receives appropriate attention.
Post-Incident Analysis: Analyzing resolved issues to identify trends and potential areas for improvement to minimize future occurrences.
The reactive support period for a release MAJOR.x.y starts from the moment the version MAJOR+1.0.0 is released and ends once the version MAJOR+2.0.0 is released.
Extended Support Period
After the reactive support period, Netaxis provides an extended support period of 6 months.
This extended support is a phase during which Netaxis continues to provide limited maintenance and support services. During this period, only critical bugs are addressed, and no new features or enhancements are introduced.
Key characteristics of extended support include:
Bug Fixes: Only critical bugs that severely impact the functionality, security, or performance of the software are addressed. Non-critical or minor bugs may not be prioritized for resolution during this phase.
Deprecated Features: Features that have been deprecated or marked for removal may not be supported or fixed during the extended support period.
Encouragement to Upgrade: Users are encouraged to upgrade to newer versions during extended support, as the product's long-term viability may be limited.
Extended support allows organizations and users to continue using a product while ensuring that critical issues are addressed. However, it serves as a transition phase, pushing users towards upgrading to newer versions or adopting alternative solutions to benefit from the latest features, improvements, and a more robust support structure.
Encouragement to Update
Customers are encouraged to upgrade to the latest minor and patch releases within a given major release version. This recommendation is made to ensure that customers can benefit from bug fixes and improvements that have been implemented since the previous release. Minor releases typically include new features and enhancements, while patch releases primarily focus on addressing bugs and security vulnerabilities. By staying up-to-date with these updates, customers can ensure that their software remains stable, secure, and optimized for performance. Additionally, it helps maintain compatibility with other systems and software components.
Releases Support Milestones
The table below summarizes the key support dates for the different versions of the software:
Version | Release Date | Start of Active Support | End of Active Support - Start of Reactive Support | End of Reactive Support - Start of Extended Support | End of Support |
---|---|---|---|---|---|
2.x.y | 2018-04-25 | 2018-04-25 | 2020-09-08 | 2024-02-06 | 2024-08-06 |
3.x.y | 2020-09-08 | 2020-09-08 | 2024-02-06 | N/A | N/A |
4.x.y | 2024-02-06 | 2024-02-06 | N/A | N/A | N/A |
Major and Minor Versions Release Dates
The table below lists the release dates for the MAJOR.MINOR.0 versions released so far.
Version | Release Date |
---|---|
2.2.0 | 2018-04-25 |
2.3.0 | 2018-06-07 |
2.4.0 | 2019-06-13 |
3.0.0 | 2020-09-08 |
3.1.0 | 2021-06-03 |
3.2.0 | 2022-03-01 |
3.3.0 | 2023-03-14 |
4.0.0 | 2024-02-06 |