Skip to content

v1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Oct 16:26
Immutable release. Only release title and notes can be modified.
3823e26

Major Changes

Minor Changes

  • Add typed session metadata and updateEventLoggerMetadata() to merge updates, emit root:update, and expose current metadata through ps and list().
    Use metadata.version instead of top-level version in installation options and session listings. Remove the default version and formatVersion; store format in meta.json.metadata
    Submitted by @kitten (See #34)

Patch Changes

  • Improve core LogStream throughput by queuing complete lines in a chunk as one block while retaining partial tails
    Submitted by @kitten (See #49)
  • Stop delivering buffered live tap events after cancellation, including when the abort signal fires during history replay or between buffered events
    Submitted by @kitten (See #53)
  • Simplify session discovery by retaining newest entries directly and checking process liveness only once per distinct PID
    Submitted by @kitten (See #48)
  • ⚠️ Fix live tap sockets, timers, and abort listeners remaining active when iteration stops early. Honor already-aborted signals when following with timeouts
    Submitted by @kitten (See #26)
  • Clarify logger startup by separating worker metadata setup from parent attachment, keeping target parsing free of state changes, and making child-environment publication and cleanup explicit alongside socket setup
    Submitted by @kitten (See #32)
  • Reduce Chrome trace export allocations and map lookups by grouping spans as they arrive, retaining track references, and deriving lane IDs from each track's first thread ID
    Submitted by @kitten (See #43)
  • ⚠️ Fix worker initialization events overwriting root session metadata in Chrome Trace and OpenTelemetry exports. Include span start times when calculating the OpenTelemetry session span so it encloses its children
    Submitted by @kitten (See #28)
  • Avoid copying Buffer and Uint8Array input before decoding it in LogStream.write()
    Submitted by @kitten (See #50)
  • Improve OpenTelemetry export throughput by building event attributes directly and avoiding temporary arrays when converting array payloads
    Submitted by @kitten (See #47)
  • Drain captured event backlogs with an advancing queue index instead of shifting the remaining array on every event. Release consumed event references immediately and periodically compact the queue
    Submitted by @kitten (See #44)
  • Share an indexed queue between event capture and live tap to drain buffered event bursts without shifting the remaining array on every item. Live tap also uses a single pending callback instead of a waiter array
    Submitted by @kitten (See #45)
  • ⚠️ Fix ending an empty log stream before its file opens so it closes and invokes the end callback
    Submitted by @kitten (See #37)
  • ⚠️ Fix explicit LOG_EVENTS file and fd destinations ignoring the version supplied to installEventLogger when emitting root:init
    Submitted by @kitten (See #30)
  • ⚠️ Fix record reporting success when the recorded command exits with a nonzero status, while still writing its trace
    Submitted by @kitten (See #23)
  • Group Chrome trace spans by track in one pass to avoid scanning every event for each track during lane assignment
    Submitted by @kitten (See #40)
  • ⚠️ Fix missing worker IDs on ordinary child-process events when the parent logs to an explicit file or file descriptor
    Submitted by @kitten (See #25)
  • ⚠️ Fix empty captures inside instrumented processes by routing the captured child and its descendants to the capture pipe instead of inherited logger IPC
    Submitted by @kitten (See #24)
  • ⚠️ Fix typegen emitting invalid declarations for payload property names containing punctuation, quotes, backslashes, or newlines by quoting and escaping property names
    Submitted by @kitten (See #29)
  • Preserve application version metadata when filtering record exports
    Submitted by @kitten (See #36)
  • ⚠️ Fix record reporting success when the recorded command is terminated by a signal, while still writing its trace
    Submitted by @kitten (See #35)
  • Release consumed log queue strings promptly and periodically compact the queue so sustained backlogs and partial lines do not retain previously written data
    Submitted by @kitten (See #41)
  • Reuse converted OpenTelemetry timestamps for session bounds and exported events, avoiding repeated string and BigInt conversions
    Submitted by @kitten (See #42)
  • Reuse the event serializer for completed spans to reduce core bundle size
    Submitted by @kitten (See #49)
  • Check literal event categories and names against the nonempty ASCII identifier convention: letters, digits, _, -, ., or :. Typegen rejects invalid registered names. Dynamic strings remain the caller's responsibility; event serialization is unchanged
    Submitted by @kitten (See #27)
  • Separate shared session metadata and discovery helpers from retention cleanup, and move session listing and selection out of event reading so the CLI and public API use a focused sessions module
    Submitted by @kitten (See #33)
  • Move the hardcoded session format to the top level of meta.json and remove it from application metadata types. Keep the application version in metadata
    Submitted by @kitten (See #36)
  • Settle pending log flushes when their stream closes, reporting an error if shutdown discards buffered data instead of leaving flush callbacks unresolved
    Submitted by @kitten (See #53)
  • Share event-name helpers between trace exporters and removing redundant debug-sink filtering
    Submitted by @kitten (See #46)
  • Share the path and error helper functions between event loggers to avoid allocating them for every events() call
    Submitted by @kitten (See #51)
  • Reuse one session discovery snapshot for listing and retention cleanup, avoiding repeated directory reads, metadata reads, and PID checks
    Submitted by @kitten (See #38)
  • Simplify span serialization by removing unused payload merging
    Submitted by @kitten (See #39)
  • Reuse log batch buffers to reduce allocation and encoding overhead, improving sustained Unicode logging throughput
    Submitted by @kitten (See #22)
  • ⚠️ Fix Unicode corruption when a partial log write splits a UTF-8 character, including when backpressure switches writes to socket draining
    Submitted by @kitten (See #22)
  • Prevent bursts from writing into existing handle when log rotation will trigger, which could lead to a loss of recent log events during a large burst
    Submitted by @kitten (See #20)
  • Add missing try-catch for failing log rotation
    Submitted by @kitten (See #52)