Please note that this is not an exhaustive list, but merely a summary of the
changes that were logged in the history since IBrowse 2.3 was released.
- Fixed WACL PAGEURL not working for blocking embeds
- Renamed WACL DELAY and HIDE options to DELAYIMAGES and HIDEIMAGES, whilst adding new DELAYEMBEDS and HIDEEMBEDS options to allow blocking of flash anims, etc
- Fixed WACL delayed images interfering with the "Wait for Image" features
- WACL no longer blocks popups opened via direct user input (e.g. clicking links, images, form elements/buttons)
- Don't ignore last entry in s:wacl.conf if not newline terminated
- Web Advert Control Language support now works
- Bumped version id to 9.0 r28
- Delay graphics initialization if IBrowse is iconified
- Fixed handling of multiple stream plugin instances, where the URL matching was broken
- BUGID 1402: Fixed a stack overflow bug due to libflash getting stuck in a recursive loop
- Suppress jpeg error messages
- Updated with zlib 1.2.3 and fixes part of libflash 0.4.13 which has solved at least one crash bug
- Ignore fscommand: URLs which flash files may try to use
- Fixed swflash lib bug which caused memory to be trashed when playing some specific flash files
- The previous 24-bit render code fix actually got lost during code reorganisation, but should be working properly now
- Fixed bug in library startup code which was trashing the stack and crashing on close, after a delayed expunge
- Fixed bad refresh for simple refresh windows that happened if the window needed refreshing before the display initialisation
- Fixed 15-bit and 24-bit render code
- Fixed bugs in the AGA render code
- Mouse pointer now changes when over "buttons"
- Added workaround for buggy scaling in the flash lib
- Fixed memory management bugs
- Fixed buffer overflow in the sound decoder
- Cleaned up render code so that only the visible portion of the canvas is drawn, for resized anims whose proportions do not match the original
- Unhandled flash files could result in trash being rendered to the display area, due to out of range lookup table references
- Fixed various memory and resource leaks
- AGA render code added
- Fixed hits that occur when a new stream in a multi-stream plugin object fails with an error, when viewed seperately
- Fixed crash that could occur with plugin objects using multiple streams when the page is freed
- Fixed crash that could happen when exiting IBrowse while it is iconified and loaded pages have plugin objects
- Fixed hits that occurred when opening a plugin object in a background browser
- Fixed plugin objects loaded separately from not being displayed when using back/forward
- Fixed crash that could occur when iconifying while plugin objects are loading
- Fixed NPN_GetURL to handle sending new streams to the plugin
- Fixed non-clearing of browser area when loading flash files seperately
- Fixed crashes that could occur with plugin instances that use multiple streams
- Fixed plugin objects reacting to user input when outside the display area
- Fixed NPM_GetURL to work properly in framesets
- Use the page URL when resolving relative URLs received via NPN_GetURL, for embedded plugin objects
- Fixed the hit when ';' is missing from the MIMETYPE plugin tooltype.
- Enabled plugins
- Resynced PS printing layout engine with main layout engine, fixing miscalculations in document length / pages
- Fixed PS printing non-breaking space layout problems
- PostScript printing works again, after getting broken in the last beta
- Implemented printing of embedded object placeholders
- Fixed printing of image placeholders
- Fixed bug in PS printing text width calculation which could cause text overlay other content instead of being wrapped to the next line Printing: Fixed bug in colour image printing
- Resynced PS printing layout engine with main layout engine
- The palette used for printing datatype images (that includes internal images, such as <li> bullets, too) was not correct when using an 8-bit display - fixed
- Printing of images that have transparency was still flawed - rewritten to work properly this time
- Fixed PS printing of images that have transparency, which wasn't working when running on a screen > 8-bit depth
- Added OPENDLMANAGER ARexx command to open the Download Manager
- "New" ARexx command now honors the Default Activation setting
- Fixed the background tab loading via ARexx
- The PRINT ARexx command now deiconifies IBrowse, preventing the print windIdow from failing to close
- Fixed default FAB menu prefs which changed last beta and crashed
- Fixed bug in the font prefs layout when not running on OS4
- Removed save path from x509 cert mimetype
- Improved cert import and postponed p7b + pem files for IB3.0
- Limited the maximum name and button title fields for the mycroft handler to match the search url prefs limits
- Fixed "View frame separately" from not showing up when placed in an plugin object FAB menu
- Fixed instability and crashes that occurred when moving items in the FAB menu prefs onto a submenu
- Fixed hits that occurred when using image only FAB items in the plugin object menu
- The "Delete" button in the user cert prefs now works
- Default application/x-x509-user-cert MIME type now set to internal instead of save
- Fixed hits/crash that could happen loading the FAB menu prefs
- Added balance bar to action chooser groups in the prefs, to allow resizing for when elements are too small
- Added an option to disable the graphical status icons
- Fixed potential crash that could occur when manually loading a settings file that has no macro menu entries
- The Custom image is now shown when adding a custom button, rather than the Spacer image
- Changed "Show location toolbar" to "Show URL toolbar", and "Show status bar" to "Show status toolbar" to keep it consistant with the prefs entries
- When cmanager.library is not available, the option to Use Contact Manager is now disabled
- Added a new option to emphasize JavaScript Alert() requesters by linking it to a DisplayBeep()
- Fixed default FAB prefs + added a Page submenu to the Image menu
- Only show used external MUI Custom Classes in the MUI 3.9+ Prefs
- Changed "Show server errors" prefs setting to "Ignore server error pages"
- Don't add space after the %s placeholder in the search bar prefs
- Search Bar prefs entries can now be drag sorted
- Added new options to the URL Toolbar prefs to toggle the display of the Add/View Bookmarks buttons
- Added new page to the prefs for the URL Toolbar
- Prefs now uses PROGDIR:images/Custom for the custom image in the toolbar prefs
- 3DES encryption is now enabled by default, along with AES encryption, whilst DH key exchange is now disabled by default since this would found to be the real reason behind slow SSL connections on 68k processors
- Split cipher key exchange and authentication items in the prefs, allowing RSA authentication to be disabled seperately from RSA key exchange
- Added setting to allow <embed> support to be disabled
- Removed the disabling when default new method is set to window - the background loading still effects the drag and drop so should still be settable irrespective of the new method
- Fixed problems when using range in the fonts prefs.
- .readme is now a valid text extension allowing local files to be displayed in the default config
- Remaining internal MIME Types are no longer semi-deleteable
- Modified the action selector so that the fields are cleared when it is set to disabled
- Saving settings after attempting to load non-existant settings now uses the original filename instead of the non-existant one
- Altering the disk cache directory in prefs now takes immediate effect rather than requiring a restart
- Opening a non existing prefs file will make IBrowse complain
- Made distance and spacer objects in toolbar prefs visible
- Added an option to set the toolbar button border
- MIME settings retouched and corrected
- Disabled "Show new Hotlist Manager entries in menu" when "Use Contact Manager for bookmarks" is enabled
- Switched the order of the default behaviour options in the prefs, and disabled the default browser settings when default new is set to Window
- Fixed download manager section in the prefs, where none of the options could actually be changed
- Allow use of a single '?' as an AmigaDOS wildcard in URL prefs entries
- Increased cipher name maximum size to allow the EXP1024-DHE-DSS-DES-CBC-SHA cipher to display correctly
- Linked the Delete button in CA Certs to the Safe Requester setting, so that a confirmation is required when Safe Requesters are enabled. Note: Usercert deletion is not currently implemented (!)
- Fixed a bug when deleting CA Certs that have been disabled/enabled before OK had been clicked in the prefs
- Increased URL length limit for toolbar, fastlink, macro and FAB menu actions
- Use context pointers in prefs now works
- Switched "Frames support" and "Spoof as Mozilla" options in the URLPrefs. Renamed "Spoof as Mozilla" to "Spoof as" and changed the checkmark to a cycle gadget with provision for multiple spoof options
- Moved Download Manager options into their own page in the prefs
- Moved JS options into their own page in the prefs
- Adjusted the layout of the toolbar prefs buttons, so that the buttons are all equally sized
- Tidied up the layout of the toolbar prefs, adding suitable group titles
- Changed the layout of Prefs -> General to make the layout more logical
- Changed the layout of the radio gadgets for the default behaviours, and moved them to the GUI page
- Added "View link in new inactive browser" FAB menu option
- Strip the port number from the auto-proxy host parameter
- Fixed broken handling of URLPrefs entries that contain only one wildcard, #?, when that wildcard isn't at the end of entry
- PopFont image is used for the font requester for MUI 3.9+
- Def save dir requester changed to directories only
- Changed imagery for file/directory request gadgets to the correct MUI image
- The "Use" Def. save dir option is no longer overridden by the "Download files automatically" option, so now it'll always cause a file requester to be shown
- Fixed the loading of the printer prefs file, where the print images and colour printing options got swapped around
- Fixed the locale button for the "Accept language" prefs option to handle OS4 locale names, and added bosnian, croation, finnish, hungarian, russian, serbian and slovenian
- The "Use MiamiSSL" setting is now disabled by default
- Added Amigaworld.net and amiga-news.de default fastlinks, and changed Aminet URL
- Changed "Cache secure webpages" to "Cache secure pages" to better reflect its function.
- Fixed bug which could cause a crash when opening the settings window
- Fixed "Cache secure pages" and "Cache secure images" prefs options - functionality was reversed
- Don't show a second consecutive master password requester when submitting a form when there's already a password entry for the site
- Don't allow multiple password manager windows
- Fixed master password requester not always opening on pages that insert lots of HTML via JavaScript
- Tweaked the master password requester to only pop up once during loading of a page, and to not be shown when matching form fields are not present (e.g. login cookie present)
- GUI images no longer require palette entry 0 to be the transparent colour
- The Cookie Manager now uses the default NList front pen for list text, instead of the MUI text pen
- Fixed status icons for browsers with no page loaded
- Added a FAB menu for plugin/embedded objects
- Fixed "View frame separately" from not showing up when placed in an image FAB menu
- Show a progress window when submitting a form containing <keygen>
- Optimised status bar rendering, preventing unnecessary redraws which caused flicker, and slowed page loading to a crawl on sites frequently running JavaScripts
- Altered the reload strings for the tab FAB menu, so that they are consistant with the other entries
- Altered the pen colours on the context pointers so that they are white with a black border under OS3.x
- Tweaked item order in the browser tab FAB menu
- When a page is loading in an inactive browser, ensure the scrollbar is reset to the top/left
- Don't draw a button background when using borderless toolbar buttons
- Tweaked context pointers, which should now retain the correct aspect, and match the resolution of the system pointer
- Added protocol FAB menu to the Location gadget
- Added a "Close other browsers" entry to the browser tab FAB menu, which will close all but the one the FAB is opened on
- Added "Add..." entry to the SearchBar cycle gadget
- Added beta build version to about: page
- Fixed garbage from being shown after the last line of text in the TEF
- Added new status images for JS Activity and Spoofing
- Status bar has been overhauled to show graphical status icons for various items: Data Source, Spoofing, JS Activity, SSL, PopUpBlocker
- HTTP and JavaScript User-Agent strings are now displayed on the about: page
- Added the registration name to the about: page. Note: iospirit-logo.png needs to be added to PROGDIR:info/
- Text in the search bar string gadget is now auto selected when you click in the gadget
- Increased the maximum number of characters for the SearchBar button to 14
- Search is added as the default text when adding a new entry to the Search Bar
- Fixed returning to a browser that was opened inactive, when closing browsers
- Don't show a busy pointer while initiating automatic downloads
- Embedded object placeholders now use the parent background and are drawn with a recessed border (like image placeholders)
- Tweaked active object handling to not deactivate and reactivate unnecessarily
- Fixed triggering of GUI dragging when clicking Search Bar on MUI 3.8
- Created a new Search Bar and added the prefs options
- Clear the JavaScript timeout status message before the timeout requester is shown
- Fixed size of error placeholders for image elements specified with either the width or height attribute missing
- If FAB menu is opened on an already active link, correctly update the text colour after the menu is closed
- Cookie manager now offers multi-selection of entries
- Tweaked HTML text highlighting handling to not unnecessarily redraw text where possible
- Matching entries in the URL poplist were never selected as active, even when a valid match was found
- Tweaked the timing of highlighting of inactive browser tabs, when the page has loaded, to be more accurate
- Minimized flicker when adding new plugin objects.
- On OS4 map attempts to use various ISO encodings to the Windows character set equivalents
- Made it possible to deselect options in <select> elements
- Added workaround for MUI 3.8 bug where using the menus while they were being modified (e.g. window and history menus while loading a page)
- Fixed lack of refresh problem for simple refresh windows during JavaScript initiated GUI operations during page loading
- The highlighting of inactive browser tabs when the page has loaded no longer gets triggered prematurely
- The ASL requester used in the "Specify action for" window now has a more appropriate title and uses save mode
- Dragging links caused the URL to be truncated to 512 characters - now 8192 to match the other areas of IBrowse
- The SECURE status bar indicator now show the number of secret bits used by the connection
- Don't automatically advance to the next MUI object in the tab cycle chain when pressing enter in a text element which is the last element in a form
- When loading a URL with an anchor part in an inactive browser, the page nows jumps to the correct position in the page when activating the browser
- Changed error placeholders for embedded objects where a plugin is inactive to plain placeholders
- Changed the menu item names for the plugins preference menu, and now plugins are made inactive rather than disabling embed
- All Drag n Drop graphics (not the GUI elements) are attached to the mid-point of the graphic, rather than some being in the bottom-middle and some bottom-right
- Fixed possibly incorrect context pointer while over an embedded object that resulted in an error
- New cookies added during a session are now highlighted in the cookie manager, with all columns highlighted, and for existing cookies that get modified, just the cookie value is highlighted
- The order of cookies in the cookie manager now reflects the order of the internal cookie list more closely
- Context pointers are reset when the window is deactivated
- The correct placeholder is now shown when no plugin is available for an embedded object, when the file was in the disk cache
- Clear status bar indicator when activating an empty browser
- Tidied up the menus to add ellipse where necessary
- Added image placeholder for plugins. NB the file Picture has to be updated for this to work correctly
- Added plugins item to the preferences menu, allowing temporary enabling/disabling of the plugin support
- Don't open shutdown window when trying to exit while downloading with the download manager closed
- In some cases, a browser menu could appear although there was no browser.
- Added Clear and Reset to the TEF
- Copy does now work in textfields
- Added context mouse pointer support to the plugin API
- Fixed the FAB in TEFs
- Modified Browser FAB for the empty area
- Added "Expire links" entry to the Navigation menu, and linked the function to the Safe Requester option so a suitable confirmation requester is shown
- Added requester when a second browser is trying to open in the demo version.
- Added "New browser" to the browser FAB menu
- Added an About plugins menu option to the project menu.
- Fixed the background tab loading implementation which was previously incomplete
- Removed reload button on about:plugins page
- Fixed a bug in the shutdown window progress bar, where the cleaning cache message could be trashed during display
- Ctrl+clicking on a link will now open the page in a new browser or window, depending on the default behaviour in the prefs
- Fixed incorrect size display in download manager for files larger than 1Gb
- Loading and decoding placeholders now shown for non-incrementally displayed images (loaded via datatypes / progressive JPEG option off)
- Fixed a couple of bugs regarding the context pointers when opening, closing or activating browsers using keyboard shortcuts
- Suppressed rendering of MUI background behind the HTML display area, resulting in cleaner, faster refresh when switching between tabs, resizing the window, etc
- Removed unnecessary display refresh when opening and closing inactive browsers
- No longer pre-select the first entry for a <select size=n> gadget
- Fixed mistaken display/detection of links (and context pointer changes) when mouse moved outside window
- Changed resolution setting for context pointers to hopefully match better on all displays
- Added a SPOOF status indicator for pages loaded with spoofing on
- Added spoofing option to the preferences menu
- Modified the ProgressInfo window to use a progress bar when IB is shutting down. Additionally changed it slightly to display the progress when printing multiple pages in the progress bar itself, rather than above it as it was previously
- Added the IBrowse logo to the startup window
- Added a progress bar to the startup window
- Added new pointers for frames. Moving over the frame will change the pointer to resize arrows, and dragging them will show the dragging hand pointer
- Implemented preliminary context pointers. Moving the mouse over links will change the pointer to a hand, and clicking the link will animate the finger clicking
- Added Authentication Status column to Password Manager
- Show title attribute of links in bubble help
- Display title attribute of images in bubble help, instead of the alt attribute, when possible
- Added primary background tab loading
- Tweaked anti-aliased font detection to work with MorphOS too, when rendering hyperlinks
- Tweaked GUI refresh when loading settings and during JS execution
- Fixed lack of simple window refresh when using the settings file requesters
- Update open cookie window when cookies are removed by a site
- Added progress status for JavaScript execution (shown only when execution time exceeds 1 second)
- <select> elements using listviews now have their width set to the longest entry in the list
- Added menu shortcut to Project/Closer browser menu option
- Added menu shortcut to Preferences/Settings... menu option
- Fixed images loaded via data, file, ftp or gopher protocols to not always instantly expire from the image cache
- Fixed PNG images with transparency not being decoded correctly to 8-bit displays when dithering is enabled
- Updated png decoder to libpng-1.2.13
- Fixed hits and references to free memory which could occur when moving the mouse over imagemaps or form images
- Fixed memory leak during failed loading of jpeg images
- Fixed HTTP-compressed image files not be decoded internally
- Fixed XBM decoder to not assume image data starts on a new line
- For external image decoders, use any alpha channel data supplied by picture.datatype, like the internal decoders do
- Updated png.codec zlib to version 1.2.3
- Fixed GIF anims with mixed transparency where all frames after a transparent frame were incorrectly considered transparent
- Implemented support for the "restore previous" GIF anim disposal method
- Fixed loss of transparency for images scaled by picture.datatype
- Fixed handling of GIF anims where frame offsets are out of range, which was generating hits and stopping the anim from playing
- Fixed background image rendering problem which occurred on AGA/ECS with "Use fastmem for images" on
- Fixed animations not playing when cached in memory and shown separately
- Handle transparency in (table) background images
- Ignore disposal method of last GIF anim frame, and always redraw the background when looping back to the first frame
- Fixed imcomplete rendering of first GIF anim frame, where the frame is smaller than the image size, and increased minimum allowable frame delay
- Due to previous fixes in the GIF decoder, the 8-bit dithering decoder got broken, resulting in problems such as bad transparency handling - fixed
- Reworked and fixed the frame clipping of resized GIF anims, which was causing some very nasty memory trashing before
- Enhanced range checking when downscaling GIF anims, which no longer results in individual frames not being downscaled enough to fit their position, which lead to memory trashing and crashes
- Instead of showing an error, incomplete GIF anims are now shown up until the premature end of file
- Fixed crashes caused by scaling GIF anims down to very tiny sizes (1 pixel height and/or 1 pixel wide)
- Further fix for the cache explorer preventing empty domains from being displayed
- Cache explorer no longer shows temporary entries for currently downloading files, which caused hits when clicked
- Fixed local images from being loaded twice if the path/name contained a space, when viewed separately
- Delete temp files used for external mailto actions
- Ensure temporary T:Command#? files get deleted
- Fixed crash that occurred when changing the cache dir setting while a page is still loading
- Modified image cache behaviour further again cache images with no Last-Modified date, whilst the expiry time is not reached as specified by the HTTP cache-control or expires headers
- Fixed JS file caching where aborted network requests would result in an incomplete script being cached
- Suppress DOS "insert volume" requesters on file:// URLs referencing a non-existant volume
- Disk cache entries now dated with their Last-Modified date if there is one, instead of the request date
- Fixed disk cache problems involving URLs that return content on first load, but issue a HTTP redirect on subsequent requests
- Changed all asynchronous i/o code to use dos/SendPkt instead of exec/PutMsg
- Maximum filename length is no longer hardcoded at 30, and is automagically detected, allowing the no req option in the mimetype prefs to work when the name is > 30 chars when supported by the partition/filesystem involved
- Fixed recent changes in the cache code which was preventing locks on cache dirs from being released after use
- Switching the disk cache off now really does disable the disk cache completely, and cleared up some confusion in the prefs
- Fixed a missing SAVEDS in io/action.c
- Speeded up loading of the download log file, which should now slow down linearly when the size increases, instead of exponentially
- The file: protocol doesn't trash memory anymore when listing a directory containing a filename longer than 90 characters
- Fixed bug in disk cache which caused files to be mistakenly erased when updating an existing cache entry
- Tweaked the fix to handle volume names that contain space characters
- The root for relative links in local files has been changed from file://localhost/ to file://localhost/device:
- Fixed loading of images from index.html for file:// URLs pointing to a directory, without a trailing '/'
- Fixed tables with transparent backgrounds not always being refreshed appropriately
- Allow <font> markup inside <pre> elements
- Fix to avoid crashes with weird tables
- Fixed bug in <select> parser which could cause options to be corrupted
- Fixed align=right problem which caused the left side of images and tables wider than the window to be truncated
- Added 2048 bit support for <keygen>
- Improved layout of relative width embedded and iframe objects
- Fixed stripping of HTML inside <button> elements where any end tag would end the element
- Added support for the autocomplete <input> attribute
- Fixed stripping of HTML inside <option> elements which would truncate option text when an end tag was encountered
- More support for the lowsrc <img> attribute
- For documents containing more than one <body> tag, attributes can no longer be overwritten if already given previously
- Handle multiple differing table cell widths in a column
- Fixed an instance where loading URL with an anchor part in an active browser did not always jump to the correct position
- Added support for the NS marginwidth/marginheight and IE leftmargin/rightmargin/topmargin/bottommargin <body> attributes
- Fixed handling of rowspan/colspan where the resulting values intersect
- Tweaked handling of floating images in tables
- Floating images positioned at the start of a list item no longer cause the list item to be misaligned
- Minimum table cell width calculation now properly includes the indentation size of lists, whereas before list items could spill out of cell
- Fixed table cell width for when a form element or image is immediately followed by text and no whitespace, which could cause text to spill out of a cell
- Non-multiselect <select> elements with the size attribute set higher than 1 now honour the "selected" attribute of the associated <option> tags
- Changed a fix for a lockup bug in the table parser, which was breaking a previous layout fix
- Adjusted handling of anchor elements with no href attribute so they trigger JS events, but don't look/act like a link
- Added preliminary support for text/password readonly attribute
- Increased default maximum length for <input type=text> elements from 256 to 2048 characters
- Fixed highlighting of text in table cells with transparent backgrounds
- <a> elements must have a href attribute to become a link
- Fixed problem with form mailto post that includes subject
- Now supports the disabled attribute of form input elements
- Workaround for layoutbug in MUI. MUI has been fixed in the mean time aswell
- Fixed problem where the plugin of an embedded object in a table was initialized before the table had been layed out, resulting in the plugin being given 1x1 size (i.e. often invisible)
- Form elements contained inside links will cuase the link to be triggered when the form element is clicked
- Prevented embedded objects in inactive browsers reacting to input events from the active browser
- Added <noembed> support
- Removed spacing around <embed> objects
- Embedded objects now honour their bgcolor attribute
- The type attribute of an embedded object now overrides the server supplied mimetype, if valid
- Tweaked align=middle handling for images, to not add any space below the image
- Treat </br> the same as <br>
- For radio button groups defined with more than one button being checked, only the last one is now set that way
- Tweaked the conditions necessary to optimize background image rendering to consider the image area, and not just the individual dimensions (i.e. more efficient handling of images that are huge in one dimension, but tiny in another - e.g. 11x24000)
- Fixed unnecessary duplication of large background image bitmaps, which was resulting in very heavy cpu usage when redrawing parts of the background, especially on AGA/ECS
- Ignore background images comprising soley of a single transparent pixel, as often used by sites, which saves on rendering time
- Fixed the table parser which could find itself stuck busy looping when the HTML source ended with <
- Modified handling of rowspan=0 in tables
- Fixed non display of pages when "Wait for images" is enabled and the loading of an image is aborted
- Strip crlf characters from image alt and title attributes
- The "Show server errors" option now only applies to the displayed root document, and not inline images, external scripts, the download manager, etc
- Ignore meta-refresh content with no specified time
- Added IE "square" alias for imagemap shapes
- Tweaked the handling of out of cell table content to honour text colour and font changes
- Reworked the modified table parser from the previous release, since it broke scripts that ran inside tables, causing hits, etc
- Fixed broken table alignment in the updated table parser
- Added workaround for incorrect coordinate order in image maps
- Out of cell table content is now rendered again (above the table)
- File upload form inputs now respond to a reset
- FTP links are no longer parsed, and will be shown in italics in the displayed hyperlink instead
- <button> now defaults to a submit button when an invalid type is given
- Fixed meta-refresh parser to handle a missing semi-colon after the delay value
- Ignore duplicate HTML element attributes
- Improved missing </select> end tag recovery and handling of the </option> end tag
- <keygen> now works without specifying the challenge attribute and key sizes are now shown in descending order
- Fixed incorrect minimum table cell width calculation which could cause text to overflow a cell if any text styling was used
- Handle UTF-8 byte-order marker
- Relative URL references in external JavaScript files are now interpreted relative to the script URL, not the page URL
- Fixed incorrect calculation for tables that have no specified width and %-width cells, which could cause tables to be too narrow
- Completely ignore any <form> elements nested inside a <form> element
- Fixed various vertical spacing layout issues (missing and extraneous blank lines) concerning elements such as <pre>, <address>, <h1...5>, <hr>, <ul>, <ol> and <table>
- <pre>, <h1...5>, <hr>, <dl>, <ul> and <ol> now reset any current paragraph alignment to the current default alignment
- Stray <li> elements now rendered with a bullet point rather than being ignored
- No longer insert a blank line at the start of a list item when the content begins with a <div>, <center>, <table> or <p> element
- Fixed messed up layout of <ul> and <ol> lists in non-left aligned sections
- Fixed layout problem where the last item of a nested <ul>, <ol> or <dl> list was indented incorrectly
- Changed handling of content inside a table but outside td/th cells (i.e. broken HTML) to be more consistent with IE/Moz
- <input type=image> elements no longer default to having a border
- Fixed a case where <input type=image> elements could have a following forced line break
- Added support for <del> and <ins>
- <a href="#link"> links will now jump to anchors with a matching ID attribute, in addition the name attribute
- Links using an unknown target name now open in a new window
- In table cells, if a height attribute was given, vertical alignment would always change to "top" - fixed
- Skip whitespace in meta refresh "URL = http://..."
- Added preliminary support for <button> (plain text only for now)
- Unicode &#nnnn; references are now mapped back to windows-1252 if possible
- Added preliminary support for pages using UTF-8 encoding, mapping back to windows-1252 for now
- <script> sections specifying a type attribute are now ignored if the type is anything other than text/javascript
- Handle XHTML minimized empty tag syntax where the tag has no content at all (e.g. <br/>)
- Fixed handling of <font face=...> tags, where more than one font is listed
- No longer terminate posted form data with a CRLF pair, which was an old NS4 trick, no longer used by newer browsers and causes problems with some sites
- Added experimental support for OS4's new font/charset system - pages specifying a charset supported by OS4 will now be displayed using the correct characters, assuming you have set IBrowse up to use non-bitmap fonts
- When pressing Enter in form's string element, the form is now always submitted if it's the only string element, even if there are more than one submit button (e.g. www.google.com)
- Reworked imagemap handling to closely mimic Mozilla/IE, whilst removing hits that could occur with server-side imagemaps
- Added support for hexadecimal character references (e.g. å)
- Fixed background colour rendering problems with very long tables which could trash the display in the worst cases
- Fixed form data output for forms with unnamed image submit buttons when the form is not actually submitted via that button
- Added support for ' XML entity
- Fixed a potential memory trash bug when loading non cached images
- Fixed buffer overflow bug in ftp module
- Added workaround for sites that send a broken Content-Length header for HTTP compressed files
- Fixed aborted HTTP requests not always returning the correct error code, which could cause hung IBrowseNetwork tasks which are piggybacking onto another request
- The HTTP Location header now takes precedence over the Uri header when both are specified
- Only use the first meta content-type character set declaration when more than one are present
- When loading external scripts, the buffer is pre-allocated where possible, instead of growing in 2K increments
- Cookies set via HTTP redirection default to using the current URL and not the new URL
- Fixed a case where error codes could get lost when loading of non-cacheable files fails
- Fixed crash that could happen when "Abort connections when clicking links" is enabled and a page starts loading before subtasks have exited
- Fixed mimetypes "Transfer URL" option from downloading the file to the cache before transferring the URL
- Fixed further issues with malformed HTTP headers
- Added support for the HTTP 303 responses
- Added support for the IE HttpOnly cookie attribute
- The secure cookie attribute is now honoured
- Use memory cached external JS files where possible, rather than always initiating network requests
- Fixed referrer never being sent when submitting forms
- Added HTTP ETag support
- Sending of HTTP referer header can now be disabled
- Only allow http, https, ftp and gopher URIs to be specified as page referrers, with further restrictions for https
- Implemented handling of the "data" URL scheme
- Fixed race conditions with piggyback loaders. This should cure lots of weird network crashes
- Fixed key generation, user certificate requests, browsing to objects of type application/x509-user-cert and exporting user certificates which got broken when we switched to AmiSSL v3
- Fixed SSL connection failures when the user certificate requester did not yield a valid certificate, and also some underlying bugs which were never seen due to the initial bug
- When MD5 was disabled in the cipher prefs, it wasn't actually being disabled during SSL connections - fixed
- When using AmiSSL, if is secure connection fails and all the ciphers are not enabled in the prefs, automatically retry connecting with all ciphers enabled
- Was impossible to download .Z files in the previous beta - fixed
- Added HTTP decompression support for gzip and deflate encodings, which can be switched off in the prefs
- The download manager will now automatically attempt to resume a dowload that fails, by default, where appropriate
- Added workaround to simulate IE's broken Set-Cookie header parsing
- Changed the cookie send order so that those with a more specific matching path are sent first
- Fixed AllocVecPooled/FreePooled mismatch that occurred when uploading files
- Made internal mailto X-Mailer header consistent with useragent string
- Mimetypes in the prefs corresponding to plugins now override the plugin supplied mimetypes (now extensions added to e.g. text/html work again)
- Tweaked FTP dir parsing to handle datestamps that have a year instead of time
- Fixed incompatibilities with new MTCP lib
- Added support for the HTTP/1.1 307 redirection code
- Fixed hopefully the last bug in the embedded object file loader, which has solved a nasty crash bug this time
- Fixed the Transfer URL media handler.
- Fixed the embedded object loader properly, removing the broken fix introduced in 24.12 which caused crashes
- Fixed code responsible for loading data for embedded objects, which could quite often abort prematurely depending on how quickly the first chunk of data became available, causing plugin to fail
- Don't prompt for authentication if required headers are not present
- Resuming of downloads now works with URLs requiring authentication
- Tweaked available spoof options and user agent strings, with the default setting now being similar to IBrowse 2.3
- Optionally (and by default) display the document not found error page returned by a server, instead of IBrowse's own error message in requester or HTML display
- Fixed the auto-proxy isInNet() function
- Form submission constructed bad URL when the action attribute was blank and current URL had a query part already
- Reworked FTP networking code to not split command strings when sending then, where possible, which should improve connections with some servers
- Cookies no longer rejected if path match fails
- Fixed a nasty bug that could lead to crashes if requests were interrupted at the wrong moment
- Cookies will now be rejected if certain conditions fail - domain attribute does not "match" serving host, for example
- Cookies set using a domain of the form .y.com will now be served to y.com, in addition to x.y.com
- Whitespace trailing cookie values in Set-Cookie string is now stripped (this often caused problems with cookies incorrectly getting set with a path of "/ ")
- Character set information is now stored from the HTTP headers and/or meta tags in the HTML
- Handling of query URLs directly following the hostname (e.g. http://www.test.com?blah) has now been fixed to work correctly in all areas
- '@' char now escaped when sending form data
- Before the fix for bug 0861, it was possible for a cookie to be set with a blank domain - added extra integrity check to make sure this can never happen
- Ignore trailing whitespace in HTTP headers
- Fixed some problems with handling very short HTTP 0.9 responses, which could cause crashes before
- Fixed unnecessary deletion of cookies during a session
- Use cr/lf to terminate FTP commands, instead of just lf
- Detect invalid absolute URLs in HTTP Location header field and return an error instead of trying to load (e.g. "http://")
- Fixed various ftp loading problems
- Misc master password fixes to avoid displaying the passwords when not authorized to do so
- Master password can now be set multiple times during a session
- Fixed a potential security hole with repeated chars as master password
- Fixed image icons in the images dir not being freed after reading
- Fixed misc trouble when changing the master pass word
- Fixed form passwords not being saved (only cached) when no master password set
- Fixed reads from freed memory that could occur when flushing table background images
- Fixed enforcer hit when copying cookie entry to clipboard
- Fixed password manager from locking tasks after a request for the master password was cancelled
- Fixed some more Remove() references for OS4 debug kernel
- Updated the names for the ATO contributors
- Added encryption to password database
- Fixed a couple of typos in the about: page
- Fixed hits and references to free memory which could occur when moving the mouse over imagemaps or form images
- Fixed a crash that could happen when exiting via commodities exchange
- Fixed hits that could happen when navigating with back/forward, etc, to images viewed separately
- Fixed problems importing some PKCS12 files into the user certs prefs, due to some encryption algorithms which had not been enabled in AmiSSL
- Added netscape certificate chain support for downloading/installing user certificates
- Fixed the text sniffer problems with local files
- Updated spoof options adding IE7.0, FF1.5, FF2.0, and bumped the Mozilla option to 1.7.13
- Further tweaks and optimisations to the background image rendering code, decreasing minimum memory usage
- Do not automatically attempt to display non-text files identified by the server as MIME type text/plain
- Added workaround for OS4 debug kernel
- Abort loading of external scripts if they start with a HTML tag
- Pasting text or typing into a TEF now replaces any text that is highlighted
- Fixed crash that could happen when closing a page before it had finished loading with plugins deactivated
- Fixed TextEditField memory leak when pasting text and updating undo text
- Fixed memory leak affecting all authenticated HTTP(S) connections
- Ignore form items with an empty name when submitting
- Convert all hostnames in URLs to lowercase
- Fixed splash window from stealing pens required to render webpage colours on <= 8-bit displays
- Improved image loading when window is iconified during startup
- Made IBrowse alot more robust when running javascripts iconified
- Fixed possible null memory references by the JS memory cache scanner
- Bitstream AA fonts are used by default for the OS4 OEM build
- Moved Aminet from the Fastlinks to the default SearchBar
- OS4Depot is added to the default SearchBar for the OS4 OEM build
- Localised URL Toolbar prefs
- Removed debug from Search Bar prefs, and Search Bar
- Fixed problems incorrectly munging ".." and "." in URLs
- Times of remote files in the overwrite/resume requester are now adjusted to account for the current locale time offset
- Fixed ftp and gopher modules from using CopyMem to perform overlapping copies
- Fixed trailing spaces not being stripped from absolute URLs
- Fixed buffer overflow that happened on about: pages
- Reinstated the active object workaround, since crashes could still happen freeing a page with an active object
- Fixed "about:" URLs not showing in location gadget
- Tweaked the way IBrowse runs dos scripts (e.g. the temporary files used by external viewers set in the MIME type prefs)
- TEF now uses appropriate filename extension for temporary files used when using an external editor
- Added form password saving and completion
- Ensure trailing whitespace is stripped from URLs in all cases
- Unescape address in mailto: URLs
- Fixed javascript: URL usage in form actions
- Updated the about: page
- Disabled html/image handling for <embed>, by default
- Never add a trailing '/' to javascript: URLs
- Images with no Last-Modified date that are present in the memory cache will now be reloaded if referenced during a new page request
- Fixed crash when dragging URL to inactive browser tab
- Don't show javascript: URLs in location when there's no result page
- Removed the MUI 3.8 workaround for BUGID 0866 since due to another MUI 3.8 bug the FAB menus stopped working properly
- javascript: URLs can now be used in most places in HTML documents - not just links
- Allow unescaped colons in relative URLs
- Strip any username/password segment from referrer URIs
- Revised the tweaked for the kludge for IE's default object property lookup handling so that it doesn't find elements in forms
- Added a much more accurate cps and download finished calculator for the download window
- Made the download window less sensitive to changes to the system clock
- Added support for PgDn, PgUp, Home and End keys on OS4
- Updated copyrights to 2006 (yes we were working New Years Eve!)
- Fixed lockup problems with plugins and older layers library
- On unloading framed pages, the frameset is now freed first, and then the individual frames
- Reworked font cache to handle OS4's font character set system better, resolving problems when switching tabs where the pages are using different character sets
- No longer use an active object workaround when MUI 3.9 or above is in use, which in turn resolves some issues with active objects, including being unnecessarily brought into view when opening a link in an inactive browser
- Fixed hits when iconifying window during loading
- Optimized user cert req to appear only once for each site where the user presses cancel
- Added support for back/forward via mouse button 4 and 5. This requires OS4 and gameport.device 51.4 or later
- Added workaround for non-integer imagemap pixel coordinates
- Error message now shown when attempting to load a URL with an unsupported protocol, when the disk cache is switched off
- When attempting to view a URL in the window that requires an unavailable plugin, the "Specify action for" requester is displayed first, instead of an error message
- Unescape javascript: URLs when the script is started from fastlinks, macros, bookmarks, etc
- Fixed crash that could occur on pages that change the margins and contain form elements close to the top of the page
- Suppress compression error message for unknown / illegal Content-Encoding values and display content as-is
- Fixed crash due the network object for an embedded object being freed while the object was still displayed on an open page
- Fixed bug in the decompression code that could cause a crash if loading was aborted after reading of the HTTP headers
- Display an error message when trying to download a file where the filename is too long instead of the looping file requester
- When setup to use CManager, if the CManager executable is not found, a suitable error message is now displayed. Also, if cmanager.library could not be opened, the hotlist manager will be opened after the error message appears
- Leading and trailing whitespace is now stripped from embedded object URLs
- When trying to load a URL separately which has an invalid protocol, don't automatically prepend with "http://"
- Fixed another instance of info window enforcer hits that occurred when moving the mouse over a <li> bullet
- When all entries are removed from a FAB menu, no longer attempt to open the menu in context, which did open a menu with just the title in MUI 3.9, but in MUI 3.8 memory could get trashed
- The default selected item of a non-multiselect <select> element, with the size attribute set higher than 1, can now be de-selected
- Updated the copyright dates for NList/NListview and MUI, and updated the URLs to the NList sites on the about page
- When loading a URL that is already the currently displayed URL, don't add a duplicate history entry each time
- Fixed cursor key shortcuts for dropdown cycle gadgets
- Fixed hits that happened when trying to use the "Download as MIME" FAB menu item on an image, and not a link
- Localised the plugin status values
- Fixed memory trashing that occurred if the cache directory was not found on startup, and if the directory is then created on request, that directory is then used instead of PROGDIR:
- Plugin mime types now shown in "download as" and file upload FAB menus
- Added workaround for broken cycle <select> element keyboard shortcuts under MUI 3.8
- Enabled type detection of FTP files, allowing images and text files to be displayed in the window, just like HTTP
- Warning requester is shown when flushing the cache if the Safe Requester option is enabled in the prefs
- Plugin MIME types added to the "Specify action for..." window.
- Added localization to the TEF
- CacheClearU calls replaced with CacheClearE calls where appropriate, which should be much more efficient especially on large-cached PPCs
- Fixed crash that occurred when freeing a page containing an embedded object assigned the internal plugin
- Fixed memory leak that occurred when navigating to pages/images cached in memory via the history/back/forward and the source editor reset and update buttons
- Fixed crash that occurred when failing to reopen the transfer animation file, after returning from iconified state
- Fixed memory leaks in the preferences module
- Fixed bogus error message that appeared when cancelling a download of a existing file via unknown MIME type requester
- The "Add bookmark" FAB menu item and ADDHOTLIST rexx command now use Contact Manager if enabled in prefs
- URLs dragged to the download manager are now expanded in the same way as the location gadget (aliases expanded, http:// or ftp:// auto-prepended, etc)
- Fixed memory leak - TransferAnim icon object was not freed
- Fixed a reference to already freed memory in the table parser
- "View background separately" and "Download background" FAB menu items now also work with table background images
- Fixed hits that could occur when resizing a frame before the pages have finished loading completely
- Added new string for "Ignore custom colors:" from "URLPrefs" to the catalog. The old string was used in two places, with slightly different formatting (ie. HTML, where a : isn't required)
- Added new string for "Frame support:" from "URLPrefs" to the catalog. The old string was used in two places, with slightly different formatting (ie. HTML, where a : isn't required)
- Updated the copyrights, dates and links on the about: page
- Localised strings in the Password Manager
- Corrected error message for when SSL support is disabled in prefs
- When posting forms, never use a cached version of the result page
- Fixed crashes that could occur when using the "Paste clipboard to URL" menu
- Fixed info window enforcer hits that occurred when moving the mouse over a <li> bullet
- Fixed version identification for the commodities information string
- Removed unnecessary confirmation requesters that appeared when the demo times out
- If the estimated download time for a file is 24 hours or greater, the finish date is shown in addition to the finish time
- Fixed hits that occurred when moving the mouse over an imagemap where the specified <map> was not present
- Fixed display of image URLs in the info window, when containing a '/' in the query part of the URL
- Replace tabs, and other whitespace characters in alert requesters with space characters
- Wordwrap alert(), confirm() and prompt() JS requesters
- URLs are now unescaped before being displayed in the status bar or info window
- Fixed bug in <textarea> parser that could cause a leading < to not show up
- Fixed MorphOS version number recognition in the User-agent string
- Fixed an MUI escape sequence exploit concerning the non-editable source window
- Fixed memory leak concerning the closing of the source and CA cert import info windows
- Fixed enforcer hit that could occur after changing the editable source window option in the prefs, if the source window had been open at some stage
- User-agent string modified to show processor type and the MorphOS version when running on MorphOS
- Changed 'I' in Mozilla spoof string to 'U' (stronger encryption)
- Fixed bug in disk cache handling where loading redirected URLs could cause a disk cache file to not be deleted, due to the file not being closed
- Fixed hits that could occur after navigating to a frameset page with a <script> section, present in the memory cache
- After saving the printer prefs via the menu in the print options window IBrowse no longer asks if you want to save the settings on exit
- Fixed typo in beta demo requester
- Fixed a crash bug that could occur when using a native screenmode, when the "Use fastmem for images", "Wait for Background" and "Wait for Image" settings are all enabled
- The save button in the source edit window now works for local URLs pointing to a directory, and index.html has automatically been loaded
- With 'Wait for background' is enabled, pages would never be displayed when the specified background image failed to load (e.g. non-existant, user interruption)
- Fixed problems with the 'Wait for Image' feature which could prevent pages from being fully displayed when there are multiple image elements with no src attribute, or referencing the same image which fails to load
- Disk cache file structure modified to incorporate character set information - version bumped from 20.3 to 20.4
- Changed rendering of links when using anti-aliased fonts (OS4), to remove the anti-aliasing build-up when overwriting text
- Added a reference to the Troubleshooting > SSL section of the documentation, to the SSL error requester
- Fixed lockup that occurred when navigating framesets with the back/forward buttons when invalid HTML is used
- Fixed badly formatted version tags in the ibccs which were causing MUI to trash memory
- Fixed a hit which occurred when exiting IBrowse with a search window still open
- Increased maximum number of global cookies from 300 to 2000, and introduced a 200 per domain limit
- Fixed crash that occurred after exiting IBrowse while something is still downloading in the download manager, and trying to load IBrowse again before the download has completed
- Fixed a read into unallocated memory by the URL list constructor
- Fixed write to previously freed memory when flushing browser history
- Fixed out of range value passed to a text rendering routine which could cause a busy loop when a fixed width font was involved and/or slight layout problems in rare cases
- No longer immediately exits when using the MUI iconify on startup setting
- Fixed hits/crash that occurred after exiting while the download manager was busy and starting IBrowse again while it was still busy (also, no longer exits in this case)
- Added seperate strings for the browser tab FAB menus. Previously they used the same strings as the main menus, but this caused problems when the shortcut was added.
- Corrected a few spelling mistakes and typos in catalog
- Added new string for "Title" from "Specify title" window to catalog
- Added new string for "Specify title" window title to catalog
- Added new string for "Ciphers" preferences listview option to catalog
- Added new strings for the "ARexx", "Command" and "URL" Action options to the catalog
- Added new string for "Hotlist" project menu (and renamed to Project as per the other windows) to catalog
- Added new string for "Normal font" to catalog
- Added seperate string for Global History window title to catalog
- Added seperate string for URL Clipboard Manager window title to catalog
- Fixed a problem which could crash the ftp reader sometimes
- Fixed setTimeout and setInterval to not run JS functions invisibly, but show the normal status icon and countdown
- While in a try statement make property lookups on null or undefined values trigger an immediate error
- Fixed problems skipping to the colon in ?: expressions
- Fixed OS4 library startup code from crashing on init failure
- Fixed handling of return statements in try...catch statements
- Tweaked SiteCatalyst and jQuery blocking
- Added support for \u string escapes which are simply mapped to iso-8859-1, where possible, for now
- Failed variable assignments inside a try statement no longer overwrite the existing value of the variable
- Added an option which attempts to block commonly used script libraries that are known to be slow (currently SiteCatalyst and packed jQuery)
- Fixed problems parsing '[' chars in regexp character classes
- Implemented link.click() IE method
- Cleaned up OS4 library to use MakeInterface to create the 68k host interfacing api
- Fixed toString and valueOf methods from not working on the Array and String objects, due to the shorthand changes
- Don't allow toString and valueOf methods of host objects to be replaced
- Allow method properties of host objects to be changed
- Implemented JS1.6 array and string generic shorthands
- String methods can now be applied to any type of object (as long as the object can be converted to a string)
- Fixed Array methods not working when used on strings
- Implemented Array.indexOf, Array.lastIndexOf, Array.every, Array.filter, Array.forEach, Array.map and Array.some (JS1.6)
- OS4 version now uses timezone.library to obtain the UTC offset ensuring that daylight savings are handled correctly
- BUGID 1420: Fixed non-handling of NaN values when converting a script return value to an integer, which happened to work on 68k anyway, but not on PPC
- document.getElementsByTagName now supports links
- BUGID 1394: Fixed object lookup hits introduced in 3.16
- Fixed a fundamental flaw in the memory management code which could lead to crashes
- Fixed String.fromCharCode to handle 0 properly
- BUGID 1403: Fixed Array.concat which handled non-array object arguments incorrectly, generally resulting in a crash
- Fixed access to RegExp properties, which was causing delayed crashes, made reproducable by the new memory management code
- Fixed Math.random() which was broken in the MorphOS build
- Improved memory management - objects with cyclic references are now detected and disposed during a session, instead of these object remaining in memory until IBrowse exits
- Speed optimisations for property lookups in objects
- Fixed number to string conversion in PPC builds, which didn't always yield a correct result
- Fixed try...catch from catching out of memory errors and attempts to abort script execution
- BUGID 1359: Fixed loss of error codes during a var declaration
- Fixed a case where ?: expressions were not skipped
- Fixed the for...in statement where the loop would not always be aborted after a return or break statement
- The focus methods no longer do anything in inactive browsers, to prevent focus being stolen from the active browser
- window.frames.length now reflects the actual number of declared frames, and not the number allocated by the frameset
- Fixed object creation to use prototypes from correct context
- Fixed ANSI escape sequences used in JavaScript error log files
- Fixed hits/crash that could happen when running JS event handlers of submit and reset buttons
- Fixed window.open being able to load URLs in an open window, which is already pending closure via window.close
- Fix window.alert hits caused when an error occurred
- document.getElementById can now find links
- Added Array.splice JavaScript 1.2 backwards compatibility mode
- Fixed a crash when using the arguments object as an array
- Fixed String.split which could get stuck in a loop when splitting on spaces in JavaScript 1.2 mode
- Fixed reference to freed memory that could cause crashes when freeing interpreted functions
- Fixed Function.apply which would crash if second parameter was an array
- Added Mozilla sidebar.addSearchEngine support allowing search engines to be added to the search bar via mycroft.mozdev.org
- In expression execution mode, treat an unexpected return statement as an error and use existing eval() handling
- Any result from a javascript: URL will now be shown as a new document
- Attempts to convert host functions to a string now yield a correct result
- Added type detection for host references - host functions are now seen as functions instead of objects
- Tweaked the kludge for IE's default object property lookup handling to use document.getElementById instead
- If a JS timeout was triggered while leaving a page, it was possible that the input handler was removed twice - fixed
- Added document.getElementsByTagName, but only works for form, input and image elements for now
- Close gadget in prompt() windows now works
- Fixed navigator.mimeTypes to not get stuck in an infinite loop when one or more plugins are inactive
- Fixed parse error in function calls where the last parameter is followed by a comma and newline
- Altered priorities when scanning mimetype arrays
- Fixed bug in the image onLoad event handling which could cause references to freed memory, hits and/or crashes, when the page redirects to another via JS or otherwise
- The click method for radio and checkbox form elements now invokes the onClick event handler
- Added support for click method on text, password and file upload input elements
- Object instances no longer have a built-in prototype property
- Don't allow the prototype property of built-in object constructors to be modified
- Made disabled plugins fully invisible
- Added dummy navigator.plugins.refresh method
- Removed unnecessary conversion of equality operands that are objects, where possible
- The object created using a function constructor is now different if the function itself returns an object
- <input type=image> elements now handle 'this' properly when referenced via an event handler
- Added onMouseDown and onMouseUp support for links and images
- Plugin and mimetype arrays now filter out any deactivated plugins
- Added onChange, onFocus and onBlur support for <input type=file>
- Added onClick support for <select>
- Added onMouseOver and onMouseOut support for all form elements
- <textarea> now supports onChange, onFocus and onBlur
- Modified select.value write handling to match the latest browsers
- MimeType.description is now linked to the description of associated plugins, where applicable
- Fixed problems skipping function expression statements
- Fixed the for...in statement that wasn't working when used in a function where the variable name matched an argument
- Fixed some more issues with form elements focus and blur handlers not always being triggered
- String.substring and String.substr now work with no arguments
- Handle the comma operator in array indices
- Fixed rounding errors in decimal string to floating point number conversion, as used by parseFloat and elsewhere
- Number.toString can now perform non-base10 conversions
- Object.toString now handles regexp objects
- String.split nows works correctly with no parameters, and properly with a non-numeric limit parameter
- Treat strings containing a \x escape, but not enough following hexadecimal characters, literally
- Reworked internal handling of regexp literals, since the prototype member of these objects was not being set correctly
- String.replace could cause hits in lambda mode, since it isn't implemented yet, but it switched to that mode anyway
- Internal code cleanup, replacing standard library calls with our own internal ones where possible
- Fixed image.id
- Fixed JS event handlers for image links, which now get triggered when no href attribute was specified
- Reworked navigator.mimeTypes to include types set by plugins and activated mimeType.enabledPlugin
- Implemented Plugin object and navigator.plugins array
- Fixed navigator.appVersion for IE spoofing
- Events were not always triggered by form elements defined with more than one event handler
- Ignore empty langauge string in <script> element and execute as JS
- navigator.userAgent now correct for compatible spoofing
- Fixed parseInt handling of "0." which was returning NaN
- Fixed named function expression assignments
- Fixed a bug in the expression short-circuit evaluation code
- Overhauled navigator object, returning different values depending on the current spoofing setting
- Accessing image.complete can no longer cause enforcer hits if an error has occurred while loading the image
- Added dummy function for document.clear() - no longer causes errors
- Fixed up version string to work with DOpus
- Memory is no longer allocated for array entries not in use
- Fixed Array.sort's handling of entries that are not a number or string (undefined entries in particular)
- RegExp static property handling got broken recently - fixed
- Unescape javascript: URLs before running the associated script
- document.writeln now only adds a newline character after the final argument, instead of after every argument
- document.getElementById() can now find images
- Library now has a full id string, and at last the revision number is now bumped for each new update
- Fixed bug which could potentially result in a MemUse warning or trying to free a bogus pointer
- When removing a selected entry from a <select> listview, the following entry is no longer selected in its place
- Fixed enforcer hit caused when reading the name property or an <area> element
- Fixed memory trashing bug that occurred when setting components of a URL
- The Function constructor can now accept an empty string as the first parameter
- Added name/id property support for links (not just anchors)
- Added title property support for images and form elements
- Parsing large amounts of JavaScript is now significently faster than before
- Added id property support for image, form and all form element objects
- The throw statement result now propagates properly through function calls
- Try...catch statements now require at least one catch section or a finally section, otherwise an error will be raised
- Improved uncaught exception error messages
- Fixed error reporting of unexpected default, case and throw statements in functions
- Function.arguments is now available to all functions in the calling chain, instead of just the current function
- Property keys, for arrays/object, that are not a number or string, are now always converted to a string, if possible
- Implemented Function.caller property
- Disabled nested comment support, for compatiblity
- Fixed bug in String.match which was causing a warning message to be displayed when no global matches occured
- Tweaked unescape() so that it can return strings containing null characters
- document.getElementById() can now also find form elements
- Added id attribute support for <form> elements
- window.opener is also now set properly for windows opened via the target attribute in links and forms
- Added support for anchor.id
- The arguments object became invisible to functions called from a different context (e.g. <frame>) - fixed
- Date.getYear, Array construct, Array.toString, Array.push, String.substring, String.split, String.replace and RegExp object now behave differently depending on the version of the <script> session (if given), for backwards compatability with JS1.0-1.3
- Handling of '\' used to escape newline chars in strings changed when running in JS1.0-1.2 mode
- Fixed JS event handlers for <area> elements and image links, which now get triggered when no href attribute was specified
- Fixed image.width and image.height for image elements that have no width/height attributes in the HTML
- top.innerWidth/Height now return the correct dimensions when using in a frameset, rather than 0 for both
- Fixed the onLoad/onUnload event handlers to work in nested frameset elements
- Fixed parsing of non-alphanumeric character classes in regular expression literals
- Host objects (window object included) can now themselves have properties defined via array indexing - e.g. window[0] = 1;
- Mimic IE's default object property lookup - normally, document.prop is used to access properties in the document object, but IE allows the document. part to be dropped - first the window object is searched, and if not found, then the document object
- Reading properties in alias objects now fails if the property is recognized, but as yet undeclared
- Changes to facilitate accessing host object properties using numeric indexing
- Array.splice can now be called with only one parameter
- Fixed up reserved character tables for escape, encodeURI and encodeURIComponent methods
- Fixed declaration space handling problem concerning the for statement
- Declaration space side effects now work correctly for functions called recursively, but indirectly
- The equality operator now evaluates to FALSE if either operand is not a number
- Strict (in)equality operators now work correctly with hostrefs
- Added workaround for orphaned objects, so that the lib no longer gets stuck in a neverending loop on exit
- onFocus/Blur now supported by <select> listviews
- Return values of event handlers of image objects are no longer ignored, with surrounding links now inherit this return value
- SetTimout/Interval can now handle host based functions as the first parameter
- Forgot to free converted negative array indices when accessing host objects - caused a MemUse warning
- Implemented navigator.cookieEnabled
- history.go(0) now reloads current frame instead of entire frameset
- Fixed problems with use of location.replace() on frames
- link/location.pathname no longer includes any hash or search part of the URL
- Fixed problems accessing elements of the same name in the form.elements array
- parseFloat() now ignores any leading whitespace characters
- Implemented top-level encodeURI, encodeURIComponent, decodeURI and decodeURIComponent methods
- RegExp literals containing a '\' in the last part of a character class no longer cause a parse error
- Implemented Number.toFixed, Number.toExponential, Number.toPrecision and Number.toLocaleString methods
- RegExp.prototype.toString() no longer triggers an error
- Made it possible to call RegExp() when not used as a constructor
- The RegExp constructor now also accepts a RegExp object passed as the first parameter
- Improved precision of the Math constants
- Fixed Math.round() to return the correct result for negative numbers
- Undid the "fix" from 23.24 regarding the < > <= >= comparison operators return undefined if either operand evaluates to NaN - now false is returned instead, again (as per ECMA)
- Reduced the recursion limit further to prevent stack overflow
- try...catch statements were not skipped by the parser properly when not required
- Reworked the arguments object implementation - now it is handled more like a general object, with it being possible to define new properties, extend the array and modify the length property
- Ignore the U+FEFF UTF-8 sequence, which is a byte order marker which some Microsoft tools insist on adding at the start of ascii JavaScript files!
- Improved support for the special comma operator, which was previously not handled for all cases where it could be used
- Internal attempts to determine whether a user-defined property in the window object now return false if a global variable of the same name hasn't actually been declared. Now the with statement applied to the window object should work as expected
- Unterminated comment errors now only highlight the initial /* rather than all the following code
- Rewrote Array.join - now much faster (the larger the array, the greater the speed gain)
- Array indices that are over the maximum limit are now interpreted as a property name
- Fixed problem in for...in statement handling which could cause memory trashing in local declaration space (if present)
- Fixed another bug in RegExp char class handling - chars above 127 still could cause memory trashing
- String.indexOf handles position arg of value undefined correctly
- String.match now returns null instead of an empty array when use with a global regular expression where no matches occur
|
|
|