Cylon.js 1.0.0 is here!
It's been a long time coming, but version 1.0.0 of Cylon.js is finally here!
We're thrilled to share this with all of you.
If you want a "media-friendly" version of the story, here is our press release about it: http://cylonjs.com/news/cylon-1.0-release
This release signifies we think the core APIs in Cylon are stable, and we don't anticipate any more breaking changes in the near future.
In addition, we have made a number of important changes:
Removed Single Connection/Device Syntax
The outdated, deprecated method of specifying a single device or connection when creating a robot has now been fully removed.
Attempting to instantiate a robot in this manner will now throw an error.
Bound Functions By Default
Methods passed to the robot initializer are now auto-bound:
Cylon.robot({ connections: { arduino: { adaptor: "firmata", port: "/dev/ttyACM0" } }, devices: { led: { driver: "led", pin: 13 } }, blink: function() { this.led.toggle(); }, work: function(my) { every((1).second(), my.blink); } }).start();
Basestar#respond
A new method has been added to the base class for Drivers and Adaptors, #respond
.
This method provides a simple interface for device/adaptor methods to handle both callbacks and events.
It's signature is #respond(event, callback, err, ...vals)
.
The error/values are provided to the callback directly.
If err
is a non-null value, the "error"
event is emitted with err
provided as a value.
Otherwise, the provided event is emitted, with vals
passed as arguments.
Example usage:
Driver.prototype.write = function(pin, val, callback) { doAsyncThing(pin, val, function(err, data) { this.respond("write", callback, err, data); }.bind(this)); }
Debug mode flag
This release also adds a quicker way to run your robots in debug logging mode - just add the --debug
flag to your command when running it.
As always, you can check out the compare view on GitHub for more details.
Contributors
We'd really like to extend a massive thanks to all the contributors who've helped get Cylon.js to this point. We couldn't have done this without you.
- Adrian Zankich
- Andrew Nesbitt
- Andrew Stewart
- Avner Cohen
- Caleb Oller
- Chris Boette
- Chris Matthieu
- Daniel Fischer
- Daniel Lamb
- Daniel Portales
- Edgar Silva
- Evoliofly
- Felix
- Fábio Franco Uechi
- Guido García
- James Brown
- Janaka Abeywardhana
- Jarrod Ribble
- Jasson Cascante
- Jasson Qasqant
- Javier Cervantes
- Jay Wengrow
- Jérôme Loï
- Julian Cheal
- Justin Smith
- Kraig Walker
- Loren West
- Luis Felipe Perez
- Mario Ricalde
- Matheus Mariano
- Michael Harris
- Mike Skalnik
- Nathan Zankich
- Rafael Magana
- Reid Carlberg
- Ron Evans
- Sonic Radish
- Theron Boerner
- Tomasz Szymanski
- Wojtek Erbetowski
- Xixe Bombilla
- chrisfp
- gorhgorh
- peterainbow
Thanks Again
We can't overstate how thankful we are to our users and contributors.
For more updates, be sure to follow us on Twitter at @CylonJS.
Posts
- Cylon.js Off And Rolling In 2016
- Cylon.js 1.2.0 - Logging and Timing and BLE! Oh my!
- Cylon.js 1.1.0 - The Big Cleanup
- Hello, Node Bebop Drone
- Cylon.js featured in Wired
- Cylon.js 1.0.0 is here!
- Using Socket.io With The Cylon.js API
- Cylon 0.22.0 - A New Year's Release
- Cylon 0.21.0 is out!
- Creating Multiplatform Precompiled Binaries for Node.js Modules
- Cylon 0.20.0 is out!
- Running Robots From Your Browser With Cylon.js
- Winning the Dreamforce 500 With Cylon.js
- With The New Cylon.js 0.19.0, You Can Be Fluent Too
- Cylon.js on Intel Edison
- Cylon Takes Off on NodeBots Day
- Cylon.js Fun With The Arduino Yun
- Control Robots From Your Pebble
- Making Moves With Intel Galileo
- The Cylon Nest
- Announcing Full Tessel Support!
- Cylon 0.15.0 is Out!
- Cylon.js in Make Magazine!
- Cylon.js At JSConf 2014
- Cylon.js Takes The Stage At MakerFaire
- Cylon.js In Scotland
- Robots Are The New Normal At NextBerlin
- Thingscon - Ich Bin Ein Cylon
- National Robotics Week at the Robotics Society of Southern California
- Functional Robots With Wisp
- Release 0.12 Is For RobotOps
- Making Waves At Makerland
- This One Goes To 0.11 Of Pure JavaScript
- Tipping SCaLE12X
- Intro Robeaux- A Universal User Interface To Robotic Devices
- ng-robots! A Fun Robot Hackathon At The First ng-conf
- Number 9! The Release In Which We Add A Web UX, More Platforms, and Tools
- Release 0.8.0 Makes 10 Platforms
- RobotsConf Was Remarkable
- Dreamforce Means Connected Devices Are A Thing
- Dreamforce Is Coming!
- Welcome, Cylon.js