-
Notifications
You must be signed in to change notification settings - Fork 9
BSL v2.0 Release Plan
| AMMOS Configuration ID | Program Set Name | Program Set Version Number |
|---|---|---|
| 681.4 | Bundle Protocol Security Library | 2.0 |
This release includes the following categories of changes:
- Updates to support integration of ION 4.2.0-a.1
- CRIT-2 bug fixes
- MockBPA test fixture updates for testing purposes
- Addition of the BPSec COSE context
Note that there will be an incremental release (v1.1) for the BSL in June 2026 and a standard release (v2.0) in October 2026.
This will affect the APL COR (Common Overlay Router) project and the JPL ION project who both wish to use the v1.1 release of BSL. In terms of additional users, we also have the Unibo-BP project by the DTN research group (DEI/ARCES) at the University of Bologna.
Please refer to the BSL Document repository for all publicly accessible BSL documentation.
Given that the development of BSL is subcontracted to the Applied Physics Lab (APL), labor rates are proprietary. Individual line-item work estimates will not be provided as such estimates could potentially be used to "back out" labor rates for this task. In addition, this task is tracked in a Github wiki, and this information should not be publicly accessible. APL and AEM will monitor costs and immediately notify the Business Office if any concerns arise.
Moreover, if higher priority RLIs take more resources than originally estimated, lower priority items will be de-scoped to stay within budget via an approved release plan deviation. Any issues will be relayed to the Business Office as soon as possible.
None.
The BSL strives to avoid excessive reliance on third-party libraries and a long software supply chain. A few third-party libraries are required, however, to provide dynamic data structures for this C codebase, a unit-test driver, a CODEC for CBOR-encoded Bundle blocks, and implementations of cryptographic algorithms. These third-party open-source libraries respectively are m*lib, Unity, QCBOR, and OpenSSL. The following table lists all BSL dependencies, as well as the associated version, and any relevant licensing information.
| Dependency | Version | License | Purpose |
|---|---|---|---|
| QCBOR | 1.5.3 | Open source | build dependency, a CODEC for CBOR-encoded Bundle blocks(required) |
| m*lib | 0.7.4 | Open source | build dependency for heap-allocated data containers (required) |
| Unity | 2.6.1 | Open source | build dependency for unit test fixtures (required) |
| OpenSSL | 3.5.5 | Open source | build dependency for cryptographic functions (required) |
| Jansson | 2.14 | Open source | build dependency (required) |
| cmake | 3.31.8 | Open source | build dependency (required) |
| ninja-build | 1.10.2 | Open source | build dependency (required) |
| ruby | 4.0.2 | Open source | build dependency (required) |
| gcc | 11.5.0 | Open source | build dependency (required) |
| valgrind | 3.26.0 | Open Source | build dependency (required) |
| doxygen | 1.16.1 | Open source | generating documentation (optional) |
| graphviz | 15.1.4 | Open source | generating documentation (optional) |
| plantuml | 1.2026.2 | Open source | generating documentation (optional) |
| bibtex | 0.99e | Open source | generating documentation (optional) |
| asciidoctor | 2.0.26 | Open source | generating documentation (optional) |
The following ticket is our only change involving a dependency, and it doesn't affect the v1.1 release but will affect the v2.0 release:
| Milestone | Scheduled Date |
|---|---|
| Development Period of Performance | 27 March 2026 - 31 July 2026 |
| BSL v1.1 Incremental Release Available | 05 June 2026 |
| TRR Documentation Freeze | 06 August 2026 |
| Test Readiness Review | 13 August 2026 |
| DDR Documentation Freeze | 01 October 2026 |
| Delivery and Deployment Review | 08 October 2026 |
No specific issues.
Specific issues with enhancement label:
Total: 18
- Total for v1.1: 8
- Total for v2.0: 10
Specific issues with bug label:
| Ticket | Customer | Security-related | Criticality | Release |
|---|---|---|---|---|
| #123 Move log writer thread into host/Mock BPA | ION | no | CRIT-2 | v1.1 |
| #133 Support memory management through callbacks | ION | no | CRIT-2 | v1.1 |
| #134 Add ifndef checks to CHK* #defines | ION | no | CRIT-2 | v1.1 |
| #197 Fix finalize call in BCB decrypt | no | CRIT-1 | v1.1 |
Total: 4
Specific issues with sustainment label:
| Ticket | Customer | Security-related | Release |
|---|---|---|---|
| #24 Remove block count limit in mock BPA | no | v1.1 | |
| #36 bsl_mock_encode_bundle() should not be sorting blocks | no | v1.1 | |
| #67 SHA Variant should be uint64_t, not size_t | no | v1.1 | |
| #87 The BSL decodes the ASB multiple times for the same security block | no | v2.0 | |
| #122 Better handling of Valgrind false-positive | no | v1.1 | |
| #125 RPM packaging discrepancies | no | v1.1 | |
| #126 Improve format consistency | no | v2.0 | |
| #130 Move test keys out of source tree | no | v1.1 |
Total: 8
- Total for v1.1: 6
- Total for v2.0: 2
Specific issues with documentation label (and documentation label only):
| Ticket | Customer | Security-related | Release |
|---|---|---|---|
| #136 Product Guide Updates | no | v1.1 | |
| #146 Update SRD | no | v2.0 | |
| #147 Update User Guide | no | v2.0 |
Total: 3
Other documents:
- TRR presentation
- DDR presentation
There are additional BSL documents that will be updated this release cycle that are not found in the publicly available bsl-docs repository, so they are not listed here. This release plan only refers to publicly available information, which is also why no document numbers have been included. Note that no tickets were created to track the effort of making new TRR and DDR presentations, as it was determined to be unnecessary.
None.
None.
| Commitments | Improvements | Defect Repairs | Sustaining Activities | Documentation | Other | |
|---|---|---|---|---|---|---|
| First Approval (MGSSAITS-1665) | 0 | 18 | 3 | 8 | 3 | 0 |
| Second Approval | 0 | 18 | 4 | 8 | 3 | 0 |
| TRR | ||||||
| DDR |