Thursday, December 25, 2014

BotQueue client updates!

It's been only a couple of months since the last software release, but it feels like it has been far too long. Instead of releasing 0.6, I'm releasing 0.5.1 today. There are two reasons for this, which I'll get to in a minute. But first, features!

Makerbot support

Or at least, mostly Makerbot support. It supports all of the printers that speak s3g/x3g, so no 5th generation (yet). There is also way to slice things. I have a solution for that, it's just somewhat difficult to work with closed source software. For now, you can upload your *3g files and it will run them just fine. It also allows you to upload .makerbot files, but those aren't supported yet.

Automatic updates

This is something I've wanted to do for a long time, and is the first reason why this only jumped up to 0.5.1. I released version 0.5.0, and in the very next commit, released 0.5.1. This was to test the auto update feature. Every 2 minutes, if your bots are either in idle, error, or offline mode, the client will check to see if there's another version. If there is, then it will automatically update itself.

This means that installing the client is now as simple as "pip install bqclient". To run it, simply run "bumblebee" in your command line. No more "python -m bumblebee" or similar schemes. Also, make sure you run it in the same directory that your config.json is the first time. It will automatically detect it, and move it to the correct directory. If it's not there, it assumes this is a new install, and will start to authenticate.

Future plans

Those aren't the only updates at all, but it's the two major points in this release. Many more features are coming soon, but I was having an issue. I needed to know that the client code and server code would work together. The easiest way to do that was make sure the clients take care of updating themselves. The caveat to that is that it might upgrade and break. If it breaks before the point it upgrades, then it will have to be upgraded manually. It also means that all clients would break at the same time, something I'm not exactly happy about.

Nevertheless, this helps with future plans, and moving to the 0.6 release, which will definitely contain some exciting new features. I hope to release much more often. I've been keeping the server within a few commits of the current master branch. There are some changes I can do that would break clients, unless they are up to date. I'd like to get some feedback, but I think I'm going to set a day in the future (some time next year) where the server will reject clients below a certain version. This allows me to make sure that add the cool new features that people want, without constantly asking that you update the clients.


Thank you for using BotQueue!