Skip to content

Commit dfd7420

Browse files
authored
Merge pull request #56 from nao1215/refactor/comprehensive-improvements-2
Release v0.6.2: fix aarch64 cross-build, release profile, test coverage
2 parents 76f6450 + 1b9f49a commit dfd7420

File tree

16 files changed

+3309
-69
lines changed

16 files changed

+3309
-69
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# Changelog
22

3+
## v0.6.2
4+
5+
### Fixed
6+
7+
- aarch64 cross-compilation failure: `Cross.toml` pre-build now installs `libssl-dev:arm64` instead of the host-architecture package, so `openssl-sys` finds the correct headers.
8+
9+
### Changed
10+
11+
- Release profile: enable thin LTO, single codegen unit, and binary stripping for smaller, faster binaries.
12+
- Unified `stderr_write` usage across S3, GCS, and Azure backends to avoid Rust 2024 `ReentrantLock` issues with `eprintln!`.
13+
- Cache key computation uses streaming `Sha256` hasher and inline parameter builder, eliminating intermediate allocations and sort.
14+
- Watermark margin capped at 9999 with explicit validation on both JSON and multipart endpoints.
15+
- Docker Compose healthcheck added for the `truss` service.
16+
17+
### Added
18+
19+
- Unit tests for `auth`, `http_parse`, `multipart`, `negotiate`, and `response` modules (314 new tests).
20+
321
## v0.6.1
422

523
### Fixed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "truss-image"
3-
version = "0.6.1"
3+
version = "0.6.2"
44
edition = "2024"
55
description = "Image toolkit with a shared Rust core across the CLI, HTTP server, and WASM demo."
66
license = "MIT"
@@ -61,6 +61,11 @@ azure_storage_blob = { version = "0.9", optional = true }
6161
azure_core = { version = "0.32", optional = true }
6262
futures = { version = "0.3", optional = true }
6363

64+
[profile.release]
65+
lto = "thin"
66+
codegen-units = 1
67+
strip = true
68+
6469
[dev-dependencies]
6570
aws-smithy-runtime-api = "1"
6671
aws-smithy-types = "1"

Cross.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[target.aarch64-unknown-linux-gnu]
22
pre-build = [
3-
"apt-get update && apt-get install -y libssl-dev",
3+
"dpkg --add-architecture arm64 && apt-get update && apt-get install -y libssl-dev:arm64",
44
]

compose.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ services:
1111
# - TRUSS_TRANSFORM_DEADLINE_SECS=30
1212
volumes:
1313
- ./images:/data:ro
14+
healthcheck:
15+
test: ["CMD-SHELL", "printf 'GET /health/live HTTP/1.1\\r\\nHost: localhost\\r\\n\\r\\n' | nc localhost 8080 | head -1 | grep -q '200 OK'"]
16+
interval: 5s
17+
timeout: 3s
18+
retries: 10
1419
read_only: true
1520
security_opt:
1621
- no-new-privileges:true

doc/openapi.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
openapi: 3.0.3
22
info:
33
title: Truss Image Server API
4-
version: 0.6.1
4+
version: 0.6.2
55
description: |
66
HTTP API for the Truss image toolkit.
77
@@ -333,7 +333,7 @@ paths:
333333
example:
334334
status: ok
335335
service: truss
336-
version: 0.6.1
336+
version: 0.6.2
337337
uptimeSeconds: 3600
338338
checks:
339339
- name: storageRoot
@@ -361,7 +361,7 @@ paths:
361361
example:
362362
status: ok
363363
service: truss
364-
version: 0.6.1
364+
version: 0.6.2
365365

366366
/health/ready:
367367
get:

0 commit comments

Comments
 (0)