chore: release#657
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
github-actions
Bot
force-pushed
the
release-plz/2026-07-10T01-12-13Z
branch
13 times, most recently
from
July 15, 2026 10:21
dbfd185 to
e23cb67
Compare
github-actions
Bot
force-pushed
the
release-plz/2026-07-10T01-12-13Z
branch
from
July 17, 2026 20:56
e23cb67 to
eb73938
Compare
github-actions
Bot
force-pushed
the
release-plz/2026-07-10T01-12-13Z
branch
from
July 17, 2026 21:05
eb73938 to
82505f0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Package:
dial9-trace-format-derive0.4.1 -> 0.5.0Package:
dial9-trace-format0.4.1 -> 0.5.0Package:
dial9-core0.4.0-alpha.1 -> 0.4.0-alpha.1Package:
dial9-macro0.3.7 -> 0.4.0Package:
dial9-utils0.4.0-alpha.1 -> 0.4.0-alpha.10.4.0-alpha.2 - 2026-07-17
Package:
dial9-tokio-telemetry0.4.0-alpha.1 -> 0.4.0-alpha.2Changes:
Added
TelemetryEventand Rust decode side with new serde-based approach (#485)Fixed
Other
Added
CpuProfilingConfig::with_perf_backend()andCpuProfilingConfig::with_ctimer_backend()constructors. The default (Auto: try perf, fall back to ctimer) is unchanged (#579, #660)InMemoryWriter): run the trace pipeline with no filesystem dependency, encoded segments are held in process memory and shipped by the existing processor pipeline (#435)#[dial9_tokio_telemetry::main]now performs an implicit graceful shutdown after the async body returns: it drops the runtime and drains the background worker so the final segment is symbolized, compressed, and uploaded. Configure the deadline withDial9Config::builder()...graceful_shutdown(Duration)(default 1s) or skip it with.disable_graceful_shutdown(). The low-levelTracedRuntimeAPI is unchanged — callTelemetryGuard::graceful_shutdownyourself (#479)SegmentProcessor::finalize_dump: custom processors can flush per-dump state when an on-demand dump completes (#549)ProcessError::into_parts: destructure a processing error into its kind and the carried segment data (#549)dial9-core: depend ondial9-perf-self-profilewith thememory-profilingfeature, setSamplingAllocatoras the global allocator, callMemoryProfiler::install(), and drainMemorySamples viaMemorySampler::drain. The dial9 trace integration is that crate'sdial9-sourcefeature.Changed
#[dial9_tokio_telemetry::main]with the fluentDial9Confignow drain the telemetry worker on clean exit (up to the graceful-shutdown deadline, default 1s) instead of exiting immediately. This adds a bounded amount of shutdown latency but ensures the final segment is processed; opt out with.disable_graceful_shutdown(). The deprecated positional config is unaffected (#479)RotatingWritertoDiskWriter. The writer is now generic over its storage backend (SegmentWriter<Mode>) withDiskWriter/InMemoryWriteras the public types; memory constructors areInMemoryWriter::new/::builder(#435)SegmentData::segment()returns&SegmentRef(disk- or memory-backed) instead of&SealedSegment; processors that read the segment path must match the enum (#435)Dial9Handle(record/control, runtime-agnostic) andDial9TokioHandle(spawn only).TelemetryHandleandRuntimeTelemetryHandleare removed (#535)record_event(event, &handle)becomeshandle.record_event(event)(#535)guard.handle()now returnsDial9Handle(record/control). To spawn instrumented tasks useDial9TokioHandle::current(),guard.tokio_handle(&runtime), or the handle fromtrace_runtime().build()(#535)boot_idis no longer anS3Configbuilder field. The runtime injects the on-disk namespaceboot_idinto the S3 config at build time, so a local trace segment and its S3 key share one identity. AnS3Configbuilt outside the managedDial9Configpath falls back to a fresh{4-alpha}-{pid}(#566)dial9-perf-self-profile. Thedial9_tokio_telemetry::memory_profiling::*paths are preserved by re-export, so most code is unaffected.MemoryProfiler::installno longer takes aDial9Handle, it returns aMemorySamplerfor standalone draining. For the dial9 trace integration useMemoryProfiler::install_into(&handle)(#591)MemoryProfilerGuard. Memory profiling now drains for the session/guard lifetime (like CPU profiling) rather than being a permanent process-wide install (#591)Dial9AllocatortoSamplingAllocator, the global-allocator wrapper now lives indial9-perf-self-profileand works without dial9 (#591)Fixed
NoSuchBucket/NoSuchKeyandInvalidBucketNameerror codes were falling through to the generic error arm, which logged an "unclassified S3 error" and reported a serverfault— so a user typo in the bucket name polluted the viewer's fault metric. They now classify asNotFound(404) andBadRequest(400) respectively.Package:
dial90.3.13 -> 0.3.14