diff --git a/docs/dev-proc/versioning.md b/docs/dev-proc/versioning.md index 9e53b5cc7c..1289580c45 100644 --- a/docs/dev-proc/versioning.md +++ b/docs/dev-proc/versioning.md @@ -14,66 +14,98 @@ in menu on the left side (Supported Hardware->Hardware Model->Releases). Dasharo Releases can be divided into two categories: -* Dasharo Pro Package Releases (previous Dasharo Supporters Release for - Dasharo Support Entrance Subscribers) -* Dasharo Community Releases +- Dasharo Pro/Enterprise Package (formerly Dasharo Entry Subscription) Releases +- Dasharo Community Releases ## Dasharo Pro Package Releases -Dasharo Pro Package subscribers receive firmware updates more -frequently than the community. The number of updates per year depends on the -number of Dasharo Pro Packages sold and the availability of other -funding (e.g., NLNet, corporate sponsors, community donations) but is less -than 2 updates per year. Dasharo Pro Package Releases are characterized -by a changing patch version (`z`). Fixes and features introduced in Dasharo -Pro Package Releases will also be available later as Dasharo Community -Releases with public pre-built binaries in the respective release pages. In -short, being a Dasharo Subscriber gives early access to the newest features -and fixes. +Dasharo Pro/Enterprise Package (formerly Dasharo Entry Subscription) +subscribers receive firmware updates more frequently than the community. The +number of updates per year depends on the number of Dasharo Pro/Enterprise +Package (formerly Dasharo Entry Subscription) sold and the availability of +other funding (e.g., NLNet, corporate sponsors, community donations) but one or +more per year. Dasharo Pro/Enterprise Package (formerly Dasharo Entry +Subscription) Releases are characterized by a changing patch version (`z`). +Fixes and features introduced in Dasharo Pro/Enterprise Package (formerly +Dasharo Entry Subscription) Releases will also be available later as Dasharo +Community Releases with public pre-built binaries in the respective release +pages. In short, being a Dasharo Subscriber gives early access to the newest +features and fixes. + +For details about the naming convention, please check +[here](../dasharo-naming-convention.md). [How to become Dasharo Pro Package subscriber?](../ways-you-can-help-us.md#become-a-dasharo-pro-package-subscriber) ## Dasharo Community Releases -Dasharo Community Releases are built and published once a year. Each Dasharo +Timeline for Dasharo Community Releases is communicated in [Dasharo +Roadmap](https://github.com/Dasharo/presentations/blob/main/dasharo_roadmap.md) +presentations during [Dasharo User +Group](https://docs.dasharo.com/#events-calendar) events. Each Dasharo Community Release has a zero patch version (`x.y.0`) and the only changing -number is the minor version `y`. To be up-to-date with latest Dasharo -Community Release updates, one can subscribed to free of charge mailing list -for given hardware platform, for which the link can be found in menu on the -left side (Supported Hardware->Hardware Model->Releases). +number is the minor version `y`. To be up-to-date with latest Dasharo Community +Release updates, one can subscribed to free of charge mailing list for given +hardware platform, for which the link can be found in menu on the left side +(Supported Hardware->Hardware Model->Releases). + +## PC Engines releases and its exceptional versioning scheme + +Dasharo (coreboot+SeaBIOS) for PC Engines does not adhere to the typical +versioning scheme used by Dasharo, which is semantic versioning. This is due to +a couple of reasons: + +- We want to convey that this series of releases is a direct continuation of + past efforts sponsored by PC Engines and published + [here](https://pcengines.github.io/). By sticking to that versioning scheme, we + do not deviate from the agreed pattern and what users are accustomed to. +- We have utilized the same infrastructure, and maintaining versioning + according to the pattern used by us since 2017 has helped us minimize changes. + +The general rule for versioning pattern is as follows: `{.00.}` + +- `` - changed in February 2024, from x.y.z to YY.MM{.FF}, + where `YY` represents the year, `MM` represents the month, and optional `{.FF}` + represents the patch number if any hotfix for the given release is created. +- `{.00.}` - if no hotfix exists for the given coreboot release, we add `.00.` + to reserve space for a potential hotfix on that version. +- `` - indicates the number of versions released by the + Dasharo Team on top of the given coreboot release, starting from `01`, where + version `00` means no changes were applied on top of the coreboot release. ## Signing keys In Dasharo we use following rules for keys: -* GPG RSA 4096 for signing and authentication and subkey for encryption -* There few types of naming conventions, which define `Real Name` field and +- GPG RSA 4096 for signing and authentication and subkey for encryption +- There few types of naming conventions, which define `Real Name` field and chain of trust schemes: - - Software: - + Real Name: ` open-source software release signing key` - + Signing key: `3mdeb Open Source Software Master Key ` - - Firmware: - + Real Name: ` open-source firmware release signing key` - + Signing key: `3mdeb Dasharo Master Key` - - PC Engines (firmware exception): - + Real Name: `PC Engines open-source firmware release signing key` - + Signing key: `3mdeb Open Source Firmware Master Key ` - - Dasharo firmware produced by 3mdeb: - + Real Name: `Dasharo release compatible with signing key` - + Signing key: `3mdeb Dasharo Master Key` - - For Dasharo firmware produced by 3mdeb on customer's behalf: - + Real Name: `Dasharo open-source firmware for signing key` - + Signing key: `3mdeb Dasharo Master Key` + + Software: + * Real Name: ` open-source software release signing key` + * Signing key: `3mdeb Open Source Software Master Key ` + + Firmware (deprecated): + * Real Name: ` open-source firmware release signing key` + * or Real Name: ` Open Source Firmware Release Signing Key` + * Signing key: `3mdeb Dasharo Master Key` + + PC Engines (firmware exception): + * Real Name: `PC Engines open-source firmware release signing key` + * Signing key: `3mdeb Open Source Firmware Master Key ` + + Dasharo firmware produced by 3mdeb: + * Real Name: `Dasharo release compatible with signing key` + * Signing key: `3mdeb Dasharo Master Key` + + For Dasharo firmware produced by 3mdeb on customer's behalf: + * Real Name: `Dasharo open-source firmware for signing key` + * Signing key: `3mdeb Dasharo Master Key` `` typically is in form ` ` or just `` if we release firmware for whole line of products which can be support in one binary e.g. PC Engines. Examples: -* `Dell OptiPlex 7010/9010` -* `ASUS KGPE-D16` -* `MSI MS7D25` -* `NovaCustom` -* `Tuxedo` +- `Dell OptiPlex 7010/9010` +- `ASUS KGPE-D16` +- `MSI MS7D25` +- `NovaCustom` +- `Tuxedo` Most recent status should be reflected in [3mdeb-secpack](https://github.com/3mdeb/3mdeb-secpack) repository.