As many of you will have read, IBrowse 2.4 was demo'd at several shows around the globe today. Obviously we realise not everyone can get to these shows, and there were also a couple of shows happening which we didn't know about until it was too late, so we have added a summary of the news here.
Firstly, IBrowse 2.4 is only a minor update to IBrowse 2.3, and brings the 2.x line to a close. Future development will be concentrated soley on IBrowse 3 and beyond. The intention of IBrowse 2.4 was to fix the various crash inducing bugs, and incomplete features found in 2.3. Only one new feature was planned, namely the PluginAPI. Due to the time taken to reach that stage, various other improvements and new features found their way into 2.4, which has so far accumillated in approx 450 changes to date.
Summary of the new features:
New FeaturesPlugin API system for embedded objects
Based on the v4 NPAPI (Netscape Plugin API) to allow for easier porting of NS compatable plugins, this is used to allow IBrowse to display embedded objects within the browser when a suitable plugin is available. The most common embedded object would probably be Flash animations, followed by Movie clips. Another example of a plugin is a PDF viewer, which can still be viewed embedded in the browser, although its not embedded in a page per se.
Currently we have a Flash plugin in development, which is based on the open source libflash by Olivier Debon which we are using for testing and debugging the API implementation. libflash is very out of date by todays standards, so many flash files will not work, unfortunately. However, as part of the Plugin SDK, and inline with the GPL license of the libflash version, the source to the flash plugin will be released as an example plugin allowing for further development by interested parties (one of which has already expressed an interest in furthering the development).
Additionally, Stephen Fellner of DvPlayer/RiVA fame has expressed an interest in developing a movie plugin based on DvPlayer, allowing playback of the formats it supports. Currently these will be MPEG and MPEG2 formats, but these may expand to AVI and WMV in the future.
Support for the latest AmiSSL release has been added to IBrowse 2.4, allowing the use of the most up to date SSL implementation available for AmigaOS. AmigaOS4 users will be able to benefit from the improved speed of the PPC native SSL implementation, and other AmigaOS compatable systems will be able to use the 68k implementation.
Optional context pointer support
Support for context sensitive pointers has been added, providing different mouse pointers in different areas of IBrowse. Currently, there is a hand pointer (with clicking finger!), horizontal and vertical resize/drag pointers, and a grab pointer for moving frame dividers. These will not be configurable in 2.4, but they can be disabled. Configurable pointers is planned for IB3.
Background browser tab loading
Support for background tab loading has finally been added. Links can be opened in new browsers which remain inactive, allowing you to continue browsing the original page uninteruppted. Links can be opened conditionally in active or inactive browsers via the FAB menu, or for links that open in a new browser via JS or target _blank, they can be controlled globally from the IBrowse prefs by setting the default activation method. Finally, the NEWBROWSER ARexx command can specify whether the browser should be active, inactive or as per the prefs.
Preliminary character set and utf-8 support
One of the new features of AmigaOS4 is the ability to use fonts that provide multiple character set mappings. IBrowse has been enhanced to take advantage of this feature, allowing the page to be displayed in the character set specified by the page. There are some limitations to this, including that it only affects text in the HTML display (not the window title, tab titles, embedded MUI objects used in forms, etc). Also utf-8 decoding is mostly restricted to mapping back to characters available in the windows-1252 character set. This feature is "work in progress", with a better solution planned for IB3, but we saw no harm in making the current functionality available in the meantime.
The spoofing engine has been totally re-written for 2.4, and provides a range of pre-defined spoofing options. As before, they are controlled by the URL Prefs, but additionally they are also selectable from the Preferences menu as many people had requested. The available options for spoofing are:
Spoofing simply means IBrowse will tell the querying webserver that it is one of the above browsers, which can often allow you to gain access to sites which would otherwise reject IBrowse, often for no valid reason. It does NOT mean that IBrowse will magically inherit the features of the browser it is spoofing, so setting it to Mozilla will not suddenly give it CSS support, and setting it to MSIE6.0 will not suddenly give it ActiveX support!
¹ These options are essentially the same, however in compatible mode, IB will report itself as IBrowse in the HTTP headers (and so in the server logs), but as Netscape when queried by JS during browser checks. This is handy if you wish to promote IBrowse/AmigaOS in server logs, whist remaining compatable with more sites checking for Netscape via JS. Standard mode will report IBrowse in both the HTTP headers, and when queried via JS. Compatible is the same mode than IBrowse 2.3 and below use.
FTP Networking Code
Much of this has been re-witten for 2.4, making it more compatable with a wider range of FTP servers compared to previous releases
Enhanced, with improved support for more tags and attributes, as well as being compatible with more sites.
Now compatible with more servers.
Support for 2000 global cookies, with a 200 per domain limit plus a magnitude of fixes to the cookie handling.
Improved throught IBrowse², and 2.4 will come with full localisation courtesty of ATO. The catalog will be sent out for translation as soon as possible so they are ready in time for the release of 2.4.
Various GUI Elements
Splash window, with progress bar during startup & shutdown.
IBrowse² Textfield has been further improved and now sports a nice new FAB menu for functions such as Undo, Redo, Copy, Paste and Cut.
GUI response, with reduced refreshing and redrawing.
Image loading and decoding feedback when using external decoders courtesy of the place holders. These have also been expanded to cover the plugin system, to provide additional feedback on the plugin status.
Internal GIF Decoder
Compatible with more GIF images and animations after significant fixes.
Providing better compatability with more tables.
Further improvements to the memory management and usage, more memory leaks plugged