Yeti 0.2.6 released
Today’s release of Yeti 0.2.6 comes straight out of Austin, Texas. This is the largest release since 0.2.0 shipped in March. Here are the highlights:
- Internet Explorer 6 and Android 2.3, 3.x, and 4.x are supported.
- Node.js 0.8 and Windows 7 readiness.
- “Agent disconnected” events & notifications. (Dav Glass)
- Fix Bug #85: Submit multiple batches to a Hub at the same time.
Upgrade now
You can install the latest Yeti with one command:
npm install -g yeti
3rd-party Yeti Adapters
I have been excited to see Ryan Seddon create yeti-adaptors, which allowed Yeti to work with other test frameworks, albeit unofficially.
My goal for Yeti is to make all kinds of testing easier, which means supporting more than just YUI Test. I’ve talked to Ryan last week about making support for these adapters official.
In the meantime, it’s a hack, and it works by talking to Yeti’s Socket.io directly. This release no longer uses Socket.io, so these adapters won’t work without some tweaks.
Stay tuned for future releases. I plan to make it easy for folks like Ryan to “plug-in” their own test frameworks to Yeti in coming releases without depending on hidden APIs.
SockJS, Socket.io, and browser compatibility
Two weeks ago, we made a commitment for increasing browser support across our GBS browsers. Today, we now support Android 2.3, 3.x, and 4.x, as well as Internet Explorer 6. A lot of work went into making this possible; however, the support is not perfect. In addition to our automated functional tests, we test Yeti releases on YUI’s full battery of automated tests that flat-out abuse browsers with nearly 5,000 individual test methods. IE 6 doesn’t do so well after running a few of our SVG tests under Yeti and it’s a priority for us to get this fixed. If you find your own problems please file a ticket and let us know.
In order to make IE 6 support possible, we discontinued using Socket.io in favor of the lower-level SockJS. I made this decision because of reported IE 6 bugs that are not fixed in the latest available Socket.io version, currently 0.9.6. SockJS also has frontend unit tests, which are important for catching the kinds of small bugs that have effected Socket.io 0.9.x, e.g. this IE 6 handshake error.
Here at TXJS in Austin, Guillermo Rauch gave a talk on Socket.io 1.0 and upcoming improvements; I spoke with him personally about these issues. I’m hoping Socket.io will continue to improve to compete with other WebSocket projects and Guillermo intends to do just that.
Getting ready for Node.js 0.8 and Windows 7
Our YUI team intern Clarence Leung made great contributions to preparing for Node.js 0.8 and for having Yeti’s development tools Just Work⢠on Windows 7.
Yeti will officially support Windows in a future release.
For this release, Clarence provided a Windows-ready Jakefile. If you’d
like to try it out, replace make with jake.bat and you can do
everything your POSIX friends can do. Installing and using Yeti
with npm also works as you’d expect, but we have not tested it
extensively.
Yeti 0.2.6 works and passes all tests on Node.js 0.7.11, which was also released today. This version of Node.js fixes an EventEmitter regression that affected Yeti’s functional tests.
As soon as Travis includes Node.js 0.7.11, we will begin automated testing on 0.7 in anticipation for it becoming the new stable 0.8.
Yeti will continue to support Node.js 0.6 for the near future.
Agent Disconnects and What’s Next
Dav Glass contributed the long-awaited agentDisconnect event for this release, so you’ll begin to see “Agent disconnected” messages in the console when you close a browser.
This makes it possible to support using a subset of browsers connected to Yeti. We’ll be working on that for our next release, as well as improving Yeti’s performance against YUI’s test suite and making 3rd-party adapters more official.
Dav’s now on well-deserved vacation, but not before contributing another pull request for improving agentDisconnect that’s going in the next release.
Thank you
Thanks for using Yeti. Your excitement, tickets, and support for making testing better makes this an awesome project to work on.
General documentation: http://yeti.cx/docs/v0.2.6/quick-start/
API documentation: http://yeti.cx/docs/v0.2.6/api/
Detailed API documentation: http://yeti.cx/docs/v0.2.6/api/everything/
CI testing: http://travis-ci.org/yui/yeti
Code coverage: http://yeti.cx/docs/v0.2.6/coverage.html
Report a bug: http://yuilibrary.com/projects/yeti/newticket