Skip to content

Releases: viamrobotics/viam-cpp-sdk

releases/v0.0.15

11 Nov 19:00
7851b44
Compare
Choose a tag to compare

What's Changed

Full Changelog: releases/v0.0.14...releases/v0.0.15

releases/v0.0.14

04 Nov 19:59
69e1758
Compare
Choose a tag to compare

What's Changed

  • Automated Protos Update by @github-actions in #308
  • Automated Protos Update by @github-actions in #311
  • RSDK-9077: Docker containers for module development by @lia-viam in #310
  • Automated Protos Update by @github-actions in #313
  • Bump version to 0.0.14 by @jckras in #314
  • Update README.md for module dev Docker by @lia-viam in #315

Full Changelog: releases/v0.0.13...releases/v0.0.14

releases/v0.0.13

21 Oct 17:58
d5000dd
Compare
Choose a tag to compare

What's Changed

  • Automated Protos Update by @github-actions in #305
  • RSDK-8822: Whole archive linking by @lia-viam in #306
    • module example code is no longer broken on static builds
    • no further guarantees are made and this is not extensively tested in CI/releases nor will it be part of release archives going forward
  • version bump by @lia-viam in #307

Full Changelog: releases/v0.0.12...releases/v0.0.13

releases/v0.0.12

09 Oct 16:21
4a06676
Compare
Choose a tag to compare

Breaking change

Details and migration guide

Removes ProtoType and AttributeMap , replacing them with ProtoValue and ProtoStruct. This affects the parameter used in component doCommand calls, as well as the extra parameter included in all component methods.

For most use cases, the change will look like this:
90246f0#diff-becf92545c215777e3fe43c17c0f4196f96bb623d3aa8feee82d1357e7c1738fL11
Namely,

  • include path is now #include <viam/sdk/common/proto_value.hpp>
  • parameter is now const ProtoStruct&

The majority of code changes will be able to just do a Replace-In-Files for the two changes above

If your component or module code actually used these types directly, the changes will look something like this:
90246f0#diff-e07f0fbd2e62063a2446d7ab99d80d9a5c50e9a94649f64b9d5caf5c67b3a345
Namely, ProtoValue is now has value semantics rather than pointer semantics and std::shared_ptr , and ProtoStruct is a map of std::string to ProtoType. You can construct a ProtoValue like a normal C++ class as you would, eg, a variant or JSON type:

ProtoValue num_val{5.6};
ProtoValue str_val{"meow"};

// ProtoList is a vector of ProtoValue:
ProtoList my_list{{ProtoValue{true}, ProtoValue{"meow"}, ProtoValue{6.0}}};

// ProtoStruct is a map:
ProtoStruct my_map{
    {"cat", "meow"},
    {"dog", "woof"},
    {"number", 1.234},
    {"list", my_list}, //copies my_list
};

ProtoValue and related types now have value semantics rather than smart pointer semantics. This means, eg
map lookup operations will now use a . rather than ->, and types will behave like arithmetic types or standard library containers with respect to copying, moving, etc

Please see the proto_value.hpp header for detailed documentation and API of other methods, including

  • to_proto to convert to google::protobuf classes, and ProtoValue::from_proto to construct from google::protobuf classes
  • is_a<T> and get<T>/get_unchecked<T> for stored element inpection
  • ...or generate the doxygen documentation if you like!

To find affected code, you can grep or ag or GitHub code search for ProtoType and AttributeMap.

Additional changes

  • RSDK-8828 Remove integer type from ProtoValue by @lia-viam in #292
  • RSDK-8826: Conan builds in CI by @lia-viam in #296
  • Fix debian builds in CI by @lia-viam in #297
  • Automated Protos Update by @github-actions in #298
  • Automated Protos Update by @github-actions in #300
  • Use proto value get in example code by @lia-viam in #303
  • RSDK-6170 - add debug log support by @stuqdog in #299
  • Automated Protos Update by @github-actions in #302
  • Version bump by @lia-viam in #304

Full Changelog: releases/v0.0.11...releases/v0.0.12

releases/v0.0.11

24 Sep 17:54
32b31fa
Compare
Choose a tag to compare

What's Changed

  • RSDK-6636: Refactored AttributeMap with type-erased ProtoType by @lia-viam in #272
  • Automated Protos Update by @github-actions in #277
  • Version bump by @lia-viam in #281
  • Fix aarch build by @lia-viam in #282
  • Automated Protos Update by @github-actions in #280
  • RSDK-7861 Conan dependencies by @lia-viam in #283
  • RSDK-4735 Add options to disable building tests and examples (merged in the Conan deps PR)
  • RSDK-8541: ProtoValue get_unchecked and visit API by @lia-viam in #279
  • Update actions/download-artifact and actions/upload-artifact to v4 by @lia-viam in #291
  • use boost program_options in example by @abe-winter in #288
  • RSDK-8343 - create public version_metadata file by @stuqdog in #290
  • Automated Protos Update by @github-actions in #286
  • Automated Protos Update by @github-actions in #293
  • RSDK-8829: Add frame_rate to cpp sdk by @jckras in #294
  • Revert find_package logic by @lia-viam in #295

Full Changelog: releases/v0.0.10...releases/v0.0.11

releases/v0.0.10

13 Aug 17:15
0a7a619
Compare
Choose a tag to compare

What's Changed

  • Streamable client helper by @lia-viam in #265
  • Automated Protos Update by @github-actions in #263
  • Automated Protos Update by @github-actions in #267
  • Automated Protos Update by @github-actions in #269
  • Automated Protos Update by @github-actions in #270
  • RSDK-8306 - set version in metadata by @stuqdog in #271
  • Automated Protos Update by @github-actions in #274
  • Automated Protos Update by @github-actions in #275
  • RSDK-7924: Fix building of example projects by @lia-viam in #273
  • RSDK-7440: Build example projects in CI by @lia-viam in #276
  • bump version by @stuqdog in #278

Full Changelog: releases/v0.0.9...releases/v0.0.10

releases/v0.0.9

11 Jul 13:51
12c48a2
Compare
Choose a tag to compare

What's Changed

Full Changelog: releases/v0.0.8...releases/v0.0.9

releases/v0.0.8

02 Jul 19:27
a6b4ac1
Compare
Choose a tag to compare

What's Changed

  • RSDK-7644 - update example module client for integration test consistency by @stuqdog in #246
  • RSDK-7939: Add arm component by @lia-viam in #249
  • RSDK-7980: Gripper component by @lia-viam in #252
  • RSDK-7880 - add orientation config getters by @stuqdog in #251
  • Automated Protos Update by @github-actions in #253
  • RSDK-6025 - match viam-server's max message size by @stuqdog in #254
  • RSDK-7988 Gantry component by @lia-viam in #255
  • Automated Protos Update by @github-actions in #256
  • RSDK-7642 - add simple module client for module integration testing by @stuqdog in #250
  • Automated Protos Update by @github-actions in #257
  • RSDK-8031 Pose tracker component by @lia-viam in #258
  • Automated Protos Update by @github-actions in #259
  • bumping release version by @lia-viam in #260
  • GitHub actions yaml changes by @lia-viam in #261
  • typo fix by @lia-viam in #262

Full Changelog: releases/v0.0.7...releases/v0.0.8

releases/v0.0.7

18 Jun 16:37
fd2d093
Compare
Choose a tag to compare

What's Changed

  • RSDK-5378 - allow setting of cpp standard by @stuqdog in #234
  • try update googleapis commit by @stuqdog in #239
  • [RSDK-7151] Update analog reader responses to include accuracy data by @penguinland in #237
  • Automated Protos Update by @github-actions in #236
  • [RSDK-7775] Update Camera.Properties Response in C++ SDK to match API by @hexbabe in #242
  • Automated Protos Update by @github-actions in #240
  • Automated Protos Update by @github-actions in #243
  • RSDK-7858 - lock in doxygen version by @stuqdog in #244
  • Automated Protos Update by @github-actions in #245
  • Bump version by @njooma in #247
  • replace deprecated CreateMessage with Create by @lia-viam in #248

New Contributors

Full Changelog: releases/v0.0.6...releases/v0.0.7

releases/v0.0.6

14 May 17:36
9f3d39b
Compare
Choose a tag to compare

What's Changed

  • Automated Protos Update by @github-actions in #230
  • Automated Protos Update by @github-actions in #233
  • Bumping release version by @cheukt in #235

Full Changelog: releases/v0.0.5...releases/v0.0.6