Greetings,
We are happy to announce that Glow 1.6.0 is now available for download
from
http://www.bbc.co.uk/glow/download/
What's New?
This release contains over 40 bug fixes, optimisations and new
features. We have focused on implementing the most popular requests
from our users and fixing a large number of bugs, meaning this should
be one of the most stable releases of Glow ever.
A summary of the most important are below, but for the full list see
the changelog on the Glow web site.
The biggest change is the addition of our new internationalisation
module; glow.i18n. This enables full localisation of Glow widgets &
modules, and you can also use it to localise your own applications.
Language is automatically detected per page, but can also be
overridden. You can find out more about using the internationalisation
module in the user guide. Our thanks go to Richard Hubbard for working
hard to get this new feature into Glow.
In previous versions of Glow we used an unload listener to clean up
events to prevent memory leaks in IE. However, this prevented Gecko &
Webkit quickly switching between pages when the back / forward buttons
were used. We've now restricted this clean-up to IE, so back / forward
is much faster in other browsers.
The Carousel has improved keyboard navigation, tabbing through
elements on a carousel will now automatically move the items so the
focused item is in view.
Another small keyboard enhancement has been added to Overlay (and
therefore Panel and InfoPanel). The option "closeOnEsc" can be set to
make a focused panel close then the user presses ESC. This isn't set
by default for compatibility reasons, but expect it to be a default in
Glow 2.0.
We've added support for "mouseenter" and "mouseleave" events. Unlike
"mouseover" and "mouseout" they don't bubble, making them more useful
for roll-over effects.
You can now fire events on multiple DOM nodes at once. For instance,
if you want to fire "click" listeners on all links in the page, you
can use glow.dom.fire("a", "click"). Note, this will only fire the
listeners attached using Glow, it won't actually click the link.
glow.dom.create now provides a short cut to glow.lang.interpolate,
allowing you to easily add in strings to an HTML template. This is
especially useful for inserting test from an object generated by
glow.i18n.
Multiple styles can be added at once using NodeList#css (thanks to
George Adamson for suggesting this).
NodeList#prop has been introduced as an alternative to NodeList#attr.
Rather than getting / setting node attributes, it gets / sets node
properties.
What's next?
We are now working on Glow 1.7, which is intended to be our last
release before we begin work on Glow 2.0.
Glow 1.7 will again focus on stability, we are putting a lot of effort
into increasing our test coverage including the addition of a new
manual testing suite for ensuring our widgets are working smoothly.
This will pave the way for the automated user interface testing that
we want to cary out.
We will also be fixing as many bugs as we can find, and making sure
the API for all modules and widgets are following our standard
pattern.
A Release candidate of version 1.7 should be hitting a server near you
on October 5th.
All the best,
Stephen Elson