This is an automated email from the ASF dual-hosted git repository.
hgruszecki pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new 34944aae chore(ci): add script to dump licenses to DEPENDENCIES.md
(#1767)
34944aae is described below
commit 34944aaec941da16224eb002ab19ddb60dc766be
Author: Hubert Gruszecki <[email protected]>
AuthorDate: Sat May 10 15:22:07 2025 +0200
chore(ci): add script to dump licenses to DEPENDENCIES.md (#1767)
This commit introduces a script that automates the process of
dumping licenses into the DEPENDENCIES.md file. This change
is aimed at improving the documentation of project dependencies
by ensuring that all licenses are clearly listed and easily
accessible.
---
.github/workflows/ci-check-common.yml | 13 +-
.github/workflows/ci-test-rust-optional.yml | 2 +-
.github/workflows/ci-test-rust.yml | 4 +-
.github/workflows/sanity.yml | 14 +-
.github/workflows/test_pr.yml | 2 +-
= | 0
DEPENDENCIES.md | 768 ++++++++++++++++++++++++----
justfile | 12 +
scripts/licenses-list.sh | 97 ++++
9 files changed, 808 insertions(+), 104 deletions(-)
diff --git a/.github/workflows/ci-check-common.yml
b/.github/workflows/ci-check-common.yml
index 82434f74..ed2a7edf 100644
--- a/.github/workflows/ci-check-common.yml
+++ b/.github/workflows/ci-check-common.yml
@@ -81,7 +81,7 @@ jobs:
# WIP
ci-check-licenses:
- name: license headers
+ name: Check license headers
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -91,3 +91,14 @@ jobs:
- name: Check license headers
run: docker run --rm -v ${{ github.workspace }}:/src -w /src
ghcr.io/google/addlicense:latest -check -f ASF_LICENSE.txt .
+
+ ci-check-licenses-list:
+ name: Check licenses list
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ override: true
+ - run: scripts/licenses-list.sh --check
diff --git a/.github/workflows/ci-test-rust-optional.yml
b/.github/workflows/ci-test-rust-optional.yml
index 2a550d39..7c042df2 100644
--- a/.github/workflows/ci-test-rust-optional.yml
+++ b/.github/workflows/ci-test-rust-optional.yml
@@ -63,4 +63,4 @@ jobs:
- name: Run tests
run: cargo test ${{ env.VERBOSE_FLAG }} --target aarch64-apple-darwin
- name: Check if workspace is clean
- run: git status | grep "working tree clean" || { git status ; exit 1; }
+ run: git status --porcelain
diff --git a/.github/workflows/ci-test-rust.yml
b/.github/workflows/ci-test-rust.yml
index 5e7e1adf..701d0ab5 100644
--- a/.github/workflows/ci-test-rust.yml
+++ b/.github/workflows/ci-test-rust.yml
@@ -74,7 +74,7 @@ jobs:
- name: Check CLI examples from README
run: ./scripts/run-examples-from-readme.sh
- name: Check if workspace is clean
- run: git status | grep "working tree clean" || { git status ; exit 1; }
+ run: git status --porcelain
x86_64-pc-windows-msvc:
name: x86_64-pc-windows-msvc
@@ -106,4 +106,4 @@ jobs:
- name: Build iggy-cli binary
run: cargo build ${{ env.VERBOSE_FLAG }} --target
x86_64-pc-windows-msvc --bin iggy
- name: Check if workspace is clean
- run: git status | grep "working tree clean" || { git status ; exit 1; }
+ run: git status --porcelain
diff --git a/.github/workflows/sanity.yml b/.github/workflows/sanity.yml
index d946c73f..4bd8e2bf 100644
--- a/.github/workflows/sanity.yml
+++ b/.github/workflows/sanity.yml
@@ -125,7 +125,7 @@ jobs:
accessToken: ${{ secrets.GITHUB_TOKEN }} # needed only when
checkAllCommitMessages is true
pattern: '^.{0,80}(\n.*)*$'
error: "Subject of all commits in the PR and PR body/title has to be
shorter than 80 characters."
- ci-check-licenses:
+ check-license-headers:
name: license headers
runs-on: ubuntu-latest
steps:
@@ -136,3 +136,15 @@ jobs:
- name: Check license headers
run: docker run --rm -v ${{ github.workspace }}:/src -w /src
ghcr.io/google/addlicense:latest -check -f ASF_LICENSE.txt .
+
+ check-licenses-list:
+ name: licenses list
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ override: true
+ - run: scripts/licenses-list.sh --check
+
diff --git a/.github/workflows/test_pr.yml b/.github/workflows/test_pr.yml
index 5e31b2cc..ab0a1d80 100644
--- a/.github/workflows/test_pr.yml
+++ b/.github/workflows/test_pr.yml
@@ -113,7 +113,7 @@ jobs:
run: ./scripts/run-examples-from-readme.sh
- name: Check if workspace is clean
- run: git status | grep "working tree clean" || { git status ; exit 1; }
+ run: git status --porcelain
# TODO: below job is non-blocking: temporary solution until we decide whether
# we want to use the new M1 macs for CI, determine cost and performance
diff --git a/= b/=
deleted file mode 100644
index e69de29b..00000000
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index 2932a6cc..03134ed4 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -1,98 +1,670 @@
-| Name | Description
| License
| Repository URL
[...]
-|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------
[...]
-| aes-gcm | Pure Rust implementation of the AES-GCM
(Galois/Counter Mode) Authenticated Encryption with Associated Data (AEAD)
Cipher with optional architecture-specific hardware acceleration
| Apache-2.0 OR MIT
| https://github.com/RustCrypto/AEADs
[...]
-| ahash | A non-cryptographic hash function using
AES-NI for high performance
| MIT OR Apache-2.0
| https://github.com/tkaitchuck/ahash
[...]
-| anyhow | Flexible concrete Error type built on
std::error::Error
| MIT OR Apache-2.0
| https://github.com/dtolnay/anyhow
[...]
-| assert_cmd | Test CLI Applications.
| MIT OR Apache-2.0
| https://github.com/assert-rs/assert_cmd.git
[...]
-| async-broadcast | Async broadcast channels
| MIT OR Apache-2.0
| https://github.com/smol-rs/async-broadcast
[...]
-| async-dropper | The least-worst ad-hoc implementation
of AsyncDrop as a Derive macro
| MIT
| https://github.com/t3hmrman/async-dropper
[...]
-| async-trait | Type erasure for async trait methods
| MIT OR Apache-2.0
| https://github.com/dtolnay/async-trait
[...]
-| atone | A VecDeque and Vec variant that spreads
resize load across pushes.
| MIT OR Apache-2.0
| https://github.com/jonhoo/atone.git
[...]
-| axum | Web framework that focuses on
ergonomics and modularity
| MIT
| https://github.com/tokio-rs/axum
[...]
-| axum-server | High level server designed to be used
with axum framework.
| MIT
| https://github.com/programatik29/axum-server
[...]
-| base64 | encodes and decodes base64 as bytes or
utf8
| MIT OR Apache-2.0
| https://github.com/marshallpierce/rust-base64
[...]
-| bcrypt | Easily hash and verify passwords using
bcrypt
| MIT
| https://github.com/Keats/rust-bcrypt
[...]
-| bincode | A binary serialization /
deserialization strategy for transforming structs into bytes and vice versa!
| MIT
|
https://github.com/bincode-org/bincode [...]
-| blake3 | the BLAKE3 hash function
| CC0-1.0 OR Apache-2.0 OR
Apache-2.0 WITH LLVM-exception | https://github.com/BLAKE3-team/BLAKE3
[...]
-| bon | A macro that generates builder
functions
| MIT OR
Apache-2.0 |
https://github.com/elastio/bon [...]
-| byte-unit | A library for interacting with units of
bytes.
| MIT
| https://github.com/magiclen/byte-unit
[...]
-| bytes | Types and traits for working with bytes
| MIT
| https://github.com/tokio-rs/bytes
[...]
-| chrono | Date and time library for Rust
| MIT OR Apache-2.0
| https://github.com/chronotope/chrono
[...]
-| clap | A simple to use, efficient, and
full-featured Command Line Argument Parser
| MIT OR
Apache-2.0 |
https://github.com/clap-rs/clap [...]
-| clap_complete | Generate shell completion scripts for
your clap::Command
| MIT OR Apache-2.0
| https://github.com/clap-rs/clap
[...]
-| colored | The most simple way to add colors in
your terminal
| MPL-2.0
| https://github.com/mackwic/colored
[...]
-| comfy-table | An easy to use library for building
beautiful tables with automatic content wrapping
| MIT
| https://github.com/nukesor/comfy-table
[...]
-| console-subscriber | A `tracing-subscriber::Layer` for
collecting Tokio console telemetry.
| MIT
| https://github.com/tokio-rs/console/
[...]
-| convert_case | Convert strings into any case
| MIT
| https://github.com/rutrum/convert-case
[...]
-| crc32fast | Fast, SIMD-accelerated CRC32 (IEEE)
checksum computation
| MIT OR Apache-2.0
| https://github.com/srijs/rust-crc32fast
[...]
-| csv | Fast CSV parsing with support for
serde.
| Unlicense/MIT
| https://github.com/BurntSushi/rust-csv
[...]
-| ctor | __attribute__((constructor)) for Rust
| Apache-2.0 OR MIT
| https://github.com/mmastrac/rust-ctor
[...]
-| dashmap | Blazing fast concurrent HashMap for
Rust.
| MIT
| https://github.com/xacrimon/dashmap
[...]
-| derive-new | `#[derive(new)]` implements simple
constructor functions for structs and enums.
| MIT
| https://github.com/nrc/derive-new
[...]
-| derive_more | Adds #[derive(x)] macros for more
traits
| MIT
| https://github.com/JelteF/derive_more
[...]
-| dirs | A tiny low-level library that provides
platform-specific standard locations of directories for config, cache and other
data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by
the XDG base/user directory specifications on Linux, the Known Folder API on
Windows, and the Standard Directory guidelines on macOS. | MIT OR Apache-2.0
| https://github.com/soc/dirs-rs
[...]
-| dotenvy | A well-maintained fork of the dotenv
crate
| MIT
| https://github.com/allan2/dotenvy
[...]
-| env_logger | A logging implementation for `log`
which is configured via an environment variable.
| MIT OR Apache-2.0
| https://github.com/rust-cli/env_logger
[...]
-| error_set | An error set macro that simplifies
error management by providing a streamlined method for defining errors and
easily converting between them. Inspired by Zig's error set type.
| Apache-2.0
|
https://github.com/mcmah309/error_set [...]
-| fast-async-mutex | It is a lib which provide asynchronous
locking mechanisms (Mutex, RwLock, OrderedMutex and OrderedRwLock)
| Apache-2.0/MIT
| https://github.com/Mnwa/fast-async-mutex
[...]
-| figlet-rs | Rust implementation of FIGlet to create
ascii art
| Apache-2.0
| https://github.com/yuanbohan/rs-figlet
[...]
-| figment | A configuration library so con-free,
it's unreal.
| MIT OR Apache-2.0
| https://github.com/SergioBenitez/Figment
[...]
-| flume | A blazingly fast multi-producer channel
| MIT OR Apache-2.0
| https://github.com/zesterer/flume
[...]
-| futures | An implementation of futures and
streams featuring zero allocations, composability, and iterator-like
interfaces.
| MIT OR
Apache-2.0 |
https://github.com/rust-lang/futures-rs [...]
-| futures-util | Common utilities and extension traits
for the futures-rs library.
| MIT OR Apache-2.0
| https://github.com/rust-lang/futures-rs
[...]
-| human_format | Rust Port of human-format from node,
formatting numbers for us, while the machines are still at bay.
| MIT
| https://github.com/BobGneu/human-format-rs
[...]
-| humantime | A parser and formatter for
std::time::{Duration, SystemTime}
|
MIT/Apache-2.0 |
https://github.com/tailhook/humantime [...]
-| jsonwebtoken | Create and decode JWTs in a strongly
typed way.
| MIT
| https://github.com/Keats/jsonwebtoken
[...]
-| keyring | Cross-platform library for managing
passwords/credentials
| MIT OR Apache-2.0
| https://github.com/hwchen/keyring-rs.git
[...]
-| lazy_static | A macro for declaring lazily evaluated
statics in Rust.
| MIT OR Apache-2.0
|
https://github.com/rust-lang-nursery/lazy-static.rs [...]
-| libc | Raw FFI bindings to platform libraries
like libc.
| MIT OR Apache-2.0
| https://github.com/rust-lang/libc
[...]
-| log | A lightweight logging facade for Rust
| MIT OR Apache-2.0
| https://github.com/rust-lang/log
[...]
-| mimalloc | Performance and security oriented
drop-in allocator
| MIT
|
https://github.com/purpleprotocol/mimalloc_rust [...]
-| mockall | A powerful mock object library for
Rust.
| MIT OR Apache-2.0
| https://github.com/asomers/mockall
[...]
-| moka | A fast and concurrent cache library
inspired by Java Caffeine
| MIT OR Apache-2.0
| https://github.com/moka-rs/moka
[...]
-| nonzero_lit | Easy, safe, and fully zero-cost NonZero
constants and literals.
| MIT OR Apache-2.0 OR
CC0-1.0 | https://github.com/thomcc/nonzero_lit
[...]
-| openssl | OpenSSL bindings
| Apache-2.0
| https://github.com/sfackler/rust-openssl
[...]
-| opentelemetry | OpenTelemetry API for Rust
| Apache-2.0
|
https://github.com/open-telemetry/opentelemetry-rust [...]
-| opentelemetry-appender-tracing | An OpenTelemetry log appender for the
tracing crate
| Apache-2.0
|
https://github.com/open-telemetry/opentelemetry-rust/tree/ma [...]
-| opentelemetry-otlp | Exporter for the OpenTelemetry
Collector
| Apache-2.0
|
https://github.com/open-telemetry/opentelemetry-rust/tree/ma [...]
-| opentelemetry-semantic-conventions | Semantic conventions for OpenTelemetry
| Apache-2.0
|
https://github.com/open-telemetry/opentelemetry-rust/tree/ma [...]
-| opentelemetry_sdk | The SDK for the OpenTelemetry metrics
collection and distributed tracing framework
| Apache-2.0
|
https://github.com/open-telemetry/opentelemetry-rust [...]
-| passterm | Read terminal password, check isatty
| BSD-3-Clause
| https://github.com/finfet/passterm
[...]
-| predicates | An implementation of boolean-valued
predicate functions.
| MIT OR Apache-2.0
| https://github.com/assert-rs/predicates-rs
[...]
-| prometheus-client | Open Metrics client library allowing
users to natively instrument applications.
| MIT OR Apache-2.0
| https://github.com/prometheus/client_rust
[...]
-| quinn | Versatile QUIC transport protocol
implementation
| MIT OR Apache-2.0
| https://github.com/quinn-rs/quinn
[...]
-| rcgen | Rust X.509 certificate generator
| MIT OR Apache-2.0
| https://github.com/rustls/rcgen
[...]
-| regex | An implementation of regular
expressions for Rust. This implementation uses finite automata and guarantees
linear time matching on all inputs.
| MIT OR
Apache-2.0 |
https://github.com/rust-lang/regex [...]
-| reqwest | higher level HTTP client library
| MIT OR Apache-2.0
| https://github.com/seanmonstar/reqwest
[...]
-| reqwest-middleware | Wrapper around reqwest to allow for
client middleware chains.
| MIT OR Apache-2.0
|
https://github.com/TrueLayer/reqwest-middleware [...]
-| reqwest-retry | Retry middleware for reqwest.
| MIT OR Apache-2.0
|
https://github.com/TrueLayer/reqwest-middleware [...]
-| ring | Safe, fast, small crypto using Rust.
| non-standard
| https://github.com/briansmith/ring
[...]
-| rust-s3 | Rust library for working with AWS S3
and compatible object storage APIs
| MIT
| https://github.com/durch/rust-s3
[...]
-| rustls | Rustls is a modern TLS library written
in Rust.
| Apache-2.0 OR ISC OR
MIT | https://github.com/rustls/rustls
[...]
-| rustls-pemfile | Basic .pem file parser for keys and
certificates
| Apache-2.0 OR ISC OR
MIT | https://github.com/rustls/pemfile
[...]
-| serde | A generic serialization/deserialization
framework
| MIT OR Apache-2.0
| https://github.com/serde-rs/serde
[...]
-| serde_derive | Macros 1.1 implementation of
#[derive(Serialize, Deserialize)]
| MIT OR
Apache-2.0 |
https://github.com/serde-rs/serde [...]
-| serde_json | A JSON serialization file format
| MIT OR Apache-2.0
| https://github.com/serde-rs/json
[...]
-| serde_with | Custom de/serialization functions for
Rust's serde
| MIT OR Apache-2.0
| https://github.com/jonasbb/serde_with/
[...]
-| serial_test | Allows for the creation of serialised
Rust tests
| MIT
| https://github.com/palfrey/serial_test/
[...]
-| static-toml | Effortlessly embed TOML files into your
Rust code as static data with custom data structures.
| MIT
| https://github.com/cptpiepmatz/static-toml
[...]
-| strum | Helpful macros for working with enums
and strings
| MIT
| https://github.com/Peternator7/strum
[...]
-| sysinfo | Library to get system information such
as processes, CPUs, disks, components and networks
| MIT
| https://github.com/GuillaumeGomez/sysinfo
[...]
-| tempfile | A library for managing temporary files
and directories.
| MIT OR Apache-2.0
| https://github.com/Stebalien/tempfile
[...]
-| thiserror | derive(Error)
| MIT OR Apache-2.0
| https://github.com/dtolnay/thiserror
[...]
-| tokio | An event-driven, non-blocking I/O
platform for writing asynchronous I/O backed applications.
| MIT
| https://github.com/tokio-rs/tokio
[...]
-| tokio-native-tls | An implementation of TLS/SSL streams
for Tokio using native-tls giving an implementation of TLS for nonblocking I/O
streams.
| MIT
| https://github.com/tokio-rs/tls
[...]
-| tokio-rustls | Asynchronous TLS/SSL streams for Tokio
using Rustls.
| MIT OR Apache-2.0
| https://github.com/rustls/tokio-rustls
[...]
-| toml | A native Rust encoder and decoder of
TOML-formatted files and streams. Provides implementations of the standard
Serialize/Deserialize traits for TOML data to facilitate deserializing and
serializing Rust structures.
| MIT OR
Apache-2.0 |
https://github.com/toml-rs/toml [...]
-| tower-http | Tower middleware and utilities for HTTP
clients and servers
| MIT
| https://github.com/tower-rs/tower-http
[...]
-| tracing | Application-level tracing for Rust.
| MIT
| https://github.com/tokio-rs/tracing
[...]
-| tracing-appender | Provides utilities for file appenders
and making non-blocking writers.
| MIT
| https://github.com/tokio-rs/tracing
[...]
-| tracing-opentelemetry | OpenTelemetry integration for tracing
| MIT
|
https://github.com/tokio-rs/tracing-opentelemetry [...]
-| tracing-subscriber | Utilities for implementing and
composing `tracing` subscribers.
| MIT
| https://github.com/tokio-rs/tracing
[...]
-| trait-variant | Utilities for working with 'impl
Trait's in Rust.
| MIT OR Apache-2.0
|
https://github.com/rust-lang/impl-trait-utils [...]
-| twox-hash | A Rust implementation of the XXHash and
XXH3 algorithms
| MIT
| https://github.com/shepmaster/twox-hash
[...]
-| ulid | a Universally Unique Lexicographically
Sortable Identifier implementation
| MIT
| https://github.com/dylanhart/ulid-rs
[...]
-| uuid | A library to generate and parse UUIDs.
| MIT OR Apache-2.0
| https://github.com/uuid-rs/uuid
[...]
-| vergen-git2 | Generate 'cargo:rustc-env' instructions
via 'build.rs' for use in your code via the 'env!' macro
| MIT OR Apache-2.0
| https://github.com/rustyhorde/vergen
[...]
-| webpki-roots | Mozilla's CA root certificates for use
with webpki
| Apache-2.0 OR MIT OR
MPL-2.0 | https://github.com/rustls/webpki-roots
[...]
-| zip | Library to support the reading and
writing of zip files.
| MIT
| https://github.com/zip-rs/zip2.git
[...]
\ No newline at end of file
+addr2line: 0.24.2, "Apache-2.0 OR MIT",
+adler2: 2.0.0, "0BSD OR Apache-2.0 OR MIT",
+aead: 0.5.2, "Apache-2.0 OR MIT",
+aes: 0.8.4, "Apache-2.0 OR MIT",
+aes-gcm: 0.10.3, "Apache-2.0 OR MIT",
+ahash: 0.7.8, "Apache-2.0 OR MIT",
+ahash: 0.8.12, "Apache-2.0 OR MIT",
+aho-corasick: 1.1.3, "MIT OR Unlicense",
+allocator-api2: 0.2.21, "Apache-2.0 OR MIT",
+android-tzdata: 0.1.1, "Apache-2.0 OR MIT",
+android_system_properties: 0.1.5, "Apache-2.0 OR MIT",
+anstream: 0.6.18, "Apache-2.0 OR MIT",
+anstyle: 1.0.10, "Apache-2.0 OR MIT",
+anstyle-parse: 0.2.6, "Apache-2.0 OR MIT",
+anstyle-query: 1.1.2, "Apache-2.0 OR MIT",
+anstyle-wincon: 3.0.7, "Apache-2.0 OR MIT",
+anyhow: 1.0.98, "Apache-2.0 OR MIT",
+arbitrary: 1.4.1, "Apache-2.0 OR MIT",
+arc-swap: 1.7.1, "Apache-2.0 OR MIT",
+arrayref: 0.3.9, "BSD-2-Clause",
+arrayvec: 0.7.6, "Apache-2.0 OR MIT",
+assert_cmd: 2.0.17, "Apache-2.0 OR MIT",
+async-broadcast: 0.7.2, "Apache-2.0 OR MIT",
+async-compression: 0.4.19, "Apache-2.0 OR MIT",
+async-dropper: 0.3.1, "MIT",
+async-dropper-derive: 0.3.1, "MIT",
+async-dropper-simple: 0.2.6, "MIT",
+async-lock: 3.4.0, "Apache-2.0 OR MIT",
+async-scoped: 0.9.0, "Apache-2.0 OR MIT",
+async-stream: 0.3.6, "MIT",
+async-stream-impl: 0.3.6, "MIT",
+async-trait: 0.1.88, "Apache-2.0 OR MIT",
+async_zip: 0.0.17, "MIT",
+atomic: 0.6.0, "Apache-2.0 OR MIT",
+atomic-waker: 1.1.2, "Apache-2.0 OR MIT",
+attohttpc: 0.28.5, "MPL-2.0",
+autocfg: 1.4.0, "Apache-2.0 OR MIT",
+aws-creds: 0.37.0, "MIT",
+aws-lc-rs: 1.13.1, "ISC AND (Apache-2.0 OR ISC)",
+aws-lc-sys: 0.29.0, "ISC AND (Apache-2.0 OR ISC) AND OpenSSL",
+aws-region: 0.25.5, "MIT",
+axum: 0.7.9, "MIT",
+axum: 0.8.4, "MIT",
+axum-core: 0.4.5, "MIT",
+axum-core: 0.5.2, "MIT",
+axum-server: 0.7.2, "MIT",
+backtrace: 0.3.75, "Apache-2.0 OR MIT",
+base64: 0.21.7, "Apache-2.0 OR MIT",
+base64: 0.22.1, "Apache-2.0 OR MIT",
+bcrypt: 0.17.0, "MIT",
+bench: 0.2.4, "Apache-2.0",
+bincode: 2.0.1, "MIT",
+bincode_derive: 2.0.1, "MIT",
+bindgen: 0.69.5, "BSD-3-Clause",
+bitflags: 1.3.2, "Apache-2.0 OR MIT",
+bitflags: 2.9.0, "Apache-2.0 OR MIT",
+bitvec: 1.0.1, "MIT",
+blake3: 1.8.2, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR CC0-1.0",
+block-buffer: 0.10.4, "Apache-2.0 OR MIT",
+blowfish: 0.9.1, "Apache-2.0 OR MIT",
+bon: 3.6.3, "Apache-2.0 OR MIT",
+bon-macros: 3.6.3, "Apache-2.0 OR MIT",
+borsh: 1.5.7, "Apache-2.0 OR MIT",
+borsh-derive: 1.5.7, "Apache-2.0",
+bstr: 1.12.0, "Apache-2.0 OR MIT",
+bumpalo: 3.17.0, "Apache-2.0 OR MIT",
+byte-unit: 5.1.6, "MIT",
+bytecheck: 0.6.12, "MIT",
+bytecheck_derive: 0.6.12, "MIT",
+bytemuck: 1.23.0, "Apache-2.0 OR MIT OR Zlib",
+byteorder: 1.5.0, "MIT OR Unlicense",
+bytes: 1.10.1, "MIT",
+bzip2: 0.5.2, "Apache-2.0 OR MIT",
+bzip2-sys: 0.1.13+1.0.8, "Apache-2.0 OR MIT",
+camino: 1.1.9, "Apache-2.0 OR MIT",
+cargo-platform: 0.1.9, "Apache-2.0 OR MIT",
+cargo_metadata: 0.19.2, "MIT",
+cc: 1.2.22, "Apache-2.0 OR MIT",
+cesu8: 1.1.0, "Apache-2.0 OR MIT",
+cexpr: 0.6.0, "Apache-2.0 OR MIT",
+cfg-if: 1.0.0, "Apache-2.0 OR MIT",
+cfg_aliases: 0.2.1, "MIT",
+charming: 0.4.0, "Apache-2.0 OR MIT",
+chrono: 0.4.41, "Apache-2.0 OR MIT",
+cipher: 0.4.4, "Apache-2.0 OR MIT",
+clang-sys: 1.8.1, "Apache-2.0",
+clap: 4.5.37, "Apache-2.0 OR MIT",
+clap_builder: 4.5.37, "Apache-2.0 OR MIT",
+clap_complete: 4.5.50, "Apache-2.0 OR MIT",
+clap_derive: 4.5.32, "Apache-2.0 OR MIT",
+clap_lex: 0.7.4, "Apache-2.0 OR MIT",
+cmake: 0.1.54, "Apache-2.0 OR MIT",
+colorchoice: 1.0.3, "Apache-2.0 OR MIT",
+colored: 3.0.0, "MPL-2.0",
+combine: 4.6.7, "MIT",
+comfy-table: 7.1.4, "MIT",
+concurrent-queue: 2.5.0, "Apache-2.0 OR MIT",
+console-api: 0.8.1, "MIT",
+console-subscriber: 0.4.1, "MIT",
+const-random: 0.1.18, "Apache-2.0 OR MIT",
+const-random-macro: 0.1.16, "Apache-2.0 OR MIT",
+constant_time_eq: 0.3.1, "Apache-2.0 OR CC0-1.0 OR MIT-0",
+convert_case: 0.6.0, "MIT",
+convert_case: 0.7.1, "MIT",
+core-foundation: 0.9.4, "Apache-2.0 OR MIT",
+core-foundation: 0.10.0, "Apache-2.0 OR MIT",
+core-foundation-sys: 0.8.7, "Apache-2.0 OR MIT",
+cpufeatures: 0.2.17, "Apache-2.0 OR MIT",
+crc: 3.3.0, "Apache-2.0 OR MIT",
+crc-catalog: 2.4.0, "Apache-2.0 OR MIT",
+crc32fast: 1.4.2, "Apache-2.0 OR MIT",
+crossbeam: 0.8.4, "Apache-2.0 OR MIT",
+crossbeam-channel: 0.5.15, "Apache-2.0 OR MIT",
+crossbeam-deque: 0.8.6, "Apache-2.0 OR MIT",
+crossbeam-epoch: 0.9.18, "Apache-2.0 OR MIT",
+crossbeam-queue: 0.3.12, "Apache-2.0 OR MIT",
+crossbeam-utils: 0.8.21, "Apache-2.0 OR MIT",
+crossterm: 0.28.1, "MIT",
+crossterm_winapi: 0.9.1, "MIT",
+crunchy: 0.2.3, "MIT",
+crypto-common: 0.1.6, "Apache-2.0 OR MIT",
+ctor: 0.4.2, "Apache-2.0 OR MIT",
+ctor-proc-macro: 0.0.5, "Apache-2.0 OR MIT",
+ctr: 0.9.2, "Apache-2.0 OR MIT",
+darling: 0.20.11, "MIT",
+darling_core: 0.20.11, "MIT",
+darling_macro: 0.20.11, "MIT",
+dashmap: 6.1.0, "MIT",
+dbus: 0.9.7, "Apache-2.0 OR MIT",
+dbus-secret-service: 4.0.3, "Apache-2.0 OR MIT",
+deflate64: 0.1.9, "MIT",
+deranged: 0.4.0, "Apache-2.0 OR MIT",
+derive-new: 0.7.0, "MIT",
+derive_arbitrary: 1.4.1, "Apache-2.0 OR MIT",
+derive_builder: 0.20.2, "Apache-2.0 OR MIT",
+derive_builder_core: 0.20.2, "Apache-2.0 OR MIT",
+derive_builder_macro: 0.20.2, "Apache-2.0 OR MIT",
+derive_more: 2.0.1, "MIT",
+derive_more-impl: 2.0.1, "MIT",
+difflib: 0.4.0, "MIT",
+digest: 0.10.7, "Apache-2.0 OR MIT",
+dirs: 6.0.0, "Apache-2.0 OR MIT",
+dirs-sys: 0.5.0, "Apache-2.0 OR MIT",
+displaydoc: 0.2.5, "Apache-2.0 OR MIT",
+dlv-list: 0.5.2, "Apache-2.0 OR MIT",
+doc-comment: 0.3.3, "MIT",
+dotenvy: 0.15.7, "MIT",
+downcast: 0.11.0, "MIT",
+dtoa: 1.0.10, "Apache-2.0 OR MIT",
+dtor: 0.0.6, "Apache-2.0 OR MIT",
+dtor-proc-macro: 0.0.5, "Apache-2.0 OR MIT",
+dunce: 1.0.5, "Apache-2.0 OR CC0-1.0 OR MIT-0",
+either: 1.15.0, "Apache-2.0 OR MIT",
+enum_dispatch: 0.3.13, "Apache-2.0 OR MIT",
+env_filter: 0.1.3, "Apache-2.0 OR MIT",
+env_logger: 0.11.8, "Apache-2.0 OR MIT",
+equivalent: 1.0.2, "Apache-2.0 OR MIT",
+err_trail: 0.8.5, "Apache-2.0",
+errno: 0.3.11, "Apache-2.0 OR MIT",
+error_set: 0.8.5, "Apache-2.0",
+error_set_impl: 0.8.5, "Apache-2.0",
+event-listener: 5.4.0, "Apache-2.0 OR MIT",
+event-listener-strategy: 0.5.4, "Apache-2.0 OR MIT",
+ext-trait: 1.0.1, "Apache-2.0 OR MIT OR Zlib",
+ext-trait-proc_macros: 1.0.1, "Apache-2.0 OR MIT OR Zlib",
+extension-traits: 1.0.1, "Apache-2.0 OR MIT OR Zlib",
+fast-async-mutex: 0.6.7, "Apache-2.0 OR MIT",
+fastbloom: 0.9.0, "Apache-2.0 OR MIT",
+fastrand: 2.3.0, "Apache-2.0 OR MIT",
+figlet-rs: 0.1.5, "Apache-2.0",
+figment: 0.10.19, "Apache-2.0 OR MIT",
+flate2: 1.1.1, "Apache-2.0 OR MIT",
+float-cmp: 0.10.0, "MIT",
+flume: 0.11.1, "Apache-2.0 OR MIT",
+fnv: 1.0.7, "Apache-2.0 OR MIT",
+foldhash: 0.1.5, "Zlib",
+foreign-types: 0.3.2, "Apache-2.0 OR MIT",
+foreign-types-shared: 0.1.1, "Apache-2.0 OR MIT",
+form_urlencoded: 1.2.1, "Apache-2.0 OR MIT",
+fragile: 2.0.1, "Apache-2.0",
+fs-err: 3.1.0, "Apache-2.0 OR MIT",
+fs_extra: 1.3.0, "MIT",
+funty: 2.0.0, "MIT",
+futures: 0.3.31, "Apache-2.0 OR MIT",
+futures-channel: 0.3.31, "Apache-2.0 OR MIT",
+futures-core: 0.3.31, "Apache-2.0 OR MIT",
+futures-executor: 0.3.31, "Apache-2.0 OR MIT",
+futures-io: 0.3.31, "Apache-2.0 OR MIT",
+futures-lite: 2.6.0, "Apache-2.0 OR MIT",
+futures-macro: 0.3.31, "Apache-2.0 OR MIT",
+futures-sink: 0.3.31, "Apache-2.0 OR MIT",
+futures-task: 0.3.31, "Apache-2.0 OR MIT",
+futures-timer: 3.0.3, "Apache-2.0 OR MIT",
+futures-util: 0.3.31, "Apache-2.0 OR MIT",
+generator: 0.8.4, "Apache-2.0 OR MIT",
+generic-array: 0.14.7, "MIT",
+getrandom: 0.2.16, "Apache-2.0 OR MIT",
+getrandom: 0.3.3, "Apache-2.0 OR MIT",
+ghash: 0.5.1, "Apache-2.0 OR MIT",
+gimli: 0.31.1, "Apache-2.0 OR MIT",
+git2: 0.20.2, "Apache-2.0 OR MIT",
+glob: 0.3.2, "Apache-2.0 OR MIT",
+governor: 0.10.0, "MIT",
+h2: 0.4.10, "MIT",
+handlebars: 4.5.0, "MIT",
+hashbrown: 0.12.3, "Apache-2.0 OR MIT",
+hashbrown: 0.14.5, "Apache-2.0 OR MIT",
+hashbrown: 0.15.3, "Apache-2.0 OR MIT",
+hdrhistogram: 7.5.4, "Apache-2.0 OR MIT",
+heck: 0.5.0, "Apache-2.0 OR MIT",
+hex: 0.4.3, "Apache-2.0 OR MIT",
+hmac: 0.12.1, "Apache-2.0 OR MIT",
+home: 0.5.11, "Apache-2.0 OR MIT",
+hostname: 0.4.1, "MIT",
+http: 0.2.12, "Apache-2.0 OR MIT",
+http: 1.3.1, "Apache-2.0 OR MIT",
+http-body: 0.4.6, "MIT",
+http-body: 1.0.1, "MIT",
+http-body-util: 0.1.3, "MIT",
+httparse: 1.10.1, "Apache-2.0 OR MIT",
+httpdate: 1.0.3, "Apache-2.0 OR MIT",
+human-repr: 1.1.0, "MIT",
+humantime: 2.2.0, "Apache-2.0 OR MIT",
+hyper: 0.14.32, "MIT",
+hyper: 1.6.0, "MIT",
+hyper-rustls: 0.27.5, "Apache-2.0 OR ISC OR MIT",
+hyper-timeout: 0.5.2, "Apache-2.0 OR MIT",
+hyper-tls: 0.5.0, "Apache-2.0 OR MIT",
+hyper-util: 0.1.11, "MIT",
+iana-time-zone: 0.1.63, "Apache-2.0 OR MIT",
+iana-time-zone-haiku: 0.1.2, "Apache-2.0 OR MIT",
+icu_collections: 2.0.0, "Unicode-3.0",
+icu_locale_core: 2.0.0, "Unicode-3.0",
+icu_normalizer: 2.0.0, "Unicode-3.0",
+icu_normalizer_data: 2.0.0, "Unicode-3.0",
+icu_properties: 2.0.0, "Unicode-3.0",
+icu_properties_data: 2.0.0, "Unicode-3.0",
+icu_provider: 2.0.0, "Unicode-3.0",
+ident_case: 1.0.1, "Apache-2.0 OR MIT",
+idna: 1.0.3, "Apache-2.0 OR MIT",
+idna_adapter: 1.2.1, "Apache-2.0 OR MIT",
+iggy: 0.7.0, "Apache-2.0",
+iggy-bench-report: 0.2.2, "Apache-2.0",
+iggy-cli: 0.9.0, "Apache-2.0",
+iggy_binary_protocol: 0.7.0, "Apache-2.0",
+iggy_common: 0.7.0, "Apache-2.0",
+iggy_examples: 0.0.5, "Apache-2.0",
+indexmap: 1.9.3, "Apache-2.0 OR MIT",
+indexmap: 2.9.0, "Apache-2.0 OR MIT",
+indices: 0.3.6, "Apache-2.0",
+inlinable_string: 0.1.15, "Apache-2.0 OR MIT",
+inout: 0.1.4, "Apache-2.0 OR MIT",
+instant: 0.1.13, "BSD-3-Clause",
+integration: 0.0.1, "Apache-2.0",
+ipnet: 2.11.0, "Apache-2.0 OR MIT",
+is_terminal_polyfill: 1.70.1, "Apache-2.0 OR MIT",
+itertools: 0.12.1, "Apache-2.0 OR MIT",
+itertools: 0.14.0, "Apache-2.0 OR MIT",
+itoa: 1.0.15, "Apache-2.0 OR MIT",
+jiff: 0.2.13, "MIT OR Unlicense",
+jiff-static: 0.2.13, "MIT OR Unlicense",
+jni: 0.21.1, "Apache-2.0 OR MIT",
+jni-sys: 0.3.0, "Apache-2.0 OR MIT",
+jobserver: 0.1.33, "Apache-2.0 OR MIT",
+js-sys: 0.3.77, "Apache-2.0 OR MIT",
+jsonwebtoken: 9.3.1, "MIT",
+keyring: 3.6.2, "Apache-2.0 OR MIT",
+lazy_static: 1.5.0, "Apache-2.0 OR MIT",
+lazycell: 1.3.0, "Apache-2.0 OR MIT",
+lending-iterator: 0.1.7, "Apache-2.0 OR MIT OR Zlib",
+lending-iterator-proc_macros: 0.1.7, "Apache-2.0 OR MIT OR Zlib",
+libc: 0.2.172, "Apache-2.0 OR MIT",
+libdbus-sys: 0.2.5, "Apache-2.0 OR MIT",
+libgit2-sys: 0.18.1+1.9.0, "Apache-2.0 OR MIT",
+libloading: 0.8.6, "ISC",
+libmimalloc-sys: 0.1.42, "MIT",
+libredox: 0.1.3, "MIT",
+libz-sys: 1.1.22, "Apache-2.0 OR MIT",
+linux-raw-sys: 0.4.15, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+linux-raw-sys: 0.9.4, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+litemap: 0.8.0, "Unicode-3.0",
+lock_api: 0.4.12, "Apache-2.0 OR MIT",
+log: 0.4.27, "Apache-2.0 OR MIT",
+loom: 0.7.2, "MIT",
+lru-slab: 0.1.2, "Apache-2.0 OR MIT OR Zlib",
+lzma-rs: 0.3.0, "MIT",
+lzma-sys: 0.1.20, "Apache-2.0 OR MIT",
+macro_rules_attribute: 0.1.3, "MIT",
+macro_rules_attribute-proc_macro: 0.1.3, "MIT",
+matchers: 0.1.0, "MIT",
+matchit: 0.7.3, "MIT AND BSD-3-Clause",
+matchit: 0.8.4, "MIT AND BSD-3-Clause",
+maybe-async: 0.2.10, "MIT",
+md5: 0.7.0, "Apache-2.0 OR MIT",
+memchr: 2.7.4, "MIT OR Unlicense",
+mimalloc: 0.1.46, "MIT",
+mime: 0.3.17, "Apache-2.0 OR MIT",
+minidom: 0.15.2, "MPL-2.0",
+minimal-lexical: 0.2.1, "Apache-2.0 OR MIT",
+miniz_oxide: 0.8.8, "Apache-2.0 OR MIT OR Zlib",
+mio: 1.0.3, "MIT",
+mockall: 0.13.1, "Apache-2.0 OR MIT",
+mockall_derive: 0.13.1, "Apache-2.0 OR MIT",
+moka: 0.12.10, "Apache-2.0 OR MIT",
+nanorand: 0.7.0, "Zlib",
+native-tls: 0.2.14, "Apache-2.0 OR MIT",
+never-say-never: 6.6.666, "Apache-2.0 OR MIT OR Zlib",
+nix: 0.30.1, "MIT",
+nom: 7.1.3, "MIT",
+nonzero_ext: 0.3.0, "Apache-2.0",
+nonzero_lit: 0.1.2, "Apache-2.0 OR CC0-1.0 OR MIT",
+normalize-line-endings: 0.3.0, "Apache-2.0",
+nougat: 0.2.4, "Apache-2.0 OR MIT OR Zlib",
+nougat-proc_macros: 0.2.4, "Apache-2.0 OR MIT OR Zlib",
+ntapi: 0.4.1, "Apache-2.0 OR MIT",
+nu-ansi-term: 0.46.0, "MIT",
+num: 0.4.3, "Apache-2.0 OR MIT",
+num-bigint: 0.4.6, "Apache-2.0 OR MIT",
+num-complex: 0.4.6, "Apache-2.0 OR MIT",
+num-conv: 0.1.0, "Apache-2.0 OR MIT",
+num-integer: 0.1.46, "Apache-2.0 OR MIT",
+num-iter: 0.1.45, "Apache-2.0 OR MIT",
+num-rational: 0.4.2, "Apache-2.0 OR MIT",
+num-traits: 0.2.19, "Apache-2.0 OR MIT",
+num_threads: 0.1.7, "Apache-2.0 OR MIT",
+objc2-core-foundation: 0.3.1, "Apache-2.0 OR MIT OR Zlib",
+objc2-io-kit: 0.3.1, "Apache-2.0 OR MIT OR Zlib",
+object: 0.36.7, "Apache-2.0 OR MIT",
+once_cell: 1.21.3, "Apache-2.0 OR MIT",
+opaque-debug: 0.3.1, "Apache-2.0 OR MIT",
+openssl: 0.10.72, "Apache-2.0",
+openssl-macros: 0.1.1, "Apache-2.0 OR MIT",
+openssl-probe: 0.1.6, "Apache-2.0 OR MIT",
+openssl-src: 300.5.0+3.5.0, "Apache-2.0 OR MIT",
+openssl-sys: 0.9.108, "MIT",
+opentelemetry: 0.29.1, "Apache-2.0",
+opentelemetry-appender-tracing: 0.29.1, "Apache-2.0",
+opentelemetry-http: 0.29.0, "Apache-2.0",
+opentelemetry-otlp: 0.29.0, "Apache-2.0",
+opentelemetry-proto: 0.29.0, "Apache-2.0",
+opentelemetry-semantic-conventions: 0.29.0, "Apache-2.0",
+opentelemetry_sdk: 0.29.0, "Apache-2.0",
+option-ext: 0.2.0, "MPL-2.0",
+ordered-multimap: 0.7.3, "MIT",
+overload: 0.1.1, "MIT",
+parking: 2.2.1, "Apache-2.0 OR MIT",
+parking_lot: 0.11.2, "Apache-2.0 OR MIT",
+parking_lot: 0.12.3, "Apache-2.0 OR MIT",
+parking_lot_core: 0.8.6, "Apache-2.0 OR MIT",
+parking_lot_core: 0.9.10, "Apache-2.0 OR MIT",
+passterm: 2.0.1, "BSD-3-Clause",
+paste: 1.0.15, "Apache-2.0 OR MIT",
+pbkdf2: 0.12.2, "Apache-2.0 OR MIT",
+pear: 0.2.9, "Apache-2.0 OR MIT",
+pear_codegen: 0.2.9, "Apache-2.0 OR MIT",
+pem: 3.0.5, "MIT",
+percent-encoding: 2.3.1, "Apache-2.0 OR MIT",
+pest: 2.8.0, "Apache-2.0 OR MIT",
+pest_derive: 2.8.0, "Apache-2.0 OR MIT",
+pest_generator: 2.8.0, "Apache-2.0 OR MIT",
+pest_meta: 2.8.0, "Apache-2.0 OR MIT",
+pin-project: 1.1.10, "Apache-2.0 OR MIT",
+pin-project-internal: 1.1.10, "Apache-2.0 OR MIT",
+pin-project-lite: 0.2.16, "Apache-2.0 OR MIT",
+pin-utils: 0.1.0, "Apache-2.0 OR MIT",
+pkg-config: 0.3.32, "Apache-2.0 OR MIT",
+polonius-the-crab: 0.2.1, "Apache-2.0 OR MIT OR Zlib",
+polyval: 0.6.2, "Apache-2.0 OR MIT",
+portable-atomic: 1.11.0, "Apache-2.0 OR MIT",
+portable-atomic-util: 0.2.4, "Apache-2.0 OR MIT",
+potential_utf: 0.1.2, "Unicode-3.0",
+powerfmt: 0.2.0, "Apache-2.0 OR MIT",
+ppv-lite86: 0.2.21, "Apache-2.0 OR MIT",
+predicates: 3.1.3, "Apache-2.0 OR MIT",
+predicates-core: 1.0.9, "Apache-2.0 OR MIT",
+predicates-tree: 1.0.12, "Apache-2.0 OR MIT",
+prettyplease: 0.2.32, "Apache-2.0 OR MIT",
+proc-macro-crate: 3.3.0, "Apache-2.0 OR MIT",
+proc-macro-error: 1.0.4, "Apache-2.0 OR MIT",
+proc-macro-error-attr: 1.0.4, "Apache-2.0 OR MIT",
+proc-macro2: 1.0.95, "Apache-2.0 OR MIT",
+proc-macro2-diagnostics: 0.10.1, "Apache-2.0 OR MIT",
+prometheus-client: 0.23.1, "Apache-2.0 OR MIT",
+prometheus-client-derive-encode: 0.4.2, "Apache-2.0 OR MIT",
+prost: 0.13.5, "Apache-2.0",
+prost-derive: 0.13.5, "Apache-2.0",
+prost-types: 0.13.5, "Apache-2.0",
+ptr_meta: 0.1.4, "MIT",
+ptr_meta_derive: 0.1.4, "MIT",
+quanta: 0.12.5, "MIT",
+quick-xml: 0.32.0, "MIT",
+quinn: 0.11.8, "Apache-2.0 OR MIT",
+quinn-proto: 0.11.12, "Apache-2.0 OR MIT",
+quinn-udp: 0.5.12, "Apache-2.0 OR MIT",
+quote: 1.0.40, "Apache-2.0 OR MIT",
+r-efi: 5.2.0, "Apache-2.0 OR LGPL-2.1-or-later OR MIT",
+radium: 0.7.0, "MIT",
+rand: 0.8.5, "Apache-2.0 OR MIT",
+rand: 0.9.1, "Apache-2.0 OR MIT",
+rand_chacha: 0.3.1, "Apache-2.0 OR MIT",
+rand_chacha: 0.9.0, "Apache-2.0 OR MIT",
+rand_core: 0.6.4, "Apache-2.0 OR MIT",
+rand_core: 0.9.3, "Apache-2.0 OR MIT",
+raw-cpuid: 11.5.0, "MIT",
+rcgen: 0.13.2, "Apache-2.0 OR MIT",
+redox_syscall: 0.2.16, "MIT",
+redox_syscall: 0.5.12, "MIT",
+redox_users: 0.5.0, "MIT",
+regex: 1.11.1, "Apache-2.0 OR MIT",
+regex-automata: 0.1.10, "MIT OR Unlicense",
+regex-automata: 0.4.9, "Apache-2.0 OR MIT",
+regex-syntax: 0.6.29, "Apache-2.0 OR MIT",
+regex-syntax: 0.8.5, "Apache-2.0 OR MIT",
+rend: 0.4.2, "MIT",
+reqwest: 0.12.15, "Apache-2.0 OR MIT",
+reqwest-middleware: 0.4.2, "Apache-2.0 OR MIT",
+reqwest-retry: 0.7.0, "Apache-2.0 OR MIT",
+retry-policies: 0.4.0, "Apache-2.0 OR MIT",
+ring: 0.17.14, "Apache-2.0 AND ISC",
+rkyv: 0.7.45, "MIT",
+rkyv_derive: 0.7.45, "MIT",
+rust-ini: 0.21.1, "MIT",
+rust-s3: 0.35.1, "MIT",
+rust_decimal: 1.37.1, "MIT",
+rustc-demangle: 0.1.24, "Apache-2.0 OR MIT",
+rustc-hash: 1.1.0, "Apache-2.0 OR MIT",
+rustc-hash: 2.1.1, "Apache-2.0 OR MIT",
+rustc_version: 0.4.1, "Apache-2.0 OR MIT",
+rustix: 0.38.44, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+rustix: 1.0.7, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+rustls: 0.23.27, "Apache-2.0 OR ISC OR MIT",
+rustls-native-certs: 0.8.1, "Apache-2.0 OR ISC OR MIT",
+rustls-pemfile: 2.2.0, "Apache-2.0 OR ISC OR MIT",
+rustls-pki-types: 1.12.0, "Apache-2.0 OR MIT",
+rustls-platform-verifier: 0.5.3, "Apache-2.0 OR MIT",
+rustls-platform-verifier-android: 0.1.1, "Apache-2.0 OR MIT",
+rustls-webpki: 0.103.3, "ISC",
+rustversion: 1.0.20, "Apache-2.0 OR MIT",
+rxml: 0.9.1, "MIT",
+rxml_validation: 0.9.1, "MIT",
+ryu: 1.0.20, "Apache-2.0 OR BSL-1.0",
+safe_arch: 0.7.4, "Apache-2.0 OR MIT OR Zlib",
+same-file: 1.0.6, "MIT OR Unlicense",
+scc: 2.3.4, "Apache-2.0",
+schannel: 0.1.27, "MIT",
+scoped-tls: 1.0.1, "Apache-2.0 OR MIT",
+scopeguard: 1.2.0, "Apache-2.0 OR MIT",
+sdd: 3.0.8, "Apache-2.0",
+seahash: 4.1.0, "MIT",
+security-framework: 2.11.1, "Apache-2.0 OR MIT",
+security-framework: 3.2.0, "Apache-2.0 OR MIT",
+security-framework-sys: 2.14.0, "Apache-2.0 OR MIT",
+semver: 1.0.26, "Apache-2.0 OR MIT",
+serde: 1.0.219, "Apache-2.0 OR MIT",
+serde_derive: 1.0.219, "Apache-2.0 OR MIT",
+serde_json: 1.0.140, "Apache-2.0 OR MIT",
+serde_path_to_error: 0.1.17, "Apache-2.0 OR MIT",
+serde_spanned: 0.6.8, "Apache-2.0 OR MIT",
+serde_urlencoded: 0.7.1, "Apache-2.0 OR MIT",
+serde_with: 3.12.0, "Apache-2.0 OR MIT",
+serde_with_macros: 3.12.0, "Apache-2.0 OR MIT",
+serial_test: 3.2.0, "MIT",
+serial_test_derive: 3.2.0, "MIT",
+server: 0.5.0, "Apache-2.0",
+sha1: 0.10.6, "Apache-2.0 OR MIT",
+sha2: 0.10.9, "Apache-2.0 OR MIT",
+sharded-slab: 0.1.7, "MIT",
+shlex: 1.3.0, "Apache-2.0 OR MIT",
+signal-hook-registry: 1.4.5, "Apache-2.0 OR MIT",
+simd-adler32: 0.3.7, "MIT",
+simdutf8: 0.1.5, "Apache-2.0 OR MIT",
+simple_asn1: 0.6.3, "ISC",
+siphasher: 1.0.1, "Apache-2.0 OR MIT",
+slab: 0.4.9, "MIT",
+smallvec: 1.15.0, "Apache-2.0 OR MIT",
+smartstring: 1.0.1, "MPL-2.0+",
+socket2: 0.5.9, "Apache-2.0 OR MIT",
+spin: 0.9.8, "MIT",
+spinning_top: 0.3.0, "Apache-2.0 OR MIT",
+stable_deref_trait: 1.2.0, "Apache-2.0 OR MIT",
+static-toml: 1.3.0, "MIT",
+static_assertions: 1.1.0, "Apache-2.0 OR MIT",
+strsim: 0.11.1, "MIT",
+strum: 0.27.1, "MIT",
+strum_macros: 0.27.1, "MIT",
+subtle: 2.6.1, "BSD-3-Clause",
+syn: 1.0.109, "Apache-2.0 OR MIT",
+syn: 2.0.101, "Apache-2.0 OR MIT",
+sync_wrapper: 1.0.2, "Apache-2.0",
+synstructure: 0.13.2, "MIT",
+sysinfo: 0.34.2, "MIT",
+sysinfo: 0.35.0, "MIT",
+tagptr: 0.2.0, "Apache-2.0 OR MIT",
+tap: 1.0.1, "MIT",
+tempfile: 3.19.1, "Apache-2.0 OR MIT",
+termtree: 0.5.1, "MIT",
+test-case: 3.3.1, "MIT",
+test-case-core: 3.3.1, "MIT",
+test-case-macros: 3.3.1, "MIT",
+thiserror: 1.0.69, "Apache-2.0 OR MIT",
+thiserror: 2.0.12, "Apache-2.0 OR MIT",
+thiserror-impl: 1.0.69, "Apache-2.0 OR MIT",
+thiserror-impl: 2.0.12, "Apache-2.0 OR MIT",
+thread_local: 1.1.8, "Apache-2.0 OR MIT",
+time: 0.3.41, "Apache-2.0 OR MIT",
+time-core: 0.1.4, "Apache-2.0 OR MIT",
+time-macros: 0.2.22, "Apache-2.0 OR MIT",
+tiny-keccak: 2.0.2, "CC0-1.0",
+tinystr: 0.8.1, "Unicode-3.0",
+tinyvec: 1.9.0, "Apache-2.0 OR MIT OR Zlib",
+tinyvec_macros: 0.1.1, "Apache-2.0 OR MIT OR Zlib",
+tokio: 1.45.0, "MIT",
+tokio-macros: 2.5.0, "MIT",
+tokio-native-tls: 0.3.1, "MIT",
+tokio-rustls: 0.26.2, "Apache-2.0 OR MIT",
+tokio-stream: 0.1.17, "MIT",
+tokio-util: 0.7.15, "MIT",
+toml: 0.8.22, "Apache-2.0 OR MIT",
+toml_datetime: 0.6.9, "Apache-2.0 OR MIT",
+toml_edit: 0.22.26, "Apache-2.0 OR MIT",
+toml_write: 0.1.1, "Apache-2.0 OR MIT",
+tonic: 0.12.3, "MIT",
+tools: 0.1.0, "Apache-2.0",
+tower: 0.4.13, "MIT",
+tower: 0.5.2, "MIT",
+tower-http: 0.6.2, "MIT",
+tower-layer: 0.3.3, "MIT",
+tower-service: 0.3.3, "MIT",
+tracing: 0.1.41, "MIT",
+tracing-appender: 0.2.3, "MIT",
+tracing-attributes: 0.1.28, "MIT",
+tracing-core: 0.1.33, "MIT",
+tracing-log: 0.2.0, "MIT",
+tracing-opentelemetry: 0.30.0, "MIT",
+tracing-subscriber: 0.3.19, "MIT",
+trait-variant: 0.1.2, "Apache-2.0 OR MIT",
+trim-in-place: 0.1.7, "MIT",
+try-lock: 0.2.5, "MIT",
+twox-hash: 2.1.0, "MIT",
+typenum: 1.18.0, "Apache-2.0 OR MIT",
+ucd-trie: 0.1.7, "Apache-2.0 OR MIT",
+ulid: 1.2.1, "MIT",
+uncased: 0.9.10, "Apache-2.0 OR MIT",
+unicode-ident: 1.0.18, "(MIT OR Apache-2.0) AND Unicode-3.0",
+unicode-segmentation: 1.12.0, "Apache-2.0 OR MIT",
+unicode-width: 0.2.0, "Apache-2.0 OR MIT",
+unicode-xid: 0.2.6, "Apache-2.0 OR MIT",
+universal-hash: 0.5.1, "Apache-2.0 OR MIT",
+untrusted: 0.9.0, "ISC",
+unty: 0.0.4, "Apache-2.0 OR MIT",
+url: 2.5.4, "Apache-2.0 OR MIT",
+utf8-width: 0.1.7, "MIT",
+utf8_iter: 1.0.4, "Apache-2.0 OR MIT",
+utf8parse: 0.2.2, "Apache-2.0 OR MIT",
+uuid: 1.16.0, "Apache-2.0 OR MIT",
+valuable: 0.1.1, "MIT",
+vcpkg: 0.2.15, "Apache-2.0 OR MIT",
+vergen: 9.0.6, "Apache-2.0 OR MIT",
+vergen-git2: 1.0.7, "Apache-2.0 OR MIT",
+vergen-lib: 0.1.6, "Apache-2.0 OR MIT",
+version_check: 0.9.5, "Apache-2.0 OR MIT",
+virtue: 0.0.18, "MIT",
+wait-timeout: 0.2.1, "Apache-2.0 OR MIT",
+walkdir: 2.5.0, "MIT OR Unlicense",
+want: 0.3.1, "MIT",
+wasi: 0.11.0+wasi-snapshot-preview1, "Apache-2.0 OR Apache-2.0 WITH
LLVM-exception OR MIT",
+wasi: 0.14.2+wasi-0.2.4, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+wasm-bindgen: 0.2.100, "Apache-2.0 OR MIT",
+wasm-bindgen-backend: 0.2.100, "Apache-2.0 OR MIT",
+wasm-bindgen-futures: 0.4.50, "Apache-2.0 OR MIT",
+wasm-bindgen-macro: 0.2.100, "Apache-2.0 OR MIT",
+wasm-bindgen-macro-support: 0.2.100, "Apache-2.0 OR MIT",
+wasm-bindgen-shared: 0.2.100, "Apache-2.0 OR MIT",
+wasm-timer: 0.2.5, "MIT",
+web-sys: 0.3.77, "Apache-2.0 OR MIT",
+web-time: 1.1.0, "Apache-2.0 OR MIT",
+webpki-root-certs: 0.26.11, "CDLA-Permissive-2.0",
+webpki-root-certs: 1.0.0, "CDLA-Permissive-2.0",
+webpki-roots: 0.26.11, "CDLA-Permissive-2.0",
+webpki-roots: 1.0.0, "CDLA-Permissive-2.0",
+which: 4.4.2, "MIT",
+wide: 0.7.32, "Apache-2.0 OR MIT OR Zlib",
+winapi: 0.3.9, "Apache-2.0 OR MIT",
+winapi-i686-pc-windows-gnu: 0.4.0, "Apache-2.0 OR MIT",
+winapi-util: 0.1.9, "MIT OR Unlicense",
+winapi-x86_64-pc-windows-gnu: 0.4.0, "Apache-2.0 OR MIT",
+windows: 0.57.0, "Apache-2.0 OR MIT",
+windows: 0.58.0, "Apache-2.0 OR MIT",
+windows: 0.61.1, "Apache-2.0 OR MIT",
+windows-collections: 0.2.0, "Apache-2.0 OR MIT",
+windows-core: 0.57.0, "Apache-2.0 OR MIT",
+windows-core: 0.58.0, "Apache-2.0 OR MIT",
+windows-core: 0.61.0, "Apache-2.0 OR MIT",
+windows-future: 0.2.0, "Apache-2.0 OR MIT",
+windows-implement: 0.57.0, "Apache-2.0 OR MIT",
+windows-implement: 0.58.0, "Apache-2.0 OR MIT",
+windows-implement: 0.60.0, "Apache-2.0 OR MIT",
+windows-interface: 0.57.0, "Apache-2.0 OR MIT",
+windows-interface: 0.58.0, "Apache-2.0 OR MIT",
+windows-interface: 0.59.1, "Apache-2.0 OR MIT",
+windows-link: 0.1.1, "Apache-2.0 OR MIT",
+windows-numerics: 0.2.0, "Apache-2.0 OR MIT",
+windows-registry: 0.4.0, "Apache-2.0 OR MIT",
+windows-result: 0.1.2, "Apache-2.0 OR MIT",
+windows-result: 0.2.0, "Apache-2.0 OR MIT",
+windows-result: 0.3.2, "Apache-2.0 OR MIT",
+windows-strings: 0.1.0, "Apache-2.0 OR MIT",
+windows-strings: 0.3.1, "Apache-2.0 OR MIT",
+windows-strings: 0.4.0, "Apache-2.0 OR MIT",
+windows-sys: 0.45.0, "Apache-2.0 OR MIT",
+windows-sys: 0.48.0, "Apache-2.0 OR MIT",
+windows-sys: 0.52.0, "Apache-2.0 OR MIT",
+windows-sys: 0.59.0, "Apache-2.0 OR MIT",
+windows-targets: 0.42.2, "Apache-2.0 OR MIT",
+windows-targets: 0.48.5, "Apache-2.0 OR MIT",
+windows-targets: 0.52.6, "Apache-2.0 OR MIT",
+windows-targets: 0.53.0, "Apache-2.0 OR MIT",
+windows_aarch64_gnullvm: 0.42.2, "Apache-2.0 OR MIT",
+windows_aarch64_gnullvm: 0.48.5, "Apache-2.0 OR MIT",
+windows_aarch64_gnullvm: 0.52.6, "Apache-2.0 OR MIT",
+windows_aarch64_gnullvm: 0.53.0, "Apache-2.0 OR MIT",
+windows_aarch64_msvc: 0.42.2, "Apache-2.0 OR MIT",
+windows_aarch64_msvc: 0.48.5, "Apache-2.0 OR MIT",
+windows_aarch64_msvc: 0.52.6, "Apache-2.0 OR MIT",
+windows_aarch64_msvc: 0.53.0, "Apache-2.0 OR MIT",
+windows_i686_gnu: 0.42.2, "Apache-2.0 OR MIT",
+windows_i686_gnu: 0.48.5, "Apache-2.0 OR MIT",
+windows_i686_gnu: 0.52.6, "Apache-2.0 OR MIT",
+windows_i686_gnu: 0.53.0, "Apache-2.0 OR MIT",
+windows_i686_gnullvm: 0.52.6, "Apache-2.0 OR MIT",
+windows_i686_gnullvm: 0.53.0, "Apache-2.0 OR MIT",
+windows_i686_msvc: 0.42.2, "Apache-2.0 OR MIT",
+windows_i686_msvc: 0.48.5, "Apache-2.0 OR MIT",
+windows_i686_msvc: 0.52.6, "Apache-2.0 OR MIT",
+windows_i686_msvc: 0.53.0, "Apache-2.0 OR MIT",
+windows_x86_64_gnu: 0.42.2, "Apache-2.0 OR MIT",
+windows_x86_64_gnu: 0.48.5, "Apache-2.0 OR MIT",
+windows_x86_64_gnu: 0.52.6, "Apache-2.0 OR MIT",
+windows_x86_64_gnu: 0.53.0, "Apache-2.0 OR MIT",
+windows_x86_64_gnullvm: 0.42.2, "Apache-2.0 OR MIT",
+windows_x86_64_gnullvm: 0.48.5, "Apache-2.0 OR MIT",
+windows_x86_64_gnullvm: 0.52.6, "Apache-2.0 OR MIT",
+windows_x86_64_gnullvm: 0.53.0, "Apache-2.0 OR MIT",
+windows_x86_64_msvc: 0.42.2, "Apache-2.0 OR MIT",
+windows_x86_64_msvc: 0.48.5, "Apache-2.0 OR MIT",
+windows_x86_64_msvc: 0.52.6, "Apache-2.0 OR MIT",
+windows_x86_64_msvc: 0.53.0, "Apache-2.0 OR MIT",
+winnow: 0.7.10, "MIT",
+wit-bindgen-rt: 0.39.0, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+writeable: 0.6.1, "Unicode-3.0",
+wyz: 0.5.1, "MIT",
+xz2: 0.1.7, "Apache-2.0 OR MIT",
+yansi: 1.0.1, "Apache-2.0 OR MIT",
+yasna: 0.5.2, "Apache-2.0 OR MIT",
+yoke: 0.8.0, "Unicode-3.0",
+yoke-derive: 0.8.0, "Unicode-3.0",
+zerocopy: 0.8.25, "Apache-2.0 OR BSD-2-Clause OR MIT",
+zerocopy-derive: 0.8.25, "Apache-2.0 OR BSD-2-Clause OR MIT",
+zerofrom: 0.1.6, "Unicode-3.0",
+zerofrom-derive: 0.1.6, "Unicode-3.0",
+zeroize: 1.8.1, "Apache-2.0 OR MIT",
+zeroize_derive: 1.4.2, "Apache-2.0 OR MIT",
+zerotrie: 0.2.2, "Unicode-3.0",
+zerovec: 0.11.2, "Unicode-3.0",
+zerovec-derive: 0.11.1, "Unicode-3.0",
+zip: 2.6.1, "MIT",
+zopfli: 0.8.2, "Apache-2.0",
+zstd: 0.13.3, "MIT",
+zstd-safe: 7.2.4, "Apache-2.0 OR MIT",
+zstd-sys: 2.0.15+zstd.1.5.7, "Apache-2.0 OR MIT",
diff --git a/justfile b/justfile
index 0ff6b557..671be27e 100644
--- a/justfile
+++ b/justfile
@@ -68,3 +68,15 @@ profile-io-server:
profile-io-client:
./scripts/profile.sh iggy-bench io
+
+licenses-fix:
+ docker run --rm -v $(pwd):/src -w /src ghcr.io/google/addlicense:latest -f
ASF_LICENSE.txt .
+
+licenses-check:
+ docker run --rm -v $(pwd):/src -w /src ghcr.io/google/addlicense:latest
-check -f ASF_LICENSE.txt .
+
+licenses-list-check:
+ ./scripts/licenses-list.sh --check
+
+licenses-list-update:
+ ./scripts/licenses-list.sh --update
diff --git a/scripts/licenses-list.sh b/scripts/licenses-list.sh
new file mode 100755
index 00000000..50c570b5
--- /dev/null
+++ b/scripts/licenses-list.sh
@@ -0,0 +1,97 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# This script is used to generate Cross.toml file for user which executes
+# this script. This is needed since Cross.toml build.dockerfile.build-args
+# section requires statically defined Docker build arguments and parameters
+# like current UID or GID must be entered (cannot be generated or fetched
+# during cross execution time).
+
+set -euo pipefail
+
+# Default mode
+MODE="help"
+
+# Parse arguments
+while [[ $# -gt 0 ]]; do
+ case "$1" in
+ --update)
+ MODE="update"
+ shift
+ ;;
+ --check)
+ MODE="check"
+ shift
+ ;;
+ *)
+ echo "Unknown option: $1"
+ MODE="help"
+ shift
+ ;;
+ esac
+done
+
+# Display usage if no valid arguments provided
+if [ "$MODE" = "help" ]; then
+ echo "Usage: $0 [OPTIONS]"
+ echo "Options:"
+ echo " --check Check if DEPENDENCIES.md is up to date"
+ echo " --update Update DEPENDENCIES.md with current dependencies"
+ exit 0
+fi
+
+# Check if cargo-license is installed
+if ! command -v cargo-license &>/dev/null; then
+ echo "Installing cargo-license..."
+ cargo install cargo-license
+fi
+
+# Check if DEPENDENCIES.md exists
+if [ ! -f "DEPENDENCIES.md" ] && [ "$MODE" = "check" ]; then
+ echo "Error: DEPENDENCIES.md does not exist."
+ exit 1
+fi
+
+# Generate current dependencies
+TEMP_FILE=$(mktemp)
+trap 'rm -f "$TEMP_FILE"' EXIT
+
+echo "Generating current dependencies list..."
+cargo license --color never --do-not-bundle --all-features >"$TEMP_FILE"
+
+# Update mode
+if [ "$MODE" = "update" ]; then
+ echo "Updating DEPENDENCIES.md..."
+ cp "$TEMP_FILE" DEPENDENCIES.md
+ echo "DEPENDENCIES.md has been updated."
+ exit 0
+fi
+
+# Check mode
+if [ "$MODE" = "check" ]; then
+ echo "Checking if DEPENDENCIES.md is up to date..."
+ if ! diff -q "$TEMP_FILE" DEPENDENCIES.md >/dev/null; then
+ echo "Error: DEPENDENCIES.md is out of date. Please run '$0 --update'
to update it."
+ echo "Diff:"
+ diff -u DEPENDENCIES.md "$TEMP_FILE"
+ exit 1
+ else
+ echo "DEPENDENCIES.md is up to date."
+ fi
+fi