You are on page 1of 5

Changelog for Superfish - a jQuery menu plugin

v1.2.1:
altered 2nd July 07. added hide() before animate to make work fo
r jQuery 1.1.3.
v1.2.2:
altered 2nd August 07. changed over function .find('ul') to .fin
d('>ul') for smoother animations
Also deleted the iframe removal lines - not necessary it
turns out
v1.2.3:
altered jquery 1.1.3.1 broke keyboard access - had to change qui
te a few things and set display:none on the
.superfish rule in CSS instead of top:-999em
v1.3:
Pretty much a complete overhaul to make all original features wo
rk in 1.1.3.1 and above.
.superfish rule reverted back to top:-999em (which is be
tter).
v1.3.1:

altered 'li[ul]' to $('li:has(ul)') to work with jQuery 1.2

v1.3.2:
added onshow callback option as requested s to revealed ul.
fixed bug whereby multiple menus on
s. Now each menu can have separate options.
fixed IE6 and IE7 bug whereby under
s => 3rd tier menus appear instantly with text missing when
v1.3.3:
enu setup.

'this' keyword refer


a page shared option
certain circumstance
revisited

altered event attachment selectors for performance increase on m

v1.3.4:
fixed pathClass bug as current path was not being restored. Stil
l doesn't if using keyboard nav (will work on that).
v1.4:
store options objects in array $.superfish.o. Also provide publi
c access to $.superfish.defaults
provided backward compat for jQuery versions less than 1
.2 via oldJquery option - will use li[ul] or li:has(ul) as needed
added more callbacks, also added option to disable hover
Intent usage if that plugin is detected
v1.4.1:
fixed current path not being restored when using keyboard to tab
away from the menu completely
optimised code further - now less code
removed addself() in favour of backward compatible add(t
his)
also remove new mouseenter/mouseleave events on window.u
nload (due to paranoia)
v1.4.2:
3rd July 2008. added semi-colon at start of superfish.js file to
avert script concatenation errors
added pathLevels option to limit the depth of submenus t
hat get restored by pathClass
CSS of main example hugely simplified - other example CS
S files less-so.
- top level menu items are not fixed width
- only need to set submenu widths in one place.
- various other improvements.
- class names used in all CSS files are changed
to be less generic

released optional Supersubs plugin which dynamically adj


usts submenu widths
attach everything to jQuery.fn.superfish to clean up jQu
ery namespace
removed the multi-tier-all-horizontal-example as it was
never a great idea and doesn't seem to be in use
Update documentation text and remove certain caveats whi
ch were there to support users of much older versions of Superfish
Documentation now show how to apply bgIgrame 2.1 - it's
much easier than before
Add all links and their focus and blur events to the onu
nload unbind - paranoid about memory leaks
v1.4.3
s templates.

5th July 2008. documentation completely redone using Mike Alsup'

CSS revised so that all types of menu use superfish.css


as a base. Include additional CSS files to acheive alternate styles.
class="sf-menu sf-vertical" creates vertical menu, class
="sf-menu sf-navbar" creates nav-bar style menu
v1.4.4
7th July 2008. arrows feature added. If option 'autoArrows' is t
rue, auto-appends (spans) to anchors that have a ul submenu sibling,
and adds class 'sf-with-ul' to anchor.
CSS added to style new arrows, including an 8-bit alpha
(NOT INDEXED!) transparent png of arrow - degrades to solid for IE6.
Manually add arrow mark-up to docs and disable autoArrow
s (via defaults option) to maintain decent performance (for docs page)
Update docs, including zip download, to suit.
Fix CSS bug that had the third tier of the navbar-style
menu visible when JS not available.
v1.4.5

9 July 2008. decreased code weight


added drop shadows for capable browsers - added css and
8-bit alpha transparent png image for shadow
remove support for jQuery v<1.2
remove unload clean-up which was there to solve garbage
collection problems in early jQuery versions
remove toggling 'visibility' on hide and show which as a
fix for an IE bug that is no longer exhibited
removed need for getOpts, rewrote getMenu
use [].join('') instead of string concatenation for perf
ormance increase - probably very slight in this case
change selector in 'over' function from '.'+o.hoverClass
to 'li.'+o.hoverClass
v1.4.6
added workaround for IE7 shadows. If animation alters opacity th
en shadow is hidden during the animation and appears after.
This required some JS and a line of CSS, so created shor
tcut references to lighten code further.
v1.4.7
added back in the visibility toggle that was removed in 1.4.5 as
the bug is indeed still exhibited by IE6 & 7
tweaked the look of the shadow slightly and use nicer 32
bit png as I now find they behave the same as 8bit png with regard to fades in I
E7
v1.4.8
fix over-sight: using 32bit png meant that the shadow image did
show in IE6. Rather than go back to 8bit, add code to exclude IE6 from getting s
hadow class.
use new folder structure recommended by Matt from TopicT

rack, for easier updates.


v1.4.9
ored

2009ish. add new onIdle callback for when 'current' path is rest

v1.5.0
Jan 2013. Compatibility fixes for jQuery 1.9. Still backward com
patibile. Removed code related to using an image for submenu shadows - just use
CSS box-shadow instead (old IE will survive without shadows...unfortunately). Ot
her minor aesthetic code alts.
v1.5.1
31 Jan 2013. Use event delegation for events. Update to patched
version of hoverIntent which supports event delegation ( forked for prosperity h
ere: https://github.com/joeldbirch/onHoverIntent - original patch author: Kevin
Fernandes https://github.com/KevinFernandes/onHoverIntent ).
v1.5.2
4 Feb 2013. New feature: option to require click to open/close s
ubmenus. New feature: Animations on closing submenus. New feature: Add partial s
upport for Android (certain browsers). Full support will be in upcoming version.
Minor code clean up.
v1.5.3

14 Feb 2013. Bug fix. IE was throwing errors.

v1.5.4
17 Feb 2013. New feature: Links with submenus only followable wh
en their submenu is open, allows support to be extended to ALL browsers on ALL t
ouch devices. Fixes IE bug with 'useClick' feature.
v1.5.5
20 Feb 2013. Moved flag that temporarily prevents link-follows t
o touchstart so link clicks via mouse are not delayed. This restores usual subme
nu behaviour with mouse interaction while retaining full touch device support.
v1.5.6
20 Feb 2013. Bug fix for removing link-clickable delay with mous
e interaction.
v1.5.7

20 Feb 2013. Bug fix for previous bug fix.

v1.5.8
20 Feb 2013. IE animation bug (https://github.com/joeldbirch/sup
erfish/issues/7) fixed by removing the visibility toggle once again (see v1.4.7
change). jQuery now handles this well. Fix 'useClick' IE bug introduced in last
release.
v1.5.9
27 Feb 2013. Bug fix for keyboard behaviour. Focussed menu items
that do not have their own associated submenus now close siblings' submenus, as
they should.
v1.5.10
2 Mar 2013. Support IE10 on touch devices. Behaves differently t
o other touch devices as MS Pointer Events want touch events to be similar to mo
use events. Touch, hold and swipe around to navigate, then lift off a link to fo
llow it.
v1.5.11
4 Mar 2013. Recode IE10 touch support to behave like other touch
browsers rather than holding finger down and moving around. Now tap to open sub
menus which will stay open until menu is unfocussed. A subsequent tap on a link
with an open submenu will follow the link. Only other webkit browsers need touch
start
Apple has its own unique hover fix and touchstart caused it weird highlight
bugs. Other very minor code changes.
v1.5.12
13 Mar 2013. Bug fix: Alter initialisation code to avoid requiri
ng menus use the "off-left" (or "off-top") method of hiding submenus. Now allows
display:none method and resolves this issue: https://github.com/joeldbirch/supe
rfish/issues/17 . Slight refactor of iOS-sniff. Update to official hoverIntent.j

s file which added event delegation in r7.


v1.5.13
15 March 2013. Bug fix: height animations were getting stuck - f
ixed. Minor code optimisations.
v1.6.0
10 Mar 20113. Refactor CSS to allow unlimited menu-tiers without
needing to add extra CSS. Semi-gracefully degrade IE6 (I recommend you polyfill
with selectivizr.js if you need to support it) to allow reduced and simplified
CSS. Prefer display:none submenu hiding rather than off-canvas - only closing an
imations will break if you do use off-canvas; everything else will still work. R
efactor various bits of JS. Remove sfHover class prior to closing animation to a
void "trail of highlighted items" when hovering across items without hoverIntent
active. Support IE9 on Windows Phone 7. Include Supersubs-like CSS, making that
plugin largely redundant (except its max-width capability). Updated Supersubs t
o work with Superfish 1.6.0 just in case. Fix iOS: can now close submenus by tap
ping elsewhere. Fix iOS: back button will reload page (only way of resetting iOS
hover state!). Added onBeforeHide callback. Fix Firefox bug with useClick initi
alisation. Use data() to store menu options.
v1.6.1
Fix issue #31 regarding submenus flashing open and closed under
certain conditions in Firefox. Remove bgiframe JS file as part of degraded IE6 s
upport.
v1.6.2

v1.6.1 was mislabelled as v1.6.0 in the superfish.js file.

v1.6.3
Merge pull request from @Spuds. Makes whitespace and other codin
g styles consistent, finally!
v1.6.4
v1.6.1 caused links with subs to be unfollowable. Quickfix is to
(more or less) revert that change. Issue #31 will be reopened until I have a re
al solution.
v1.6.4.1

Didn't get the previous fix right.

v1.6.5
s.

jQuery Plugin Registry doesn't like such granular version number

v1.6.6

Fix issue #36. https://github.com/joeldbirch/superfish/issues/36

v1.6.7

Fix second part of issue #36, where there is only one submenu.

v1.6.8
Remove bfcache busting code after issue #37 discussion: https://
github.com/joeldbirch/superfish/issues/37 . Bfcache busting deemed an unsuitable
solution for Apple's buggy hover state after back button is used, but the code
can be found at https://gist.github.com/joeldbirch/5268562 if needed.
v1.6.9
Fix issue #31 once and for all. https://github.com/joeldbirch/su
perfish/issues/31
v1.7.0
Complete code restructure to allow private and public methods an
d properties. Use cleaner, best-practice way of accessing public methods, eg: .s
uperfish('show'). Old hideSuperfishUl and showSuperfishUl methods deprecated but
will work (for a short while) as aliases. Add public 'destroy' method and 'onDe
stroy' callback (closes issue #51). Replace autoArrows functionality (generated
spans and arrow image) with CSS-only arrows using pseudo-element borders (closes
issue #35). Remove useClick feature (closes issue #47). Allow Supersubs CSS to
optionally work on top-level of vertical menu. Rename some functions to reflect
their toggleability. Prevent re-initialisation of Superfish. Add buttons to exam
ple page to demonstrate public methods (destroy, show, hide). Allow scrolling to
uch action on IE10 (better for small screens, ie. Windows Phone 8).

v1.7.1
Added missing onDestroy hook. Added tests. Handle multiple metho
d calls silently.
v1.7.2
Simplify by removing click handler and 'follow' flags (possible
due to removal of useClick feature). Use touch handler with '.one()' click handl
er to cancel link follows instead. Android browsers and IE10 now have 'fastclick
s'. Sadly, iOS proved too buggy with touch event (nearby menu items sometimes hi
ghlighted on touch); relying on Apple's :hover hack instead (no fastclicks).
v1.7.3
Alter JS to allow mega-menus. Provide mega-menu CSS and example
page. Added bower.json. Resolve some jsHint issues.
v1.7.4
Set up Grunt. Tests no longer use Testem and can be run in a hea
dless browser by running 'grunt test' from within the main project folder. Minor
code alterations to suit jshint. Update jquery file to v1.10.1. Added minified
version of Superfish.js. Reorganise files and folders. Alter bower.json.
v1.7.5 In IE11 MS vendor prefix versions of the Pointer Events APIs have been de
precated in favor of the non-prefixed. Added support and backwards compatibility
. Reportedly fixes touch interaction issues for Windows 8 with IE11 (closes issu
e #121). Removed deprecated method access (eg. hideSuperfishUl, showSuperfishUl)
.

You might also like