Last release 3 days ago
24 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Some releases are documented
notes for 10 of 19 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
226 releases · first in 2017
Release timeline
226 releases since 2017Releases
- v0.11.1-0.20240917162923-f0d570b1cdf717 Sept 2024pre-release
Nothing published for this version
- v0.11.1-0.20240902123818-f51e6dab7a362 Sept 2024pre-release
Nothing published for this version
- v0.11.1-0.20240711160934-60b4932fc3e411 Jul 2024pre-release
Nothing published for this version
- v0.11.1-0.20240710153802-6d7948b39e4e10 Jul 2024pre-release
Nothing published for this version
- v0.11.1-0.20240709153434-68bd2bcae41d9 Jul 2024pre-release
Nothing published for this version
- v0.11.1-0.20240709133702-be9b15933cfb9 Jul 2024pre-release
Nothing published for this version
- v0.11.1-0.20240702133918-a1ed6246ecd62 Jul 2024pre-release
Nothing published for this version
- v0.11.1-0.20240624161939-83a83c47647424 Jun 2024pre-release
Nothing published for this version
- v0.11.1-0.20240610170620-50b971ca2d4b10 Jun 2024pre-release
Nothing published for this version
- v0.11.1-0.20240527135902-9d52e2f8d22127 May 2024pre-release
Nothing published for this version
- v0.11.1-0.20240524090008-a773605f9fc924 May 2024pre-release
Nothing published for this version
- v0.11.1-0.20240517085622-15bdf63eab3b17 May 2024pre-release
Nothing published for this version
- v0.11.014 May 2024
Release notes
Open source →What's Changed
Path Segment Validity / CP-PKI
Path segment validation is now more strict. The lifetime of a path segment needs to be fully covered by the validity period of the signing certificate chain. Previously, the certificate chain only needed to be valid at the time of verification.
Segments that are valid under this stricter regime have been created since v0.9.0, thus this stricter check is expected to be compatible with all ASes operating at least v0.9.0.
See #4286 for more details.Configuration
Simplify the configuration of the local address of a router interface. The fields
publicandbindhave been combined into a single fieldlocal. The new field explicitly allows omitting the IP address, in which case the router binds to the wildcard IP.
The oldpublicandbindfields are still accepted, but have been documented as deprecated and will be removed in a future release.
Refer to manual section on the topology.json file or #4489 for more details.Management API
Added support for deleting segments and beacons.
Refer to the Open API section in the control service manual for more details (DELETE /segments/{segment-id}, DELETE /beacons/{segment-id}).Dependencies
Update various dependencies; in particular, update quic-go to v0.43.1, go-toml to v2, security updates for lestrrat-go/jwx, x/crypto, and x/net.
Packages
In addition to the Debian packages built since the last release, we now also build packages for OpenWRT.
As the toolchain is relatively complicated, only x86_64 is supported for now. Like the .deb packages, these OpenWRT packages are not published in a package repository just yet. Packages for release versions are attached to the release. Packages for in-development versions are available from the latest nightly build.
See the installation manual page for more details.Bug fixes
- paths: Add check for hopfield count <= 64 when deserializing a scion path by @jiceatscion in #4483
Thanks to @jcp and the VerifiedSCION project for this bug report #4482 - router: factor out platform-dependent underlay conn flags by @marcfrei in #4507
This allows building the router for non-Linux platforms, in particular macOS or BSD. - pathpol: ensure deserialized ACL has default rule by @fbuetler in #4505
- router: forbid bouncing packets internally by @matzf in #4502
Thanks to @mlimbeck and the VerifiedSCION project for this bug report #4497 - router: optimize computeProcID by @jiceatscion in #4520
New Contributors
- @cdekater made their first contribution in #4435
- @MatthewCroughan made their first contribution in #4466
- @tzaeschke made their first contribution in #4500
- @fbuetler made their first contribution in #4505
Full Changelog: v0.10.0...v0.11.0
- paths: Add check for hopfield count <= 64 when deserializing a scion path by @jiceatscion in #4483
- v0.10.1-0.20240429132513-8340757f72b329 Apr 2024pre-release
Nothing published for this version
- v0.10.1-0.20240306143034-4a8bc98ec7d96 Mar 2024pre-release
Nothing published for this version
- v0.10.1-0.20240226131454-9d2cd867193e26 Feb 2024pre-release
Nothing published for this version
- v0.10.1-0.20240226115735-9373c4e95a0e26 Feb 2024pre-release
Nothing published for this version
- v0.10.1-0.20240220133901-77e8188fc3e320 Feb 2024pre-release
Nothing published for this version
- v0.10.1-0.20240125130050-059f500f626525 Jan 2024pre-release
Nothing published for this version
- v0.10.1-0.20240117111156-2f4d3e9d25a217 Jan 2024pre-release
Nothing published for this version
- v0.10.1-0.20231229154741-e476aa86a70829 Dec 2023pre-release
Nothing published for this version
- v0.10.021 Dec 2023
Release notes
Open source →What's Changed
Dependencies
Update various dependencies; in particular, update quic-go to v0.40.0.
Update to go 1.21, building with go 1.21.3.Packages
Build debian packages for the SCION services and tools for multiple target platforms (x86-64, arm64, x86-32 and arm).
These packages are not published in a package repository just yet. Packages for release versions are attached to the release. Packages for in-development versions are available from the latest nightly build.
See the installation manual page for more details.Internal / Testing
Add benchmark tests for the router to track the packet forwarding performance.
These benchmarks are run in the CI, failing on unexpected performance regressions. The benchmark can also be run locally to determine the performance impact of any changes. For this, run e.g.bazel test --test_output=streamed -t- //acceptance/router_benchmark:testand inspect the measured performance in the test output.Bug fixes
- daemon: fix docstring for latencies in protobuf file by @mlegner in #4443
- processmetrics: explicit type conversion to support arm64 by @mlegner in #4446
- bazel: update bazelisk and support arm64 by @mlegner in #4447
- prometheus: fix copying of metrics labels by @sustrik in #4450
- pkg/log: fix panic when using custom Logger by @lukedirtwalker in #4452
- daemon: error out when using drkey endpoints without configured drkey by @rohrerj in #4453
- tools: fix wireshark dissector TLV options without data by @marcodermatt in #4458
Full Changelog
New Contributors
- @marcodermatt made their first contribution in #4458
- v0.9.2-0.20231207085226-d9c6c00b3d607 Dec 2023pre-release
Nothing published for this version
- v0.9.2-0.20231031123147-9ebc8900303b31 Oct 2023pre-release
Nothing published for this version
- v0.9.2-0.20231030204736-ccf98fd8c5f130 Oct 2023pre-release
Nothing published for this version
- v0.9.130 Oct 2023
Release notes
Open source →What's Changed
- Update google.golang.org/grpc dependency and set MaxConcurrentStreams, to address gRPC-Go HTTP/2 Rapid Reset vulnerability.
Full Changelog: v0.9.0...v0.9.1
- v0.9.1-0.20240610170620-50b971ca2d4b10 Jun 2024pre-release
Nothing published for this version
- v0.9.016 Oct 2023
Release notes
Open source →What's Changed
Peering links
Peering links in the topology are supported, in both the control plane (
control) and the data plane (router).
Configuring a peering link requires setting the interface ID in the remote AS, seeremote_interface_idin the configuration manual.Router Performance Improvements and Slow-Path Packet Handling
An internal restructuring of the
routerdecouples receiving, processing and forwarding packets. Directly, this restructuring brings modest performance improvements, and enables a special, lower priority processing of any exceptional cases (SCMP traceroute requests, and SCMP error messages).
This will be the basis for more performance tuning in the future.Receive and send buffer sizes, batch sizes as well as the number of packet processing goroutines can now be tuned. See
routerin the router configuration manual.DRKey and SPAO
Dynamically-Recreatable Key (DRKey) is a system to establish shared symmetric keys between any two hosts in SCION, based on a key-derivation hierarchy that requires explicit key exchange only on the level of ASes. These keys are intended to be used primarily for packet authentication, in the form of the SCION Packet Authentication Option (SPAO) in the end-to-end packet extension header.
The
controlservice now includes an implementation of the DRKey infrastructure. This system is still somewhat experimental and is disabled by default. Seedrkeyin the control service configuration manual.The AS-level key exchanges in DRKey rely on TLS for authentication, based on the SCION control-plane-PKI AS certificates.
As a side-effect of this, all other RPC invocations between control services now use the CP-PKI AS certificates, too. Previously, this had not been required, as all other RPCs control messages that were directly authenticated.The
routerincludes an experimental and somewhat incomplete implementation of SPAO-based authentication of SCMP messages. This, too, is disabled by default.Command line tools
scion pingset payload size appropriately if--max-mtuis set (#4250) and and add new option--packet-sizethat allows setting the final packet size (#4251).- Add machine readable output (json/yaml) for
scion pingscion tracerouteandscion showpathswith the newformatoption (#4287). - Use the same emoji encoding mapping as smallstep in
scion-pki certificate fingerprint --format emoji(#4252). - Add
scion-pki key fingerprintcommand to calculate SubjectKeyID (#4253).
Go packages:
- pkg/snet: support URI style UDPAddr encoding (#4254).
- pkg/addr: replace
addr.HostAddrhierarchy with tagged unionaddr.Host.
Additionally, add a new addr.Addr type representing a full SCION address (ISD, AS and host address), including parsing functionality. This definition is identical to thesnet.SCIONAddresstype, which is now only kept as a type alias for compatibility (#4346).
sqlite Implementation and Platform Compatibility
By default, the SCION components now use a pure Go implementation of sqlite (modernc.org/sqlite) and build without CGo. This allows to build the SCION components as statically linked binaries, removing any dependence on a minimum libc or libresolv version.
Gobra CI
All pull-requests now run through formal program verification using Gobra. Only a small fraction of the source code carries the annotations that enable the verification, but already some bugs in edge cases could be discovered and fixed.
Full Changelog
Upgrading
router
routernow validates that the source IP address of transit packets match the IP address of the corresponding other router (#4157). This could be incompatible with certain asymmetric NAT setups.
Configuration
- toml key
trustengine.cache.expirationnow expects a formatted duration string, instead of an integer number of nanoseconds.
Go package API
- pkg/snet:
IntraASPathQuerierhas been removed (moved to internal library) as it was not working correctly and not widely used. - pkg/addr: replace
addr.HostAddrhierarchy with tagged unionaddr.Host(#4346).
The attached gopatch file can automatically patch some of the affected consumer code, but some manual changes are likely still necessary. - pkg/slayers:
SetNetworkLayerForChecksumnow only accepts a type-safe*slayers.SCION. - pkg/slayers/path:
MaxTTLis now atime.Durationinstead of anintnumber of seconds.
Deprecations
- topology.json: the AS attributes
authoritative,voting, andissuingare ineffective and should no longer be used (#4333). scion showpaths: the--jsonflag is deprecated in favor of the--format=jsonoption.
New Contributors
- @gavinleroy made their first contribution in #4229
- @kmavromati made their first contribution in #4237
- @jcp19 made their first contribution in #4187
- @bunert made their first contribution in #4250
- @fstreun made their first contribution in #4289
- @VickyMerzOwn made their first contribution in #4292
- @marcfrei made their first contribution in #4298
- @rohrerj made their first contribution in #4304
- @dependabot made their first contribution in #4316
- @MrR0b0t14 made their first contribution in #4341
- @steffenfritz made their first contribution in #4345
- @jBainMartincoit made their first contribution in #4349
- @HawkCorrigan made their first contribution in #4358
- @uniquefine made their first contribution in #4367
- @jiceatscion made their first contribution in #4373
- @edoardottt made their first contribution in #4419
- v0.8.1-0.20240610170620-50b971ca2d4b10 Jun 2024pre-release
Nothing published for this version
- v0.8.1-0.20231010074308-1774cbfccb4c10 Oct 2023pre-release
Nothing published for this version
- v0.8.1-0.20231005102136-54a26ba08dd15 Oct 2023pre-release
Nothing published for this version
- v0.8.1-0.20230929153207-95d4329909f629 Sept 2023pre-release
Nothing published for this version
- v0.8.1-0.20230911150839-783896ee191511 Sept 2023pre-release
Nothing published for this version
- v0.8.1-0.20230829074545-9bdd29ccfe7929 Aug 2023pre-release
Nothing published for this version
- v0.8.1-0.20230821082326-d9acea4b6c3b21 Aug 2023pre-release
Nothing published for this version
- v0.8.1-0.20230810194635-4096d879b05a10 Aug 2023pre-release
Nothing published for this version
- v0.8.1-0.20230808065219-24cfafcf4bb18 Aug 2023pre-release
Nothing published for this version
- v0.8.1-0.20230721140734-09b5dea553df21 Jul 2023pre-release
Nothing published for this version
- v0.8.1-0.20230710120255-9f77b13ed8b310 Jul 2023pre-release
Nothing published for this version
- v0.8.1-0.20230702194810-595839f08d2a2 Jul 2023pre-release
Nothing published for this version
- v0.8.1-0.20230622095643-5f7802c20ab722 Jun 2023pre-release
Nothing published for this version
- v0.8.1-0.20230612121123-156957609f2512 Jun 2023pre-release
Nothing published for this version
- v0.8.1-0.20230516090030-086d9b73bed216 May 2023pre-release
Nothing published for this version
- v0.8.1-0.20230424072121-045c07ea751524 Apr 2023pre-release
Nothing published for this version
- v0.8.1-0.20230317100923-c3dc46d0aa5f17 Mar 2023pre-release
Nothing published for this version
- v0.8.1-0.20230224103355-1fd088bddf3a24 Feb 2023pre-release
Nothing published for this version
- v0.8.1-0.20230222200652-914cdd6747e722 Feb 2023pre-release
Nothing published for this version
- v0.8.1-0.20230216150859-3318edbf50c716 Feb 2023pre-release
Nothing published for this version
- v0.8.1-0.20230125160204-f3b508f14f8c25 Jan 2023pre-release
Nothing published for this version
- v0.8.1-0.20230125112004-e453564eb17e25 Jan 2023pre-release
Nothing published for this version
- v0.8.1-0.20230118082757-8b738d9ae22018 Jan 2023pre-release
Nothing published for this version
- v0.8.1-0.20230104152953-5823c6177e3a4 Jan 2023pre-release
Nothing published for this version
- v0.8.1-0.20221202095304-cd5f8d0431572 Dec 2022pre-release
Nothing published for this version
- v0.8.1-0.20221128105541-82198c64e2c628 Nov 2022pre-release
Nothing published for this version
- v0.8.1-0.20221123212501-c70e8cca6aad23 Nov 2022pre-release
Nothing published for this version
- v0.8.1-0.20221109144500-3efcbef669579 Nov 2022pre-release
Nothing published for this version
- v0.8.1-0.20221031101136-004ab1897fd431 Oct 2022pre-release
Nothing published for this version
- v0.8.1-0.20221026175536-2bb6b83c71b026 Oct 2022pre-release
Nothing published for this version
- v0.8.1-0.20221003124517-8fc16481027c3 Oct 2022pre-release
Nothing published for this version
- v0.8.1-0.20220912153703-d644ecf96ac212 Sept 2022pre-release
Nothing published for this version