Skip to content

Commit 0227db7

Browse files
committed
Merge remote-tracking branch 'origin/main' into PiotrSikora/drop-bytes
Signed-off-by: Piotr Sikora <[email protected]>
2 parents 702e408 + 2218c34 commit 0227db7

26 files changed

+436
-105
lines changed

.bazelrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Disable Bzlmod
22
common --noenable_bzlmod
33

4-
# Force Bazel to use --target=wasm32-wasi
4+
# Force Bazel to use --target=wasm32-wasip1
55
build --platforms=@rules_rust//rust/platform:wasi

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.4.0
1+
7.6.1

.github/workflows/rust.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,9 @@ jobs:
150150
- name: Clippy (wasm32-wasi)
151151
run: cargo clippy --release --all-targets --target=wasm32-wasi
152152

153+
- name: Test
154+
run: cargo test
155+
153156
- name: Format (rustfmt)
154157
run: cargo fmt -- --check
155158

@@ -212,6 +215,9 @@ jobs:
212215
- name: Clippy (wasm32-wasip1)
213216
run: cargo clippy --release --all-targets --target=wasm32-wasip1
214217

218+
- name: Test
219+
run: cargo test
220+
215221
- name: Format (rustfmt)
216222
run: cargo fmt -- --check
217223

@@ -275,6 +281,12 @@ jobs:
275281
- name: Clippy (wasm32-wasip1)
276282
run: cargo clippy --release --all-targets --target=wasm32-wasip1
277283

284+
- name: Test
285+
run: cargo test
286+
287+
- name: Bench
288+
run: cargo bench
289+
278290
- name: Format (rustfmt)
279291
run: cargo fmt -- --check
280292

@@ -441,7 +453,7 @@ jobs:
441453
docker run --rm \
442454
-v $(pwd)/envoy.yaml:/envoy.yaml \
443455
-v $(pwd)/target/wasm32-wasip1/release:/etc/envoy/proxy-wasm-plugins \
444-
envoyproxy/envoy:v1.31-latest \
456+
envoyproxy/envoy:v1.34-latest \
445457
--mode validate \
446458
-c envoy.yaml
447459
@@ -528,6 +540,6 @@ jobs:
528540
docker run --rm \
529541
-v $(pwd)/envoy.yaml:/envoy.yaml \
530542
-v $(pwd)/target/wasm32-wasip1/release:/etc/envoy/proxy-wasm-plugins \
531-
envoyproxy/envoy:v1.31-latest \
543+
envoyproxy/envoy:v1.34-latest \
532544
--mode validate \
533545
-c envoy.yaml

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,27 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

7+
## [0.2.3] - 2025-06-04
8+
9+
### Changed
10+
11+
- An empty value (`Some("")` or `Some([])`) is now returned when retrieving
12+
value of a HTTP header or trailer with an empty value. This is consistent
13+
with the representation when retrieving a full HTTP header or trailer map.
14+
Previously, a "no value" (`None`) was being returned, which made an empty
15+
value indistinguishable from a non-existent HTTP header or trailer.
16+
Thanks [@prembhaskal](https://github.com/prembhaskal)!
17+
18+
### Added
19+
20+
- Added support for foreign function callbacks.
21+
Thanks [@casimiro](https://github.com/casimiro)!
22+
23+
- Added convenience functions to remove headers and trailers.
24+
Thanks [@itsLucario](https://github.com/itsLucario)!
25+
26+
- Added convenience function to remove shared data.
27+
728
## [0.2.2] - 2024-07-21
829

930
### Fixed
@@ -108,6 +129,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
108129
- Initial release.
109130

110131

132+
[0.2.3]: https://github.com/proxy-wasm/proxy-wasm-rust-sdk/compare/v0.2.2...v0.2.3
111133
[0.2.2]: https://github.com/proxy-wasm/proxy-wasm-rust-sdk/compare/v0.2.1...v0.2.2
112134
[0.2.1]: https://github.com/proxy-wasm/proxy-wasm-rust-sdk/compare/v0.2.0...v0.2.1
113135
[0.2.0]: https://github.com/proxy-wasm/proxy-wasm-rust-sdk/compare/v0.1.4...v0.2.0

Cargo.toml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "proxy-wasm"
3-
version = "0.2.3-dev"
3+
version = "0.2.3"
44
authors = ["Piotr Sikora <[email protected]>"]
55
rust-version = "1.65"
66
description = "WebAssembly for Proxies"
@@ -20,3 +20,11 @@ opt-level = 3
2020
codegen-units = 1
2121
panic = "abort"
2222
strip = "debuginfo"
23+
24+
[profile.test]
25+
inherits = "release"
26+
debug = true
27+
28+
[profile.bench]
29+
inherits = "release"
30+
debug = true

bazel/cargo/Cargo.Bazel.lock

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,21 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
1010

1111
[[package]]
1212
name = "equivalent"
13-
version = "1.0.1"
13+
version = "1.0.2"
1414
source = "registry+https://github.com/rust-lang/crates.io-index"
15-
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
15+
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
1616

1717
[[package]]
1818
name = "foldhash"
19-
version = "0.1.4"
19+
version = "0.1.5"
2020
source = "registry+https://github.com/rust-lang/crates.io-index"
21-
checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f"
21+
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
2222

2323
[[package]]
2424
name = "hashbrown"
25-
version = "0.15.2"
25+
version = "0.15.3"
2626
source = "registry+https://github.com/rust-lang/crates.io-index"
27-
checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
27+
checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
2828
dependencies = [
2929
"allocator-api2",
3030
"equivalent",
@@ -33,13 +33,13 @@ dependencies = [
3333

3434
[[package]]
3535
name = "log"
36-
version = "0.4.22"
36+
version = "0.4.27"
3737
source = "registry+https://github.com/rust-lang/crates.io-index"
38-
checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
38+
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
3939

4040
[[package]]
4141
name = "proxy-wasm"
42-
version = "0.2.3-dev"
42+
version = "0.2.3"
4343
dependencies = [
4444
"hashbrown",
4545
"log",

bazel/cargo/remote/BUILD.allocator-api2-0.2.21.bazel

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,16 @@
66
# bazel run @//bazel/cargo:crates_vendor
77
###############################################################################
88

9+
load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars")
910
load("@rules_rust//rust:defs.bzl", "rust_library")
1011

1112
package(default_visibility = ["//visibility:public"])
1213

14+
cargo_toml_env_vars(
15+
name = "cargo_toml_env_vars",
16+
src = "Cargo.toml",
17+
)
18+
1319
rust_library(
1420
name = "allocator_api2",
1521
srcs = glob(
@@ -33,6 +39,9 @@ rust_library(
3339
],
3440
crate_root = "src/lib.rs",
3541
edition = "2018",
42+
rustc_env_files = [
43+
":cargo_toml_env_vars",
44+
],
3645
rustc_flags = [
3746
"--cap-lints=allow",
3847
],
@@ -47,12 +56,13 @@ rust_library(
4756
"@rules_rust//rust/platform:aarch64-apple-darwin": [],
4857
"@rules_rust//rust/platform:aarch64-apple-ios": [],
4958
"@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
50-
"@rules_rust//rust/platform:aarch64-fuchsia": [],
5159
"@rules_rust//rust/platform:aarch64-linux-android": [],
5260
"@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
61+
"@rules_rust//rust/platform:aarch64-unknown-fuchsia": [],
5362
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
5463
"@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
5564
"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
65+
"@rules_rust//rust/platform:aarch64-unknown-uefi": [],
5666
"@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
5767
"@rules_rust//rust/platform:armv7-linux-androideabi": [],
5868
"@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -68,16 +78,17 @@ rust_library(
6878
"@rules_rust//rust/platform:thumbv7em-none-eabi": [],
6979
"@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
7080
"@rules_rust//rust/platform:wasm32-unknown-unknown": [],
71-
"@rules_rust//rust/platform:wasm32-wasi": [],
81+
"@rules_rust//rust/platform:wasm32-wasip1": [],
7282
"@rules_rust//rust/platform:x86_64-apple-darwin": [],
7383
"@rules_rust//rust/platform:x86_64-apple-ios": [],
74-
"@rules_rust//rust/platform:x86_64-fuchsia": [],
7584
"@rules_rust//rust/platform:x86_64-linux-android": [],
7685
"@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
7786
"@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
87+
"@rules_rust//rust/platform:x86_64-unknown-fuchsia": [],
7888
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
7989
"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
8090
"@rules_rust//rust/platform:x86_64-unknown-none": [],
91+
"@rules_rust//rust/platform:x86_64-unknown-uefi": [],
8192
"//conditions:default": ["@platforms//:incompatible"],
8293
}),
8394
version = "0.2.21",

bazel/cargo/remote/BUILD.bazel

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,38 @@ filegroup(
3131
)
3232

3333
# Workspace Member Dependencies
34+
alias(
35+
name = "hashbrown-0.15.3",
36+
actual = "@crates_vendor__hashbrown-0.15.3//:hashbrown",
37+
tags = ["manual"],
38+
)
39+
3440
alias(
3541
name = "hashbrown",
36-
actual = "@crates_vendor__hashbrown-0.15.2//:hashbrown",
42+
actual = "@crates_vendor__hashbrown-0.15.3//:hashbrown",
43+
tags = ["manual"],
44+
)
45+
46+
alias(
47+
name = "log-0.4.27",
48+
actual = "@crates_vendor__log-0.4.27//:log",
3749
tags = ["manual"],
3850
)
3951

4052
alias(
4153
name = "log",
42-
actual = "@crates_vendor__log-0.4.22//:log",
54+
actual = "@crates_vendor__log-0.4.27//:log",
55+
tags = ["manual"],
56+
)
57+
58+
alias(
59+
name = "proxy-wasm-0.2.3",
60+
actual = "@crates_vendor__proxy-wasm-0.2.3//:proxy_wasm",
4361
tags = ["manual"],
4462
)
4563

4664
alias(
4765
name = "proxy-wasm",
48-
actual = "@crates_vendor__proxy-wasm-0.2.3-dev//:proxy_wasm",
66+
actual = "@crates_vendor__proxy-wasm-0.2.3//:proxy_wasm",
4967
tags = ["manual"],
5068
)

bazel/cargo/remote/BUILD.equivalent-1.0.1.bazel renamed to bazel/cargo/remote/BUILD.equivalent-1.0.2.bazel

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,16 @@
66
# bazel run @//bazel/cargo:crates_vendor
77
###############################################################################
88

9+
load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars")
910
load("@rules_rust//rust:defs.bzl", "rust_library")
1011

1112
package(default_visibility = ["//visibility:public"])
1213

14+
cargo_toml_env_vars(
15+
name = "cargo_toml_env_vars",
16+
src = "Cargo.toml",
17+
)
18+
1319
rust_library(
1420
name = "equivalent",
1521
srcs = glob(
@@ -30,6 +36,9 @@ rust_library(
3036
),
3137
crate_root = "src/lib.rs",
3238
edition = "2015",
39+
rustc_env_files = [
40+
":cargo_toml_env_vars",
41+
],
3342
rustc_flags = [
3443
"--cap-lints=allow",
3544
],
@@ -44,12 +53,13 @@ rust_library(
4453
"@rules_rust//rust/platform:aarch64-apple-darwin": [],
4554
"@rules_rust//rust/platform:aarch64-apple-ios": [],
4655
"@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
47-
"@rules_rust//rust/platform:aarch64-fuchsia": [],
4856
"@rules_rust//rust/platform:aarch64-linux-android": [],
4957
"@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
58+
"@rules_rust//rust/platform:aarch64-unknown-fuchsia": [],
5059
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
5160
"@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
5261
"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
62+
"@rules_rust//rust/platform:aarch64-unknown-uefi": [],
5363
"@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
5464
"@rules_rust//rust/platform:armv7-linux-androideabi": [],
5565
"@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -65,17 +75,18 @@ rust_library(
6575
"@rules_rust//rust/platform:thumbv7em-none-eabi": [],
6676
"@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
6777
"@rules_rust//rust/platform:wasm32-unknown-unknown": [],
68-
"@rules_rust//rust/platform:wasm32-wasi": [],
78+
"@rules_rust//rust/platform:wasm32-wasip1": [],
6979
"@rules_rust//rust/platform:x86_64-apple-darwin": [],
7080
"@rules_rust//rust/platform:x86_64-apple-ios": [],
71-
"@rules_rust//rust/platform:x86_64-fuchsia": [],
7281
"@rules_rust//rust/platform:x86_64-linux-android": [],
7382
"@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
7483
"@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
84+
"@rules_rust//rust/platform:x86_64-unknown-fuchsia": [],
7585
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
7686
"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
7787
"@rules_rust//rust/platform:x86_64-unknown-none": [],
88+
"@rules_rust//rust/platform:x86_64-unknown-uefi": [],
7889
"//conditions:default": ["@platforms//:incompatible"],
7990
}),
80-
version = "1.0.1",
91+
version = "1.0.2",
8192
)

bazel/cargo/remote/BUILD.foldhash-0.1.4.bazel renamed to bazel/cargo/remote/BUILD.foldhash-0.1.5.bazel

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,16 @@
66
# bazel run @//bazel/cargo:crates_vendor
77
###############################################################################
88

9+
load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars")
910
load("@rules_rust//rust:defs.bzl", "rust_library")
1011

1112
package(default_visibility = ["//visibility:public"])
1213

14+
cargo_toml_env_vars(
15+
name = "cargo_toml_env_vars",
16+
src = "Cargo.toml",
17+
)
18+
1319
rust_library(
1420
name = "foldhash",
1521
srcs = glob(
@@ -30,6 +36,9 @@ rust_library(
3036
),
3137
crate_root = "src/lib.rs",
3238
edition = "2021",
39+
rustc_env_files = [
40+
":cargo_toml_env_vars",
41+
],
3342
rustc_flags = [
3443
"--cap-lints=allow",
3544
],
@@ -44,12 +53,13 @@ rust_library(
4453
"@rules_rust//rust/platform:aarch64-apple-darwin": [],
4554
"@rules_rust//rust/platform:aarch64-apple-ios": [],
4655
"@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
47-
"@rules_rust//rust/platform:aarch64-fuchsia": [],
4856
"@rules_rust//rust/platform:aarch64-linux-android": [],
4957
"@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
58+
"@rules_rust//rust/platform:aarch64-unknown-fuchsia": [],
5059
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
5160
"@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
5261
"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
62+
"@rules_rust//rust/platform:aarch64-unknown-uefi": [],
5363
"@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
5464
"@rules_rust//rust/platform:armv7-linux-androideabi": [],
5565
"@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
@@ -65,17 +75,18 @@ rust_library(
6575
"@rules_rust//rust/platform:thumbv7em-none-eabi": [],
6676
"@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
6777
"@rules_rust//rust/platform:wasm32-unknown-unknown": [],
68-
"@rules_rust//rust/platform:wasm32-wasi": [],
78+
"@rules_rust//rust/platform:wasm32-wasip1": [],
6979
"@rules_rust//rust/platform:x86_64-apple-darwin": [],
7080
"@rules_rust//rust/platform:x86_64-apple-ios": [],
71-
"@rules_rust//rust/platform:x86_64-fuchsia": [],
7281
"@rules_rust//rust/platform:x86_64-linux-android": [],
7382
"@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
7483
"@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
84+
"@rules_rust//rust/platform:x86_64-unknown-fuchsia": [],
7585
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
7686
"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
7787
"@rules_rust//rust/platform:x86_64-unknown-none": [],
88+
"@rules_rust//rust/platform:x86_64-unknown-uefi": [],
7889
"//conditions:default": ["@platforms//:incompatible"],
7990
}),
80-
version = "0.1.4",
91+
version = "0.1.5",
8192
)

0 commit comments

Comments
 (0)