Skip to content
v3.11.0-beta.2
856e436
Compare
Choose a tag to compare
Pre-release

This is what changed since v3.11.0-beta.1:

  • 🐛 fix(signal): use the correct string to score a measurement (#602)
  • 🐛 fix(mk): do nothing if we already have psiphon config (#605)
  • [backport] feat: publish miniooni binaries into releases (#607) (#608)
  • ci/cd: publish binaries onto a release when we create a tag (#609)
  • because of automatic cloud builds, we're not using the PRODUCT-staging branches anymore. If you were tracking those branches, now you should not track them anymore and just track release branches. (Sorry, about this change of plans!)

The most tangible advancement in this release is that now we're able to automatically produce cloud builds. The assets in this release are indeed all generated using GitHub actions.

v3.12.0-alpha.3
7f0fb5e
Compare
Choose a tag to compare
Pre-release

This is what changed since v3.12.0-alpha.2:

  • 🐛 [forwardport] fix(signal): use the correct string to score a measurement (#602) #603
  • 🗒️ [ci skip] doc: explain staging branches and binary builds #604
  • 🐛 fix(mk): do nothing if we already have psiphon config #605
  • feat: publish miniooni binaries into releases #607
  • because of automatic cloud builds, we're not using the PRODUCT-staging branches anymore. If you were tracking those branches, now you should not track them anymore and just track release branches. (Sorry, about this change of plans!)

The main change here is that we're transitioning to a model where we automatically publish release binaries build when tagging.

v3.12.0-alpha.2
50576da
Compare
Choose a tag to compare
Pre-release

This release follows v3.12.0-alpha.1 and contains a set of improvements to repair the Android and iOS builds, as well as other data quality fixes forwardported from the release/3.11 branch.

  • 🗒️ fix(CONTRIBUTING.md): require specific commit message for fwd/back ports #577
  • 🗒️ cleanup(ooniprobe): remove unused send_crash_report option #578
  • 🐛 fix(webconnectivity): ignore any status code <= 0 #579
  • 🐛 fix(measurex): allow API user to choose parallelism #581
  • 🗒️ doc(tutorial): explain the big picture #582
  • 🧪 feat(QA): add test cases for websteps vs webconnectivity #583
  • 🐛 fix(netxlite): ensure HTTP errors are always wrapped #584
  • 🐛 [forwardport] fix(netxlite): remove android-specific errno (#586) #587
  • 🗒️ [forwardport] chore: use go1.17.3 (#588) #589
  • 🗒️ [forwardport] mk: update ooni/go and Android build tools (#590) #591
  • 🐛 [forwardport] fix: avoid http3 for dns.google and www.google.com (#593) #594
  • 🐛 fix(geolocate): use powerdns.org whoami service #592
  • 🐛 fix(psiphon): increase the maximum runtime to 300s #596
  • 🐛 [forwardport] fix(ios): make sure we can build an iOS release (#598) #599

This is a routine release to keep track of progress in this development sprint.

v3.11.0-beta.1
f47b0c6
Compare
Choose a tag to compare
Pre-release

This release follows v3.11.0-beta and contains a set of improvements to repair the Android and iOS builds, as well as other data quality fixes backported from the master branch.

  • 🐛 [backport] fix(webconnectivity): ignore any status code <= 0 (#579) #580
  • 🐛 [backport] fix(netxlite): ensure HTTP errors are always wrapped (#584) #585
  • 🐛 fix(netxlite): remove android-specific errno #586
  • 🗒️ chore: use go1.17.3 #588
  • 🗒️ mk: update ooni/go and Android build tools #590
  • 🐛 fix: avoid http3 for dns.google and www.google.com #593
  • 🐛 [backport] fix(geolocate): use powerdns.org whoami service (#592) #595
  • 🐛 [backport] fix(psiphon): increase the maximum runtime to 300s (#596) #597
  • 🐛 fix(ios): make sure we can build an iOS release #598

The intention is to use this release for testing on mobile and desktop.

v3.12.0-alpha.1
1f34880
Compare
Choose a tag to compare
Pre-release

Changes since 3.12.0-alpha:

  • miniooni: add support for --censor command line flag. This command line flag allows us to implement censorship policies (which are useful for QA) using a transparent proxy running inside miniooni itself. The core idea here is to perform QA on every operating system without relying on Netfilter. The general direction is described in ooni/probe#1803. The related PRs are: #561#571

  • 🐛 webstepsx: make sure we use a data format that the pipeline can parse #572

  • 🐛 webstepsx: avoid data race with http.Header when doing parallel HTTP #573

  • 🐛 webstepsx: avoid redirect loop with some websites by changing Accept-Language #574

v3.12.0-alpha
1f0fcaf
Compare
Choose a tag to compare
Pre-release

This release is the first release to adopt the new branching and releasing model sketched out in #554. As such, it includes all linear changes in the master branch since v3.10.0, which is the previous tag in the master branch.

Subsequent alpha releases occurring on the master branch will feature a shorter interval between releases, and will therefore include less changes between a release and the subsequent release.

This is what changed since v3.10.0 until 8931a36, i.e., the common ancestor of this release and v3.11.0-beta:

This is what changed exclusively in this release since 8931a36:

  • allow experiment runner to return multiple measurements per run. This feature is required by websteps, which returns a measurement for each redirection. Note that this feature does not work well with some experiments (e.g., urlgetter), which is why we choose as a branching point for 3.11.0-beta the commit immediately before we introduced this feature. #527 #544

  • measurex: new measurement library #528

  • 📚 tutorial: add tutorial explaining how to use measurex #529 #534

  • 📚 improve and document branching and releasing process #554 #556

  • webstepsx: websteps implementation using measurex #530 #536 #538

  • webconnectivity & oohelperd: fixes while experimentally using the new oohelperd #541 #542 #543 #545 #546 #558

  • webconnectivity: improvements related to comparison with websteps #537

  • annotate measurements with their architecture #540

  • 🐛 measurex: avoid endless redirect loop #532

  • 🐛 quic: prevent connection leak after failed handshake #533

  • 🐛 🛠️ 📚 other small changes and fixes #535 #550 #551 #553 #555 #557

  • 🛠️ update dependencies #548

v3.11.0-beta
Compare
Choose a tag to compare
Pre-release

This release is the first release to adopt the new branching and releasing model sketched out in #554. As such, it includes all linear changes in the master branch since v3.10.0, which is the previous tag in the master branch.

Subsequent alpha releases occurring on the master branch will feature a shorter interval between releases, and will therefore include less changes between a release and the subsequent release.

This is what changed since v3.10.0 until 8931a36, i.e., the common ancestor of this release and v3.12.0-alpha:

This is what changed exclusively in this release since 8931a36 (I've marked with "[backport]" the patches backported and adapted from the master branch):

v3.10.1
Compare
Choose a tag to compare

This release is like v3.10.0 with minor changes to support building and running with go1.17.

v3.10.0
2a7fdcd
Compare
Choose a tag to compare

This release is v3.10.0-beta.3 with minor changes to publish Debian packages for all supported architectures.

iOS

# N/A; use v3.10.0-beta.3

Android

// N/A; use v3.10.0-beta.3

Generic build instructions

go build -v $extraBuildFlags ./cmd/ooniprobe

Changes

These are the changes since v3.10.0-beta.3:

  • 🐛 make sure we can publish all the supported Debian architectures from different CI tasks

  • 🐛 produce the tarball files and the signatures required for embedding in the ooni/probe-desktop app

  • 🐛 make sure the ios task in mk depends on copying the Psiphon assets from ooni/probe-private

v3.10.0-beta.3
a4cf473
Compare
Choose a tag to compare
Pre-release

iOS

pod "oonimkall", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.10.0-beta.3/oonimkall.podspec"

Android

implementation "org.ooni:oonimkall:2021.05.13-070256"

Generic build instructions

go build -v $extraBuildFlags ./cmd/ooniprobe

Changes

These are the changes since v3.10.0-beta.2:

  • we now publish linux/386 and linux/armv7 Debian packages.

  • 🛠️ rewrite build script ./make (python3) as an executable Makefile named ./mk as a way to reduce the complexity of what we need once we have gained a better understanding of what we need to do and given up on automatically installing and configuring stuff on Windows for now (which is more difficult than expected, and honestly we are okay with cross-compiling).

  • 🛠️ While there, simplify ./make / ./mk and sort out (1) what to do to ensure we pin the right version and we can easily update.

  • 🛠️ since two weeks have passed, re-run the whole release workflow (#345) to update dependencies, etc.