First off, thanks to the jQuery team for all the work you've put into this library. It makes a lot of lives easier.
But please stop adding features to it.
The download is already pretty fat, and already has plenty of extraneous UI fluff and DHTML stunts that detract from its core. If you really want to add a pretty "fadeToggle" effect, please make it available as an extension or stick it in jQueryUI, or otherwise don't force every single user on the entire internet to download it just so that we can do useful things like $('.disabled').each().
I know that you've got a team of smart people, and it's tempting to just keep going adding new cool stuff. But that's only going to make things worse. You need to accept the fact that your product is feature complete. Go into maintenance mode, make sure everything stays solid, and add make occasional small improvements to the core when it makes sense to do so.
It'll be painful to make that shift, but unless you do, your library will become fatter, less focused, and in the end, less useful to developers.
The thing that impresses me most about jQuery is how conservative they are about adding new features. If you look at the jQuery API it's hardly grown at all in all in the past 4 or 5 versions of the library. Instead, they spend their time refining the existing methods - making .width() and .height() measure hidden elements, for example.
I don't know anything about this feature in particular, there may in fact be a great reason for including it in the core but I do agree that in principle, anything not core should be in a different module. Nice to haves are just that, no point making people download them if they are unlikely to be used.
In an attempt to further unify the methodology across
our API, we’ve introduced a new method to Effects
called .fadeToggle(). We already have existing toggle
methods in our API for sliding (.slideToggle()) and
toggling classes (.toggleClass()) and it made sense for
us to extend the availability of a built in toggle to
fading effects as well.
jasonkester: in jQuery 1.4.3 a lot of work was done to make jQuery more modular. So you could take the peices of the library that you want and leave out the rest (i.e. effects).
This isn't the recommendation of the jQuery Team but if you feel the library is getting too bloated you now have the option to cherry pick only the options of jQuery you'd like to use.
Exactly, which makes the size of the file much less critical. It's likely to already be cached on the drive by some previous page, even from another domain. Slicing jQuery core into subset files that are dynamically loaded and other such techniques are unlikely to make things better.
Sadly it has reduced me to tears as well because I literally had to tackle this very issue only yesterday. That feature alone though is an absolute godsend.
Updated from 1.4.2 today, 1.4.4 is not available in google apis yet- $('select option[selected]') no longer returns empty string, instead, undefined is returned when no selected option is in list; be careful of any broken scripts.
But please stop adding features to it.
The download is already pretty fat, and already has plenty of extraneous UI fluff and DHTML stunts that detract from its core. If you really want to add a pretty "fadeToggle" effect, please make it available as an extension or stick it in jQueryUI, or otherwise don't force every single user on the entire internet to download it just so that we can do useful things like $('.disabled').each().
I know that you've got a team of smart people, and it's tempting to just keep going adding new cool stuff. But that's only going to make things worse. You need to accept the fact that your product is feature complete. Go into maintenance mode, make sure everything stays solid, and add make occasional small improvements to the core when it makes sense to do so.
It'll be painful to make that shift, but unless you do, your library will become fatter, less focused, and in the end, less useful to developers.