Repository navigation
Releases
Releases · rednayan/labstream
v0.1.2
This release changes no source code of the library. It changes one
dependency, socket2. It is the first release from the repository
rednayan/labstream, and the first that publishes all six crates together. labstream goes from 0.1.0 to 0.1.2, and it has no 0.1.1.
Fixed
- Four live tests pushed a sample before the outlet registered the inlet. The
outlet sent that sample to no consumer, and the test failed in some runs.
no_stage_leaves_a_timestamp_alonefailed on Windows and on Linux, and
a_deduced_timestamp_is_rebuilt_from_the_ratefailed on Windows.
clock_sync_moves_a_timestamp_by_the_measured_offsetand
a_marker_stream_goes_out_and_comes_back_as_textheld the same fault. Each
test now waits for the consumer. The library did not change. both_outlets_hold_the_multicast_portis ignored on macOS. It fails there,
anddocs/conformance.mdgives the measurement that decides the correction.
Linux and Windows still run it.
Added
.github/workflows/release.yml. A push of a tag that starts withvchecks
the tag against the manifest and the changelog, runs the tests, publishes to
crates.io, buildslabstream-capifor Linux, macOS, and Windows, and writes
the GitHub release with the three libraries attached.publish = falseinlabstream-capi. That crate builds acdylibalone,
which a Rust program cannot link, so no command can send it to crates.io.
Changed
labstream-nettakessocket20.6 in place of 0.5.labstream-netuses it
for one socket option,reuse_address, on the port of the multicast query.
The call did not change.socket20.6 needs Rust 1.70, and the minimum of
this workspace stays 1.75.docs/versioning.mdgives the workflow, the one setting that crates.io needs
for it, and the way to make a person approve each publish.README.mdnameslabstreamon crates.io. The page said that the API crate
was not published.- One repository,
rednayan/labstream, now holds every crate. It replaces
rednayan/labstream-coreandrednayan/labstream-rs, and it keeps the
history of both. Therepositoryfield of each crate names it. labstreamis a member of the workspace. It takeslabstream-netand
labstream-wireby path and by version, so a change to both builds and
tests in one checkout. The published manifest still names a version on
crates.io.labstreamtakes the version of the workspace. One release now publishes
six crates, andrelease.ymlpublisheslabstreamwith the others.
crates/labstream/CHANGELOG.mdholds the entry forlabstream0.1.0.- The conformance workbench is in
conformance/. It held a copy of each
protocol crate from before the rename, and that copy was out of date. It now
tests the crates belowcrates/.lsl-peeris the one crate that it keeps,
and that crate setspublish = false. - The C++ library is a git submodule at
conformance/liblsl/, at the same
commit,e651023c.
Install
cargo add labstreamlabstream is the API for a Rust program. labstream-core gives the
protocol crates for a program that needs a lower level.
The C library for each platform is below. crates.io carries
source and not a binary, so labstream-capi is not there.