Skip to content

OONI Probe CLI v3.22.0

Compare
Choose a tag to compare
@github-actions github-actions released this 22 May 09:10
v3.22.0

This is a stable release. As usual, this release includes both an OONI Probe CLI release and the corresponding release of the measurement engine, which is hosted by the same repository.

Here's a thematic summary of what changed since v3.21.0:

  • ✨ Preparing Web Connectivity LTE for use in production
  • 🐛 Prioritize DNS results when communicating with backends
  • 🚧 Refactor and document communication with the OONI backend
  • 📖 Documenting the release process
  • 🚧 Minor changes & bug fixes

More in detail, here's what has changed:

✨ Preparing Web Connectivity LTE for use in production

We worked towards closing all the open Web Connectivity LTE issues, such that we can finally be well placed to run an A/B testing between the v0.4 and LTE using this version of the OONI Probe Engine.

🐛 Prioritize DNS results when communicating with backends

We documented the strategy to communicate with backends, including the OONI backend, and we discussed the design as part of the #1552. During such a review, it was requested to modify the policy with which we communicate with the backends, so that the DNS results have higher priority. The main concern of this change request was to avoid long recovery periods if the currently deployed bridge becomes unavailable as well as to tilt the overall design such that uncensored OONI Probe users communicate with the backends in the simplest possible way.

🚧 Refactor and document communication with the OONI backend

We wanted to document the interaction with the OONI backend and specifically with the "probe services" (i.e., the collection of APIs used by OONI Probe), per ooni/probe#2700. To this end, we seized the opportunity to simplify the code interactions, reduce the number of used packages, and refactor the code to improve its reliability and future usability.

📖 Documenting the release process

We were asked to document the release process in ooni/probe#2698, and the resulting work is this:

🚧 Releasing & maintenance

This set of changes deal with preparing a release. In particular, in this case, we took on the chore of reducing the number of warnings emitted by gosec, such that its output can actually be informative and actionable (there was lots of noise). In terms of behavioral changes in the ooniprobe binary, these are the two most "impactful" changes:

  1. I explicitly ignore errors when resetting with -f the OONI_HOME directory, to keep the previous idempotent behavior, because I think that otherwise the desktop app may emit errors if asked to delete the OONI_HOME multiple times: https://github.com/ooni/probe-cli/pull/1603/files#diff-2e841e5388e3f75b0ab808e74d5b34a9ebb72466a508daecda35625a7eab5c7fR29

  2. I have improved how we manage survey errors: https://github.com/ooni/probe-cli/pull/1603/files#diff-3e09d6a095d686f531f06efe21b6e430b311340af5ce74989f110dc05424cbcdR24 and #1608

  3. I am now reporting an error if we fail to update the database to set the upload status: https://github.com/ooni/probe-cli/pull/1603/files#diff-2a4cd822f78eb174dc7c6b88e3ab71be4810624b358b98109c10bcb5371e4844R249

  4. I have now configured timeouts for receiving headers in oohelperd: https://github.com/ooni/probe-cli/pull/1603/files#diff-663f720a0015bc642e1957e965f9bc9115cea500fc0268bf5a6e22b5ad7cb44dR111

Here's the full list of pull requests:

🚧 Minor changes & bug fixes

Full Changelog: v3.21.0...v3.22.0