We are happy to announce Glow 1.6.0 Release Candidate 1, which is now
available for download <
http://www.bbc.co.uk/glow/download/> from the
Glow site.
This version will remain as a release candidate for around two weeks
whilst we get feedback from users, during this time we may release
further release candidates if bugs are reported. After the two weeks
are
up, Glow 1.6.0 Final will be released.
Full API documentation and further info is available at
http://www.bbc.co.uk/glow/docs/1.6/
Changes
This release contains over 30 bug fixes, optimisations and new
features.
A summary of the most important are below, but for the full list you
can
peruse the overview page <
http://www.bbc.co.uk/glow/docs/1.6/about/>,
or
the milestone tickets <
http://www.bbc.co.uk/glow/docs/1.6/about/> in
Lighthouse.
Glow 1.6 focuses on implementing the most popular requests from our
users while maintaining backwards compatibility with other 1.x
versions.
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.
Further documentation on how to use it will be uploaded to the site in
the next couple of weeks, in the meantime feel free to get in touch if
you have any questions. Our thanks go to Richard Hubbard for working
hard to get this new feature into Glow.
The Carousel has improved keyboard navigation, tabbing through
elements
on the 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.
As requested, 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), e.g.:
glow.dom.get("#menu").css({
width: 300,
background: "red",
padding: 0
});
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.
NodeList#prop has been introduced as an alternative to NodeList#attr.
Rather than getting / setting node attributes, it gets / sets node
properties.
As well as the above, we've made numerous changes that improve the
performance and browser compatibility of Glow. As always, your
feedback
is welcomed on our mailing list
<
http://www.bbc.co.uk/glow/community/mailing_lists.shtml> and IRC
channel <
http://www.bbc.co.uk/glow/community/irc.shtml>. If you
discover
any issues with Glow 1.6, don't hesitate to create a ticket
<
http://glow-project.lighthouseapp.com/projects/33663-glow/overview>.
Regards,
The Glow Team