Skip to content

chore: release v0.1.0#180

Merged
BobAnkh merged 1 commit intomainfrom
release-plz-2026-03-05T07-24-20Z
Mar 5, 2026
Merged

chore: release v0.1.0#180
BobAnkh merged 1 commit intomainfrom
release-plz-2026-03-05T07-24-20Z

Conversation

@BobAnkh
Copy link
Copy Markdown
Member

@BobAnkh BobAnkh commented Mar 5, 2026

🤖 New release

  • rattan-env: 0.1.0
  • rattan-log: 0.1.0
  • rattan-core: 0.1.0
  • rattan: 0.1.0
Changelog

rattan

0.1.0 - 2026-03-05

Features

  • (boot) Add basic boot process - (e9bd3fd)
  • (cell) Wait for notify before start - (05a34ac)
  • (cell) Add notify channel to cell - (ebd67e7)
  • (cell) Add Spy cell to dump packets at any point (#126) - (758592e)
  • (cell) Add DelayPerPacket cells that can reorder packets (#122) - (56b23ee)
  • (cell) Add token bucket cell (#96) - (44db3a8)
  • (cli) Add trace visualization and log conversion - (338bda7)
  • (cli) Add nat feature to support optional dependencies - (0810755)
  • (cli) Add option to disable NAT in compatible mode - (5e17599)
  • (cli) Add NAT management using nftnl - (bb30454)
  • (cli) Allow stdout/stderr in isolated mode - (84dec98)
  • (cli) Overwrite config with CLI arguments - (712b922)
  • (cli) Change exit code on task failure - (f219388)
  • (cli) Add prompt for bash - (886c894)
  • (cli) Make shutdown more elegant - (e4ae6f5)
  • (cli) Add isolated mode - (5a00852)
  • (cli) Add subcommand generate - (ddedd17)
  • (cli) Change default log level to warning - (e3ae66d)
  • (cli) Add cli interface for queue - (8da88e7)
  • (cli) Test connectivity before starting - (2a682a5)
  • (cli) Add args for executing command - (3b6bc51)
  • (cli) Add compatible mode rattan cli - (90dbcac)
  • (config) Support env var in trace - (59e6b67)
  • (config) Skip serializing none values - (b59c6bb)
  • (control) Add http control endpoint - (7c1d47a)
  • (core) Add logical timestamp to packet - (de31573)
  • (core) Upgrade packet-log to new infra - (9a10d17)
  • (core) Calibrate trace start time - (ac189e4)
  • (core) Add task notifier for isolated mode - (88eb5c2)
  • (core) Add Clone trait to StdPacket - (c85b9ec)
  • (core) Add id to identify rattan instance - (4132330)
  • (core) Support runtime topo construction - (d6bed6d)
  • (core) Add a core loop to start a delay shell - (99d6d75)
  • (device) Add router and shadow devices - (ca15b51)
  • (device) Warn on linking non-existent device - (2167d1b)
  • (device) Add state to enable mode switching - (206d7f4)
  • (device) Add device to replay loss trace - (2b3c4bd)
  • (device) Add device to replay delay trace - (3ba9a77)
  • (device) Add BandwidthReplayDevice (#25) - (cb3c132)
  • (device) Add packet queues to bandwidth device (#6) - (9b6a0e5)
  • (device) Add i.i.d loss device - (2b2624d)
  • (device) Replace timerfd impl in bandwidth - (f7d4246)
  • (device) Add bandwidth device - (766e2bc)
  • (device) Add loss device - (8f656fc)
  • (device) Add control interface - (dc17ef3)
  • (device) Add config interface - (993e4e2)
  • (device) Add draft API design for external devices - (134a679)
  • (device) Add delay device as an example for device API design - (11ffb61)
  • (env) Expose internal id in env var RATTAN_ID - (07bb7b6)
  • (env) Support multiple veth for StdNetEnv - (6344448)
  • (env) Optimize the process of obtaining veth address - (fc52e9f)
  • (env) Add mode config for std_env - (7cb1c9a)
  • (http) Shutdown core loop if server exits - (8e2cd31)
  • (io) Add AF_XDP support - (60a66f7)
  • (log) Extract log facilities to separate crate - (a55fe59)
  • (log) Add frag flags and dataofs for tcp log entry - (3952eea)
  • (log) Impl plain for entry struct - (d90a654)
  • (log) Add compressed packet log - (242dbc3)
  • (log) Change packet log to core file log - (4d7f00b)
  • (log) Add detailed description in packet log - (53e65ac)
  • (log) Separate out packet related events - (d9dec2a)
  • (log) Add facilities for packet-level logging - (803bfb5)
  • (metal) Use interface id to add route - (8c00905)
  • (metal) Bring loopback interface up (#26) - (907ba53)
  • (metal) Add timerfd based timer - (80ee022)
  • (netns) Refactor netns - (c885d12)
  • (radix) Remove affinity temporarily - (6d31c4c)
  • (radix) Reduce env build retry max times - (e308f61)
  • (scripts) Add rattan log converter - (7eba046)
  • (trace) Add humanized format for bandwidth - (1e888d3)
  • (veth) Make external veth optional - (a2fb7e6)
  • (veth) Unify base_ts for an instance - (dc8a885)
  • (veth) Use ioctl to disable checksum offload - (f3a05d9)
  • (veth) Add veth based on rtnetlink - (6e80aaa)
  • (veth) Apply the builder pattern on veth configurations - (eb927c2)
  • (veth) Add interface index - (9abfa1c)
  • Make build_rattan_config generic on P to add main-xdp binary - (8968ad4)
  • Automatically set address during creation (#28) - (20e592c)
  • Add docker mode (#5) - (a660b70)
  • Install the latest mainline kernel on all test machines - (f5d150e)
  • Add packet-dump feature - (442a50b)
  • Add tracing - (f7f17d3)

Bug Fixes

  • (bw) Correct transfer time calculation - (bf341d5)
  • (cell) Correct a snake_case naming of the per-packet delay config (#125) - (677396d)
  • (cli) Resolve clap error of Arguments - (32ad049)
  • (cli) Sleep before tokio runtime creation (#34) - (7566201)
  • (config) Support env var in delay and loss trace - (753c35a)
  • (config) Allow to load mahimahi trace file without filename extension - (f7eae09)
  • (control) Use varied ports to run tests concurrently - (8268463)
  • (core) Resolve some issue with serde feature - (1fb6373)
  • (core) Support multiple entries - (bb41736)
  • (core) Handle mpsc channel send error - (40dcff8)
  • (device) Add serde default value to bw_type - (06d3e2e)
  • (device) Replace sleep impl in delay - (00c05bb)
  • (device) Remove unused Sync bound - (cac3aac)
  • (env) Lock suffix with right veth group - (fb5246c)
  • (env) Create better route table (#83) - (8e3e4f0)
  • (env) Sleep between creating veth and adding route - (0da7b07)
  • (env) Randomize the name for concurrent - (7e7c6c0)
  • (http) Keep health-check api available - (ffa958e)
  • (log) Correct timestamp to unix repr (#161) - (cb47212)
  • (log) Rearrange the bit range according to the spec - (16f4c25)
  • (metal) Fix blocking io in timer - (e5ee176)
  • (netns) Avoid double-close persistent file - (b0f8552)
  • (radix) Sleep between namespace entering and process spawning - (675604a)
  • (spycell) Change file creation process (#130) - (b16f3fe)
  • (test) Use [[ instead of [ to fix a syntax error complain - (11708a9)
  • (veth) Avoid panicking again when thread is currently panicking - (ed0a6f9)
  • (veth) Compatible with lower version ethtool - (5ecc44e)
  • Remove redundant memset on af_packet recv - (f3ac476)
  • Only allow workflows from the main repository - (acb2cb6)
  • Fix clippy warnings - (b0699b8)
  • Change to collect the data of iperf3 receiver - (0a299d0)
  • Drop veth without thread spawn - (e0146d2)
  • Clean the veth external test - (15c7bb2)

Refactor

  • (cell) Change to use logical timestamp - (2f2c12a)
  • (cell) Redesign token bucket cell - (d1af2de)
  • (cli) Divide into different subcommands - (440fd65)
  • (config) Flatten RattanCoreConfig - (16d9635)
  • (control) Make it as conditional feature - (755124a)
  • (device) Improve internal logic - (5629aa3)
  • (device) Remove legacy LossPacket - (2cd88a6)
  • (device) Remove IIDLossDevice - (284c116)
  • (device) Change config of delay device - (b7165c7)
  • (env) Seperate env-related code - (5309e13)
  • (env) Improve error handling for env creation (#43) - (6b09b1c)
  • (script) Update log_converter.py to new spec - (fd0701b)
  • (veth) Use once_cell instead of mutex to implement veth pair - (2adb9b6)
  • (veth) Change the build function to async - (c520e3a)
  • (veth) Add builder to create VethPair and VethDevice - (0636354)
  • Rename device to cell - (ccb10e5)
  • Change code structure - (be32cdf)
  • Change ws structure and crate name - (c126098)
  • Improve error message printing - (aaf02ed)
  • Redesign rattan for easy configuration - (56a3f3d)
  • Refactor the usage of rtnetlink - (8227f89)
  • Move global mutex into lib - (4491daf)
  • Change to workspace structure - (9b8b60b)
  • Move standard environment preparation to a module - (de2cc78)

Documentation

  • (README) Add arxiv citation bibtex - (2c05c67)
  • (env) Fix address in env ascii art - (761bd66)
  • (guid) Fix wrong github link - (2bae740)
  • (guide) Explain how Rattan synchronize trace (#158) - (f7bb2e0)
  • (guide) Update to new packet-log spec - (61a40b4)
  • (guide) Fix typo of link path - (6526101)
  • (guide) Add illustration example - (e00d9f8)
  • (guide) Fix installation deps - (acd3e01)
  • (guide) Improve and clarify the doc for packet log - (c1a8adc)
  • (guide) Add arxiv citation to guide - (66b9830)
  • (guide) Correct wrong example command - (9b05731)
  • (readme) Update logo - (82f31b3)
  • Add case examples to guide - (2e87ef2)
  • Add new-cell guide (#97) - (ce0384a)
  • Update guide with deps - (bcae92c)
  • Update some expressions - (d854465)
  • Add user guide - (85a0742)
  • Start to write document - (ac4bfbc)

Performance

  • Improve task scheduling during core loop - (144d3c0)

Styling

  • (cli) Remove unused import - (6a14967)
  • (clippy) Correct some linting error - (5a6f7c1)
  • (clippy) Resolve clippy warnings - (2677f3f)
  • (clippy) Resolve clippy warnings - (e6c6b23)
  • (clippy) Resolve clippy warnings - (3901dfc)
  • (clippy) Resolve clippy warnings - (4580141)
  • (clippy) Resolve clippy warnings - (99f3ea9)
  • Fix typos - (20afbb1)
  • Correct typos and format code (#124) - (42e8eb1)
  • Format the Rust code - (1ed27f2)
  • Fix typos - (db0e105)
  • Fix typos - (2097f3e)
  • Resolve clippy lint warnings - (e38052d)
  • Format code - (f88fcc1)
  • Remove frequent log - (ac2b751)

Testing

  • (bandwidth) Fix cport of iperf3 - (a2c279a)
  • (bw) Fix which side iperf samples in test_replay - (d28e5de)
  • (bw) Add integration test for bw channel - (33be208)
  • (delay) Add integration test for delay channel - (00c08f0)
  • (device) Avoid depends on DeviceFactory - (80778b6)
  • (device) Add unit test for replayed loss - (3787642)
  • (device) Add unit test for replayed delay - (043bcaa)
  • (device) Add unit tests for delay and loss - (d270e27)
  • (http) Add http control endpoint test - (942c219)
  • (ioctl) Add test for ioctl - (6a80901)
  • (loss) Enlarge noise tolerate range - (f226302)
  • (loss) Add integration test for loss channel - (83873be)
  • (net) Add a external test for af_packet interface - (a72eabd)
  • (net) Add netns creation with veth - (88286de)
  • (net) Test veth creation and destruction using: rtnetlink - (78a2176)
  • (spy) Improve tempfile handling and reduce packet count - (303ced1)
  • Update integration tests - (bc4a691)
  • Add slow timeout for tests - (27dd66a)
  • Add feature flag for http tests - (2ad5fd8)
  • Fix leaky subprocess - (25d4181)
  • Use nextest as our test suite - (7163792)
  • Use NetNsGuard to switch netns - (f4c39fb)
  • Add global mutex for getting std_env - (20d3240)

Miscellaneous Tasks

  • (audit) Ignore unmaintained crate paste - (156416d)
  • (build) Remove redundance workflow runs - (943ad19)
  • (cli) Warn if config specified but not exist - (bdb7d66)
  • (docs) Remove out-of-date docs - (7320a10)
  • (libvirt) Increase the VM cpu num to 8 - (56b4da8)
  • (libvirt) Reduce the VM memory to 8 GiB - (e7d00e0)
  • (lint) Use clippy directly - (5369d02)
  • (log) Add test log for easy debugging - (c82affc)
  • (scripts) Change inner function name - (8fce7f9)
  • (scripts) Add sudo for installation - (ff6b62e)
  • (scripts) Grant privileges for installed rattan-cli - (f2b8b0a)
  • (test) Allow parallel running for matrix test - (fd9237c)
  • (test) Remove packet-dump feature in ci test - (f489b09)
  • (test) Allow tests from forks - (849d686)
  • (test) Reduce test concurrency - (ad463c4)
  • (test) Allow parallel running for matrix test - (4d22c96)
  • (test) Limit parallel number of matrix test - (3d8ad90)
  • (verify) Update to new cli format - (a3b0820)
  • Enable caching for LLVM installation to speed up CI - (6b8a2d0)
  • Use KyleMayes/install-llvm-action to install LLVM - (4652d87)
  • Remove common-utils from the devcontainer specification - (6b083e5)
  • Remove remoteUser property on the devcontainer specification - (32fb1aa)
  • Run actions on pull_request - (b9f8301)
  • Bump nightly kernel version to 6.12 - (4a5c9a9)
  • Update test tigger events - (34307f8)
  • Add mdbook-alerts to guide build process - (7897223)
  • Allow schedule event for verify - (01f3bbd)
  • Bump latest kernel to 6.11 - (c3514fe)
  • Allow workflow dispatch running - (014370b)
  • Make FlowEntry public - (6ea0008)
  • Rename CONTRIBUTING.md - (3847f3f)
  • Update scripts to latest cli arguments - (a6c8395)
  • Upgrade the latest kernel to 6.10 - (eecca02)
  • Add cli test - (e2ebd50)
  • Fix iperf verification error - (d5628ba)
  • Allow building CI machines without github runners - (59cc5f0)
  • Fix bbr loading - (adfface)
  • Fix bugs on github runner configurations - (9ff2a1f)
  • Run verification on CST 1:00 AM (UTC 5:00 PM) - (48647b1)
  • Activate our 6.9 machine - (ecd50ba)
  • One more upstream kernel machine - (c0498fa)
  • Reduce the time usage of verification test - (e22244e)
  • Update CI machines - (f9645f0)
  • Use v4 of upload-artifact - (51b74af)
  • Remove tests on kernel v6.6 temporarily - (c8bec59)
  • Load bbr for verify - (4f88b85)
  • Cache rust target for faster build - (d56ffe8)
  • Add runner configuration for test - (aae9b88)
  • Avoid running for non-code changes - (9fd993a)
  • Improve cargo-clippy and add cargo-fmt - (9c1c0d1)
  • Rewrite our slogan - (15aba43)
  • Cancel in progress jobs on the same branch - (4bc8616)
  • Bump to checkout@v4 - (1d51a66)
  • Add cargo audit - (c78fe3c)
  • Ignore .vscode - (3f2fd8b)
  • Add a mantic/6.6 VM (#8) - (805b5a7)
  • Tune TCP parameters of ci machines - (0298d0f)
  • Add performance verification - (655e68f)
  • Update test environments - (de9d83d)
  • Clear unused log - (3d126ba)
  • Add CI badge - (e95d2ac)
  • Add a compound test that uses multiple devices - (035feb0)
  • Add synthetic delay between iperf client/server to stablize ci - (19aaf86)
  • Reduce unnecessary output - (e8e175e)
  • Allow concurrent running of jobs (again) - (5f91559)
  • Add trigger of workflow_dispatch - (6d0c659)
  • Limit the number of concurrency - (b90b0fd)
  • Disable fast-fail to test different kernels - (62d8ed7)
  • Fix bandwidth test - (5808d7d)
  • Install iperf3 instead of iperf - (c0b88b9)
  • Add 5.4 and 6.1 kernels - (14ee23e)
  • Add missing cli tools - (4f12e55)
  • Grant required capabilities to ci containers - (f6708fe)
  • Add ci workflow - (66a510e)
  • Clean codebase - (60156d4)
  • Add provision artifacts of ci machines - (2700a3d)
  • Add rattan logo - (541fa5e)

Bench

  • Move bandwidth upper bound test to benches - (fd6bddf)

Build

  • (cargo) Remove nat from default features - (50896ac)
  • (cargo) Re-add Cargo.lock to version control - (dae607e)
  • (cargo) Raise MSRV to v1.86 - (8cf43f7)
  • (cli) Add more metadata to long version - (c7acbf4)
  • (deps) Bump nix from 0.29.0 to 0.31.1 (#173) - (cbcace6)
  • (deps) Update rtnetlink requirement from 0.17.0 to 0.20.0 - (9c5a89b)
  • (deps) Bump syn, libbpf-sys and unicode-ident - (3824584)
  • (deps) Bump rand from 0.9.2 to 0.10.0 (#168) - (745953b)
  • (deps) Bump toml from 0.9.12+spec-1.1.0 to 1.0.1+spec-1.1.0 (#171) - (09b6af4)
  • (deps) Bump ctrlc from 3.5.1 to 3.5.2 - (12512cd)
  • (deps) Bump futures from 0.3.31 to 0.3.32 - (a6a403a)
  • (deps) Bump serde_with from 3.11.0 to 3.16.1 - (2dd8d5b)
  • (deps) Update reqwest requirement from 0.12.9 to 0.13.1 - (0e5efca)
  • (deps) Update etherparse requirement from 0.18.0 to 0.19.0 - (620efa6)
  • (deps) Update criterion requirement from 0.7.0 to 0.8.1 - (c18372e)
  • (deps) Clean up unused dependencies - (76ef4ab)
  • (deps) Update criterion requirement from 0.6.0 to 0.7.0 - (4af1a79)
  • (deps) Update toml requirement from 0.8.12 to 0.9.2 - (9bd034d)
  • (deps) Update rtnetlink requirement from 0.16.0 to 0.17.0 - (d38b9e6)
  • (deps) Update criterion requirement from 0.5.1 to 0.6.0 - (ac6fe0e)
  • (deps) Update etherparse requirement from 0.17.0 to 0.18.0 - (9813f5e)
  • (deps) Update rtnetlink requirement from 0.15.0 to 0.16.0 - (5879e6a)
  • (deps) Replace humantime with jiff - (7714bc0)
  • (deps) Update rtnetlink requirement to 0.15.0 - (615f18c)
  • (deps) Update bytesize requirement from 1.3.0 to 2.0.1 - (b33f283)
  • (deps) Add 'derive' feature to clap - (818504b)
  • (deps) Update bitfield requirement from 0.18.1 to 0.19.0 - (8a99d05)
  • (deps) Update bitfield requirement from 0.17.0 to 0.18.1 - (581ce75)
  • (deps) Update rand requirement from 0.8.5 to 0.9.0 - (ec7dc03)
  • (deps) Update dirs requirement from 5.0.1 to 6.0.0 - (cdfc190)
  • (deps) Update etherparse requirement from 0.16.0 to 0.17.0 - (030fb94)
  • (deps) Update netem-trace requirement from 0.3.3 to 0.4.0 - (08f1b87)
  • (deps) Update itertools requirement from 0.13.0 to 0.14.0 - (c1773db)
  • (deps) Add 'signal' feature to nix dependency - (9a8f256)
  • (deps) Update nix requirement from 0.26.2 to 0.29.0 - (0de0617)
  • (deps) Update backon requirement from 0.4.4 to 1.2.0 - (1d0e1dd)
  • (deps) Update bitfield requirement from 0.16.1 to 0.17.0 - (487e5ca)
  • (deps) Update etherparse requirement from 0.14.3 to 0.16.0 - (8247787)
  • (deps) Update thiserror requirement from 1.0.40 to 2.0.0 - (2d3591e)
  • (deps) Update reqwest requirement from 0.11.16 to 0.12.9 - (2ebb7e9)
  • Add af_packet rattan as default run - (182480f)
  • Config systemd networkd for stable mac address - (0e0d1c1)
  • Set cargo resolver to 2 - (7df9cf5)
  • Update broken dependency rtnetlink - (cbc0692)
  • Add devcontainer - (50ef752)

Deps

  • (reqwest) Disable default features - (b141d66)
  • (time) Use humantime to parse duration - (9ad0155)


This PR was generated with release-plz.

@BobAnkh BobAnkh added the release label Mar 5, 2026
@BobAnkh BobAnkh requested a review from Centaurus99 March 5, 2026 07:39
@BobAnkh BobAnkh merged commit bf64b22 into main Mar 5, 2026
24 of 30 checks passed
@BobAnkh BobAnkh deleted the release-plz-2026-03-05T07-24-20Z branch March 5, 2026 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants