Skip to content

OONI Probe CLI v3.20.0

Compare
Choose a tag to compare
@github-actions github-actions released this 13 Dec 19:50
v3.20.0

This is a stable release. On a high-level, this is what changed since 3.19:

  • ✨ Web Connectivity v0.5 is nearly production ready
  • ✨ Initial support for Go 1.21
  • 🚧 Scripting to make research faster
  • 🚧 Refactoring and improvements for the experimental dslx package
  • 🚧 Release engineering (aka keeping the lights on)
  • 🐛 Miscellaneous bug fixes

More in detail:

✨ Web Connectivity v0.5 is nearly production ready

We implemented the minipipeline package, borrowing the https://github.com/ooni/data design, to make sure that Web Connectivity v0.5 produces the same top-level keys produced by Web Connectivity v0.4 for our GVisor-based QA test suite. Because of that, we're now ready to start enabling Web Connectivity v0.5 for all users for limited periods of time using the check-in API's feature flags. By doing this, we would be able to more thoroughly A/B test v0.4 and v0.5. In turn, this would allow us to fix additional bugs and hopefully v0.5 would be the default implementation of Web Connectivity in the 3.21 or 3.22 release cycles.

Related commits

✨ Initial support for Go 1.21

Community members asked us to add Go 1.21 support. It is now possible to compile OONI Probe using Go 1.21. Because Psiphon does not support Go 1.21 yet, when you're building using Go 1.21, it would not be possible to use Psiphon as a circumvention tunnel or to run the Psiphon experiment. (Psiphon should finish migrating to Go 1.21 soon, so OONI Probe 3.21 should have full Go 1.21 support.)

Related commits

🚧 Scripting to make research faster

As part of our richer input efforts (https://github.com/ooni/2023-05-richer-input), we developed DSL code designed to executed from a scripting language environment. We have been also using this code for research purposes, to address cases where we need to iterate faster and deploying new binaries frequently slows down the process significantly. In this release, we are starting to merge part of this code into this repository and to expose it (as an experimental preview) to the miniooni tool. Namely, we have merged the underlying DSL engine and the corresponding bindings for the https://github.com/dop251/goja JavaScript engine. We will add additional documentation about this functionality in the next release cycles, as we continue experimenting and using it for research. In the meanwhile, see https://github.com/bassosimone/2023-12-09-ooni-javascript/ for additional information and details about this experimental feature.

Related commits

🚧 Refactoring and improvements for the experimental dslx package

We continued working on our experimental internal DSL prototype, by trying to simplify and make it suitable for production usage. We also used some of the refactored code in the scripting functionality implementation described above.

Related commits

🚧 Release engineering (aka keeping the lights on)

🐛 Miscellaneous bug fixes