Gobot 0.5 is out!

by Adrian Zankich

We're happy to announce the release of Gobot 0.5! This release is the culmination of lessons learned at GopherCon and many weeks of hard work.

Here's a overview of the changes, but if you want to see more check out the compare view on GitHub.


  • Idomatic clean up: All files and tests have been refactored and ran through golint

  • Removed reflections throughout packages: We used reflection in a few situations to retrieve elements from structs and execute functions. Those reflections have been removed in favor in better interface design

  • All officially supported platforms are now in ./platforms: Instead of each platform being in a seperate repo, they are all now included in the main Gobot repo.

  • API is now a new package ./api: The RESTful API is now in a seperate api package and must be explicitely imported for use in your Gobot program.

  • All platforms examples are in ./examples: All examples has now been moved into a shared examples folder.

  • Replaced martini with net/http: We no longer use Martini as our API server, and now use the standard net/http package with pat as our pattern muxer.

  • Replaced ginkgo/gomega with system testing package: We now use the system testing package for testing

  • Refactor gobot/robot/device commands: User defined API commands have been completely refactored and now have an easier definition. You may now attach a command to your robot like this

  • Added Event type: Added a new type for registering and responding to device events

  • Replaced Master type with Gobot type: The Master type is now known as Gobot

  • Every and After now accept time.Duration

  • Removed reflection helper methods: We had a few helper methods for retrieveing fields from structs and executing functions on structs. Those have been removed.

  • And many more small changes throughout the system


A huge thanks to our contributors who made this release possible. And a special thanks to Matt Aimonettit and Jeremy Saenz!


We're constantly updating the Gobot docs to keep them up-to-date. You can find the latest info on the docs page.


If you find any issues with Gobot, please let us know! We try to be on IRC (#gobotio on freenode) as much as possible, but if we're not around leave us a GitHub issue and we'll get back to you as soon as possible.