Opera 9.5 Released!

Release Notes

  • Opera 9.5 is a recommended security and stability upgrade. See the Security section.
  • This release also introduces new storage and indexing formats for Opera Mail (including feeds). See the Mail/News section.

Changes Since Opera 9.27
User Interface

  • Introduced Opera Link.
    o Opera Link enables the synchronization of Bookmarks, Personal bar, Speed Dial and Notes with other instances of the browser via the menu option File > Synchronize Opera. See: Opera Link - Web Everywhere.
    o The most recent Speed Dial entries will always be used during the Opera Link synchronization process.
  • Added Quick Find, an improved full text history search tool. Quick Find searches for text inside pages previously visited, not just the title and address. It is available from:
    o the address field
    o the history panel
    o opera:historysearch
  • A redesigned Address bar drop-down is displayed when entering text in the Address bar:
    o Improved the visual design.
    o Includes excerpts from previously visited pages (Quick Find - see above).
    o Added bookmark title and URL to the address bar auto-completion.
    o Improved the panel selector dropdown.
    o Added local file auto-completion.
  • Re-enabled the Status bar by default and copied some UI elements from the View bar to Status bar; View bar is now disabled by default.
  • Speed Dial:
    o Changed default Speed Dial search engine from Yahoo to Ask.
    o Added Undo capability for Speed Dial entries through Edit > Undo, and Ctrl+Z, which restores a cleared url entry.
  • Added alternative tab-closing behaviors. The preferences now include the following options when closing a tab:
    o Activate the last active tab (default).
    o Activate the next tab.
    o Activate first tab opened from current tab.
  • “Open with” functionality added to web page context menu and Transfer panel/page.
  • Content blocking improvements:
    o Added site-specific toggling of content blocking.
    o Double-clicking entries in the Details dialog now edits them.
    o CSS and JS files matching blocked patterns are now also shown in the Details dialog.
  • Added ability to save only the active window as a session (File > Sessions > Save This Session > Only save active window).
  • Disabled dragging links/favicons to arbitrary toolbars (exceptions: Personal bar and opera: buttons); hold Shift or open the Tools > Appearances dialog to enable dragging.
  • Wand feature will no longer block form submits, making it possible to see if login was successful before storing your login credentials.
  • Introduced a new security notification scheme in the address field; see Security…
  • New spatial navigation highlighting introduced, similar to the one used in Opera Mini 4 and the Wii browser.
  • Added spatial navigation for client side image maps, Xlink references in SVG documents and elements with click event handlers that simulate links/buttons.


  • Introduced a new default skin.
    o A Home icon is now present by default.
    o The New Tab icon has been moved to the right of the Tab order.
  • Allow cascading dialog.ini files.
  • Added .mini toolbar state (used in the Status bar) to make buttons and padding 80% of normal size.


  • Experimental screen reader support:
    o Added support for Microsoft Active Accessibility API (MSAA).
    o Preliminary support for Window-Eyes, JAWS, NVDA, and OS X VoiceOver.
    o Collaborated with GW Micro on improved compatibility with future releases of Window-Eyes.
    o Added basic implementation of Accessible Rich Internet Applications (ARIA).
  • Keyboard Shortcut improvements:
    o Disabled most single-key shortcuts. To re-enable single-key shortcuts, go to Preferences > Advanced > Shortcuts > Enable single-key shortcuts.
    o All keyboard navigation methods (spatial navigation, Ctrl/Cmd+Up/Down, inline find, etc.) should now work based on the same elements, which allows you to use spatial navigation after inline find, etc.
    o Keyboard shortcuts using Ctrl/Cmd+Shift no longer always open in a background tab.
    o “Save Draft” shortcut Ctrl+S removed due to the new autosaving of drafts.
    o Shortcut Ctrl+Enter now sends a message, in addition to Ctrl+Shift+S.
    o Shortcut Ctrl+O added for adding attachments in the compose window.
    o Shortcut for “Duplicate Tab” has been removed.
    o Shortcut for “Reopen Closed Tab” has been changed from Ctrl+Alt+Shift+Z to Ctrl+Shift+T.
    o Further reference: Changes in Keyboard Shortcuts between Opera 9.27 and 9.50
  • Spatial navigation improvements:
    o Restore navigated element when moving in history.


New storage and indexing formats are introduced for Opera Mail. If you copy your Mail directory from an existing profile, you will be prompted to convert all accounts into the new format and re-index your messages. You will not be able to downgrade to a previous version of Opera after starting the conversion process.

  • Opera Mail is now more secure, reliable and faster.

  • Improved search results in Opera Mail when using Quick Find.

  • Easier mail setup for well-known providers using the mailproviders.xml template.

  • SMTP Authentication is enabled by default for new mail accounts.

  • Performance improvements include reduced memory usage, reduced disk accesses, and reduced freezing when checking for new mail/feeds.

  • Improved the moving and copying of messages on an IMAP account.

  • Improved IMAP reliability, especially when fetching mail with multiple clients.

  • Improved downloading mail from POP servers.

  • When using “Leave messages on server”, POP3 messages are permanently removed from the server when the Trash view is emptied (disable by setting “Permanent delete=0” for the relevant account in accounts.ini)

  • Made “Send queued e-mail after checking e-mail” setting POP-specific.

  • Improved handling of multipart messages and message attachments, including messages sent from Apple Mail.

  • Messages in the selected IMAP sent folder are now shown in the Sent view.

    User Interface

  • Improved the Search and Filter property dialogs.

  • “Move Spam to Trash” and “Empty Trash” are now limited to the active account(s).

  • IMAP mailboxes that cannot be checked are greyed out.

  • Improved the View > Encoding setting for messages.

  • New notification system: each message will generate a notification, though one notification per account will appear if more than three messages are received.

  • Changed the Mail panel, which replaces the status pane with account icons.

  • Pressing F5 will check for new messages in the current view; useful for manually checking for new feeds.

  • Replaced “Save as draft” button in the Compose window with a “Discard draft” button: drafts are auto-saved once text is entered in the message body.

  • The Mail panel now indicates nested filters or mailboxes.

  • Mail passwords are now stored in the Wand password database and displayed with ghost text instead of asterisks.

  • Added an option to filter/search based only on message bodies.

  • Improved spatial navigation of messages.

  • Added Ctrl/Cmd+O shortcut to add attachments to messages.

  • Improved the display of Japanese file names in Mail.

  • Changed handling of Delete:
    o Del Always moves to Trash bin.
    o Shift+Del Now deletes completely without using the Trash bin.

  • Several improvements to the Undo functionality:
    o Undo after marking all as read works now.
    o Undo now reverts marking as spam.
    o Undo removing items from filter.


  • Added an Opera 7/8/9 importer and a recursive mbox importer.

  • Made Netscape, Eudora, and Opera 5/6 import options available cross-platform.

  • Improvements importing mail from Thunderbird and Outlook Express.


  • Notifications can be limited to private messages rather than all channel activity (can be enabled in Preferences > Advanced > Notifications)


  • Improved feed download speed.

Display and Scripting
Rendering Engine

  • Many performance, stability and memory improvements throughout the engine.
  • Added support for the CSS3:
    o overflow-x and overflow-y properties (demo)
    o text-shadow property (demo)
    o Selectors (demo)
    o outline-offset property (demos)
    o background-size property (only accessible via the custom -o-background-size property)
    o currentColor color keyword
  • Added support for the CSS2.1:
    o white-space: pre-line value
  • Added support for the:
    o :-o-prefocus pseudo-class, which allows styling of form elements reached via spatial navigation.
    o custom -o-language-string(n) property for use in User and Internal Stylesheets to allow localized strings in stylesheets.
    o custom-o-table-baseline property, used to determine which row of an inline-table will be used as the baseline of the table.
  • The property accepts either an integer or inherit value, where the integer refers to the table row to use as the table’s baseline.
  • -1 refers to the last row of the table and -n refers to the nth row from the bottom.
  • If the integer value is 0, the bottom margin edge of the table will be treated as the table’s baseline.
  • The initial value is 1; this property only applies to inline-tables.
    o label attribute of option elements
    o min-width and max-width properties for elements styled with display: table-cell (such as td and th elements)
    o color attribute for hr elements
    o overflow in inline-table and inline-block elements, which fixes unclickable links and truncated content on Dell.com.
    o display: table-column and table-column-group values on elements other than col and colgroup
  • Improved support for the:
    o CSS outline property
    o [ at ]import, [ at ]media, [ at ]namespace, and [ at ]page at-rules

  • rowspan=0 is now also supported in Quirks mode.

  • :lang() selector now correctly matchs the full string.

  • Disallowed use of percentage width values for the border-width property.

  • Removed support for class selectors starting with a digit in Quirks mode.

  • Improved the table layout algorithm.

  • Major improvements to the shrink-wrapping algorithm.

  • Updated tabindex attribute handling:
    o Any element with a tabindex that is a positive number should be reachable by tabbing.
    o Elements with a negative tabindex should never be reachable by tabbing.

  • Improved redraw when reducing the width of td elements via DOM.

  • Improved display of full-screen YouTube videos.

  • Improved focusing of the message composition area on Gmail.

  • Allow:
    o Changing the background of input type=image elements.
    o Inheritance of frameset encoding into frame documents, using the same restrictions as used for inline frames.
    o Storing of original strings in HTML attributes for use by CSS selectors and the DOM.

  • Enabled employing percentage height on blocks inside table cells.

  • Corrected use of padding on table elements when setting the border-spacing property and using the separated-border model.

  • Media queries are now dynamic, allowing them to update when the window size is changed not just when the page loads.


  • Zero bytes in encodeURIComponent and encodeURI are now handled correctly.

  • Unicode escapes can no longer be used to put non-identifier characters into identifiers.

  • getSVGDocument is now supported in an iframe.

  • createDocumentType now throws an exception for malformed qualified name.

  • NodeFilter no longer returns true => 1.

  • HTMLTableRowElement.rowIndex and .sectionRowIndex are now defined for table rows created via DOM.

  • HTMLButtonElement.type now defaults to “submit”.

  • Form control collection is now indexed by name when outside the main document tree.

  • Improved Range.surroundContents().

  • Changed insertNode to not collapse range.

  • removeNamedItem() and removeNamedItemNS() will now throw a not-found error.

  • NodeIterator now functions properly under dynamic changes.

  • Date.UTC() now does proper 1900 year offsetting.


  • The ECMAscript engine has been rewritten, which is now more flexible and uses less memory.
  • Improved JavaScript performance.
  • Improved process of calling abort() from readyState 2 or 3 in XHR.
  • Various improvements to XPath.
  • Added integration of Opera Dragonfly (alpha) web developer debugger to Tools > Advanced > Developer Tools.
  • Added support for JavaScript 1.5 Getters and Setters.
  • Added support for the DOM 3 Core:
    o Node.isSameNode method
    o Text.wholeText attribute and Text.replaceWholeText method
    o Node.compareDocumentPosition method (used by Google Pages)
  • Added support for the HTML5:
    o {Document,Element}.getElementsByClassName method
    o Navigator.onLine attribute and the Window.{online,offline} events
    o Canvas.getImageData and Canvas.putImageData methods, including support for creating an ImageData object using the ImageData interface
    o Canvas.transform, Canvas.setTransform, and Canvas.isPointInPath methods
    o Element.tabindex attribute and the Element.{blur,focus} methods
  • Added support for:
    o Gecko DOM Range.comparePoint method (used by Google Pages)
    o Microsoft XMLDocument class used for all XML documents (except SVG and XHTML) for cross-browser consistency.
  • The DOM 3 Load and Save Document.async attribute and Document.load method will no longer work in the Document class.
    o document.moveFocus{left,right,up,down} methods for directing spatial navigation via JavaScript.
    o start and stop methods of marquee elements
    o CSSOM ElementLayout.{getClientRects,getBoundingClientRect} methods (demos)
    o getClientRects and getBoundingClientRect
    o CSS color and background-color properties for the ::selection pseudo-element
  • em tag is now inserted instead of i tag when using italic execCommand parameter.
  • Improved changing the font size of textarea elements via DOM.
  • Fixed issue that caused non-breaking spaces to be inserted in textarea elements as seen at Gmail.
  • Renamed LSLoadEvent.input attribute (was LSLoadEvent.filter).
  • Adjustments made where mouse events had built-in effects before script event processing was finished.
    o Cancelled mousedown should not move focus.
    o Blur/focus events caused by mousedown event should be processed after, rather than before the mousedown event causing them.
  • Stopped showing text nodes in script and style elements when using the Document.all collection.
  • Trigger is now enabled for a onload event for images set to display:none.
  • Adjusted canvas locking in the 2dgame context to allow updating when the canvas is locked and fixed the update function to actually work.
  • Disabled Document.length, as it caused issues in the Apple.com CoverFlow demo.
  • Removed the text attribute from the HTMLSelectElement collection.
  • Date.getYear() now returns a full year when the year is > 1999 or < 1900 for cross-browser compatibility (despite breaking the JS spec).
  • Removed IE-compatibility where Document.getElementById treated name and id attributes the same, which caused issues with jQuery.
  • Events are no longer shared between the Window and Document objects.
  • Date method with an out of range day parameter no longer becomes the current date.
  • Multiple text nodes are no longer created when there is more than 32KB of data in the text node.
  • Improved changing the type attribute of button elements.
  • Setting the scrollTop attribute for textarea elements will now scroll the textarea content.
  • Several adjustments made to Document.activeElement for consistency.
  • xml tags within HTML documents are now given a documentElement attribute.
  • XMLHttpRequest now resolves URLs according to the HTML base element.
  • Event.keyCode now returns keyboard codes for punctuation keys in addition to alphanumeric keys, improving keyboard navigation at Gmail.
  • scrollTop working on both the html and body element simultaneously now allows proper display of maps on theaa.com
  • document.body.{clientHeight,clientWidth} and document.documentElement.{clientHeight,clientWidth} now return the correct values in Strict mode, which fixes issues with Novell GroupWise.
  • Made event capturing more cross-browser compatible:
    o It no longer captures load events if a listener is attached to the window and firing capture events at target.
    o Attach listeners to the document object if you need to capture load events from within the document.
  • input element created via the DOM when changing the type attribute no longer loses the value, which caused issues when editing del.icio.us bookmarks.
  • References to undefined variables as a single statement now throws an error.
  • scrollWidth and scrollHeight on the html element now return the size of the html element instead of the size of the document (viewport).
  • onmouseout event now fires if an element’s innerText changes while it is being hovered.
  • Adjusted the return value of getComputedStyle and currentStyle.
  • Attribute values in innerHTML are now encoded as required by HTML5.
  • Added MathML support.
    o See the article on Dev.Opera.
  • Opera now cloaks document.all.
    o See the discussion on Hallvord’s blog.
  • Web page performance is now improved with XMLHttpRequest (AJAX).


  • Added partial SVG Tiny 1.2 support.
  • Added support for using SVGs in img elements and the CSS background-image and list-style-image properties
  • Added external reference support for SVGs.
  • Use Opera to render SVGs embedded using the embed element, not just the object element.
  • SVGs can now be used as the source for canvas drawImage and createPattern operations.

Rich Text Input

  • Use line/paragraph breaking in rich text editor: Enter should insert block-break (new paragraph) and Shift+Enter should insert line-break (br element).
  • Improved handling of inserted and removed elements.


  • Improved the SVG, DOM, WML, Web Forms 2.0, XPath, and XSLT implementations.
  • Added support for UAX #14 Line Breaking Properties and UAX #29 Text Boundaries annexes.
  • Added support for XSLT document() function.
  • Enabled RTL support in text inputs (including Opera Mail) and form elements.
  • Fixed issue where the HttpURLConnection Java object did not support getHeaderField and getHeaderFieldKey.
  • Allow installation of certificates that generate warnings.
  • Always obey server-set Expiry header.


  • Fixed an issue where certain characters could obscure the page address, as reported by Tony Thomas. See our advisory.
  • Solved an issue where Images could be read cross-domain with canvas, as reported by Philip Taylor. See our advisory.
  • Pages held in frames are no longer able to change the location of pages in unrelated frames on the parent page. See our advisory.
  • Improved Fraud Protection now includes advanced malware prevention and upgraded phishing detection technologies. See article: Opera Fraud Protection.
  • Added support for Extended Validation (EV) certificates.
  • Added automatic downloading of trusted root certificates when required.
  • Disabled SSL v2 and weak ciphers.
  • Improvements made to certificate handling, the new certificate repository and the certificates UI.
  • Introduced a new security notification scheme in the address field:
    o gold lock on green field for secure sites with Extended Validation
    o silver lock on yellow field for regular secure sites
    o question mark on gray field for HTTPS sites with issues
    o no notification for normal sites
    o fraud warning on red field for blacklisted sites
  • Opera now distinguishes between local servers on localhost, intranet servers, and remote servers on the Internet.
    o Local servers can use remote resources, but not vice versa.


  • Offline mode is improved.

  • Redesigned Info panel: it now includes the page display mode, download date, META tags, links to stylesheets and JavaScript files, etc.

  • Items in opera:cache no longer use file extensions.

  • Added “Drag to scroll” (disabled by default) which allows scrolling by “grabbing” the page, much like on mobile phones with touch screens.
    o This functionality is also available if you press and hold Ctrl+Alt and drag the page.

  • opera:config will now function correctly when JavaScript is disabled.

  • Added support for the BitTorrent peer exchange protocol, which is compatible with libtorrent and µTorrent.

  • Reduced CPU usage when downloading torrents.

  • Added support for JIS X 0212 in EUC-JP code set 3 and ISO-2022-JP.

  • Added support for JIS-Roman output in ISO-2022-JP.

  • Enabled auto-detection of ISO-2022-JP-1 support.

  • Added zh-SG and zh-MO as known language codes and SG and MO as country codes for selecting Chinese variant.

  • All mail and history searching now occurs in a separate processor thread.

  • New search.ini.

    Windows-specific changes

  • Opera can now be set as the default mail application from the control panel.

  • Better support for the Default program settings dialog in Windows XP and Vista.

  • Discontinued support for Winsock 1 on Win95. Winsock 2 is available as a free download for Win95 users. See Availability of Windows Sockets 2.0 for Windows 95.

  • Improved performance of painting on Web pages demanding graphics-intensive operations.


Just copied 9.27 to E:\ then will get 9.5 when the Classic Installer is available (none of the MSI rubbish) and install over 9.27. If it goes titsup I’ll copy the backup er, back up.

Normally it’s not recommended to install a major upgrade over the top and certainly not to install the final over Beta releases, but the last RC would, by default, install over 9.27. Fortunately it wanted to go in C:\Program Files\Opera but that doesn’t exist!

Just installed the new version :slight_smile: I think Opera is the best browser ;D

(I can feel that now my browsing is faster :-TU)

I read somewhere on the Haute Secure site that it was teaming up with opera for the 9.5 release. See Here: http://hautesecure.com/press.aspx

Interesting reading anyway.

Yes, Opera published an article about the link. Wonder if it works.

:BNC Finally it’s out of Beta.

I really like this one, much faster and even prettier from default ;D


Cool cool cool. :BNC I’ll be getting my hads on this as soon as I have enough time. :-TU

Any feedback, everyone upgraded is doing fine?

Yep. Everythings fine. :slight_smile: Web browsing is definetly faster :slight_smile:

Noticeably faster on some sites with many images. One category on Scan Computers has over 500 images and that, although the download speed is about the same, is quicker and smoother.

BTW, first thing that I missed was the keys for tabs and back/forth didn’t work, so there’s a setting under Shortcuts to re-enable 9.2 compatibility.

I’ll be upgrading tomorrow, I don’t want to get busy messing until I’ve got some sleep. :slight_smile:

You mean Z, X, Num 1, 2, etcetera? Hey I loved those keys, they were one of the most attractive details of Opera. (I hate having to press Alt or Ctrl + something when just something could be enough.) Glad to hear they can be brought back. :frowning:

This Browser is good but nothing will beat Firefox 3, In terms off Security, Addons, etc. IMO :stuck_out_tongue:


Didn’t realize there was a thread on this already.

OMG! This new version is messing me up! All my settings/cookies/whatever are not working! I backed the Profiile directory up, but now this US version is really weird: there are 2 Opera folders:
C:\Documents and Settings\User\Application Data\Opera
C:\Documents and Settings\User\Local Settings\Application Data\Opera

This is why I prefer the classic installer. All these were group under one Profile folder. So then I thought of replacing my backup sub-folders into each. Didn’t work >:(. I place my backed up Profile folder into the old location C:\Program Files\Opera…didn’t work >:(

Little help?

Fine. I helped myself >:(. I got it fixed by copying that backup folder to ALL 3 Opera folders. Of course this isn’t ideal, but what can I do? Wait for the Classic Installer and clean reinstall later? Hopefully they didn’t decide to remove. My anger right now outweighs the awesome improvements of this version, so I can’t think straight nor have the incentive to explore all the new changes.

I guess the other question is other than the obvious bookmarks/cookies/settings, what other files should be backed up? What are browser.js, opssl6.dat, and the new VPS folder?

I found a bug in the Blocked Content: it shouldn’t be case sensitive, but take http://fileforum.betanews.com/detail/uTorrent/1127406453/1 for example. I have on entry in there /ads/ that doesn’t cover it until I add in in /Ads/. And add blocking is one of the biggest usage for me…not looking good…

Everything great here. (:CLP)

Soya, I’m starting to think that hacking your Windows isn’t such a good idea. :stuck_out_tongue: First CFP’s AV scanner and now this. I think it’s always best to follow the manufacturer’s recommendations…

Can’t tell about the content blocker though. Go ahead and report it so they can fix it. :slight_smile:

And please ladies and gentlemen, if you want to discuss other browsers this is not the topic. :slight_smile: Perhaps it’s about time to start a new browser wars topic with poll, now that Opera 9.5 and Firefox 3 are both almost out.

Hey >:(! Leave CFP out of this. I’ve always gone through the same version upgrade for Opera by clean uninstalling and placing the Profile directory in C:\Program Files\Opera, but it didn’t work this time >:( all because of this non-Classic Installer mumble jumble pfftt. I seriously don’t understand why this standard installer requires three Profile directories. That goes against Opera’s efficient style 88).

I’m going to leave my hope for the Classic Installer like giraffe.

Actually these two folders carry a different task

C:\Documents and Settings\User\Application Data\Opera\Opera 9.50holds the profile settings (previous version did use …\Opera\Opera)
C:\Documents and Settings\User\Local Settings\Application Data\Opera holds volatile data like cache

Content Blocker shouldn’t be case insensitive either as many servers out there use case sensitive paths but I guess that adding a more refined regexp like syntax won’t hurt.

As for file to backup I usually save:
urlfilter.in Content Blocker
speeddial.ini Opera Speeddial
search.ini Search engines
notes.adr Operas notes
\toolbar. customized toolbars
\sessions. Saved Sessions
\menu. Customized menu
opera6.adr Bookmarks

browser.js is Opera default scripted website fixer. Is the same as opera Userjs but it cannot be customized.

That’s why I don’t understand why separate them into 2 different locations when in the classic version they can be grouped under one, all in C:\Program Files\Opera.

What about opssl6.dat and the VPS folder? My guess is the first is the security sites or certificates file and the second is the voice-controlling data.

VPS holds autocompletion data used when typing new url.
opssl6.dat holds cert infos. Here I got some comodo forums cert in that file.

As for the two directories I guess it was a mentioned in some guideline.
This way volatile data is actually separated from real profile info.

I guess that at least sparing some space would be a good thing.
IMHO backup of Opera cache files is not that important.

It looks like the interface is slightly more customizable than before. I wa able to rearrange it like in the previous version and I also managed to remove the tab panels when I have only one page opened. I had to move the new tab button and the closed pages button in order to not cause deadlocks. I aso ha to edit the ini files to add a close menu item in the popup window.

This setup saves a lot of space.

[attachment deleted by admin]

Exactly. I’ll stop complaining once the blocked content bug is fixed and the classic installer arrives (:LOV)

I found this on another forum:

They tend to not publicly release these setup files until later for some reason 88)