Skip to content

Commit

Permalink
Prepare to branch for release/0.7. (#3468)
Browse files Browse the repository at this point in the history
* Update README. (a few extraneous cleanups also included)
* Update make-release to release only release/0.7 by default.
* Update dependabot to update release/0.7 by default.
  • Loading branch information
branlwyd authored Nov 12, 2024
1 parent b66b7d9 commit a9b93ab
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 21 deletions.
78 changes: 78 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,81 @@ updates:
target-branch: "main"
ignore:
- dependency-name: "postgres"

# Manage dependencies on the release/0.7 branch
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "weekly"
target-branch: "release/0.7"
open-pull-requests-limit: 20
ignore:
- dependency-name: prio
update-types:
- version-update:semver-minor
# opentelemetry-rust has removed support for pull exporters, including
# opentelemetry-prometheus, and will add it back after the 1.0 release.
- dependency-name: opentelemetry
versions:
- ">= 0.25, < 1.0"
- dependency-name: opentelemetry_sdk
versions:
- ">= 0.25, < 1.0"
- dependency-name: opentelemetry-otlp
versions:
- ">= 0.25, < 1.0"
groups:
serde:
patterns:
- serde
- serde_*
tracing:
patterns:
- tracing
- tracing-*
opentelemetry:
patterns:
- opentelemetry
- opentelemetry-*
- opentelemetry_*
trillium:
patterns:
- trillium
- trillium-*
kube:
patterns:
- kube
- k8s-openapi
postgres:
patterns:
- tokio-postgres
- postgres-*
deadpool:
patterns:
- deadpool
- deadpool-*
error-handling:
patterns:
- thiserror
- anyhow
rstest:
patterns:
- rstest
- rstest_reuse
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
target-branch: "release/0.7"
groups:
docker:
patterns:
- docker/*
- crazymax/ghaction-github-runtime
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
target-branch: "release/0.7"
ignore:
- dependency-name: "postgres"
4 changes: 1 addition & 3 deletions .github/workflows/make-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ on:
be marked as the latest release.
required: false
type: string
# This action may be run against the main branch so long as we are not
# in a prerelease window.
default: '["main"]'
default: '["release/0.7"]'

jobs:
bump-version:
Expand Down
29 changes: 11 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@
[Build Status]: https://github.com/divviup/janus/workflows/ci-build/badge.svg
[actions]: https://github.com/divviup/janus/actions?query=branch%3Amain

Janus is an experimental implementation of the [Distributed Aggregation Protocol
(DAP) specification](https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/).
Currently it supports VDAFs with trivial aggregation parameters only, e.g.
Prio3. VDAFs with nontrivial aggregation parameters (e.g. Poplar1) are not yet
supported.
Janus is an implementation of the [Distributed Aggregation Protocol (DAP)
specification](https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/). Currently
it supports VDAFs with trivial aggregation parameters only, e.g. Prio3. VDAFs
with nontrivial aggregation parameters (e.g. Mastic) are not yet supported.

Janus is currently in active development.

Expand Down Expand Up @@ -42,38 +41,32 @@ branch.
| `release/0.subscriber-01` | [`draft-ietf-ppm-dap-02`][dap-02] plus extensions | No | Unmaintained as of November 1, 2023 |
| `release/0.5` | [`draft-ietf-ppm-dap-04`][dap-04] | Yes | Unmaintained as of June 24, 2024 |
| `release/0.6` | [`draft-ietf-ppm-dap-07`][dap-07] | Yes, [with errata](#draft-ietf-ppm-dap-07-errata) | Unmaintained as of June 24, 2024 |
| `main` | [`draft-ietf-ppm-dap-09`][dap-09] | Yes | Supported |
| `release/0.7` | [`draft-ietf-ppm-dap-09`][dap-09] | Yes | Supported |
| `main` | [`draft-ietf-ppm-dap-13`][dap-13] | Not yet (under development) | Supported |

Note that no version of Janus supports `draft-ietf-ppm-dap-05` or `-06`. Draft
05 was skipped because there were flaws in its usage of the new ping-pong
topology introduced in `draft-irtf-cfrg-vdaf-06`. Draft 6 fixed those issues,
but was skipped because it was published from the wrong commit of
[`draft-ietf-ppm-dap`][dap-gh] and so contains a couple of bugs.
`draft-ietf-ppm-dap-07` is effectively identical to draft 6, but with those bugs
fixed.

`draft-ietf-ppm-dap-08` was also skipped, since it contained only minor
mechanical protocol changes and was not implemented or deployed by anyone else.
Note that not every DAP draft has been implemented.

[dap-01]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/01/
[dap-02]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/02/
[dap-03]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/03/
[dap-04]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/04/
[dap-07]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/07/
[dap-09]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/09/
[dap-13]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/13/
[dap-gh]: https://github.com/ietf-wg-ppm/draft-ietf-ppm-dap

### `draft-ietf-ppm-dap-07` errata

There is a bug in Janus' `release/0.6` branch wherein `PrepareResp` messages are
incorrectly encoded, making Janus incompatible with other DAP Aggregator
implementations.

See [issue #2466](https://github.com/divviup/janus/issues/2466) for details.

## Versioning and Stability

Janus follows [semantic versioning](https://semver.org/). Because we are at major
version 0, we increment the minor version number for breaking changes, and
Janus follows [semantic versioning](https://semver.org/). Because we are at
major version 0, we increment the minor version number for breaking changes, and
increment the patch version for new features and backwards-compatible bug fixes.

What is considered a breaking change depends on the crate. The following crates
Expand Down

0 comments on commit a9b93ab

Please sign in to comment.