The audio and video element support is good for the open web but still needs work to be an alternative to Flash and Silverlight because currently it is too slow. It's not just because of Theora. Ogv videos play noticably better outside Firefox. Safari's video element support (using H.264) is much better.
I think the support for web worker threads (OS-level, presumably preemptive multithreading for JS) is potentially the most interesting part of this release, although I don't know how lock-free they are.
I really dislike this to be honest. Not having threads ensures the language is nice and simple and pure. Threads in what is pretty much an event driven language, make very little sense. What operations 'block' in js? Threads encourage sloppy inefficient programming.
If you start 20 WebWorkers, and it's faster than having 10, you have to ask some serious questions of the interpreter/VM. Like whether it's insane.
It should really be up to the interpreter/VM to be able to spread the work over multiple cores, not the programmer of the js.
In terms of the programming model, web workers are processes, not threads. They have no shared state, and use asynchronous message passing as the only inter-process communication - very much like Erlang. This makes them very simple, and fits in perfectly with JavaScript's existing asynchronous event-based model.
"What operations 'block' in js?"
Web workers are important because everything blocks in JavaScript. JS in the browser is single-threaded, which means that if you do anything computationally intensive (reading from a Gears database, sorting a huge array, image manipulation on a Canvas element) then your page can no longer respond to UI events until the processing is finished. Without worker processes, the only way to do long-running computation without blocking the UI was to implement your own cooperative multi-threading by "yielding" with setTimeout(fn, 0).
(Note: I'm talking about the model exposed to JS programmers, not the underlying implementation which might be based on native threads, native processes, or green threads.)
>> "the only way to do long-running computation without blocking the UI was to implement your own cooperative multi-threading by "yielding" with setTimeout(fn, 0)."
'''So my default answer to questions such as the one I got at last May's Ajax Experience, "When will you add threads to JavaScript?" is: "over your dead body!"'''
Quite feature rich for devs. Geolocation, native video support, XmlHttpRequest across domains and offline/local storage are my favourites. And that is not even the end of the list.
Btw, have you seen this -> http://blog.mozbox.org/post/2009/04/12/Firefox-35:-a-new-exp...
Although 3.5 has some interesting stuff, I'm really excited for the Taskfox/Ubiquity integration (https://wiki.mozilla.org/Taskfox). I think it could actually make the Awesome Bar much better. Not to mention, I'm sure we'll see a lot more work on it once it's integrated into Firefox. Hopefully users will still be able to submit commands.
There are firefox extensions that turn it into a normal entry box, although personally I love the awesome bar. I can't switch to any other browser now because I hate having to type out the whole url all the time. I can just type "hac" in my toolbar to go to hacker news.
FYI, in IE8, typing "hac" in the url bar sends you to a google search on "hac". In Safari, you end up at http://hac.com.
I can already do this with Firefox 2.0 (Firefox 3.0 from the Ubuntu repository crashed for me when I installed a new version of Ubuntu so I had to downgrade Firefox).
You can turn autocomplete off or have it only complete history/bookmarks (I just upgraded and checked.)
This turns all completion off though, even URL prefix matching (as opposed to the awesomebar 'anywhere in the URL/page title matching'), which I'm guessing you don't want. There are some entries in about:config (browser.urlbar.match*) that might make it do what you want.
Safari 4 does some subset of the super-matching thing too now; I find it kind of a mixed bag (I end up autocompleting to HN/twitter way too often) but am slightly on the side of it being helpful, although more intentional history search would probably work just as well.
I find that the awesome bar is increasingly awesome with more usage. I didn't like at all at first, but it really grew on me after a while.
As far as I know, there is no official plan to remove the "awesome bar".
Also, I can't until Ubiquity becomes standard. There's a disappointing lack of plugins for it at the moment, and standardization will really help that. :)