Releases: viamrobotics/viam-cpp-sdk
releases/v0.8.0
What's Changed
- [RSDK-10385] Windows build system improvements and rust_utils workarounds by @acmorrow in #402
- Automated Protos Update by @viambot in #400
- RSDK-10313: Full conan fix by @lia-viam in #390
- [RSDK-10385] Fix buf downloading on windows and small misc fixes by @acmorrow in #404
- [RSDK-10385] Misc conan improvements by @acmorrow in #406
- [RSDK-10385] Windows signal handling by @acmorrow in #407
- [RSDK-10385] Use a newer CMake minimum for Windows by @acmorrow in #410
- RC version bump by @lia-viam in #409
Full Changelog: releases/v0.7.0...releases/v0.8.0
releases/v0.7.0
releases/v0.6.0
What's Changed
- Automated Protos Update by @github-actions in #380
- Automated Protos Update by @viambot in #385
- Automated Protos Update by @viambot in #386
- Automated Protos Update by @viambot in #388
- RSDK-10311: Button component by @lia-viam in #389
- bump version to v0.5.0 by @njooma in #392
- [RSDK-10284]: MLModelService: don't check for name if there is only 1 expected tensor, return error if expected tensors not present by @bhaney in #394
- conformant ref qualified overloads by @lia-viam in #393
- bump version by @stuqdog in #396
- try pinning cmake version by @lia-viam in #397
- pin cmake-data as well by @lia-viam in #398
New Contributors
Full Changelog: releases/v0.4.0...releases/v0.6.0
releases/v0.4.0
Breaking change: Instance
class
The SDK now features a single Instance
class which manages application-global initialization and state. Every SDK program must define an Instance
variable before any other Viam SDK objects are constructed. Typically this will look like
#include <viam/sdk/common/instance.hpp
// ...
int main(int argc, char** argv)
{
Instance inst;
// ...
}
Existing code will throw an exception shortly after program startup if this change is not made.
Compilation errors will also occur if your code was making direct use of static Registry
member functions. Calls to Registry::some_func()
should be replaced with Registry::get().some_func()
What's Changed
- RSDK-6158 - initial connection options by @stuqdog in #376
- Automated Protos Update by @github-actions in #375
- RSDK-9901 - run tests in update proto workflow by @stuqdog in #378
- Update README.md by @JessamyT in #381
- RSDK-9298: Instance class by @lia-viam in #374
- Fix conan build failures by @lia-viam in #379
- RSDK-9901 - use git-access-token by @stuqdog in #382
- version bump by @lia-viam in #384
New Contributors
Full Changelog: releases/v0.3.0...releases/v0.4.0
releases/v0.3.0
What's Changed
Full Changelog: releases/v0.2.1...releases/v0.3.0
releases/v0.2.1
releases/v0.2.0
What's Changed
- RSDK-9848 - fix update-proto workflow by @stuqdog in #362
- Automated Protos Update by @github-actions in #364
- Update README.md for sensor module by @lia-viam in #363
- Automated Protos Update by @github-actions in #365
- RSDK-9842 - add get_machine_status implementation by @stuqdog in #366
- Automated Protos Update by @github-actions in #367
- bump version by @stuqdog in #368
Full Changelog: releases/v0.1.0...releases/v0.2.0
releases/v0.1.0
Version 0.1.0 Release
This release is a stability milestone for the C++ SDK, marking the first 0.x.y
release following 0.0.x
releases. At this point the SDK is in a stable beta state and breaking changes will be less frequent. If you have not updated your C++ SDK dependency in several months, a lot has changed. Here are some of the larger items that will affect developer experience and general quality of life improvements.
Viam API and all google libraries are now private dependencies
- These libraries are no longer propagated as part of the public build interface of our CMake
- Allows for future API/ABI stability against changes to the API and in grpc/proto/abseil
- The SDK will respect your choice of C++ standard if you're targeting C++14; abseil's versioning hygeine previously broke this
- If you are working with the Viam API or google libraries directly, you will now need to declare them as public deps of your library
- Relatedly...
New API for conversion from SDK to API types
- See
src/viam/sdk/common/proto_convert.hpp
for guides and documentation - Previous scattered collection of free/member/static member functions for
to_proto
andfrom_proto
are now replaced by singleto_proto
andfrom_proto
functions which are enabled for any class that specializesstruct to_proto
andstruct from_proto
. - Note that the detail structs refer to API types by pointer to forward declared type, enabling ABI insulation
- If you need direct "back door" access to API types, you can include the relevant Viam API header and then
to_proto
andfrom_proto
will "just work"
Replaced AttributeMap
and ProtoType
with ProtoStruct
and ProtoValue
ProtoValue
is the new sum-type which is our version ofgoogle::protobuf::Value
- No longer need to wrap everything in a
make_shared
or access byshared_ptr
- Value semantics for constructing and working with
ProtoValue
objects rather than pointer semantics ProtoStruct
modelsgoogle::protobuf::Struct
, andProtoList
is a vector ofProtoValue
- See generated documentation or
src/viam/sdk/common/proto_value.hpp
Conan support
- See documentation in BUILDING.md
- Can now obtain SDK deps with Conan, and build the SDK itself as a Conan package
- Supports shared and static builds; tested in CI
What's Changed (auto-generated release notes)
- Rust utils bump to v0.2.17
- RSDK-9719: Simple module sensor by @lia-viam in #359
- remove old reference to printer module by @lia-viam in #360
- bump version: v0.1.0 by @njooma in #361
- remove instability notice by @abe-winter in #331
Full Changelog: releases/v0.0.21...releases/v0.1.0
releases/v0.0.21
What's Changed
- RSDK-9707: Make API a private dependency of SDK by @lia-viam in #355
- Remove DiscoverComponents by @randhid in #356
- RSDK-9731 Remove v2 namespace prefix for proto conversion by @lia-viam in #354
- RSDK-9740: Make google libraries a private dependency of the SDK by @lia-viam in #357
- version bump by @lia-viam in #358
New Contributors
Full Changelog: releases/v0.0.20...releases/v0.0.21
releases/v0.0.20
What's Changed
- RSDK-9670: remove RobotService_ by @lia-viam in #351
- RSDK-9549: Make RpcSubtype model api ResourceRPCSubtype by @lia-viam in #349
- Remove reference to old module-example-cpp by @lia-viam in #352
- Bump version to v0.0.20 by @purplenicole730 in #353
Full Changelog: releases/v0.0.19...releases/v0.0.20