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 variablesSCION_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 isdispatched_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
- @mseewer made their first contribution in #4532
- @GioBar00 made their first contribution in #4536
- @martenwallewein made their first contribution in #4610
- @thomasgruebl made their first contribution in #4619
Full Changelog: v0.11.0...v0.12.0