Xojo Changelog

New in version 2014 Release 3.0

December 10th, 2014
  • Adds the iOS build target. You can now create apps for iOS 7 and iOS 8!
  • Additionally, there are over 200 other changes, including:
  • Using statement for working with namespaces
  • Added UInteger type, which maps to UInt32
  • Constants can now have explicit data types
  • New Text data type and supporting methods for improved text handling
  • New Auto data type for storing any type or object
  • New Xojo.Core classes including:
  • Date
  • DateInterval
  • Dictionary
  • DictionaryEntry
  • Iterable/Iterator interfaces
  • Locale
  • MemoryBlock/MutableMemoryBlock
  • Point/Rect/Size
  • TextEncoding
  • Timer
  • TimeZone
  • WeakRef
  • Hierarchical ListBox enhancements
  • WebApplication.HandleURL
  • WebButton.AutoDisable
  • Improved compiler error messages
  • SSLSocket now supports TLS v1.1 and v1.2 and now defaults to TLS v1 instead of SSLv3
  • Bug Fixes:
  • 35523 All: ContainerControl.Close now fires all the control's Close events before firing control destructors. It used to interleave the two, meaning that you could not safely refer to any of the controls on the layout from the ContainerControl's Close event.
  • 35189 All: Converting a Variant containing a String to a Currency no longer gives incorrect results.
  • 20801 All: Dividing currency values now gives correct results and doesn't use floating point internally.
  • 33416 All: Plugins calling REALYieldToRB on background threads no longer trigger socket polling.
  • 34263 All: SSLSocket: Intermediate certificates are now properly read and relayed to the client.
  • Compiler:
  • 21462 Compiler: "-Nil" now gives a compile error instead of a failed assertion.
  • 33869 Compiler: Currency division and multiplication works correctly in XojoScript.
  • 35645 Compiler: Fixed a bug that allowed arithmetic operations to be performed with enumeration values.
  • 27792 Compiler: Fixed a failed assertion triggered by calling methods with certain broken prototypes. Specifically, it no longer mistakenly accepts methods which have multiple Assigns or ParamArray parameters as legal candidates for anything, and no longer accepts methods which have non-Assigns parameters following ParamArray as candidates for any call; this will never work anyway because such declarations are erroneous.
  • 24671 Compiler: Fixed a failed assertion triggered by enumeration values larger or smaller than can be represented in an Int32.
  • 23557 Compiler: Fixed a failed assertion triggered by enumerations that had an underlying type of Int64.
  • 22813 Compiler: Fixed a failed assertion triggered by having a computed property that is an array.
  • 31305 Compiler: Fixed a failed assertion triggered when an interface aggregates a non-interface type.
  • 34710 Compiler: Fixed assertions related to zero-length structures.
  • 36377 Compiler: Fixed file type icons not being put in the application bundle.
  • 32292 Compiler: Fully qualified names can now be used to access private items in the same scope instead of incorrectly saying that the item is private.
  • 21987 Compiler: Implicit calls to Operator_Convert now obey scope restrictions.
  • 34920 Compiler: Improved error reporting and recovery when trying to instantiate a non-class type with New.
  • 34986 Compiler: Improved the error given when an Operator_Convert function is needed for a type conversion but is marked as protected or private.
  • 15581 Compiler: Improved the error message given when passing a type where a value of that type is required.
  • 35024 Compiler: Improved the error message given when trying to invoke an instance method from a shared method.
  • 4534 Compiler: It is now an error to have types and modules with the same name in the same scope.
  • 18083 Compiler: It is now possible to dereference a pointer using a structure type declared as a public (not global) member of a module: import the module into the current scope via the Using statement, then dereference using the unqualified structure name.
  • 1233 Compiler: Name lookup has been fixed so that global items cannot be accessed through arbitrary unrelated namespaces. For example, the expression 'REALbasic.REALbasic.REALbasic.Dictionary', which used to resolve to the global Dictionary class, now results in a compiler error.
  • 22578 Compiler: Name lookups no longer work out of order upon reaching module scope, recursively searching for properties, then for constants, then for methods; instead, they follow the same name search process used everywhere else, searching from innermost to outermost scope.
  • 31306 Compiler: No longer crashes when a class claims to inherit from an enum or a structure.
  • 15755 Compiler: No longer crashes with circular Operator_Converts.
  • 23326 Compiler: No longer erroneously considers shared methods as possible candidates for overriding when computing virtual method tables.
  • 35022 Compiler: No longer fails to look for operator methods on interface types.
  • 32450 Compiler: No longer generates incorrect code for functions returning structures in XojoScript.
  • 21678 Compiler: No longer has a failed assertion when '#pragma warning' is misused.
  • 8286 Compiler: The compiler no longer asserts when it runs into cycles with class inheritance and multiple classes with the same name.
  • 22672 Compiler: The compiler no longer looks at private methods from a superclass when checking to see if a class has all of the methods required for the interfaces it implements.
  • 35673 Compiler: The compiler now issues an error if there are multiple structures or enumerations in global scope with the same name.
  • 28812 Compiler: The currency data type now converts between other numeric types correctly in XojoScript.
  • 23383 Compiler: The scoping behavior for enumerations in a Window or a ContainerControl is now correct.
  • 26576 Compiler: The scoping behavior for structures in a Window or a ContainerControl is now correct.
  • 34479 Compiler: When invoking an extension method on an expression, the compiler now checks to see if the expression's type would require a conversion to be compatible with the extension method's first parameter.
  • 36565 Console: Applications using SSLSocket.Poll and never calling App.DoEvents no longer leak memory.
  • Debugger:
  • 30169 Debugger: Arrays of Object now show their content correctly.
  • 35164 Debugger: Computed Int64 properties with negative values now display correctly in the debugger.
  • 34531 Debugger: Debugger once again shows the Sub/End Sub (first and last lines) on a method.
  • 35173 Debugger: Fixed an exception triggered when viewing structures and stepping.
  • 13277 Debugger: ListBox contents display without having to click or mouse over the row.
  • 21705 Debugger: Sorting the indices of an array now performs a numeric sort instead of a string sort.
  • 33657 Debugger: Stepping in the debugger while viewing a DatabaseRecord's contents no longer results in rows being accumulated.
  • 35174 Debugger: Structures passed ByRef show correctly in the debugger.
  • 35441 Debugger: The background color of selected rows in the debugger is no longer incorrect.
  • 34574 Debugger: The debugged application no longer crashes if a RecordSet whose contents are being viewed in the debugger goes out of scope.
  • 7421 Debugger: The debugger can now show arrays stored inside of a Variant.
  • 12066 Debugger: Variable values display without having to click on them or mouse over them.
  • 8569 Debugger: Variant values in the debugger now display without mousing over, clicking, or otherwise forcing the list to redraw.
  • 10738 Framework: Setting the Serial.Baud using the class constant values for 3600, 7200, 14400, or 22800 on OS X now works properly instead of always resulting in a 56700 baud rate.
  • IDE:
  • 34706 IDE: Fixed cursor positioning in the code editor with alternative code editor fonts.
  • 20096 IDE: Added tooltips for Find, Errors and Messages icons at the bottom of the main IDE window.
  • 35796 IDE: App.Cleanup no longer appears in the Messages pane when a web app quits.
  • 35323 IDE: Autocomplete of new modules works as expected and properly aliases Integer to Int32 (with provisions for making it alias to int64 when required).
  • 35150 IDE: Autocomplete on a control set (array) no longer offers items like Ubound, etc. which apply to arrays.
  • 36445 IDE: Building for Xojo Cloud no longer requires having Use Builds Folder selected.
  • 27717 IDE: Can type in a full method signature to the method name portion and it will be parsed apart correctly.
  • 34888 IDE: Changes to compatibility flags now stick.
  • 33556 IDE: Changing analysis warnings dirties the project.
  • 36689 IDE: Changing the index of a control in a control set that had children parented on it no longer might end up with those children orphaned.
  • 36636 IDE: Code editor is speedy regardless of the amount of text on the clipboard.
  • 33253 IDE: Command lines arguments are passed to a debug run of the web app as expected.
  • 35870 IDE: Compatibility flags (in Advanced Inspector) behave and stay set when changed.
  • 4568 IDE: Constants no longer write the item name twice to Binary and XML projects.
  • 36933 IDE: Controls no longer lose their supers when dragged.
  • 34260 IDE: Creating an overloaded method is displayed properly.
  • 32764 IDE: Delete key works in IDE script editor.
  • 31468 IDE: Deleting a group on a layout or class, like "Methods", "Constants", "Properties" etc, no longer deletes the the layout or class and instead removes all the contained items.
  • 27032 IDE: Double-clicking the warning that says "The bundle ID is required to build your application" now takes you to the OS X project item.
  • 30370 IDE: Event handlers added to a custom class do show up when you go back to a window using an instance of the control.
  • 35116 IDE: Extension methods for arrays are now displayed by auto-complete.
  • 34699 IDE: Extension methods on arrays of items now autocomplete.
  • 9591 IDE: External items can NOT be duplicated as it causes all sorts of havoc.
  • 27249 IDE: Filtering no longer shows multiple entries for overloaded methods on a class or module. You get proper references to each overload as expected.
  • 34577 IDE: Fixed an exception in the script editor window.
  • 8165 IDE: Fixed ListBox highlighting for editors.
  • 30828 IDE: Having a style open in several editors no longer causes issues and the displays of the style remain in sync as you edit them. To see this you'd have to have the same style open in several workspaces showing the same state (normal, hover, pressed, visited).
  • 33563 IDE: Inspector Behavior dialog no longer shows Internal properties.
  • 35802 IDE: Inspector behavior now works with custom enumerations that have negative values.
  • 32557 IDE: License keys now show up properly in the License Key dialog.
  • 35435 IDE: ListBox and PopupMenu popout window editors that are activated by pressing Return when the control is selected now remain on the screen instead of opening and closing immediately.
  • 34760 IDE: Made it so loading a binary project that has an unsupported project type doesn't throw up exceptions but just quits trying to load more gracefully, similar to how Text projects are handled.
  • 35945 IDE: Method editor no longer beeps when the name is changed.
  • 36626 IDE: Navigator rows that have no sub rows no longer continue to show as expandable.
  • 35237 IDE: Negative values in enums work.
  • 35332 IDE: No longer shows TabStop and TabIndex properties for Desktop Segmented Controls.
  • 34185 IDE: On Windows, Copy File Steps with a subdirectory specified will copy recursively in to the specified subdirectory.
  • 34145 IDE: On Windows, the IDE no longer fails to load plugins after multiple (lots and lots) IDE crashes.
  • 35311 IDE: Parameters and ReturnType autocomplete fields no longer have issues if there was more than one valid match.
  • 11018 IDE: Pressing Stop when a build step dialog shows Stop or Cancel will cancel the build.
  • 35679 IDE: Progress window no longer has thread or timer that starve the loading process.
  • 35861 IDE: RBScript is no longer listed in the library for web projects.
  • 8423 IDE: Recent menu items show the unique part of the path so you can better identify files.
  • 8189 IDE: Renaming a property no longer drops existing view behavior settings.
  • 14865 IDE: Selection of blocks in the Code Editor includes the top line (which the example show indicates it doesn't and hasn't for a VERY long time).
  • 35947 IDE: Separator line extends all the way from left to right for Navigator.
  • 34040 IDE: Shared methods can no longer be added to Modules.
  • 30430 IDE: Tab order when creating a method behaves as expected and does not move focus to the main window away from the floating palette.
  • 27308 IDE: Tab order when creating a method no longer jumps around.
  • 7105 IDE: Tabs torn off from a Workspace retain their context much better.
  • 35812 IDE: Text is no longer cut off in the update window on Windows.
  • 12962 IDE: The Code Editor contextual "Switch To" menu now properly switches to the selected project item member.
  • 35433 IDE: The entry in the navigator and the item name in the inspector update after you initially enter some text for the menu item title.
  • 34256 IDE: The OK/Cancel buttons on the Project Chooser are now positioned properly on Windows and Linux.
  • 14738 IDE: Two visual oddities in the layout editor fixed: 1) When you have a control selected and scroll the selection handles would not go off the layout area 2) If you add a subclass to a window by dragging an instance onto the window in the Navigator the window may not get a tray area drawn but it should
  • 8281 IDE: Typing no longer leaves the editor in a state where it still thinks the shift key is down if you type a closing parenthesis ‘)’ and immediately scroll.
  • 15195 IDE: WebStyles, WebPage, MenuBars and Movies all show their respective popups in the inspector sorted lexically.
  • 34358 IDE: When jumping to a location via the contextual menu, "Goto Location .." should put focus in the Code Editor (where applicable) and NOT the combo box of choices.
  • 34765 IDE: Workspaces windows no longer behave like they are connected together.
  • 14564 IDE: You can now search a project for a style which displays the controls and pages that use that style in the search results.
  • 18118 IDE: You can use a valid integer literal form for the values in the enum list. This includes &b, &h and &o as well as integer literals with no & prefix.
  • 29374 IDE: You cannot open a project until the IDE has finished loading.
  • 35062 JSONItem: Internal properties are now properly private.
  • 30160 Linux: Applications that are paused in the debugger no longer eat 100% CPU.
  • 36166 ListBox: The border now looks correct on Yosemite when the "increase contrast" accessibility option is enabled.
  • MacCocoa:
  • 35955 MacCocoa: BevelButtons now use Yosemite's focus ring animations.
  • 34665 MacCocoa: Calling the Font function with an out of bounds parameter now throws an exception instead of silently failing.
  • 34321 MacCocoa: Checkboxes and other controls now have the expected animations when ran under 10.10 Yosemite.
  • 31366 MacCocoa: Controls no longer show 'stale' contextual menus if the ConstructContextualMenu returns False.
  • 34378 MacCocoa: Fixed ListBox.DrawInto drawing things at the wrong location when the destination's y coordinate was non-zero.
  • 25365 MacCocoa: Graphics.DrawPicture no longer interpolates the image if the AntiAlias property is set to False.
  • 29734 MacCocoa: Mouse enter, move, and exit events now fire for global floating windows even if the application isn't active.
  • 36736 MacCocoa: Picture.Open will now load PDFs like it used to in prior versions.
  • 20823 MacCocoa: Setting a timer's Period property inside of the Action event no longer makes the timer fire continuously.
  • 5120 MacCocoa: The disclosure triangle shown for a folder in a hierarchical ListBox now shows the proper color when the row is selected.
  • 35341 MacCocoa: The underlying NSWindow for a Window is no longer marked as restorable.
  • 33795 MacCocoa: Toolbars no longer overlap the window content on OS X Yosemite.
  • 30432 MacCocoa: Window.Restore now functions correctly.
  • 34501 Networking: HTTPSocket and HTTPSecureSocket no longer strip off user specified Content-Length or Content-Type headers if no post content was specified. POTENTIAL BEHAVIOR CHANGE.
  • 35171 RecordSet: No longer crashes when retrieving columns where no data is available. This was happening specifically with MySQL, but could also occur with other databases.
  • 33778 Reports: When saved in new versions, Reports correctly write colors in Text projects. Older versions would write them incorrectly as &cAARRGGBB (which is what would get restored) instead of as &cRRGGBBAA.
  • 34199 Shell: The shell now polls more often than it did previously on Windows, now on par with the other platforms, so DataAvailable events should fire more frequently.
  • Web
  • 35524 Web: Apps no longer crash if Session.Quit is handled while a response to a browser is in progress.
  • 36213 Web: Fixed a bug which could cause a NilObjectException in the web framework if a Session was being destroyed while a browser response for that Session was being created.
  • 33172 Web: Fixed a bug which could cause WebContainers, WebDialogs and WebPages to lose the ability to respond to events if an item inside them was removed with the Close method.
  • 16097 Web: MouseScrollWheel events no longer pass through other controls to scroll the items behind them.
  • 32132 Web: MouseWheel scroll events now go to the correct control.
  • 34682 Web: RGBA colors are now sent to Internet Explorer 9 and above.
  • 18123 Web: Updated web framework to make sure all external resource requests match the protocol of the app itself (http vs https).
  • 34282 Web: Updated WebYouTubeMovie embed code to latest API.
  • 23837 Web: WebApplication: Removed Undocumented Quit method.
  • 27173 Web: WebContainer.ContentsScrolled no longer fires if the browser doesn't have x and y scroll information available.
  • 34544 Web: WebContextualMenus no longer get disabled when dialogs and containers are removed.
  • 35577 Web: WebControl Lock properties can no longer be changed after the control has been sent to the browser.
  • 23681 Web: WebControls now respond to touch events as if they were left-mouse clicks.
  • 36667 Web: WebCursors no longer work (or autocomplete) in non-web projects.
  • 24858 Web: WebDialog Palettes no longer have a broken close icon when they first open.
  • 21684 Web: WebLabel backgrounds now have the proper transparency on IE9 and above. IE8 still does not support opacity.
  • 34242 Web: WebLabel now supports underline, strikethrough, and overline styles.
  • 27491 Web: WebLabels embedded in multiple levels of WebContainers or WebDialogs are no longer cut off.
  • 19928 Web: WebListBox no longer confuses the backing data between rows after calling InsertRow, DeleteRow or setting the ColumnCount.
  • 36787 Web: WebListBox. Fixed a bug which caused all WebListBox controls to share the same selected row style.
  • 32330 Web: WebPopupMenu now fires its SelectionChanged event on key events.
  • 36487 Web: WebRadioGroup now has proper error messages set when an exception is raised.
  • 34546 Web: WebSegmentedControl no longer fires Action event for each segment when setting the ListIndex.
  • 34345 Web: WebSession timeouts and WebApplication timeouts are now separated. WebApplication.SessionTimeout = The number of seconds after a browser disconnects that the session will actually be destroyed WebApplication.Timeout = The number of seconds after the last WebSession is destroyed that a CGI application will quit.
  • 23820 Web: WebSession: Fixed a bug which could cause NilObjectExceptions if you refreshed the browser too quickly.
  • 34335 Web: WebSession: Improved the efficiency of calling Quit in terms of how quickly the session gets released.
  • 34787 Web: WebTextField no longer sends its contents to the server on lost focus if the contents have not changed.
  • 30289 Web: WebTextField now works properly with password autofill mechanisms.
  • 35602 Web: WebTextField.TextChanged event now only fires when the text actually changes.
  • 34451 Web: Webtoolbar now responds to touch events on iOS and Android devices.
  • 34639 Web: WebYouTubeMove works on iOS again.
  • New Items:
  • 34429 Compiler: 'Using' is now a reserved word in the language.
  • 34414 Compiler: A new intrinsic namespace, "Global", provides access to the global namespace. This lets you treat the global namespace as though it were a module, referring to its members directly, which can be useful if you want to use a global symbol which is shadowed by some local declaration.
  • 33438 Compiler: A new type, Text, has been added for dealing with textual data. This is intended to supersede the current String data type, which has the problem of representing both a bag of bytes and textual data.
  • 34217 Compiler: Added a "Using" statement to the language. This allows for more compact code when dealing with nested modules.
  • The "Using" statement imports the public members of a module into the current scope, making them available for unqualified lookup as though they had been defined at the point where they were imported. Imported symbols may not redefine names which are already declared in the current scope, though they may shadow names defined in outer (containing) scopes. Methods are an exception, since they may be overloaded based on their parameters. A Using statement inside a method body may refer to modules imported by previous Using statements, but Using statements which belong to classes or modules have no defined evaluation order, and must each define their target modules independently.
  • 32423 Compiler: Added the UInteger data type, which is an alias for UInt32 on 32-bit builds and UInt64 on 64-bit builds.
  • 3317 Compiler: Locally scoped constants can now have an explicit type.
  • 34613 Compiler: The language now supports explicitly typed constants in non-local scope.
  • 34746 Desktop: Added a RowDepth function to ListBox that allows one to determine the nesting level of a row.
  • 35817 Desktop: ListBox now has a getter/setter pair of functions, called RowIsFolder, to allow a row's "folder" status to be toggled after the row has been added to the ListBox.
  • 31126 Framework: Added TLS v1.1 and v1.2 support and constants for SSLSocket.
  • 30213 IDE: Added new General Preferences to show types and default values in the Navigator.
  • 36661 IDE: Added Preferences to control how default values and types show in the Navigator.
  • 36885 IDE: Failing to create or update the cache files for debug compiles no longer causes an exception but it will mean compiles for debugging are potentially slower without the cache.
  • 35952 Language: Added String.ToText method. This function attempts to convert the String to Text assuming there's a known encoding and that those bytes are valid for that encoding, otherwise an exception is raised.
  • 34309 Language: Added UInteger type.
  • 19412 Web: Added App.HandleURL event which can be used to return content for Google's AJAX Indexer.
  • 27156 Web: Added HandleURL event for handling any request which would normally result in a 404 Not Found error. This will allow using just about *any* url for program specific uses.
  • 29283 Web: Exposed Windows Service events Pause, Resume and Stop in WebApplication.
  • 34399 Web: WebApplication: Added HandleURL event to allow processing requests which would have resulted in a 404 Missing Page response.
  • 31412 Web: WebApplications can now intercept 404 File Not Found errors.
  • 31768 Web: WebButton now has an AutoDisable property which disables the button when it is clicked (assuming the Action event has been implemented).
  • 17528 Web: WebSession: Added a property Connection as ConnectionType which indicates if the browser is connected via a WebSocket or AJAX. CGI apps will always have a value "AJAX". Total: 22
  • Changes:
  • 34949 All: RuntimeException has gained a Reason property, which is of type Text and supersedes the existing Message property. It has also gained CallStack method which returns an array of Xojo.Core.StackFrame objects.
  • 34791 Compiler: Added a new type called Auto, which performs automatic boxing and unboxing of data. It's similar to Variant except that it does not perform any runtime conversions.
  • 35064 Compiler: CType expressions can now be used as the left hand side of the . operator.
  • 34932 Compiler: Improved the quality of errors reported when trying to call functions in an incorrect way.
  • 35162 Compiler: Structures on iOS cannot contain inline strings.
  • 19052 Compiler: When a class does not fully implement an interface, the error list now shows which methods are missing.
  • 9890 Debugger: Items in arrays of String can now be inspected like any other string value.
  • 8204 Debugger: The debugger now supports typing names in the variables pane to jump to items.
  • 36336 Framework: SMTPSecureSocket: Added a property for specifying whether you want to use STARTTLS or SSL/TLS for connecting to an SMTP server.
  • 36337 Framework: SSLSocket, HTTPSecureSocket, SMTPSecureSocket and POP3SecureSocket now default to use TLSv1 instead of SSLv3.
  • 34698 IDE: About box licenses pane sorts descending and highlights keys that were valid when the build was made but have since expired. Note that downloading keys will ONLY put keys in the DB that were / are valid for this build based on the build date.
  • 34512 IDE: Added Xojo Cloud to list of targets in the constant editor for dynamic constants.
  • 36880 IDE: Attributes are pretty forgiving and will now simply use a quoted version of a keyword if you set one as the attribute name.
  • 34268 IDE: Error reports now include error numbers as well as error messages if they are set to be non-zero.
  • 19636 IDE: In the Code Editor, Shift-Return adds "Then" and "End If" when needed. Also, "#if" is closed properly with case matching "#endif".
  • 36915 IDE: Locking controls no longer causes items to lose super.
  • 34967 IDE: On Shared Inspector, changed text of the "auto increment version info" property to say "auto increment version". Note that this does NOT change the actual property name.
  • 36331 IDE: Only usable resize handles show in layout editor.
  • 2778 IDE: Properties defined as an Enum type will use the enumeration from the project for the source of the enumerated values it can take on in the Inspector.
  • 33923 IDE: We now write the TOC to icns files and no longer write out lots of 8 byte icns files in the IDE resources directory.
  • 33933 Mac: System.Gestalt is now deprecated as the underlying Gestalt function has been deprecated since OS X Lion.
  • 31524 MacCocoa: Applications now link against the 10.9 SDK.
  • 35161 Web: HTTP Responses now include a standard HTTP/1.1 response messages.
  • 35491 Web: Standalone apps will now automatically quit if they could not bind to the requested port.
  • 30101 Web: Web Applications now include an X-Frame-Options header by default with a value of SAMEORIGIN which gives most users the benefit of this header. Developers may change the value of this option by changing the value of the WebApplication.Security.FrameEmbedding property.
  • 36245 Web: Web Framework now correctly recognizes Internet Explorer 11 on Windows Phones.
  • 31352 Web: WebFile.URL no longer relies on the existence of a Session if its Session property is set to Nil.
  • 34486 Web: WebTextfield now triggers a TextChanged event when text is pasted into the field for better compatibility with password managers.
  • 36505 Web: WebToolbar.RemoveItem now sets the exception message when raising an OutOfBoundsException. Total: 29
  • Docs and Examples:
  • 35027 DocLangRef: Added a note to RectControl.DrawInto to indicate that it does not work with HTMLViewer or OpenGLSurface.
  • 35350 DocLangRef: Added information to User Guide Book 1 (section 10.6) on how to replace the default projects that are created when you select Desktop, Web or Console from the Project Chooser.
  • 34195 DocLangRef: Added missing InNewWindow parameter to WebControl.ShowURL method.
  • 35421 DocLangRef: Added pages for WebGraphics.Save and WebGraphics.Restore.
  • 36991 DocLangRef: Added SMTPSecureSocket.SMTPConnectionMode.
  • 34774 DocLangRef: Added WebListBox.ColumnHeaderStyle page.
  • 35704 DocLangRef: Corrected note about Windows behavior for FolderItem.TrueItem.
  • 36958 DocLangRef: Corrected sample code for RectShape.Height and Width.
  • 36662 DocLangRef: Dictionary.Count now displays as read-only.
  • 34812 DocLangRef: Fixed typo on Italic page.
  • 36699 DocLangRef: IOException now links to NSError for a list of OS X error codes.
  • 36433 DocLangRef: Noted that HTMLViewer.UserAgent works on Windows.
  • 35051 DocLangRef: On Thread page, fixed Pragma link in "See Also" section.
  • 36062 DocLangRef: PopupMenu.AddSeparator now notes that separators are selectable on Windows and Linux.
  • 35335 DocLangRef: Removed incorrect quotes from Pragma Unused example.
  • 35642 DocLangRef: Removed incorrect WebMapViewer image.
  • 34714 DocLangRef: Removed out-of-date screenshots from OpenDialog page.
  • 35474 DocLangRef: Removed reference to Real Database on DataControl.Database page.
  • 35402 DocLangRef: Updated HTTPSocket (and HTTPSecureSocket) Get, GetHeaders, Post and SendRequest to indicate that the socket ErrorCode is set to -1 if the Timeout value is reached.
  • 34521 DocLangRef: WebListBox.Cell cannot use -1 to get entire row/column values.
  • 34711 Examples: Corrected path to graphics for Desktop/Controls/ListBox/SouceListExample and fixed compilation errors in Samples/SlideShow.
  • 34965 Examples: Fixed layout and sizing for Add/Edit Invoice dialog in EEWeb.
  • 35348 Examples: Fixed SSLTest instruction text to have correct command-line syntax for setting port.
  • 35346 Examples: Set name of SSLTest app to SSLTest for Xojo Cloud.
  • 35347 Examples: Set SSLTest port to 8081 in Shared Build Settings.
  • 34837 Examples: Updated BinaryStream example to check for existing files and to use Encodings.
  • 34761 Examples: XojoUnitConsole now has correct name for Windows app and test results output file. Total: 27

New in version 2014 Release 2.1 (August 12th, 2014)

  • Bug Fixes:
  • 34368 Desktop: OpenGL no longer crashes after the Configure event finishes.
  • 34334 IDE: Buy button on toolbar goes away once a license is added and the IDE window is reactivated.
  • 34433 IDE: Control sets no longer randomly change their indexes.
  • 34313 IDE: Deleting a Build Step that has had the name change rejected no longer causes a stack overflow exception.
  • 34324 IDE: Destination Property editor properly saves and restores the build destination.
  • 34326 IDE: Fixed a small visual glitch in the Windows inspector UI for BackDrop property on a Window.
  • 34306 IDE: Style and LockedIDEPosition are visible and not visible appropriately and reload as expected. This seems to affect binary projects only.
  • 34508 MacCarbon: Creating a new Xml class (like XmlDocument) no longer crashes.
  • 34386 MacCarbon: Fixed a host of plugin related issues because of the difference in how we treat an empty string. One such issue was found when Database.Prepare returned Nil when it shouldn't.
  • 34392 MacCocoa: Fixed a regression with the RegEx plugin that resulted in applications using RegEx being rejected from the Mac App Store.
  • 34476 MySQLCommunityServer: SQLExecute and Prepared statements no longer assume the statement is UTF8 encoded.
  • 34394 ODBCDatabase: DatabaseRecord.Insert no longer inserts the wrong value (it inserted the name of the column instead of the actual column value)
  • 34250 Web: Hiding a WebDialog no longer causes the dialog to be removed from the internal session cache.
  • 34438 Web: Sessions now properly cleanup and close when the Quit method is called.
  • 34056 Web: Standalone apps no longer have their Entity and QueryString munged in HandleSpecialURL.
  • 34310 Web: WebContainer: Fixed a regression with EmbedWithin in an Open event which caused WebLabel and WebLink to be offset.
  • 34296 Web: WebToolbar accepts cursor changes again.
  • 29586 Windows IDE: The WebKit based HTMLViewer that is used in our Messages Pane no longer steals keystrokes that would cause menu shortcuts like Ctrl+C or Ctrl+V to intermittently fail.
  • 34387 Windows: Initializing COM to single-threaded apartment always for GUI apps, this fixes several unintended side effects like SelectFolder hanging.
  • 34277 Windows: Loading a webpage from source, with the WebKit based HTMLViewer, now works again.
  • 34351 XojoScript: Fixed the Input function returning empty strings.
  • Changes:
  • 34303 Database: SQLiteDatabase now has FTS4 enabled with unicode61 tokenizer on OS X.
  • 34456 IDE: The contextual menu in the navigator has been disabled IF you select one of the group rows (Methods, Constants, Properties, etc) due to case 31468. When selecting other items it continues to function as before. Expect the group selection function to return in a later release.
  • 34384 Web: WebContainer: Reverted the fix for case 28718 because it caused other issues.
  • 34173 Windows: Reverted an update to the Webkit based HTMLViewer from CEF1 to CEF3 since the update to CEF3 introduced some issues (stability and otherwise) that require more extensive work to resolve. This revert should speed up the Webkit based HTMLViewer as it was in previous versions.
  • Docs and Examples:
  • 34259 DocLangRef: Added extra pages and links to make it easier to find information about Contextual Menu in online LR.
  • 33677 DocLangRef: Added pages for HttpSocket.ErrorCode and HttpSecureSocket.ErrorCode.
  • 34468 DocLangRef: Removed references to REALSQLDatabase from tooltips on SQLiteDatabase page.
  • 34475 DocLangRef: Updated FileType.Extensions property page to indicate that the "." preceding the extension is required on Windows.
  • 34290 DocUserGuide: Updated Xojo system requirements.
  • 34454 Examples: Updated XojoUnit AreEqual assertion to improve Double support and add support for Currency and Int64.
  • 34305 Examples: XojoUnit Assert.Pass method now displays the passed message; added AreSame test for case-sensitive String comparisons.

New in version 2014 Release 2 (July 1st, 2014)

  • Web: Can now add and remove toolbar buttons dynamically at run-time.
  • Web: Can now add and remove segments on Segment Controls dynamically at run-time.
  • Web: Text Area now has a ScrollPosition property.
  • Web: Text Area and Text Field now have a SelectAll property.
  • Web: ListBox now has a separate style for selected rows.
  • Web: Improved speed of CGI web apps.
  • PostgreSQL: Added support for root SSL certificates.
  • IDE: Inspector properties reorganized to make better use of available space.
  • IDE: Can now add plist files to project to include in built app.
  • Added 20+ new example projects.
  • Release introduces new single platform desktop license.
  • Release introduces new Xojo Enterprise license that includes all licenses, priority support, 8 hours of custom Xojo training, and more.
  • Bug Fixes:
  • Misc:
  • 32565 All: Assigning to Range's StartPos or Length properties now actually changes the value.
  • 25533 All: StyledText's RTF parsing speed has been improved.
  • Compiler:
  • 33271 Compiler: Array properties with a default value of Nil are now initialized to Nil instead of an empty array. This has the potential to break code as projects that used Nil as a default value for an array will now actually get what they asked for and uses of that array will raise NilObjectExceptions.
  • 31743 Compiler: Converting a double literal to a single is no longer dependent on the user's locale. For example, when assigning "3.14" to a Single, it used to become simply "3".
  • 33643 Compiler: Fixed a crash where the If operator would have incorrect reference counting.
  • 33320 Compiler: Improved the error message emitted when an operator is unsupported for the operands given.
  • 32280 Compiler: Improved the error messages received when an object or array property has a default value specified.
  • 21765 Compiler: IncludeFunctionNames is now respected by the Mach-O linker. The Mach-O linker only emits local symbol table information if IncludeFunctionNames is set to True.
  • Note that IncludeFunctionNames does not control introspection metadata or class setup information, so tools such as 'strings' will still reveal information.
  • 28356 Compiler: Operator_Subscript now works when the object being subscripted was passed ByRef.
  • 26603 Compiler: The bitwise Not operator now works with all integer expressions and not just local variables.
  • 33361 Console: Console applications no longer leak the arguments array.
  • 32522 Console: Picture.FromData no longer loses alpha channel information.
  • 31707 Console: SSLSockets that are set to secure and told to listen no longer leak.
  • 30291 Creating a computed property no longer leaves the original property name with the original name
  • Database:
  • 32119 Database: MSSQLServerPreparedStatement.SQLExecute (or SQLSelect) no longer crashes.
  • 31927 Database: MySQLCommunityServer no longer causes failed assertions when SQLSelect/SQLExecute are invoked while other threads are running.
  • 32400 Database: RecordSet.Update/Delete now works with SQLiteDatabase where a PRIMARY KEY contains special tokens like a single-quote. It also now works if you have a BLOB as a PRIMARY KEY.
  • Framework
  • 26555 Debugger: Hex canvas scrolls to the bottom and the odd/even row highlighting lines up better.
  • 33284 Desktop: Control.Index no longer raises a ThreadAccessingUIException when called from a non-main thread.
  • 9973 Desktop: Listbox headers that do NOT use a constant (starts with a # ) for the first column now work as expected and resolve any/all constants for any initial values.
  • 32973 Desktop: Optimized WindowCount function, most noticeable on Cocoa.
  • 29256 Framework: A space at the beginning of a string used in the Val function will process properly when converting hexadecimal values. For example, getting Val of a string like " &h1" will work the same as a string like " 1"; both will return a value of 1.
  • 25725 Framework: JSONItem now properly handles empty arrays and no longer converts them to empty objects when serializing.
  • IDE:
  • 32670 IDE: A NilObjectException in Templates Window has been fixed.
  • 32307 IDE: A single locked control, alone or in a selected group of controls, prevents you from trying to alter the locking settings as it makes no sense.
  • 27605 IDE: Analysis Warning settings are saved with the project rather than being global settings. Known Issue : Changing the analysis warnings does not dirty the project (see 33556).
  • 33075 IDE: Array methods are no longer suggested in Code Editor contexts where they are incorrect.
  • 32910 IDE: Changing a property for multiple selected items in the Web Layout Editor no longer causes an exception.
  • 33460 IDE: Changing a value thats in a text field then clicking the color selector will commit any pending changes.
  • 30583 IDE: Changing a web page to a web container no longer results in instances of the container being members of a control array.
  • 29960 IDE: Changing a Web Style property now dirties the project.
  • 32927 IDE: Changing the width of the Navigator does not reset the scroll position.
  • 33468 IDE: Clicking a boolean slider commits pending changes.
  • 32338 IDE: Clicking Deploy doesn't Build and clicking Build doesn't Deploy.
  • 33461 IDE: Clicking the interfaces buttons commits pending changes.
  • 33458 IDE: Clicking the locking inspector commits pending changes.
  • 33459 IDE: Clicking the pop up menu for enum and pictures editors commits pending changes.
  • 33673 IDE: Code Editor no longer allows you to edit the declaration line by clicking very high up in the code body.
  • 6288 IDE: Constants now default to NUMERIC since that IS the behavior they exhibit if you just leave the popup set to no selected type.
  • 28395 IDE: Controls that are private on a container are not shown in the autocomplete for the instances placed on other containers or windows.
  • 32393 IDE: Deleting build steps from any target works now works as expected.
  • 26713 IDE: Double-clicking a control on the Layout Editor no longer results in an empty list box
  • 21266 IDE: Dragging a new indeterminate progress bar from the Library now actually configures it as indeterminate on web projects.
  • 33336 IDE: Dragging an instance of a subclass of TextInputCanvas no longer results in an erroneous control array.
  • 32908 IDE: Empty columns at the beginning of a row are no longer dropped in the initial value for WebListBox rows.
  • 32866 IDE: Ensure that Line controls do not get added as 1 pixel in height and width.
  • 32645 IDE: Fix copy file steps when running on OS X for any target (OS X or others where it gets built locally then sent to the remote stub).
  • 33119 IDE: Fixed a crash that could occasionally happen on OS X when the code editor was closed.
  • 33607 IDE: Fixed a few more places where the IDE could hang during a Xojo Cloud deployment.
  • 26347 IDE: Fixed up issues drawing the code folding markers in the Code Editor.
  • 32671 IDE: Fixes to retain Inspector property values better when moving to different areas of the IDE.
  • 33182 IDE: Inline editing of a WebListBox with special characters in the header no longer messes up the headers.
  • 33107 IDE: Introspection types show up in autocomplete as expected.
  • 33071 IDE: Language Reference content updated.
  • 32593 IDE: Line Control is no longer invisible or offset improperly on layouts.
  • 26220 IDE: Made fixes so that Inspector fields text changes are now properly retained. This does not fix *all* situations, but should address most of them. If other situations are found, please report them as new cases.
  • 33855 IDE: Managing to get a carriage return inserted while the bracket highlighting is in progress is no longer possible.
  • 33219 IDE: Moving around in the navigator using the keyboard while debugging no longer causes an exception.
  • 33147 IDE: Now prevents the creation of a Control Set from a ContainerControl.
  • 32871 IDE: Parameters with default values like:
  • c As Color = &cFF0000
  • no longer show as:
  • c As Color = &&cFF0000
  • 27079 IDE: Preferences > Proxy will accept a value that does NOT start with a 0.
  • 33742 IDE: Projects are no longer marked as dirty by just clicking around the IDE.
  • 31881 IDE: REALControl and RealFontStyle no longer appear in autocomplete.
  • 32777 IDE: Relocate is only enabled if the item was NOT located when opening the project. It's not intended to be used as a means to swap classes around in a project.
  • 32748 IDE: Removing a subclass of container control no longer causes a NilObjectException.
  • 32403 IDE: Removing one item that is missing from a Copy File Step no longer causes an assertion.
  • 32775 IDE: Row highlights behave as expected in the Profiler and do not accumulate.
  • 30255 IDE: Run / Resume in the toolbar updates appropriately so its in the correct state.
  • 33572 IDE: Saving and reloading a project with external items no longer asks you to relocate them unnecessarily when they have not moved.
  • 31570 IDE: Search and replace changes update the Navigator right way (instead of waiting for a manual refresh).
  • 32912 IDE: Selecting a group of controls and then deselecting one and pressing the arrow keys no longer causes an exception.
  • 33180 IDE: SessionShutDownThread shows in the Debugger stack listing when you quit a thread.
  • 30142 IDE: Several obsolete bits of information are no longer written to binary, XML and text project formats.
  • 33692 IDE: Stack overflows caused by deleting some project items have been fixed.
  • 33760 IDE: Switching from a group of selected items to one item updates the Inspector properly.
  • 24398 IDE: Switching tabs using cmd-{ and cmd-} on OS X works as documented with appropriate short cuts for Windows and Linux. It behaves like a circular buffer so you can cmd-{ or cmd-} continuously and it just wraps around.
  • 33054 IDE: Tabs in the Inspector are in this order: ID, Advanced, then any others.
  • 11383 IDE: The Comment / Uncomment toolbar button works as expected. Contextual menu items and menu bar items for Comment also update as appropriate based on the current line and selection.
  • 33661 IDE: The IDE no longer has issues reading in a project that has relative paths in the vcp manifest that contain "//".
  • 32606 IDE: Trying to load a copy file step that had files that were in paths that did not exist no longer drops the item . Now they load and are marked as invalid/missing in the Copy File Step Editor.
  • 32588 IDE: Web views no longer get out of bounds exception when resizing.
  • 33715 IDE: WebContainerControls no longer cause exceptions if their width or height is set to zero.
  • 33952 IDE: WebStyle no longer requires multiple clicks to step over it in the debugger.
  • 33185 IDE: When debugging web projects, you should no longer have situations where you have to repeatedly use Step Over to actually step over single lines of code.
  • 33962 IDE: When selecting a bunch of items to print (including folders), the items and their contents will print.
  • 32846 IDE: When switching selected items the pane in the Inspector doesn't change unless it has to (e.g. you have the Advanced tab selected and the new item you select doesn't have such a tab).
  • 32995 IDE: Xojo Cloud builds no longer fail if Use Build Folder is turned off.
  • OS X:
  • 33611 MacCocoa: No longer crashes when showing a sheet window when there's no parent. It now logs to the IDE's message pane then does nothing (matching the Carbon framework's behavior).
  • 30401 Macintosh: Built applications only load the required plugins instead of any library that happens to be in the frameworks folder.
  • 33126 Plugins SDK: REALGetStringData no longer crashes under low memory situations and instead returns false.
  • 23824 SQLiteDatabase: Attempting to connect to a database with a bad EncryptionKey now correctly reports the error code as #26 instead of #21. Since REALSQLDatabase is deprecated it won't be fixed there.
  • Web:
  • 32712 Web: Apostrophes in WebTextField.CueText no longer cause JavaScript errors.
  • 28070 Web: Calling AddHandler on a WebTimer now works properly.
  • 30193 Web: Calling WebCanvas.Refresh or WebCanvas.Invalidate in the Open event no longer causes a JavaScript error.
  • 33065 Web: CSS Gradient backgrounds now render properly on IE11.
  • 33100 Web: Feedback thank you page now redirects users back to the app instead of just the Host.
  • 33375 Web: FillOval and DrawOval now draw correctly on non-english systems.
  • 33222 Web: Mobile Safari version number is now detected properly.
  • 30766 Web: Non-visual controls no longer interfere with or capture mouse/touch events.
  • 31610 Web: Session.ConfirmMessage is no longer displayed if a JavaScript error occurs and the user submits the report.
  • 34051 Web: Sheet and Modal WebDialogs can now be moved by changing the Left and Top properties without moving the background.
  • 19783 Web: WebAnimator now accepts negative values for RotateX, RotateY and RotateZ.
  • 29276 Web: WebApplication.HandleSpecialURL now puts the QueryString and content into the correct WebRequest properties when running as CGI.
  • 33350 Web: WebContainer Javascript framework no longer triggers its shown event regardless of whether the event has been implemented.
  • 27553 Web: WebContainer Open and Shown events now fire properly when created through EmbedWithin in another control's Open event.
  • 31817 Web: WebContainers added via EmbedWithin no longer have an exponentially increasing interactivity delay.
  • 28718 Web: WebContainers now enable and disable their contained controls properly.
  • 22575 Web: WebDialog widths can now be changed at runtime.
  • 33313 Web: WebDialogs created in code no longer leak.
  • 32833 Web: WebGraphics.DrawString no longer causes JavaScript errors for apostrophes, quotes and backslashes.
  • 33420 Web: WebHTMLViewer no longer raises an exception when calling LoadPage with an empty string.
  • 33512 Web: WebListbox now refreshes itself properly when it is populated with enough rows to cause the vertical scrollbar to appear in the Open event.
  • 19311 Web: WebMapLocation now changes encoding to UTF8, which is the way Google wants it.
  • 32887 Web: WebMapViewer now connects to the map provider using the same protocol as was used to load the WebPage.
  • 31035 Web: Webpages no longer leak memory when they are closed.
  • 23167 Web: WebSegmentedControl.SegmentCount can now be set at runtime.
  • 31785 Web: WebSegmentedControl.SegmentCount can now be set in the Open event.
  • 33447 Web: WebSegmentedControl.Selected method works again.
  • 30289 Web: WebTextField now sends text entered by autocomplete or autofill to the server automatically.
  • 33500 Web: WebTimers no longer intercept mouse clicks.
  • 33515 Web: WebToolbar default gradient renders properly on IE8 & IE11 again.
  • 30847 Web: WebToolbar now renders correctly on IE10.
  • 26649 Web: WebToolbar.ItemCount now returns the correct number of items.
  • 26648 Web: WebToolbarMenu no longer shows its menu if the toolbar is disabled.
  • 32944 Web: WebYouTubeMovie now plays over HTTP and HTTPS.
  • 31004 WebSDK: Added missing iOS Background example to WebSDK folder.
  • New Items:
  • 29883 Database: Added PostgreSQLDatabase.SSLAuthority As FolderItem property, this represents the root SSL certificate file.
  • 27581 IDE: Constants shows similarly to properties in the info bar above the editor when you click on one.
  • 24339 IDE: Inspector control sizes have been compressed and Inspector layout improved to reduce scrolling.
  • 31336 IDE: Moved Group Box to the Organizers group in the Library.
  • 28090 IDE: Purchase license dialog now has a sign in button right on the dialog to make it easier to check for updated licenses. Message is also expanded to give users a better idea of what action to take.
  • 21581 IDE: Users can add a plist xml file to a project to augment the plist generated by the IDE.
  • 33363 Plugin SDK: Added new REALnewInstanceOfClass function to create a new object based on the class's REALclassDefinition.
  • 29171 SQLiteDatabase: Updated to SQLite version 3.8.5.
  • 30101 Web: Added x-frame-options header to prevent clickjacking attacks.
  • 18340 Web: Use WebToolbar.AppendItem to add WebToolbarItems to a WebToolbar at runtime.
  • 33173 Web: Use WebToolbar.RemoveItem to remove WebToolbarItems at runtime.
  • 32201 Web: WebContainer now has constants for the three possible values of the ScrollbarsVisible property: ScrollbarsAutomatic, ScrollbarsAlways and ScrollbarsNever.
  • 22898 Web: WebListBox has a new SelectionStyle property for setting the style of selected rows.
  • 15608 Web: WebListBox now has a HeaderStyle property for setting the style of the header. Web: WebListBox now has a HeaderColumnStyle method for setting/getting the style of individual headers.
  • 16938 Web: WebTextArea now has a ScrollPosition property.
  • 23787 Web: WebTextField and WebTextArea now have a SelectAll method.
  • 17572 Web: WebYouTubeMovie now supports changing the URL at runtime.
  • Changes:
  • 31571 All: IllegalCastException messages now give more information as to what went wrong.
  • 33293 Compiler: OS X binaries now have the MH_NO_HEAP_EXECUTION flag set, which is more secure.
  • 32236 Debugger: On Linux, the terminal emulator used when launching a command line application now lets the system decide what's best, instead of hardcoding xterm.
  • 33533 Framework: Introspection metadata is now loaded much less aggressively.
  • 33109 IDE: A space, or series of spaces, as the initial part of the filer will not cause it to run. If there is text following the space(s) it will run.
  • 32596 IDE: Computed properties show up as their own entry in a profile instead of being subsumed by whatever called them.
  • 4849 IDE: Copy File Steps now shows missing file names (fixed as part of 32606).
  • 24073 IDE: When deploying to Xojo Cloud, projects with the StageCode < 3 will now have a suffix appended to the app name of -Dev, -Alpha or -Beta.
  • 15524 IDE: You can now multi-select in the Issue Resolution dialog and the "check all" button works appropriately with multi-select.
  • 33792 Macintosh: Changed the way the OS version is retrieved for compatibility with future versions of OS X.
  • 33379 SQLiteDatabase: Extension loading is now disabled by default. A new property called LoadExtensions can be set to enable/disable extension loading as desired.
  • 32498 Web: AddHandler and RemoveHandler now work on built-in web controls.
  • 33254 Web: Application arguments are now passed to the Open event.
  • 32664 Web: Minor speed improvements for CGI apps.
  • 30100 Web: Standalone apps now set the X-Content-Type-Options header to "nosniff".
  • 33557 Web: WebControlWrapper now has a shared method which developers can override to dynamically add items to the HTML tag when a session is being created.
  • 33410 Web: WebHTMLViewer now uses http://www.example.com/ instead of http://www.xojo.com/ as the default URL.
  • 33517 Web: WebToolbar Captions are no longer selectable, Icons are no longer draggable.

New in version 2014 Release 1.1 (April 16th, 2014)

  • Xojo 2014r1.1 fixes an issue building OS X apps on Windows and addresses a few other minor problems.
  • Bug Fixes:
  • 32630 Compiler: Building an OS X application on Windows now works.
  • 32668 IDE: Cloud Deployment no longer hangs at 99% complete.
  • 32156 IDE: The type field for WebTextFields no longer shows one entry as E Additionally the Inspector Behavior editor for enum values permits values that have - in the label (which caused this bug).
  • 32913 Linux: A BevelButton on a TabPanel no longer has its icon displaced.
  • 32629 Linux: A Transparent Canvas on a non-Transparent (non-direct parent) Container now draws (and refreshes) in the correct position. For example a Transparent Canvas on a Transparent Parent ContainerControl that lives on a non-Transparent ContainerControl would exhibit this bug. This affected the WebStyle editor in the Linux IDE causing things to not draw/refresh properly.
  • 32877 Linux: Controls on a TabPanel are no longer offset improperly.
  • 32729 Linux: Remote Debugger Console no longer asserts about an undefined __error_location symbol.
  • 32747 RegEx: No longer limited to 50 (non-subpattern) replacements.
  • 32952 Xojo Cloud: Deployment no longer fails if you have " - " in the server name. Total: 9
  • Docs and Examples:
  • 32652 Examples: Replaced missing Copy File Build Steps for EEWeb.

New in version 2014 Release 1 (March 11th, 2014)

  • Add the ability to deploy your web apps to Xojo Cloud. It also has several other new features including:
  • MoviePlayer uses AVFoundation on OS X to support Mac App Store.
  • New If operator for single-line If statements that can be used as expressions.
  • New Crypto functions for DER and BER conversion.
  • CancelBuild IDE Script command.
  • Added WebTextField.CueText property.
  • Can specify the network interface to use for web apps.
  • WebContainers scroll properly on mobile devices.
  • Added HeaderPressed and HeaderStyle properties to WebListBox.
  • Added TargetRemoteDebugger constant to know when the remote debugger is being used.
  • Much improved tab behavior within IDE.
  • Bug Fixes:
  • Misc:
  • 31607 All: Crypto.RSAVerifySignature no longer throws an exception when verification fails. 

  • 32341 All: Fixed a crash with strings that would occur on OS X given certain memory allocation patterns. 

  • 13053 All: Getting the type info of a Report no longer raises a NilObjectException. 

  • 31962 All: Introspecting the introspection classes no longer leaks implementation details. 

  • 31968 All: Introspection no longer shows computed property getters and setters as MethodInfo objects. 

  • 31423 All: PostgreSQL dylib is no longer included when you compile for and use SQLiteDatabase in a project. This also more generally affects plugins that
  • depend on classes in other plugins. 

  • 19146 All: Setting a shared property via introspection no longer crashes. 

  • 2759 All: Setting property values via introspection now does proper type checking when the property's type is an object.
  • Compiler:
  • 31280 Compiler: An error is now reported when a label is defined multiple times in a single function. 

  • 31514 Compiler: Fixed a bug that would cause CType to generate incorrect code if the value passed in was already of the requested type. 

  • 31787 Compiler: Malformed property declarations like "blah(33( As Integer" no longer cause syntax errors in the wrong place or cascading errors. 

  • 20414 Compiler: No longer gives incorrect errors when parsing a structure field that has no type specified. 

  • 32048 Compiler: The stack is now 16-byte aligned on all platforms. 

  • 23656 Compiler: Variant properties with default values now work correctly and don't cause crashes. 

  • 31190 Console Debugger Stub: Path Parser no longer hangs if a UNC Remote path is given for the downloads folder.
  • Database:
  • 26219 Database: MSSQLServerDatabase now works with MS SQL Server 2012 (it worked previously only if you had an older SQL Native Client installed like MS SQL Server 2008). 

  • 26701 Database: MySQLCommunityServer: after RecordSet.Update is called we can no longer guarantee the contents of the RecordSet, so we now clear the contents instead of leaving it in a bad state where the same record continues to be updated. 

  • 10788 Database: OracleDatabase: inserting, updating, and retrieving an Oracle date now properly inserts/updates/retrieves the time. 

  • 32253 Database: PostgreSQLDatabase no longer returns wrong double values on Windows 8 if the localization uses a non-period decimal sign. 

  • 29581 Database: SQLiteDatabase: RecordSet now supports updating/deleting a record on a table that has a compound/composite key. Before it would update/delete multiple rows based on whichever primary key was found first.
  • Debugger:
  • 31325 Debugger: No longer crashes when going to the 'Runtime' viewer's contents. 

  • 29730 Debugger: No longer shows compiler-generated functions like AddHandler.Stub.0.
  • Framework:
  • 31923 Desktop: ListBox: pressing the "End" key on a listbox without a vertical scrollbar no longer asserts when there is only one page (or an empty set) of rows. 

  • 31363 Enumerations cannot have items that are blank 

  • 31120 Framework: Fixed RegEx.Replace (with ReplaceAllMatches = True) so that we're finding all matches at once and replacing them instead of finding the first match, replacing that, and finding again with the modified string, since the modified string can change what is matched. 

  • 31625 Framework: XojoScript: Fixed a rare crash that could occur when a script with classes has finished running.
  • IDE:
  • 10629 IDE: #pragma, #if, #else, #endif will all apply the same standard case as other keywords in autocomplete (initial letter is capitalized). 

  • 29266 IDE: A carriage return can no longer be used in the attribute editor or for attributes themselves. 

  • 15390 IDE: A directory of files when added to a Build Automation Copy Files step now copies all its contents recursively to the target. 

  • 31285 IDE: A project with a web control wrapper that has no data for its Navigator icon no longer causes an exception. 

  • 31408 IDE: Add Menu handler on OS X no longer uses an Apple system keyboard shortcut. 

  • 31282 IDE: An issue that could result in a text (VCP) project manifest referring to an old version of a file that used project items with names that required special characters (umlauts etc) has been fixed. 

  • 31281 IDE: An issue where build scripts may not read properly has been fixed. 

  • 17184 IDE: Array keyword now autocompletes. 

  • 32 IDE: Arrays of classes with members that are arrays autocompletes properly. 

  • 16284 IDE: Cancelling the edit of a platform-specific instance of a constant using the multi-line editor dialog no longer dirties a project. 

  • 29045 IDE: Changing the name of a control that is a member of a control set leaves that control still selected. 

  • 30647 IDE: Check Project for errors rebuilds the error list every time. 

  • 1237 IDE: Code indentation works much better when you have #if /#endif surrounding normal code. 

  • 28963 IDE: Copy and paste of code no longer renders autocomplete ineffective. 

  • 31739 IDE: Creating a constant with a duplicate name in a class or module is no longer possible. 

  • 31247 IDE: Cutting part of the name out of the method name combo box no longer clears the whole name. 

  • 4703 IDE: Default web pages and default windows can be external in plain text projects. Previously every time you reloaded the project you'd have to reset this. 

  • 31121 IDE: Double-clicking a control on the Layout Editor when it is scrolled no longer makes it select the wrong item to add the events to. 

  • 29863 IDE: Edit Super class is in the contextual menu again. It opens the super in a new tab when you select it. 

  • 10886 IDE: Exporting and importing of localization data no longer has issues if there are nested modules with the same name as the full path is now used. 

  • 19398 IDE: Extension methods for Interfaces now autocomplete. 

  • 31211 IDE: Fixed a NilObjectException that could occur when loading old recent items. 

  • 30219 IDE: Fixed issue with controls bleeding through parent ContainerControls. 

  • 31564 IDE: Fixed the property inspector groups for WebTextField. 

  • 31910 IDE: Graphics for Windows and Linux updated - should look better. 

  • 31472 IDE: Implementing an interface optionally adds #pragma error instead of #error. 

  • 10126 IDE: Improved speed of Layout Editor. 

  • 26854 IDE: In the Code Editor, you can now extend the selection word by word. 

  • 31426 IDE: Local variable declarations are found for autocomplete regardless of whether there is a bunch of white space preceding them or not. 

  • 30810 IDE: Methods and properties that are inherited, as in the case of Introspection.PropertyInfo, are in the autocomplete list where they might not have been before. 

  • 31087 IDE: Notes in text (VCP) projects can once again be edited after the initial save of a project. 

  • 30555 IDE: Now ignore the scroll wheel on property editors that use a combo box (method name, menu handler name and text font). 

  • 29736 IDE: Object is now in the autocomplete list. 

  • 26295 IDE: Option-tab has no special meaning so behaves like pressing Tab and will trigger autocomplete. 

  • 28364 IDE: Pressing Ctrl-D duplicates the selected item in the Layout Editor. 

  • 31397 IDE: Pressing Option (on OS X) or Alt (on Windows and Linux) when closing a tab closes all other tabs, leaving the "left most" tab open. 

  • 31145 IDE: Profile data is not hidden when you filter or clear the filter. 

  • 30809 IDE: Renaming a folder that has the same name as an existing super class no longer renames the super class in the instances. 

  • 6721 IDE: Replacing a fully selected word in auto complete with the autocomplete selection of the same thing is no longer offset to the left by the length of the selected item. 

  • 31263 IDE: Rows that start with "Main Thread" or "Thread (xxxx)" will now jump to the right item in the project source code when double-clicked. 

  • 30775 IDE: Selecting a group of objects in the report editor is no longer quite so slow. 

  • 21315 IDE: Shared method parameters now autocomplete properly. 

  • 9898 IDE: Shift-Option-Up and Shift-Option-Down in the Code Editor extend the selection as expected. 

  • 31438 IDE: Standardize format won't change the NAME of the method being used in a declare if it matches the name of a Xojo module, class, etc. 

  • 14727 IDE: The local variable declared in a "Catch " or "Catch as type" autocompletes properly within the Catch portion of the code.
  • 32006 IDE: The tab order on the Project Chooser has been fixed. 

  • 31537 IDE: Using a folder with special characters in the name in a build copy step properly saves and restores in various project types. 

  • 10225 IDE: Using special characters (like ƒ) in the name of a file / folder now works. 

  • 31342 IDE: When debugging a Carbon app, the debugger no longer crashes when looking at contents of a ContainerControl. 

  • 3899 IDE: When you do a "super return" (shift-return) to close a line starting with #if the matching #endif is set to the same case as the #if. 

  • 31394 IDE: When you select an error in the error listing it jumps to the right item in the Navigator.
  • Cocoa:
  • 32047 MacCocoa/MacConsole: An issue where FolderItem.Item erroneously returned Nil has been fixed.
  • RegEx:
  • 10785 RegEx: a replacement pattern, when there is no subexpression, no longer yields odd results 

  • 11583 RegEx: enforced replacement pattern subexpression limit to 50 as documented. This also changes how we treat octal values, the following rules are now applied: \120 => treated as an octal \55 => treated as an octal (since it exceeds our limit of 50 subexpressions) \12 => treated as an octal iff it exceeds the subexpression limit It is suggested that you use the $ instead as this avoids a lot of ambiguity.
  • Web:
  • 31331 Web: Calling DeleteAllRows from within WebPopupMenu.Open no longer incorrectly removes rows added afterwards. 

  • 32112 Web: CGI WebApp mutex now gets cleared properly when calling App.Quit. 

  • 31561 Web: Fixed a bug in WebDeviceLocation which caused the Open event to not fire properly, which in turn caused other code to fail when the Open event javascript exceptions were fixed. 

  • 31293 Web: Fixed a regression in WebListBox where adding rows in the constructor would fail. 

  • 31726 Web: The undocumented FileCount and FileAtIndex methods have been removed from WebApplication. 

  • 31675 Web: WebHTMLViewer now scrolls properly on iOS and Android devices. 

  • 18286 Web: WebImageView now appears disabled when it is. 

  • 29332 Web: WebListBox now appears disabled when it is. 

  • 31117 Web: WebListBox.DeleteAllRows, RemoveRow, ScrollTo and Selected methods no longer cause Javascript errors if called before the Shown event. 

  • 31670 Web: WebSDK javascript methods are no longer sent to browsers if no WebControlWrapper subclasses are present in the project. 

  • 31344 Web: WebSegmentedControl no longer fires the Action event if ListIndex changes due to a non-user action.
  • New Items:
  • 17204 All: Improved the message of the exception raised when assigning to a read-only computed property via introspection. 

  • 3827 All: Introspection.PropertyInfo now has an IsComputed property to differentiate computed properties from simple properties. 

  • 28626 Compiler: Added the If operator to the language.
  • The If operator behaves much like C/C++'s ternary operator, VB's IIf, or VB.Net's If operator. It takes three parameters: a boolean for the conditional, the value to be returned if the conditional evaluates to true, and the value to be returned if the conditional evaluates to false.
  • The return type would be the common type between the two values. For example, if an Int8 and an Int32 were passed in, the result type would be Int32. Having no common type would result in a compile error.
  • For example, this code would print "Big number": Dim myInteger As Integer = 41 MsgBox If(myInteger > 40, "Big number", "Small number") 

  • 3988 Compiler: Locally scoped constants can now use constant expressions as their values. 

  • 31113 Framework: Added new Crypto DER and BER encoding functions: Crypto.DEREncodePrivateKey( privateKey As String ) As MemoryBlock Crypto.DEREncodePublicKey( publicKey As String ) As MemoryBlock Crypto.BERDecodePrivateKey( privateKey As String ) As MemoryBlock Crypto.BERDecodePublicKey( publicKey As String ) As MemoryBlock 

  • 13755 Framework: TargetRemoteDebugger has been added. It is true when remote debugging. 

  • 32324 IDE: "This Computer" has been removed from the Build Settings for Web projects. 

  • 31150 IDE: Added CancelBuild IDE Script Pre-Build command. 

  • 30185 IDE: If you enter an app name in the new project pane that will be the default name for saving. 

  • 30916 IDE: New "buy" dialog, logo, etc. added. 

  • 31766 IDE: Selecting multiple controls now identifies each control in the selection. 

  • 30232 IDE: Tabs are are now variable sized. 

  • 24090 IDE: The IDE on OS X now collects more information about failed assertions and crashes and will submit it automatically with the Feedback report. 

  • 31115 IDE: The inspector groups "Control Set", "Font", "Focus Control" and "Database Binding" are now on the advanced tab. 

  • 16871 IDE: When Alt (Windows), Shift (Linux) or Option (OS X) are pressed as the IDE starts, it will not load any saved UI state. 

  • 14793 Web: Added CueText property to WebTextField which is available on all supported browsers except IE8 and IE9. 

  • 31788 Web: Added two command line parameters for setting which NIC interface to use for secure and non-secure connections.
  • --NetworkInterfaceIndex=0 --SecureNetworkInterfaceIndex=1
  • The values correspond to the indexes returned when you enumerate NetworkInterfaces using the System class. 

  • 14097 Web: ShowURL now takes an optional parameter "InNewWindow as Boolean" which defaults to False, which asks the browser to open the URL in a new window. If the browser has popup windows disabled, this method will fail silently. 

  • 27913 Web: WebContainers now behave better on mobile devices with regards to scrolling. Touch-scrolling is now only enabled if you have scrolling set to Always or Auto and there is overflow content. 

  • 17238 Web: WebListBox now has a HeaderPressed event and a HeaderStyle property. Total: 20
  • Changes:
  • 
31446 Console: Failed framework assertions now cause the process to abort instead of continuing in an unknown state. 

  • 31168 Desktop: All uses of QuickTime and QTKit have been removed. As part of this, the following have been removed from the framework:
  • Classes:
  • EditableMovie
  • QT3DAudio
  • QTEffect
  • QTEffectSequence
  • QTGraphicsExporter
  • QTGraphicsExporter
  • QTSoundTrack
  • QTTrack
  • QTUserData
  • QTVideoTrack
  • System.QuickTime
  • MoviePlayer properties:
  • MoviePlayer.EditingEnabled
  • MoviePlayer.PlayerType
  • MoviePlayer.PlaySelection
  • MoviePlayer.QTMovieController
  • MoviePlayer.QTVRNode
  • MoviePlayer.QTVRNodeCount
  • MoviePlayer.QTVRPan
  • MoviePlayer.QTVRPanMax
  • MoviePlayer.QTVRPanMin
  • MoviePlayer.QTVRPanTiltSpeed
  • MoviePlayer.QTVRTilt
  • MoviePlayer.QTVRTiltMax
  • MoviePlayer.QTVRTiltMin
  • MoviePlayer.QTVRZoom
  • MoviePlayer.QTVRZoomMax
  • MoviePlayer.QTVRZoomMin
  • MoviePlayer.QTVRZoomSpeed
  • MoviePlayer.Rate
  • MoviePlayer.SelLength
  • MoviePlayer.SelStart
  • MoviePlayer methods:
  • MoviePlayer.Clear
  • MoviePlayer.Copy
  • MoviePlayer.Cut
  • MoviePlayer.Paste
  • MoviePlayer.QTVRHotSpotCount
  • MoviePlayer.QTVRHotSpotID
  • MoviePlayer.QTVRNodeTypeObject
  • MoviePlayer.QTVRNodeTypePanorama
  • MoviePlayer.QTVRTriggerHotSpot
  • MoviePlayer.QTVRTriggerHotSpotNames
  • MoviePlayer.Undo
  • FolderItem methods:
  • FolderItem.CreateMovie
  • FolderItem.OpenEditableMovie
  • Global methods:
  • GetQTCrossFadeEffect
  • GetQTGraphicsExporter
  • GetQTSMPTEEffect
  • 28995 IDE: You can now tear off tabs and there is a spill-over menu on the right when there are too many tabs to display. 

  • 31683 MacCocoa: A new MoviePlayer control has been written which does not rely on QuickTime/QTKit. 

  • 31685 MacCocoa: The Cocoa framework is now a framework bundle inside of the Frameworks folder instead of a dylib. 

  • 31709 Plugins SDK: Functions and types relating to QuickTime have been removed from the SDK. Stubs remain in place in the runtime in order to avoid older plugins crashing, but the stubs are all no-ops. Total: 6
  • Docs and Examples:
  • 31148 DocLangRef: Added missing ReadAll method to StandardInputStream. 

  • 32386 DocLangRef: Added missing StringShape.TextUnit property. 

  • 30719 DocLangRef: Added missing WebListBox.MultiLine property. 

  • 31558 DocLangRef: Changed ContainerControl Super from "Window" to "Object". 

  • 31248 DocLangRef: Correct info for result of asynchronous HTTPSecureSocket.Post. 

  • 31493 DocLangRef: Fixed incorrect example code for WebPicture.Preload. 

  • 31568 DocLangRef: GetFolderItem can use GetSaveInfo strings. 

  • 31483 DocLangRef: On MenuBar page, changed name of default menu bar to MainMenuBar. 

  • 30121 DocLangRef: Removed WebDialog.Hidden event. 

  • 32103 DocLangRef: Updated descriptions for RecordSet.Field and RecordSet.IdxField. 

  • 30662 DocLangRef: Updated Structure topic to indicate that a Variant can contain a Structure. 

  • 31439 DocLangReg: Updated SQLite version for SQLiteDatabase. 

  • 31379 DocUserGuide: Cleaned up placement of figures for ListBox section. 

  • 32346 DocUserGuide: Fixed incorrect Const example. 

  • 31277 DocUserGuide: Fixed label for Figure of Remote Debugger Stub. 

  • 31186 DocUserGuide: Fixed typo in DrawPicture example in "Graphics and WebGraphics section". 

  • 31378 DocUserGuide: User Interface book: Fixed Label on ListBox Figure 2.57. 

  • 18022 Examples: Added Communication/Internet/GoogleMaps example to show how to display an interactive Google Map using an HTMLViewer.

New in version 2013 Release 4.1 (December 20th, 2013)

  • Misc:
  • 30925 All: EncodeHex no longer crashes in certain circumstances if told to insert spaces.
  • 28050 All: Fixed handling of Chinese and other Unicode characters in StyledText's RTF code.
  • 30963 All: MemoryBlock.CString now reliably generates OutOfBoundsExceptions when there is no NUL terminator present.
  • 14061 All: No longer crashes when creating an XML element with an invalid namespace.
  • 22560 All: No longer displays a failed assertion dialog if the debugged app cannot connect to the debugger.
  • 29908 All: Picture.ApplyMask now throws an exception if either dimension of the mask is incorrect. Previously it only threw an exception if both dimensions were incorrect.
  • 30593 All: XojoScripts with floating point math now work on Windows XP.
  • 9200 Compiler: No longer asserts if there are more than 8192 plugin entry points in the final executable.
  • 15071 Compiler: No longer triggers a failed assertion when compiling large methods.
  • 27167 Desktop: Fixed an issue in the reporting engine where it could terminate printing details lines too soon and so put fewer details on a page than it should.
  • 26815 Desktop: Getting ListBox.CellType now returns the correct type when the ColumnType has been set for that cell.
  • 30127 Desktop: HTMLViewer.ExecuteJavaScript no longer throws a NilObjectException on Windows (using the Native renderer) if no document exists. It now throws an HTMLViewerException informing you that a document is required before you can execute any JavaScript code.
  • 27704 Fixes to case 27192 make the symptoms this cases experiences no longer happen. Pressing enter commits the change so "Save" is enabled. It wasn't in this case so you would just get a beep.
  • IDE
  • 29765 IDE: A bunch of tweaks to make it so you CANNOT do invalid things with drag and drop. Prevented actions include:
  • drag a window from a desktop project into a web project (or a web view into a desktop project)
  • drag a window from a desktop project into a console project (or a web view into a console project)
  • drag web styles into web pages
  • drag class interfaces INTO windows or web pages
  • drag windows onto windows (or web pages into web pages)
  • drag windows into container controls (but you can drag containers onto windows)
  • 28902 IDE: A NilObjectException that can be encountered sometimes in the Universal Layout Editor has been fixed.
  • 29544 IDE: Adding empty attributes no longer causes an OutOfBoundsException. They are properly discarded and not saved if you create attributes with no name.
  • 30649 IDE: Analyze project once again shows if there are only warnings.
  • 29805 IDE: Application.Open event handler no longer shows Application.OpenDocument description.
  • 29446 IDE: Attributes on a window are no longer replicated to every control.
  • 30191 IDE: Auto spell checking has been turned off in a number of property editor panes as its not really useful there.
  • 30313 IDE: Can now clear the destination property in Shared Build Settings.
  • 30069 IDE: Classes are no longer duplicated in Navigator listings.
  • 24300 IDE: Code Editor no longer tries to center the line in the editor if you just move the cursor to the beginning or end of the line.
  • 29957 IDE: Copy and paste of controls in web projects no longer raises an OutOfBoundsException.
  • 29847 IDE: Copying and pasting control no longer causes an OutOfBoundsException.
  • 29709 IDE: Copying and pasting onto the group header in the Navigator works using command key short cuts as well as the contextual menus.
  • 29862 IDE: Copying and pasting with a Navigator filter in effect no longer causes a NilObjectException.
  • 31049 IDE: Data Control Inspector no longer shows name of constant (#kTable).
  • 30628 IDE: Debugger shuts down the app being debugged when you close the tab.
  • 26633 IDE: Default size for report field, label, date and page number add to layout is more appropriate.
  • 30007 IDE: Deleting an item from the Navigator pressing the up arrow key no longer causes an exception.
  • 27297 IDE: Dragging a Generic object back onto a layout it already is on no longer causes an exception.
  • 24716 IDE: Editing SegmentedControl labels now preserves the encoding.
  • 27192 IDE: Enter key on numeric keypad now commits changes in Inspector like return key does.
  • 30646 IDE: Enum property values in Xojo Text Projects no longer flip between quoted strings and integers.
  • 21711 IDE: Exporting an external item now gives a result that makes sense (whether it's exported as binary or xml) instead of an empty or useless file.
  • 27959 IDE: External items in projects now save properly when edited after initially making them external.
  • 29052 IDE: External subclasses now show in the class selector dialog.
  • 13533 IDE: Fill Width and Fill Height actions in the layout editor are now undoable / redo-able.
  • 28874 IDE: Find field no longer gets focus simply deactivating and activating the IDE.
  • 29466 IDE: Fixed a display issue in the Navigator where subitems could show in the wrong location.
  • 30844 IDE: Fixed a failed assertion that could occur when compiling code that has ambiguous interface implementation.
  • 30687 IDE: Fixed an assertion that could occur when loading projects with invalid item names.
  • 29457 IDE: Fixed an error in handling missing files that resulted in an UnsupportedFormatException.
  • 28537 IDE: Fixed an error when loading projects that have external items that are missing that could cause an Unsupported Format Exception.
  • 29451 IDE: Fixed an exception that could sometimes occur when copying and pasting web controls.
  • 26176 IDE: Fixed an issue in search result pane where selecting a found line could go to the wrong place and could also reset the search scope.
  • 27682 IDE: Fixed an issue that could cause control events to not load properly from a saved binary project.
  • 29838 IDE: Fixed cause of a NilObjectException in the Navigator when you may be dragging. Could have been caused by many actions like dragging a file over the Navigator when debugging.
  • 30327 IDE: Fixed one case where the "Add Event" menu item would not enable.
  • 30577 IDE: Fixed the illegal cast exception that could occur when locating images.
  • 29281 IDE: If you have a Navigator filter applied and use Go To Location the filter is cleared so the location you go to can be revealed.
  • 29326 IDE: Invalid XML files no longer cause an exception.
  • 30407 IDE: Items that have no tab stop property on a desktop project don't appear in the tab order editor.
  • 27030 IDE: Locked objects on non-front front most tab or page panels no longer bleed through.
  • 12770 IDE: Made it much harder to import items into the wrong kind of project (e.g. you can't import desktop items to web or console apps, no web items in to desktop or console apps, etc).
  • There's no way for to know at the point the selection dialog is displayed that an item is desktop, web, console etc so we cannot filter them out at that point.
  • 30661 IDE: Missing images no longer cause an unsupported format exception to be raised if we try to use the full path to the item to find it.
  • 27996 IDE: No longer causes an exception when pasting into the Icon Editor.
  • 29614 IDE: No longer show odds HTML markup for descriptions in the Add Event Handler dialog.
  • 29186 IDE: No longer show shortcuts in contextual menus.
  • 28730 IDE: No longer throws an exception when bad values are entered for the Listbox ColumnWidth property.
  • 30079 IDE: No longer updating editors off on hidden tabs, this should make editing much quicker for those that work with many tabs. Also improved performance when editing Structures.
  • 30874 IDE: Non-visual controls no longer have TabStop and TabIndex properties.
  • 28246 IDE: Now writes out encrypted items contained by a module as EXTERNAL ENCRYPTED BINARY items same as other top level encrypted items in a text project.
  • 20570 IDE: Old text (VCP) projects that wrote windows with segmented controls as "Begin SegmentedControl" now load as expected and do not cause unhanded exceptions.
  • 28113 IDE: Only changes to project items actually altered by the user are saved.
  • 30175 IDE: Optimized the drawing of Web Text controls to make dragging and resizing a little faster.
  • 27599 IDE: Overloaded methods no longer mix up shared and non-shared methods in the group.
  • 30140 IDE: Pasting tables from Excel to ListBox InitialValue property converts column into tab delimited (&h09) and line feed (&h0A) delimited data once again.
  • 29530 IDE: Plugins now show proper icons on disk.
  • 22864 IDE: Prevent the placement of a WebContainer inside a module.
  • 29746 IDE: Run remotely now uses Ctrl+Alt+R on Windows to avoid the conflict with Ctrl+Shift+R that is used by stop debugging.
  • 30752 IDE: Running and closing the tab and then running again no longer causes an exception.
  • 29837 IDE: Saving a project to a read only location no longer causes an assertion.
  • 26946 IDE: Script Step Editor uses the same code editor canvas as the new code editor so it handles keyboard input properly. It also obeys the same set of commands (like forward delete).
  • 28338 IDE: Scrolling the layout no longer results in a toolbar you can't edit.
  • 28163 IDE: Search field no longer steals focus when activating / deactivating the IDE.
  • 30786 IDE: Searches are done 0.5 seconds AFTER the text stops changing OR when ENTER OR RETURN are pressed (in which case the search is done immediately).
  • 29339 IDE: Significantly improved performance when pasting a long list of items. Time to paste 1,100 items reduced from hours to less than a minute.
  • 29616 IDE: Skipping locating missing files no longer eventually leads to an exception when trying to run the project.
  • 24405 IDE: Tab panels that have captions set using constant no longer mangle the encoding of the constants resulting in incorrect display.
  • 30257 IDE: The build button disables if there are no targets selected.
  • 30020 IDE: The debugger now catches exceptions raised in computed properties rather than letting them escape into the program and alter control flow.
  • 30056 IDE: The highlight area for the inline editor of a toolbar stays over the toolbar when you scroll the layout editor and inline editing is active.
  • 29021 IDE: The Library splitter not longer drags when the mouse cursor really isn't in a spot where it appears it SHOULD be dragging.
  • 29877 IDE: The Navigator no longer experiences a NilObjectException when adding classes to modules and then selecting something OTHER than an item in the module.
  • 30784 IDE: The Navigator width is common across all tabs in a window but NOT shared across windows.
  • 27993 IDE: The Project Chooser window no longer trims off localized strings in the list of project types.
  • 30980 IDE: Thread objects can be dragged to WebPages again.
  • 29613 IDE: Typing a name into the certificate file (or any other file type property) no longer causes an exception. File properties editor has the ellipsis for selecting a file again.
  • 21608 IDE: Updated wording and button titles for "File is in trash" dialog.
  • 30853 IDE: Using Duplicate in the Navigator no longer duplicates the wrong item.
  • 25699 IDE: When you delete one or more items in the Navigator, the inspector no longer appears to still have them selected and editable.
  • 26135 IDE: When you drag a project item into a folder in the Navigator the selection rectangles are update properly.
  • 31029 IDE: You can no longer enter invalid port values for web applications.
  • 29961 IDE: You can now edit the values in a WebListBox when there is only 1 column. Fixed a drawing bug where some values would be truncated when the ListBox had multiple columns. Also made it so the drawing relies on the DEFINED column count property for how many columns to show.
  • OS X:
  • 15773 Mac/Linux: ConsoleApplication.Run's args parameter no longer has an extra element at the end of the array.
  • 29433 MacCocoa: Fixed a source of unbounded memory growth.
  • 30436 MacCocoa: ListBox headers now draw the ascending sort arrow when ran on 10.9.
  • 31107 MacCocoa: The framework no longer links against QuickTime, which was preventing submission of applications to the Mac App Store.
  • 5378 Plugins SDK: Added namespace support, see REALmoduleDefinition documentation.
  • Web:
  • 29288 Web: Browsers are now explicitly asked to revalidate framework files on load, so newer versions won't try to use the old framework.
  • 30563 Web: Fixed a bug in the new logging mechanism for standalone apps which made it live all the time for CGI applications.
  • 15443 Web: Fixed a bug in WebListbox.Headers where assigning all of the headers using -1 as the index would not push the changes to the browser.
  • 29775 Web: Fixed a bug which caused certain POST and Querystring variables to be unavailable in a POST request sent to /special or /api.
  • 31056 Web: Refreshing WebCustomControls no longer causes JavaScript errors.
  • 16136 Web: WebImageViewer no longer causes IDE crashes when you use certain URLs.
  • 24127 Web: WebListBox.AddRow no longer adds rows twice if called before the Shown event.
  • 30361 Web: WebPopupMenu: DeleteAllRows no longer causes errors if called in the Open event.
  • New Items:
  • 29229 All: Added a DebugIdentifier property to Thread, which will show up in the debugger's thread popup and allow easier debugging of threaded code.
  • 23227 All: The RegEx class has been updated to use PCRE 8.3.3.
  • 23643 Desktop: Canvas/ContainerControl: Added Transparent property, whose default value is True, this maintains current compatibility. If set the False then the Canvas/ContainerControl will become opaque (i.e. background will not show through). On Linux this has particularly special meaning in that child controls on an Opaque Canvas/ContainerControl can be clipped.
  • 28826 Framework: Added new Crypto functions: Crypto.RSAGenerateKeyPair(Bits As Integer, ByRef PrivateKey As String, ByRef PublicKey As String) As Boolean Bits would usually be 1024 or 2048. Generates a private and public key pair that is hex encoded. Returns true on success, false if failed.
  • Crypto.RSAVerifyKey(Key as String) as Boolean Attempts to validate the specified key
  • Crypto.RSAEncrypt (Data As MemoryBlock, Key As String) As MemoryBlock Encrypts the data with the specified key, which is either a private or public key.
  • Crypto.RSADecrypt (Data As MemoryBlock, PrivateKey As String) As MemoryBlock The reverse of Crypto.RSADecrypt.
  • Crypto.RSASign (Data As MemoryBlock, PrivateKey As String) As MemoryBlock Signs the data block with the specified private key.
  • Crypto.RSAVerifySignature (Data As MemoryBlock, Signature As MemoryBlock, PublicKey As String) As Boolean Verifies the data with the specified signature and key. Returns true if the signature is verified, false otherwise.
  • Crypto.GenerateRandomBytes (ByteCount As Integer) As MemoryBlock Generates a random block of data.
  • 29939 IDE: Preferences window has a new pane for updates and also a way to opt in/out of sending system details.
  • 27275 IDE: The "Help for" item appears in the contextual menu of controls selected in the Layout Editor.
  • 30710 IDE: You can use a constant for the app identifier. The value of the constant still should conform to the recommended form (com.xxxx.xxxx).
  • 30694 WebSDK: Added an example project for using the LoadLibraries method
  • 30913 Windows: MouseWheel event is now triggered for the control that the mouse pointer is over.
  • Changes:
  • 25806 Database: Updated SQLiteDatabase to use SQLite 3.7.17.
  • 28702 Desktop: Removed the following TextArea properties and methods since they do nothing: SelCondense, SelExtend, SelOutline, SelShadow, ToggleSelectionCondense, ToggleSelectionExtend, ToggleSelectionOutline, ToggleSelectionShadow
  • 28754 IDE: Clicking the + (new tab) creates a new tab with no selection.
  • 30650 IDE: If you have only one workspace with two tabs - a project item and the debugger both in separate tabs - you can't close the non-debugger tab as when you quit the debugger it leaves you in a weird state with no obvious way to get back to working on your project.
  • 29262 IDE: Local Language Reference updated as of Sep 1, 2013.
  • 29029 IDE: New local Language Reference updated as of Aug 23th.
  • 30444 IDE: Search results are now listed in alphabetical order.
  • 24359 IDE: The Goto Location window is resizable and retains its height and control positions. You can drag it to make it wider.
  • 27557 IDE: Visible property of a menu item can be set in the Menu Editor as well as at run time.
  • 30014 MacCocoa: When running on 10.7 and higher, the Sound class now uses AVFoundation instead of the legacy Sound Manager framework.
  • 30356 Macintosh: The minimum supported version of OS X for the IDE and built applications is now 10.7.
  • 27380 Web: ChromeFrame support has been removed in preparation for Google's service discontinuation in January 2014.
  • 27207 Web: Implemented Apache-style logging for standalone web apps. Use --logging command-line option to turn on. Added standards compliant headers for responses.
  • 30238 Web: Removed unsupported FastCGI code from the CGI script.
  • Docs and Examples:
  • 30855 Doc: Updated system requirements for Linux in User Guide and Lang Ref.
  • 15065 DocLangRef: Added more info about WebStyle usage with WebButton.
  • 19173 DocLangRef: Clarified that FileTypes are converted to their string equivalent when used with GetOpenFolderItem.
  • 30689 DocLangRef: Clarified Window.Top position.
  • 30939 DocLangRef: Corrected append example for Clipboard.
  • 30619 DocLangRef: Corrected MenuItem.Constructor parameter list names.
  • 30033 DocLangRef: Fixed "See Also" section of Database.Rollback.
  • 31047 DocLangRef: Fixed broken link to WebKitGTK web site on the HTMLViewer topic.
  • 30088 DocLangRef: Fixed example for TextInputStream.
  • 30252 DocLangRef: Fixed typo in XmlDocument.LoadXML example.
  • 30464 DocLangRef: Fixed typo on integer division page.
  • 29415 DocLangRef: Fixer typo in example on Join topic.
  • 30013 DocLangRef: Improved examples for XMLDocument topic.
  • 15580 DocLangRef: ReportDateLabel updated.
  • 15579 DocLangRef: Updated ReportPageNumberLabel.
  • 30723 DocLangRef: Updated SpecialFolder FolderName paths to match current OS values.
  • 29346 DocLangRef: Updated WebStyle topic in Language Reference to remove outdated screenshots and improve organization.
  • 18394 DocLangRef: Updated WebTextControl.TextChanged with correct information about when the event handler is called.
  • 30200 DocLangRef: Updated XML topics in to include examples.
  • 28225 DocUserGuide: Added AppleScript section to User Guide Book 4: Development and also added an example project.
  • 29996 DocUserGuide: Added more information about the use of "Default" to the Localization section in Book 4: Development.
  • 29382 DocUserGuide: Added table that maps data type integer values to data types to the Databases chapter and refer to it from the Reports section.
  • 29438 DocUserGuide: Updated Navigator section in Fundamentals Guide to better describe "Double click opens items in new tab" preference setting.
  • 30290 Examples: Added "#" to URL on RegisterLink in LoginExample so that it correctly loads page on all browsers.
  • 28271 Examples: Added WebSDK custom controls to Examples so that they can be easily found using the Project Chooser.
  • 29802 Examples: Fixed Linux script name in AutoSaveScript.

New in version 2013 Release 4 (December 17th, 2013)

  • Bug Fixes:
  • Misc:
  • 30925 All: EncodeHex no longer crashes in certain circumstances if told to insert spaces.
  • 28050 All: Fixed handling of Chinese and other Unicode characters in StyledText's RTF code.
  • 30963 All: MemoryBlock.CString now reliably generates OutOfBoundsExceptions when there is no NUL terminator present.
  • 14061 All: No longer crashes when creating an XML element with an invalid namespace.
  • 22560 All: No longer displays a failed assertion dialog if the debugged app cannot connect to the debugger.
  • 29908 All: Picture.ApplyMask now throws an exception if either dimension of the mask is incorrect. Previously it only threw an exception if both dimensions were incorrect.
  • 30593 All: XojoScripts with floating point math now work on Windows XP.
  • 9200 Compiler: No longer asserts if there are more than 8192 plugin entry points in the final executable.
  • 15071 Compiler: No longer triggers a failed assertion when compiling large methods.
  • 27167 Desktop: Fixed an issue in the reporting engine where it could terminate printing details lines too soon and so put fewer details on a page than it should.
  • 26815 Desktop: Getting ListBox.CellType now returns the correct type when the ColumnType has been set for that cell.
  • 30127 Desktop: HTMLViewer.ExecuteJavaScript no longer throws a NilObjectException on Windows (using the Native renderer) if no document exists. It now throws an HTMLViewerException informing you that a document is required before you can execute any JavaScript code.
  • 27704 Fixes to case 27192 make the symptoms this cases experiences no longer happen. Pressing enter commits the change so "Save" is enabled. It wasn't in this case so you would just get a beep.
  • IDE:
  • 
29765 IDE: A bunch of tweaks to make it so you CANNOT do invalid things with drag and drop. Prevented actions include:
  • drag a window from a desktop project into a web project (or a web view into a desktop project)
  • drag a window from a desktop project into a console project (or a web view into a console project)
  • drag web styles into web pages
  • drag class interfaces INTO windows or web pages
  • drag windows onto windows (or web pages into web pages)
  • drag windows into container controls (but you can drag containers onto windows)
  • 
28902 IDE: A NilObjectException that can be encountered sometimes in the Universal Layout Editor has been fixed.
  • 29544 IDE: Adding empty attributes no longer causes an OutOfBoundsException. They are properly discarded and not saved if you create attributes with no name.
  • 30649 IDE: Analyze project once again shows if there are only warnings.
  • 29805 IDE: Application.Open event handler no longer shows Application.OpenDocument description.
  • 29446 IDE: Attributes on a window are no longer replicated to every control.
  • 30191 IDE: Auto spell checking has been turned off in a number of property editor panes as its not really useful there.
  • 30313 IDE: Can now clear the destination property in Shared Build Settings.
  • 30069 IDE: Classes are no longer duplicated in Navigator listings.
  • 24300 IDE: Code Editor no longer tries to center the line in the editor if you just move the cursor to the beginning or end of the line.
  • 29957 IDE: Copy and paste of controls in web projects no longer raises an OutOfBoundsException.
  • 29847 IDE: Copying and pasting control no longer causes an OutOfBoundsException.
  • 29709 IDE: Copying and pasting onto the group header in the Navigator works using command key short cuts as well as the contextual menus.
  • 29862 IDE: Copying and pasting with a Navigator filter in effect no longer causes a NilObjectException.
  • 31049 IDE: Data Control Inspector no longer shows name of constant (#kTable).
  • 30628 IDE: Debugger shuts down the app being debugged when you close the tab.
  • 26633 IDE: Default size for report field, label, date and page number add to layout is more appropriate.
  • 30007 IDE: Deleting an item from the Navigator pressing the up arrow key no longer causes an exception.
  • 27297 IDE: Dragging a Generic object back onto a layout it already is on no longer causes an exception.
  • 24716 IDE: Editing SegmentedControl labels now preserves the encoding.
  • 27192 IDE: Enter key on numeric keypad now commits changes in Inspector like return key does.
  • 30646 IDE: Enum property values in Xojo Text Projects no longer flip between quoted strings and integers.
  • 21711 IDE: Exporting an external item now gives a result that makes sense (whether it's exported as binary or xml) instead of an empty or useless file.
  • 27959 IDE: External items in projects now save properly when edited after initially making them external.
  • 29052 IDE: External subclasses now show in the class selector dialog.
  • 13533 IDE: Fill Width and Fill Height actions in the layout editor are now undoable / redo-able.
  • 28874 IDE: Find field no longer gets focus simply deactivating and activating the IDE.
  • 29466 IDE: Fixed a display issue in the Navigator where subitems could show in the wrong location.
  • 30844 IDE: Fixed a failed assertion that could occur when compiling code that has ambiguous interface implementation.
  • 30687 IDE: Fixed an assertion that could occur when loading projects with invalid item names.
  • 29457 IDE: Fixed an error in handling missing files that resulted in an UnsupportedFormatException.
  • 28537 IDE: Fixed an error when loading projects that have external items that are missing that could cause an Unsupported Format Exception.
  • 29451 IDE: Fixed an exception that could sometimes occur when copying and pasting web controls.
  • 26176 IDE: Fixed an issue in search result pane where selecting a found line could go to the wrong place and could also reset the search scope.
  • 27682 IDE: Fixed an issue that could cause control events to not load properly from a saved binary project.
  • 29838 IDE: Fixed cause of a NilObjectException in the Navigator when you may be dragging. Could have been caused by many actions like dragging a file over the Navigator when debugging.
  • 30327 IDE: Fixed one case where the "Add Event" menu item would not enable.
  • 30577 IDE: Fixed the illegal cast exception that could occur when locating images.
  • 29281 IDE: If you have a Navigator filter applied and use Go To Location the filter is cleared so the location you go to can be revealed.
  • 29326 IDE: Invalid XML files no longer cause an exception.
  • 30407 IDE: Items that have no tab stop property on a desktop project don't appear in the tab order editor.
  • 27030 IDE: Locked objects on non-front front most tab or page panels no longer bleed through.
  • 12770 IDE: Made it much harder to import items into the wrong kind of project (e.g. you can't import desktop items to web or console apps, no web items in to desktop or console apps, etc).
  • There's no way for to know at the point the selection dialog is displayed that an item is desktop, web, console etc so we cannot filter them out at that point.
  • 30661 IDE: Missing images no longer cause an unsupported format exception to be raised if we try to use the full path to the item to find it.
  • 27996 IDE: No longer causes an exception when pasting into the Icon Editor.
  • 29614 IDE: No longer show odds HTML markup for descriptions in the Add Event Handler dialog.
  • 29186 IDE: No longer show shortcuts in contextual menus.
  • 28730 IDE: No longer throws an exception when bad values are entered for the Listbox ColumnWidth property.
  • 30079 IDE: No longer updating editors off on hidden tabs, this should make editing much quicker for those that work with many tabs. Also improved performance when editing Structures.
  • 30874 IDE: Non-visual controls no longer have TabStop and TabIndex properties.
  • 28246 IDE: Now writes out encrypted items contained by a module as EXTERNAL ENCRYPTED BINARY items same as other top level encrypted items in a text project.
  • 20570 IDE: Old text (VCP) projects that wrote windows with segmented controls as "Begin SegmentedControl" now load as expected and do not cause unhanded exceptions.
  • 28113 IDE: Only changes to project items actually altered by the user are saved.
  • 30175 IDE: Optimized the drawing of Web Text controls to make dragging and resizing a little faster.
  • 27599 IDE: Overloaded methods no longer mix up shared and non-shared methods in the group.
  • 30140 IDE: Pasting tables from Excel to ListBox InitialValue property converts column into tab delimited (&h09) and line feed (&h0A) delimited data once again.
  • 29530 IDE: Plugins now show proper icons on disk.
  • 22864 IDE: Prevent the placement of a WebContainer inside a module.
  • 29746 IDE: Run remotely now uses Ctrl+Alt+R on Windows to avoid the conflict with Ctrl+Shift+R that is used by stop debugging.
  • 30752 IDE: Running and closing the tab and then running again no longer causes an exception.
  • 29837 IDE: Saving a project to a read only location no longer causes an assertion.
  • 26946 IDE: Script Step Editor uses the same code editor canvas as the new code editor so it handles keyboard input properly. It also obeys the same set of commands (like forward delete).
  • 28338 IDE: Scrolling the layout no longer results in a toolbar you can't edit.
  • 28163 IDE: Search field no longer steals focus when activating / deactivating the IDE.
  • 30786 IDE: Searches are done 0.5 seconds AFTER the text stops changing OR when ENTER OR RETURN are pressed (in which case the search is done immediately).
  • 29339 IDE: Significantly improved performance when pasting a long list of items. Time to paste 1,100 items reduced from hours to less than a minute.
  • 29616 IDE: Skipping locating missing files no longer eventually leads to an exception when trying to run the project.
  • 24405 IDE: Tab panels that have captions set using constant no longer mangle the encoding of the constants resulting in incorrect display.
  • 30257 IDE: The build button disables if there are no targets selected.
  • 30020 IDE: The debugger now catches exceptions raised in computed properties rather than letting them escape into the program and alter control flow.
  • 30056 IDE: The highlight area for the inline editor of a toolbar stays over the toolbar when you scroll the layout editor and inline editing is active.
  • 29021 IDE: The Library splitter not longer drags when the mouse cursor really isn't in a spot where it appears it SHOULD be dragging.
  • 29877 IDE: The Navigator no longer experiences a NilObjectException when adding classes to modules and then selecting something OTHER than an item in the module.
  • 30784 IDE: The Navigator width is common across all tabs in a window but NOT shared across windows.
  • 27993 IDE: The Project Chooser window no longer trims off localized strings in the list of project types.
  • 30980 IDE: Thread objects can be dragged to WebPages again.
  • 29613 IDE: Typing a name into the certificate file (or any other file type property) no longer causes an exception. File properties editor has the ellipsis for selecting a file again.
  • 21608 IDE: Updated wording and button titles for "File is in trash" dialog.
  • 30853 IDE: Using Duplicate in the Navigator no longer duplicates the wrong item.
  • 25699 IDE: When you delete one or more items in the Navigator, the inspector no longer appears to still have them selected and editable.
  • 26135 IDE: When you drag a project item into a folder in the Navigator the selection rectangles are update properly.
  • 31029 IDE: You can no longer enter invalid port values for web applications.
  • 29961 IDE: You can now edit the values in a WebListBox when there is only 1 column. Fixed a drawing bug where some values would be truncated when the ListBox had multiple columns. Also made it so the drawing relies on the DEFINED column count property for how many columns to show.
  • OS X:
  • 15773 Mac/Linux: ConsoleApplication.Run's args parameter no longer has an extra element at the end of the array.
  • 29433 MacCocoa: Fixed a source of unbounded memory growth.
  • 30436 MacCocoa: ListBox headers now draw the ascending sort arrow when ran on 10.9.
  • 31107 MacCocoa: The framework no longer links against QuickTime, which was preventing submission of applications to the Mac App Store.
  • 5378 Plugins SDK: Added namespace support, see REALmoduleDefinition documentation.
  • Web:
  • 29288 Web: Browsers are now explicitly asked to revalidate framework files on load, so newer versions won't try to use the old framework.
  • 30563 Web: Fixed a bug in the new logging mechanism for standalone apps which made it live all the time for CGI applications.
  • 15443 Web: Fixed a bug in WebListbox.Headers where assigning all of the headers using -1 as the index would not push the changes to the browser.
  • 29775 Web: Fixed a bug which caused certain POST and Querystring variables to be unavailable in a POST request sent to /special or /api.
  • 31056 Web: Refreshing WebCustomControls no longer causes JavaScript errors.
  • 16136 Web: WebImageViewer no longer causes IDE crashes when you use certain URLs.
  • 24127 Web: WebListBox.AddRow no longer adds rows twice if called before the Shown event.
  • 30361 Web: WebPopupMenu: DeleteAllRows no longer causes errors if called in the Open event.
  • New Items:
  • 29229 All: Added a DebugIdentifier property to Thread, which will show up in the debugger's thread popup and allow easier debugging of threaded code.
  • 23227 All: The RegEx class has been updated to use PCRE 8.3.3.
  • 23643 Desktop: Canvas/ContainerControl: Added Transparent property, whose default value is True, this maintains current compatibility. If set the False then the Canvas/ContainerControl will become opaque (i.e. background will not show through). On Linux this has particularly special meaning in that child controls on an Opaque Canvas/ContainerControl can be clipped.
  • 28826 Framework: Added new Crypto functions: Crypto.RSAGenerateKeyPair(Bits As Integer, ByRef PrivateKey As String, ByRef PublicKey As String) As Boolean Bits would usually be 1024 or 2048. Generates a private and public key pair that is hex encoded. Returns true on success, false if failed.
  • Crypto.RSAVerifyKey(Key as String) as Boolean Attempts to validate the specified key
  • Crypto.RSAEncrypt (Data As MemoryBlock, Key As String) As MemoryBlock Encrypts the data with the specified key, which is either a private or public key.
  • Crypto.RSADecrypt (Data As MemoryBlock, PrivateKey As String) As MemoryBlock The reverse of Crypto.RSADecrypt.
  • Crypto.RSASign (Data As MemoryBlock, PrivateKey As String) As MemoryBlock Signs the data block with the specified private key.
  • Crypto.RSAVerifySignature (Data As MemoryBlock, Signature As MemoryBlock, PublicKey As String) As Boolean Verifies the data with the specified signature and key. Returns true if the signature is verified, false otherwise.
  • Crypto.GenerateRandomBytes (ByteCount As Integer) As MemoryBlock Generates a random block of data.
  • 29939 IDE: Preferences window has a new pane for updates and also a way to opt in/out of sending system details.
  • 27275 IDE: The "Help for" item appears in the contextual menu of controls selected in the Layout Editor.
  • 30710 IDE: You can use a constant for the app identifier. The value of the constant still should conform to the recommended form (com.xxxx.xxxx).
  • 30694 WebSDK: Added an example project for using the LoadLibraries method
  • 30913 Windows: MouseWheel event is now triggered for the control that the mouse pointer is over.
  • Changes:
  • 25806 Database: Updated SQLiteDatabase to use SQLite 3.7.17.
  • 28702 Desktop: Removed the following TextArea properties and methods since they do nothing: SelCondense, SelExtend, SelOutline, SelShadow, ToggleSelectionCondense, ToggleSelectionExtend, ToggleSelectionOutline, ToggleSelectionShadow
  • 28754 IDE: Clicking the + (new tab) creates a new tab with no selection.
  • 30650 IDE: If you have only one workspace with two tabs - a project item and the debugger both in separate tabs - you can't close the non-debugger tab as when you quit the debugger it leaves you in a weird state with no obvious way to get back to working on your project.
  • 29262 IDE: Local Language Reference updated as of Sep 1, 2013.
  • 29029 IDE: New local Language Reference updated as of Aug 23th.
  • 30444 IDE: Search results are now listed in alphabetical order.
  • 24359 IDE: The Goto Location window is resizable and retains its height and control positions. You can drag it to make it wider.
  • 27557 IDE: Visible property of a menu item can be set in the Menu Editor as well as at run time.
  • 30014 MacCocoa: When running on 10.7 and higher, the Sound class now uses AVFoundation instead of the legacy Sound Manager framework.
  • 30356 Macintosh: The minimum supported version of OS X for the IDE and built applications is now 10.7.
  • 27380 Web: ChromeFrame support has been removed in preparation for Google's service discontinuation in January 2014.
  • 27207 Web: Implemented Apache-style logging for standalone web apps. Use --logging command-line option to turn on. Added standards compliant headers for responses.
  • 30238 Web: Removed unsupported FastCGI code from the CGI script.
  • Docs and Examples:
  • 30855 Doc: Updated system requirements for Linux in User Guide and Lang Ref.
  • 15065 DocLangRef: Added more info about WebStyle usage with WebButton.
  • 19173 DocLangRef: Clarified that FileTypes are converted to their string equivalent when used with GetOpenFolderItem.
  • 30689 DocLangRef: Clarified Window.Top position.
  • 30939 DocLangRef: Corrected append example for Clipboard.
  • 30619 DocLangRef: Corrected MenuItem.Constructor parameter list names.
  • 30033 DocLangRef: Fixed "See Also" section of Database.Rollback.
  • 31047 DocLangRef: Fixed broken link to WebKitGTK web site on the HTMLViewer topic.
  • 30088 DocLangRef: Fixed example for TextInputStream.
  • 30252 DocLangRef: Fixed typo in XmlDocument.LoadXML example.
  • 30464 DocLangRef: Fixed typo on integer division page.
  • 29415 DocLangRef: Fixer typo in example on Join topic.
  • 30013 DocLangRef: Improved examples for XMLDocument topic.
  • 15580 DocLangRef: ReportDateLabel updated.
  • 15579 DocLangRef: Updated ReportPageNumberLabel.
  • 30723 DocLangRef: Updated SpecialFolder FolderName paths to match current OS values.
  • 29346 DocLangRef: Updated WebStyle topic in Language Reference to remove outdated screenshots and improve organization.
  • 18394 DocLangRef: Updated WebTextControl.TextChanged with correct information about when the event handler is called.
  • 30200 DocLangRef: Updated XML topics in to include examples.
  • 28225 DocUserGuide: Added AppleScript section to User Guide Book 4: Development and also added an example project.
  • 29996 DocUserGuide: Added more information about the use of "Default" to the Localization section in Book 4: Development.
  • 29382 DocUserGuide: Added table that maps data type integer values to data types to the Databases chapter and refer to it from the Reports section.
  • 29438 DocUserGuide: Updated Navigator section in Fundamentals Guide to better describe "Double click opens items in new tab" preference setting.
  • 30290 Examples: Added "#" to URL on RegisterLink in LoginExample so that it correctly loads page on all browsers.
  • 28271 Examples: Added WebSDK custom controls to Examples so that they can be easily found using the Project Chooser.
  • 29802 Examples: Fixed Linux script name in AutoSaveScript.

New in version 2013 Release 3.3 (November 13th, 2013)

  • Bug Fixes:
  • FIX 30473 Windows IDE: Clicking on Shared Build Settings no longer crashes IDE.
  • FIX 30625 Windows: MySQLCommunityServer, ODBCDatabase, MSSQLServerDatabase no longer hangs when calling SQLExecute or SQLSelect in a thread.

New in version 2013 Release 3.2 (October 30th, 2013)

  • FIX 26915 All: Fixed a bug that could cause crashes on quit if two or more threads were running (excluding the main thread).
  • FIX 29930 All: Threads now are reliably killed when quitting the application.
  • FIX 29840 IDE: WebPopupMenu initial value can be edited once set.
  • FIX 29954 Linux IDE: Clearing the Navigator filter (by pressing the 'x' icon) no longer causes a stack overflow.
  • FIX 29747 MacCocoa: Fixed an assertion that occurred when REALcontrols with the REALinvisibleControl flag set were placed on a window.
  • FIX 29633 MacCocoa: Fixed excessive CPU usage when there were multiple threads running but all of them were sleeping or blocking on a lock.
  • FIX 29975 MacCocoa: The SQLite database plugin dylib is now code signed.
  • FIX 30147 MacCocoa: Threads with a priority of one now get yielded to correctly.
  • FIX 27374 Remote Debugger Stub: Now disables OS X Mavericks' App Nap feature while a file is being transferred to the stub.
  • FIX 29827 Web: Hidden WebContainer and WebDialog children controls are now refreshed properly when the container is shown.