Skip to content

v0.12.0 "Rooterberg"

Latest
Compare
Choose a tag to compare
@jiceatscion jiceatscion released this 11 Oct 13:28
· 20 commits to master since this release
e6b0576

What's Changed

New Features and improvements

  • The dispatcher is gone! Well, mostly. We still have a shim for backward compatibility.
  • The migration to ConnectRPC has begun. The first PR has been merged. Many more to come.
  • We now build RPM packages for the x86_64 platform. Stay tuned for other platforms as the Bazel rules improve.
  • The router code got faster by about 15%.
  • For the price of one small patch, SCION can now build for windows too.
  • Scion-pki has acquired some new features. Find them in the scion-pki documentation.

Documentation

  • We have updated and improved the deployment tutorial.
  • The cryptography documentation now includes instructions to use scion-pki and sports a ceremony script builder UI (yes, embedded in the documentation!).
  • Added OpenWRT installation instructions.

Configuration Changes

  • The unused QUIC configuration field is gone from the Control Service's schema. It must be removed from toml files.
  • The router configuration gained a new field: router.bfd. This allows to configure BFD on all links by default. Subfields are the same as in the bfd field of links in the topology configuration. The defaults apply to links that do not have an explicit configuration for a given field. Previously, this was done by setting the environment variables SCION_EXPERIMENTAL_BFD_*. Those are now ignored.
  • The topology.json file gained a new field: dispatched_ports. While transitioning away from the dispatcher, SCION applications on dispatcher-less hosts are expected to listen on a restricted port range. This must be set to the same value on updated hosts and on their updated border routers. The recommended value is dispatched_ports="31000 - 32767". This must be configured, there is no safe default.
  • The field "reconnect_to_dispatcher" is gone. It must be removed from all toml files (i.e. the control service and the SCION daemon).

Building, Testing, and Code Quality

As usual, we've put quite a bit of effort in improving build reliability, burying dead code, simplifying, adding tests, fixing flakes, filling potholes, and complying with best practice and standards (including SCION published specs). Most notable in the latter category were:

  • router - race condition: #4282 - Another finding of VerifiedSCION (Thanks @jcp19!)
  • router - drop invalid packets packets: #4415, #4558
  • router - return SCMP on invalid dst address: #4126
  • router - strengthen the checks performed by parsePath: #4524, #4531 - Another findind of VerifiedSCION (Thanks @jcp19 and @mlimbeck!)
  • topology - allow peering links between core ASes: #4484

We have also made a small improvement to Wireshark's SCION support: heuristic detection of SCION traffic is now supported. With the removal of the dispatcher and associated limited port range, this became nice-to-have.

Dependencies

We have updated a few of our dependencies. Most notably our minimum Go version, which is now 1.22.7. Also updated are:

  • Certifi: 2024.2.2 -> 2024.7.4
  • Antlr: 0.6.0 -> 0.6.1
  • rules_js: 1.33.1 -> 2.0.0-rc6
  • nodejs: latest -> 16.19.0
  • pnpm: latest -> 9.4.0
  • spectral-cli: 6.11.0 -> 6.11.1

New Contributors

Full Changelog: v0.11.0...v0.12.0