Please note that this is not an exhaustive list, but merely a summary of the changes that were logged in the history over the last 2-3 years since IBrowse 2.2.
- IBTextfield could crash if the text was set when the gadget was invisible.
- Frame resize enforcer hit fixed.
- Pasting multi-line clipboard contents into URL Clipboard fixed.
- Stop button tab chain fixed.
- Windows no longer activated by window.focus() when IB is not active.
- Various layout and Drag & Drop tweaks.
- Very small windows with clicktabs crash fixed.
- String gadget maxlengths increased to 1kB.
- Download Manager Completed and Failed tab sort ordering reversed.
- Download Manager pops to front when exiting IBrowse if required.
- Further improvements to IBTextfield.
- Custom cycle menus now have keyboard control.
- Window title handling fixed.
- Invisible Drag & Drop zone fixed.
- Cycle gadget hits fixed.
- Tab opening and closing improved.
- Back/Forward/Navigate History response times improved.
- Location gadget de-selected after pasting URL and ARexx GOTO URL.
- Resizing, relayout and scrollbars optimised and improved.
- Incorrectly positioned scrollbars in IBTextfield fixed.
- Minor Hotlist Manager fixes.
- Drag & Drop tabs from one window to another improved.
- "Save hotlist as" file requester title fixed.
- Closing multiple windows causing a crash fixed.
- The last browser in use is now selected when closing another browser.
- Status text being shown at wrong time fixed.
- "Flush images in current browser" in Cache menu added.
- "Reload" in browser FAB menu added.
- Activation of Location: gadget when opening new browsers/windows added.
- Activation of Location: gadget when clicking hyperlinks fixed.
- Corruption of Windows menu fixed.
- Excessive GUI refreshing fixed.
- Clicktab activation and dragging improved.
- Drag & Drop from Clicktab to Fastlinks added.
- Hotkey support for Location: gadget added.
- Display of ASCII chars >128 in titlebar fixed.
- Rendering of delayed image symbol when image sizes are cached improved.
- Excesive flicker when using multiple document.write's fixed.
- Gadgets not loosing focus when opening a new browser fixed.
- Starting IBrowse a second time, now respects default new method.
- Download log not closing on request cancellation fixed.
- Title not set when viewing text files fixed.
- URL to new clicktab with default window method fixed.
- Spacebar navigation with form elements fixed.
- Frame resizing fixed.
- Some issues with form listviews fixed.
- Shortkey assisgnment to windows fixed.
- Details in the Status Bar improved.
- IBTextfield massively overhauled.
- Macro menu trashing fixed.
- Password requester tab chain fixed.
- Opening links in new browsers are now correctly marked as visited.
- Crash when pasting larger amounts of text into textfield fixed.
- Password requester defaults to OK when necessary.
- Lockup when cancelling the Mailer window fixed.
- URL dragging rendering improved.
- Menu on Clicktabs added.
- Clicktab to Window bug fixed.
- URL dragging bug fixed.
- Cycle gadget bugs fixed.
- Drag & Drop clipping on Clicktabs improved.
- Drag & Drop between Clicktabs added.
- Gadget focus bug fixed.
- Listviews cosmetically improved.
- Closing a browser now selects the one to the left rather than the first.
- Printer prefs window now opens on the iBrowse screen.
- Hotlist Add button now adds the URL from the active browser.
- Background refresh when switching Clicktabs fixed.
- Improved handling of malformed cookies.
- Enforcer hits on IBNetwork tasks fixed, hopefully for good.
- Problems with empty Content-Type for file upload forms fixed.
- Improved Cookie parser tollerance.
- Cookie date expiry string fixed.
- Location: header bug fixed.
- Cookie handling with port numbers fixed.
- HTTP0.9 responses improved.
- Refresh= in HTTP header support added.
- Multiple cookies with simular name bug fixed.
- Incorrectly stripped ? in cookie paths fixed.
- Problems with empty : after hostnames fixed.
- Download file size checking added.
- "Refuse from this server" fixed.
- Cookie Requester deadlock fixed.
- Servers not supplying a space after the colon in headers fixed.
- Local MIME types not being recognised fixed.
- User:password pair FTP handling improved.
- Possibility to specify MIME type for form uploads added.
- Image loading interupted when quiting windows fixed.
- "Abort all" downloads improved.
- "Abort all" downloads fixed.
- ETA calculation for downloads fixed.
- Failed download detection fixed.
- Support for user:password@host for http:// & https:// added.
- Truncated filenames fixed.
- Incorrect size shown in status bar due to buggy webservers fixed.
- Piggyback loading further improved.
- Double clicking URLs fixed.
- Aborting connections in a frames enviroment fixed.
- Viewing images with excessively long URLs fixed.
- HTTP redirection loop detection fixed.
- Rogue network task interuption bug fixed.
- URL Parser improved.
- Handling of special characters in query URL's now fixed.
- Malformed Date: Headers and redirection fixed.
- Anchor support with data pairs fixed.
- Content-Disposition header support added.
- Added ? as a valid hostname terminator.
- Aborting files in Download Manager fixed.
- MIME-type overriding fixed.
- FTP login name changed to "anonymous" to make it more compatable.
- Some Referer Header bugs fixed.
- Accessing FTP servers with broken MOTD's now fixed.
- Handling of spaces and reserved characters in URL's improved.
- Form uploaded files are now sent as application/octet-stream.
- mailto: form sending fixed.
- AmiSSL v2 support added.
- Network and Diskcache integration improved.
- Interupting SRC JS files causing browser to "die" bug fixed.
- Simultaneous URL network loading code fixed.
- Work-around for incorrect content-type headers added.
- Fixed problems with labels declared inside functions
- Fixed break <label> when label points to a for statement
- image.name property returning an empty string, fixed.
- Incorrect timeouts fixed.
- More arguments object handling reorganization
- Simplified arguments object handling code, fixing a bug where pointers to arguments in the declaration space could become stale
- Fixed < > <= >= comparison operators to return undefined if either operand evaluates to NaN
- Fixed problems with form.length != form.elements.length
- Fixed switch statement to handle multiple case statements on the same line
- Allow regexp literals after &&, || and in some other cases
- String arguments to Array.concat() cause a new member to be added containing that string, rather than a new member for each char in the string
- Fixed handling of break statement within an if statement where the loop was not a compound statement
- Image objects receiving incorrect properties fixed.
- Custom JS property support for form element arrays added.
- Implemented window.closed
- Fixed String.replace() - when first argument is a string, it is now converted to a flat regexp
- Be like IE and Opera and don't reserve keywords that are supposed to be reserve for future use
- Improved error message for function declarations where the first parameter is not an identifier
- Tweaked handling of number literals that have a leading zero - now the number is treated as decimal instead of octal if any digit in the number is bigger than 7
- The Date constructor now creates the date relative to local time when the parameter is a string and contains no timezone information
- Fixed a few problems with location.<prop> items
- 'this' is now retained for eval() calls
- Added area.onClick support
- Added support for body.onUnload and frameset.onUnload
- Fixed a few Name and ID related problems
- Cleaned up try...catch handling, and removed a memleak
- When converting NaN to an integer, the result is now 0 (as per ECMA-263)
- Fixed problems caused when passing the current arguments object to another function, but specifying less than the declared arguments for that function
- Fixed retention of arguments objects across function calls, which got broken in the declaration space rewrite
- Rewrote parseInt(), which didn't strip leading whitespace, handle negative values or implied hexadecimal values, and the radix parameter was not always adhered to
- Correct handling of out of bounds references to Option[]
- Made window.focus() use the Smart Window Activation option
- Fixed hits that occurred with syntax errors involving the if, with and while keywords (e.g. "with = 1" and "while = 1")
- Implemented "instanceof" and "in" special operators
- Error messages now also specify the class of error (as per the different error object types)
- Implemented Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError and URIError objects
- Restructured error handling so errors can be caught with try...catch
- Implemented try...catch and throw statements (to JS1.5 spec)
- Major rewrite of local function declaration space handling, to allow nested functions to inherit values from the context in which they were originally defined, rather than the context from which the function is being called from
- Math.random() no longer relies on SAS/C's initial internal seed, so the random number sequence is no longer the same in each session
- Fixed double->string converter, which was adding an extra '-' char to numbers with a negative exponent value
- Allow RegExp literals inside []
- EOLs are now handled properly in ?: expressions
- Leading zeroes in number literals now skipped
- When converting string variables/literals to number, no longer try to interpret an strings as an octal number
- Added dummy functions for captureEvents
- Fixed problems with cookies and ? URLs
- Stripping \r from strings before displaying them
- Fixed problems with arrays and toString() and valueOf()
- Tweaked handling of nested comments so that /*/*/ is valid
- Fixed a nasty recursion bug concerning the function prototype object, which would cause stack overflow followed by meltdown
- Only treat --> as a comment if it's at the start of a line, as to not break valid expressions such as "n-->0"
- Fixed broken parsing of \x hex escapes in strings
- Skip EOLs in empty object initializer expressions
- Turns out the fix for memory loss problem in 23.10 wasn't quite right and could cause hits or free memory twice in a worst case scenario - have now found the real root of the bug, and this should now be fully fixed
- IBrowse now allows white space at the end of </script>
- String.indexOf() now properly checks for out of range fromIndex
- Now short-circuit evaluation really does work properly for ?: expressions, and handles the comma operator correctly too
- Fixed non-initialization bugs in Array.concat, Array.push, Array.slice, Array.splice, String.split and String.match, which could cause random crashes and/or memory trashing
- Recompiled everything to use SysBase rather than reading memory location 4 everytime before calling exec.library
- Fixed expression short-circuit evaluation to work properly inside ?: expressions
- All class methods called with more parameters than required no longer cause an error - extra arguments are silently ignored
- The prototype objects for the internal classes are now setup to objects of the correct type, instead of them all using generic objects
- The methods of the internal classes now inherit methods from the Function class
- It turns out the program objects for top-level internal methods in each program space never got freed, which resulted in an approx 20K accumulated memory loss after visiting any page that uses JS, which only got freed when exiting IBrowse - now fixed!
- Cleaned up program space allocation code - no longer crashes or causes hits on failure
- Fixed some Option() memory trashing
- Added support for onMouseOver and onMouseOut
- Implemented isFinite() top-level method
- Improved refresh when JS is updating JS objects on a page
- Fixed problems accessing image maps properties
- Date.setYear() is now able to handle a 4-digit year parameter, in addition to the usual year-1900 (no more strange eBay cookie expiration dates)
- Negative array indices are now interpreted as a property name, rather than enforcing an out of range error
- Fixed hits which could occur when JS accessed images on pages with <li>
- Improved document indexing
- When accessing a host object, if the host index is a number in a string, and the corresponding array item is undefined, we now try again treating the original string as a property name
- Added custom ECMA-compatible float->string conversion routine, since SAS/C's gcvt() is too lossy, causing problems on some sites
- Fixed bug in the logical expression short-circuit code
- Fixed problems with forms containing elements named the same as the actual form
- typeof hostref now evaluates to "object" instead of "hostObject"
- Fixed cases where the end of an expression, during short-circuit evaluation of logical expressions, was not determined correctly
- Functions defined locally inside a function should inherit the local declarations in the current scope
- Fixed escaping of linebreaks in strings
- Fixed problems with event handlers removing other event handlers
- Added support for location.assign("url");
- Fixed misc problems with document.getSelection();
- Fixed problem with switch statements placed at the very end of a script
- Fixed the for...in statement to only return the indexes of array elements that have actually been set by the script
- Location.href assignments now use the URL of the page where the script was created as base when calculating the new URL
- Reading a return value from a host function that doesn't actually set a return value is no longer treated as an error
- Now IBrowse prompts when a js is trying to close a window
- Fixed bug in RegExp character class bitmap creation which caused memory to get trashed for any chars above 127
- Some minor fixes and optimizations in the RegExp module
- When reporting errors, truncate string from both sides of the actual error when the total line length is greater than 80 chars (helps with those "JS all on one line" scripts)
- Fixed searching for Image objects inside forms
- Fixed excessive flicker on pages with lots of document.write
- setTimeout and setInterval is now only cleared if the script that created them contains errors. All other scripts remain unaffected of errors
- No longer ignore return statement errors when return is used outside a function
- Made Image.border a writable property
- Added Image.onLoad
- Fixed name references in window.open();
- Added JS1.3 call and apply methods for functions
- Functions no longer inherit values from local variables defined in the calling function
- Window.* custom properties are now tied to global variables of the same name, instead of the current instance (e.g. local variable)
- Optimized object valueOf/toString() fallback routines
- Fixed all hostObject.valueOf() and hostObject.toString()
- Fixed problems with Image.src
- Fixed problems with Form.method
- Undeclared hostref values now converted to undefined
- Fixed problems with equality comparisons involving hostrefs and made the JSLib perform the comparison internally
- Reading Image.src generated enforcerhits
- Added prefs option disable window move and resize from javascripts
- Fixed so that options[nn] where nn is larger than the array returns undefined
- Fixed problems with pages that opens new browsers while parsing pages with form elements on
- Fixed problems with Image objects beeing assigned urls multiple times
- Fixed problems with location.reload();
- Return value from eventhandlers that errors is now ignored when th rest of the execution is performed
- Skip EOLs in period references, array indices and between prefix/postfix operators
- Enabled error reporting for all errors that occur inside an expression, which will provide more precise messages and catch syntax errors that went by unnoticed until now
- Fixed length property for objects - for string wrapper objects the length is now the actual string length, and is not a property of all objects other than arrays and functions (may be set by user); also, the length property of string and function objects can no longer be modified
- When converting a number to a string, upto 21 significent digits are now produced (was 10) as per ECMA-263, before resorting to exponential notation
- The arguments array is no longer read-only and can now also be indexed with numerical strings as well as numbers
- When a function modifies the parameter(s) it was given, the corresponding arguments array entry is changed too, and vice versa
- Fixed use of ?: expressions inside a [] pair
- Added support for window.opener
- Changed search order back for document properties. (See beta 54)
- Fixed problems with option.value
- Fixed problems with form[nn] references
- Fixed problems with unnamed Textarea objects
- Fixed problems with Form references not beeing equal
- Fixed problems with image.name property
- Local declarations in event handler text now take priority over variables of the same name that may be in the default-chain
- Made Submit.value and Reset.value writeable
- Fixed use of implicit functions inside functions
- Fixed function expressions not working with named functions
- Fixed problems with ?: statements that contain function expressions
- Fixed escape() to escape correct chars, as per ECMA-262-3
- Fixed unescape() - completely broken since 22.40
- Event handlers now get their own declaration space
- Setting location.href="#hash" does not load the page now
- Fixed enforcerhits from link.hash etc. accesses
- Fixed bug in Button.onClick
- Fixed Radio.onClick return value
- Changed search order for document. Now page elements are considered before built in properties are considered
- Fixed problems with new Image() and setting properties
- Fixed Image.onClick
- Cleaned up image support
- Added support onBlur support for: button, checkbox, radio, text, password, reset and submit
- Added support onFocus support for: button, checkbox, radio, text, password, reset and submit
- Added support for onChange in string gadgets
- onclick are correctly handled for form submit and reset buttons now
- Removed type=image from the form.elements array
- mimeTypes[] can now be indexd with mime strings (like "text/html")
- Added mimeType.description, mimeType.enabledPlugin, mimeType.suffixes and mimeType.type
- Added support for toLocaleUpperCase, toLocaleLowerCase and localeCompare string object methods
- Added support for toDateString, toTimeString, toLocaleDateString and toLocaleTimeString date object methods
- Modified Date.toString text format to match IE/NS/Moz
- Calling eval() with an empty string no longer results in an error
- Fixed some problems with event handlers for <option> beeing called when it shouldn't
- Fixed various problems with single item lists
- Fixed problems with initially selected options from JS
- Added support for select.options.selectedIndex
- Fixed || and && operators to always return the left or right operand expression, and not a boolean value (e.g. the result of 2 || 3 is now 2 - and not true)
- Numeric strings can now be used to access array members of host objects by index (e.g. document.images["0"] is equivalent to document.images[0])
- Fixed problems with embedded JavaScripts in <option> tags
- Array.reverse and Array.sort now return a reference to the array being worked on, instead of no return value
- Array.slice can now be called with no parameters
- RegExp literals are now recognized in ?: expressions
- eval() is now able to handle a string representing just a RegExp
- Fixed problems with using continue in a for statement
- IBrowse now asks for abort of Javascripts after a user defined time
- Fixed problems with very short setTimeout/setInterval
- Fixed window.resizeTo() problems
- Fixed problems with checkbox.value
- Fixed problems with options.text and options.value
- Added possibility of having and handling an invalid date object, instead of forcing an error
- Date methods now handle NaN arguments properly
- Convert empty strings to 0 (instead of NaN) during string->number conversion
- Referer is now correctly set for external JavaScripts
- Fixed escape() to correctly escape only needed chars.
- added support for form.onReset and form.onSubmit
- Fixed comparison operators where one operand was undefined - now those comparisons always evaluates to false again (got broken in an earlier change)
- Fixed problems with recursive javascript loading. (eg ebay.com)
- Fixed a few option.select bugs
- Made option multiselect deselection visually more attractive
- Fixed location.target problems
- Made document.title writeable
- Improved document.cookie
- Fixed select.options array finally !?!
- Fixed writing to select.length
- Fixed problems with empty <area> tags
- Skip EOLs before first function argument
- Fixed bitwise operators to correctly handle negative or out of range values
- Interchanged behaviour of the >> and >>> operators
- Some more fixes for the == and != operators
- Fixed % operator - now converts non-numeric operands
- Fixed comments in expressions getting misinterpreted as RegExps
- Skip EOLs after parenthesis in function expressions
- Fixed .prototype for objects created with user-defined constructors
- Fixed String.replace memleak (occurred when there were no matches)
- Improved parsing of RegExp character classes
- Allow unescaped '/' characters in character classes of RegExp literals, for IE compatibility
- Fixed if...else to work with no statements (e.g. if (1); else;)
- Changed <, >, <= and >= operators to behave much closer to the ECMA-262-3 spec, especially handling of objects and null or undefined values
- Fixed the -, * and / operators to correctly handle a non-numeric right operand, as per ECMA-262-3
- Fixed the +, == and != operators to correctly handle object operands (e.g. date objects), as per ECMA-262-3
- Date object overhauled, now fully complying with JS 1.3/1.5, with zillions of fixes and enhancememts :) Includes input value range checking/handling, platform independent date->string format, handles dates before 1970, and fixed timezone handling,
- Fixed parse error caused when break statement used inside an if...else statement
- Fixed for, while and do...while statements, for when defined to execute no statments in the loop (e.g. while(i++<n);)
- Fixed eval() - can handle normal statements now, as well as expressions, and now handles a non-string parameter correctly
- Reimplemented Function.arguments object to allow it to be referenced outside the function it belongs to
- Function object: now supports arity, arguments.callee and arguments.caller properties
- Added support for new Option and rewrote the select.option handling due to this.
- Fixed trailing comma not being handled after ?: expression
- Improved how image changes are handled
- Fixed area.hash, area.host, area.hostname, area.href, area.pathname, area.port, area.protocol, area.search, area.target, area.text, area.x, area.y, area.onMouseOut and area.onMouseOver
- Improved handling of nested script tags in JavaScripts
- Fixed setting .href to relative URLs.
- Fixed a nasty crash bug when JavaScripts in frames were loading new URLs in windows already loading URLS
- Fixed crashes caused by string.replace, when using regexps with the global flag
- Cleaned up string.split and added support for regexp argument
- Fixed regexp statics, which were incorrect if a match failed
- Various minor optimizations and cleanups in the regexp code
- Fixed navigator.mimeTypes
- Fixed document.lastModified
- Fixed window.innerWidth and window.innerHeight
- Added support for window.stop
- Fixed so that javascripts can be executed from location.href
- Fixed history.go()
- Fixed writing to document.location
- Fixed window.parent
- Fixed a problem which would crash IBrowse if pages with forms were generated on the fly using JS and the pages changed between 1st time and when you clicked back
- Fixed window.prompt and window.print
- Fixed select.onchange handler
- Fixed window.find
- Fixed document.cookie
- Fixed problems with for(;;) statements
- Added 1.2 syntax for window.setTimeout and window.setInterval
- Fixed document.alinkColor, document.bgColor, document.fgColor, document.linkColor, document.vlinkColor and document.domain
- Fixed document.anchors
- Fixed link.hash, link.host, link.hostname, link.href, link.pathname, link.port, link.protocol, link.search, link.target, link.text, link.x, link.y and link.onClick
- Fixed textarea.select
- Fixed window.screen
- Fixed location.hash, location.host, location.hostname, location.href, location.pathname, location.port, location.protocol and location.search
- Fixed location.reload and location.replace
- Fixed anchor.name, anchor.text, anchor.x and anchor.y
- button.onClick is now called properly
- Cleaned up how with() chains are handled so now eventhandlers should work much better.
- Added even more cosmetic fixes for option.text
- Fixed option.text
- Fixed navigator.platform, navigator.version and navigator.language
- button.value now causes a relayout
- Fixed a bug which could make IBrowse browsers 'dead' when interrupting pages with src linked JavaScripts
- Fixed history.current, history.next and history.previous
- Fixed the hanging window.clearTimeout
- Fixed select.name, select.blur and select.focus
- Fixed option.defaultSelected and option.selected
- Fixed window.setInterval partially, window.clearInterval partially and window.length
- Somewhat fixed document.width and document.height
- Fixed document.images[index]
- Fixed window.moveBy, window.moveTo, window.resizeBy, window.resizeTo, window.scroll, window.scrollBy, window.scrollTo
- Fixed document.lastModified
- window.open("","name"); now opens an empty window named 'name'
- Fixed window.name
- Fixed depth arranging of window.focus and window.blur
- Fixed the way form elements with the same name are handled
- Fixed radio.checked, radio.defaultChecked, radio.form radio.name, radio.type radio.value, radio.focus, radio.click and radio.blur
- Fixed document.title, document.URL
- Fixed window.focus, window.blur and window.home window.outerWidth, window.outerHeight window.screenX, window.screenY, window.pageXOffset and window.pageYOffset
- Fixed form.action, form.encoding, form.method, form.name, form.target and form.length
- Fixed button.click, reset.click and submit.click checkbox.click
- Fixed checkbox.blur, checkbox.focus, fileupload.blur, fileupload.focus, fileupload.select, password.focus, password.select, textarea.blur and textarea.focus
- Fixed text.focus, text.select, button.focus, button.blur, reset.focus reset.blur, submit.focus and submit.blur
- Fixed testarea.defaultValue, testarea.form, testarea.name, testarea.type and testarea.value
- Fixed submit.form, submit.name, submit.type. submit.value reset.form, reset.name reset.type and reset.value
- Fixed option.index
- Fixed fileupload.form, fileupload.name, fileupload.type and fileupload.value
- Fixed password.defaultValue, password.form, password.name and password.type
- Fixed text.defaultValue, text.form, text.name and text.type
- Fixed hidden.form, hidden.name and hidden.type
- Fixed checkbox.form, checkbox.name, checkbox.type, checkbox.checked and checkbox.defaultChecked
- Fixed button.form button.name button.type button.value
- Fixed screen.availTop and screen.availLeft
- Misc fixes to Select widgets
- Image.vspace now works
- Unnamed images now return null as name
- Added possibilities for JavaScripts to update Option lists
- Added onClick support for regular links
- Most browser JSObjects now can have properties added to them
- Labels are now recognized
- Comma operator now supported
- Less pedantic parsing of variable declarations
- Fixed some incorrect handling of nested ?: expressions
- Added support for nested functions
- Allow lists to contain empty elements
- Added support for object initializers
- Handle re("string") as re.exec("string") (re is a regular expression)
- Allow individual string characters to be referenced using string indexing
- Treat 08 and 09 as decimal (07 is octal)
- Added parser support the regular expression literals
- Hex and octal char escapes in strings now handled
- Expand \v in strings to vertical tab char code
- Ignore ending '-->' in source for scripts that don't comment it out
- Array.shift now correctly returns undefined for empty arrays
- Fixed Array.splice and Array.concat
- Fixed Date constructor - input range of month parameter was incorrect
- Added Date.getUTCFullYear, Date.getUTCMonth, Date.getUTCDate, Date.getUTCDay, Date.getUTCHours, Date.getUTCMinutes, Date.getUTCSeconds and Date.getUTCMilliseconds
- Added Date.setUTCFullYear, Date.setUTCMonth, Date.setUTCDate, Date.setUTCHours, Date.setUTCMinutes, Date.setUTCSeconds and Date.setUTCMilliseconds
- Added Date.setFullYear, Date.setMilliseconds, Date.getMilliseconds and Date.valueOf
- Date.UTC() now accepts a milliseconds parameter
- Function constructor now generates dummy function when called with no args, instead of generating an error
- Added String.search, String.match and String.replace support
- Fixed/improved String.split
- Implemented the RegExp object
- Handles multiple variable declarations (e.g. var a = b =1)
- Skips EOLs after '=' in assignment expressions
- EOLs are now allowed between arguments and other elements in function declarations
- Now performs shortcut evaluation of logical expressions (C-alike)
- EOLs before the colon in ?: expressions are now skipped
- Added Date.parse
- Added support for String.fromCharCode and String.charCodeAt
- Parsing of statments less pedantic in regards to EOLs
- No longer ignores function definitions that don't appear at the top-level
- Added support for the do...while statement
- Improved statement skipping so that it doesn't skip multiple statements when terminating semicolons are not used
- Fixed eval() so that it can handle a trailing semicolon
- Added support for the switch/case/default statements
- Indexed array members can now be accessed by numerical strings too
- Function.toSource() now supported
- Fixed problem which caused methods of function objects to raise an error
- Added String.concat and String.splice
- Added Array.concat, Array.pop, Array.push, Array.shift, Array.unshift, Array.slice and Array.splice
- Added JavaScript substr support
- Fixed problems with JavaScript images with other sizes than default sizes
- Fixed an escaping bug in the JavaScript engine
- Stack overflow with deeply nested unclosed tables fixed.
- Comment parser bug fixed.
- Images missing src= tags now display errors.
- FRAMEBORDER aliased with BORDER.
- Meta-Refresh handling improved.
- Named type=image attributes within forms now fixed.
- <script> comment parser improved.
- Problems with named images inside forms fixed.
- HTML comment parser improved.
- Empty <option> tags now supported.
- text/javascript identification recognition added.
- Eventhandlers and empty <a> tags now supported.
- Comment parsing in <style> tags improved.
- NULL bytes stripped when viewing HTML source.
- Javascript1.3 and Javascript1.4 identification recognition added.
- target= attribute can now be any named window.
- about:blank added.
- Empty <area> tags fixed.
- Comment parsing improved.
- Flushing table backgrounds fixed.
- Table refresh code significantly improved.
- Parser handling of HTML comments and </script> improved.
- Hits from non-named form elements fixed.
- Parser maintains &xyz; entities before passing to the JS engine.
- Handling of .. & . in URLs fixed.
- Another workaround for quotes in Meta-Refresh added.
- Problems with "_parent" frame references fixed.
- Quote chars in Meta-Refresh fixed.
- \n & \r chars in Meta-Refresh fixed.
- β † œ ′ ÿ „ &bsquo   added.
-   ⁄ “ ∗ ‘ ‹ − added.
- μ œ ‾ ‰ ′ ” ’ › added.
- ⋅ ∼   ˜ ™ ‍ ‌ Β added.
- ‡ Œ ″ Ÿ added.
- Form elements are now rendered without <form> tags.
- Table background rendering bug fixed.
- – & — added.
- € support added.
- <strike> added.
- Empty attribute handing improved.
- <tt> & <code> added.
- Some rendering errors with <pre> fixed.
- PC/Mac -> Amiga font mapping improved.
- Meta-Refresh in frames improved.
- Combined <a name=/href=> fixed.
- \n & \r handling improved.
- Whitespace handling in <title> improved.
- Handling of < (<) improved.
- Incorrectly terminated <select> markups fixed.
- Text being rendered ontop of itself bug fixed.
- Multiple cookies in one transaction bug fixed.
- PC/Mac -> Amiga font mapping added.
- <ol start=nnn> attribute added.
- "URL Prefs" settings being overridden under certain conditions fixed.
- "Ignore custom colors" improved.
- Saving settings on exit now opens a file requester so you can save as another filename.
- Certificate handling improved.
- "Expire now" added.
- "Links expire after" added.
- Opening time improved by delaying the AmiSSLv2 data loading until req.
- Minor gadget fixes.
- External viewer arguments now use a popup list.
- Various layout improvements.
- Moving custom toolbar buttons fixed.
- Gadget ghosting fixed.
- Tidied up prefs layout slightly.
- "Default close method" added.
- "Remap Windows characters" added.
- ASL requester for Javascript Error log added.
- Unimplemented options disabled or removed to clean up prefs.
- Export option for CA Certs added.
- Missing gadget titles in FAB Menus and Font prefs added.
- Sanity checks to font prefs added.
- "Editable source window" fixed.
- Import option for CA Certs added.
- Delayed image map loading fixed.
- Delayed image sizing and loading fixed.
- Printer settings asked to be saved on exit.
- MIME main- and sub- types lengths increased to 34 characters.
- "Enable Javascript move and resize" option added.
- "Javascript timelimit" option added.
- "Use Email for anonymous ftp login" fixed.
- "Cache URLs" setting modified to relect actual function.
- "New browser/window" handling changed and improved.
- "Show space for new tab" option added.
- "Show single browser tab" option added.
- "Save URL Clipboard" option added.
- "Stop GIF Animations" fixed.
- Cipher selection added.
- IBrowse logo slightly improved.
- Increased max URL length to 8192 bytes and checked everywhere.
- Small memory allocation problem fixed.
- Installer modified to not overwrite CopyReplace.
- Fixed a memory leak inside framesets
- Startup heuristics added to allow opening local files without file://localhost/
- Excessive memory usage fixed.
- ICE integration improved.
- MUI Redraw without clear bug fixed.
- URL parsers improved.
- Date parsing improved.
- NOPREFS and NOEDITHOTLIST tooltypes added and fixed.
- Catalog strings tided up and improved.
- Loading frames in an iconified window fixed.
- Handling of MUI objects on webpages improved.
- Error handling with ICE added.
- IBCacheBrowser.mcc location changed to PROGDIR:ibcc.
- Handling of active MUI objects on webpages improved.
- Filename length limitation changed.
- Copying of ASCII char 255 fixed.
- Support for &body in mailto: links added.
- Quitting IBrowse with running subtasks improved.
- Removed references to Omnipresence.
- Aborting downloads while cache-cleanup is performing improved.
- User-Agent string improved.
- Unknown gopher image(s) requests fixed.
- %u placeholder in macros & fastlinks fixed.
- Problems with missing Download directory fixed.
- Save Source now prompts the user when the file already exists.
- Download Log fixed.
- Download time calculation improved to correct overflows.
- V39 ram-hander bug work-around implemented.
- Memleak on Forms fixed.
- Memleak on Preferences fixed.
- Memleak on Anim-GIF fixed.
- Memleak on URL Clipboard fixed.
- Out Of Memory errors on external mailto: bug fixed.
- Textareas are now submitted with <CR><LF>.
- Embedded object crash fixed.
- Quitting with multiple browsers fixed.
- URLClipboard autosaves on changes if enabled.
- Low memory conditions improved.
- Chipmem limit handling fixed.
- Removed some hacks that are now part of MUI4.
- Problems with overwriting files and asking user fixed.
- Problems with file:// fixed.
- DOS paths missing for external viewers fixed.
- File comments now written before file download is complete.
- Cached files smaller than header prefetch not loading fixed.
- Files to be overwritten are now deleted before the download commences.
- Downloaded files are now readable while being downloaded.
- DOS script output redirection fixed.
- Async IO updated to NDUK3.9.
- URLs are converted to real filenames before requesters are opened.
- NEWBROWSER fixed.
- * escaping fixed.
- PRINT command added.
- ADDHOTLIST command fixed.
- QUIT FORCE command fixed.
- NEW & NEWBROWSER commands added.
- FLUSH command improved.
- RELOAD, OPENHISTORY & FLUSH commands fixed.
- QUERY command fixed.
- CLOSEBROWSER command added.
- CLOSEWINDOW command retained for backwards compatability.
- Error checking when adding a new Hotlist entry fixed.
- Text only printing, with a Custom device fixed.
- "Printer" destination fixed.
- Save, Restore and Reset menus added.
- Progress bar for printing added.
- Backwards printing for Postscript enabled.
- Problems with printing images cached in Fastmem fixed.
- Images over 64k are now printed correctly.
- Postscript driver updated to latest layout engine.
- Internation Character handling fixed and improved.
- Hanging PNG images fixed.
- PNG decoder upgraded to libpng-1.2.1.
- Datatype scaling (when applicable) added.
- Graphic corruption with Spectrum cards fixed.
- Flushing background images fixed.
- Caching of images where one of the sizes=0 fixed.
- Image sizes and caching improved.
- Wait For Image Size & non-cached images not being displayed fixed.
- Resized image caching fixed.
- Workaround for broken GIF dimensions added.
- GIF Anim decoder delay work-around implemented.
- PNG transparency bug fixed.
- PNG decoder updated.
|
|
|