Skip to content

Tags: gotmc/lxi

Tags

v0.17.0

Toggle v0.17.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Preserve underlying I/O error when returning context errors

Previously, when both an I/O error and a context error occurred,
only the context error was returned, discarding useful diagnostic
information. Now wraps both errors using multi-%w so callers can
still match on context.DeadlineExceeded or context.Canceled while
also inspecting the underlying network error.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.16.0

Toggle v0.16.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Replace ReadContext/WriteContext with ReadBinary/WriteBinary

Implement the ivi.Transport interface by replacing ReadContext and
WriteContext with ReadBinary and WriteBinary. Make ReadStringContext
and WriteStringContext unexported (readString) or inlined since they
are internal implementation details. Command and Query use the new
methods internally.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.15.0

Toggle v0.15.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Return context errors instead of raw network timeouts on cancellation

When context cancellation triggers a connection deadline, the I/O
methods now check ctx.Err() and return the context error (e.g.,
context.Canceled, context.DeadlineExceeded) instead of the raw network
timeout. This follows the net.Dialer.DialContext pattern and lets
callers use errors.Is() for context-related failures. Also updates
CLAUDE.md to reflect recent API additions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.14.0

Toggle v0.14.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Add ReadStringContext and WriteStringContext context-aware methods

Command and Query now delegate to WriteStringContext and
ReadStringContext respectively, eliminating redundant applyContext
calls that previously occurred when these methods called non-context
helpers that internally called context-aware methods.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.13.0

Toggle v0.13.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Add tests for ReadContext and WriteContext

Test happy path with timeout context and cancellation for both
ReadContext and WriteContext, using the existing net.Pipe test
device pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.12.0

Toggle v0.12.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Add accessor methods and change boardIndex/port to int

Add getter methods for all VisaResource fields to allow external
consumers programmatic access while keeping fields unexported for
immutability. Change boardIndex and port from uint to int for idiomatic
Go usage. Update tests to use the new accessors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.11.0

Toggle v0.11.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Use len(a) > 0 for variadic check and fix misplaced doc comment

Check variadic args with len(a) > 0 instead of a != nil so that
spreading an empty slice works correctly. Also move the NewVisaResource
doc comment to directly above the function signature.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.10.0

Toggle v0.10.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Add context-aware WriteContext and ReadContext methods

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.9.0

Toggle v0.9.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Add comprehensive tests and fix data race in applyContext

Expand visa_test.go with error and edge cases (invalid interface type,
invalid resource class, empty string, missing fields, lowercase input,
hostname). Add lxi_test.go with tests for Device methods (Command,
Query, WriteString, Read, Write, Close) and all applyContext code paths
using net.Pipe. Fix data race in applyContext by capturing d.conn before
launching the cancellation goroutine. Coverage increased from 30.3% to
93.5%.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.8.0

Toggle v0.8.0's commit message

Unverified

This user has not yet uploaded their public signing key.
Add context.Context to NewDevice and fix goroutine leak in applyContext

NewDevice now accepts a context.Context and uses net.Dialer.DialContext,
allowing callers to cancel or timeout the initial TCP connection. The
applyContext helper now returns a cleanup function that stops its
cancellation-watching goroutine when the I/O operation completes,
preventing leaks with long-lived contexts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>