Xojo Changelog

New in version 2015 Release 2.2

May 26th, 2015
  • Bug Fixes:
  • 39201 Compiler A mixture of UI and non-UI controls no longer causes a situation where an additional UI control would result in some non-UI controls being rendered to the compiler.
  • 39220 Database Engine SQLiteDatabase: Binding Text values to PreparedStatement no longer inserts incorrect/random data.
  • 39232 Debugger Fixed object IDs in the debugger being identical.
  • 39147 IDE » Miscellaneous Fixed an error where it was possible to have a change to a text (VCP) project not saved when editing an event handler.
  • 39185 IDE » Miscellaneous Fixed an IDE crash that could sometimes occur when deleting a ContainerControl from the project.
  • 39237 Web » Frame Web: Fixed a regression where App.Port and App.SecurePort returned the IDE values when queried in the App.Open event of a Standalone app that had the --port or --secureport property set on the command line.

New in version 2015 Release 2.1 (April 23rd, 2015)

  • 38979 Compiler Error dialog no longer blinks into existence and then out on Windows.
  • 38928 Compiler Fixed a failed assertion that occurred when building a project that had a database in it.
  • 39020 Framework » iOS All: Fixed a bug where comparing an empty Text against an empty Text literal would return an incorrect result.
  • 38576 Framework » Macintosh File types are no longer written with everything as “exported types” which causes some file types to not get recognized by OS X.
  • 38973 Framework » Windows Non-WAV based sound files dragged into the project now Play properly again.
  • 38929 IDE » Layout Editor Image sets now properly reload into the TabView editor.
  • 38982 IDE » Layout Editor TabView icons which use Image Sets now render at the correct size.
  • 38921 IDE » Navigator Deleting an event implementation from a control on iOS actually removes it so its no longer rendered out
  • 38977 IDE » Navigator Image sets now load properly from projects in version control format.

New in version 2015 Release 2 (April 14th, 2015)

  • NEW FEATURES AND CHANGES:
  • Icons and Images can now have multiple sizes associated with them.
  • Added iOSDatePicker control
  • Reduced size of Windows and Linux built apps
  • Expanded availability of parts of the New Xojo Framework to Desktop, Web and Console projects:
  • Xojo.Data
  • Xojo.Net.HTTPSocket
  • Xojo.IO
  • Xojo.Crypto
  • Xojo.Math
  • Xojo.Introspection
  • Language improvements:
  • Added PBKDF2 and BER/DER methods to Xojo.Crypto
  • XojoScript LLVM updated to 3.5.1.
  • Bug Fixes:
  • 38520 Build An error generating code for compiling a multiline label on a report has been fixed.
  • 24019 Build Apple Scripts, Movies, Pictures, Sounds and RawData can no longer erroneously be selected to be encrypted as the data in the item was never touched or encrypted and being able to select them in the IDE lead people to incorrectly believe the data was being encrypted.
  • 38286 Compiler Compiler: Fixed code generation for 2D arrays on 64-bit iOS.
  • 38291 Compiler Compiler: Fixed compilation of Objective-C declares that returned large structures.
  • 38140 Compiler Holding the option key down no longer generates an app that does not run. This used to switch between the Carbon and Cocoa frameworks but that is no longer supported (see case 19377).
  • 38521 Compiler iOS applications now build when Xcode 6.2 or Xcode 6.3 is installed.
  • 38020 Compiler Removed IsGlobal on MemberInfo since there is nothing in Introspection that will ever have it set to True.
  • 38656 Compiler The library field of Objective-C declares is now respected and the application will link against those libraries.
  • 38554 Crashes & Assertions » Crash A NilObjectException that could occur on OS X 10.10.3 has been fixed.
  • 38715 Crashes & Assertions » Crash Fixed an out of bounds memory write that happened when converting a String to a PString.
  • 37971 Crashes & Assertions » Crash License agreement window now has a minimum size of 320 x 320.
  • 38385 Debugger Debugger: Fixed a bug that led to corrupting the last character when editing a string in the debugger.
  • 38475 Framework » iOS iOS SQLiteDatabase no longer crashes when getting a NULL value from a column, also added a IsNull property to SQLiteDatabaseField.
  • 37939 Framework » iOS iOSSegmentedControl now properly handles adding and removing segments at run-time.
  • 37934 Framework » iOS The Enabled property now works with iOSToolButton.
  • 38407 Framework » iOS The UnhandledException event is now called when the app is run on iOS devices.
  • 10325 Framework » Macintosh Serial.XmitWait no longer raises an Error code of 19.
  • 38695 Framework » Macintosh (Cocoa) Accessing screen indexes out of bounds no longer causes a crash. It will throw an out of bounds exception.
  • 38217 Framework » Macintosh (Cocoa) User selected font and size for the ListBox is honored by the listbox header again.
  • 21576 Framework » Web Web: Cookies whose names contain spaces now load properly when a session first starts up.
  • 38511 Framework » Web Web: WebContainer ContentsScrolled event now fires when scrolling in only one direction.
  • 38284 Framework » Web WebSDK: Fixed a bug which caused the javascript namespace creation method to be called once per control instance instead of once per unique namespace.
  • 38459 Framework » Windows Adding or subtracting a DateInterval now correctly adds/subtracts months (also fixed for Linux).
  • 34157 Framework » Windows MoviePlayer.Looping now works properly with the native Windows Media Player.
  • 37324 Framework » Windows Setting Clipboard.Picture, with a Picture that has an alpha channel, no longer crashes.
  • 38703 IDE Removing a tab from an iOSScreen in a text project works as expected.
  • 37857 IDE » Auto Complete Removed hidden Text Iterator classes from auto-complete.
  • 38015 IDE » AutoLayout IDE no longer hangs when auto-layout causes a TextArea size to get very small.
  • 11465 IDE » Code Editor Items that have been deleted are no longer still showing when you search, delete them then click the search result again.
  • 38208 IDE » Code Editor TargetARM now autocompletes.
  • 38296 IDE » Code Editor The Text type highlights like other intrinsic types.
  • 38492 IDE » Debugger Structure values display correctly.
  • 38123 IDE » Find & Replace Searching using "this item and subclass" option with a module selected now also searches any classes contained within the module.
  • 38443 IDE » Inspector Changing the name of a WebToolbarItem and leaving the item by clicking elsewhere no longer causes an endless stack of dialogs.
  • 37301 IDE » Inspector Duplicating a string property no longer doubles up quotes in the duplicate.
  • 38090 IDE » Inspector Font selector in the Inspector now shows in alphabetical order (ignoring odd characters like @ that occur in some font names).
  • 38021 IDE » Inspector The Method Editor Combobox now splits up array types as parameters properly.
  • 38142 IDE » Inspector The Value property no longer appears (then disappears) on the Inspector for a CheckBox control. Instead, use the Initial State property in the Inspector.
  • 38357 IDE » Inspector You can’t use a SplitView for the default iPhone screen (iOS does not support this).
  • 38087 IDE » Menu Editor Menu Editor (and all other command bar icons) draw more clearly since they are no longer scaled.
  • 38560 IDE » Miscellaneous A NilObjectException that could occur due to a bug in OS X 10.10.3 is now fixed.
  • 38545 IDE » Miscellaneous An NilObjectException that occurred when the Debug Plugins directory exists next to the IDE has been fixed.
  • 37880 IDE » Miscellaneous Compiling a project where there are files that were missing that were not resolved no longer causes an exception in the IDE.
  • 14078 IDE » Miscellaneous Dropping an invalid “cur” file on the IDE no longer causes a NilObjectException.
  • 37970 IDE » Miscellaneous Fixed a memory leak related to the Window Layout Editor.
  • 38281 IDE » Miscellaneous Fixed a NilObjectException that can occur when adding an overloaded method.
  • 36697 IDE » Miscellaneous Fixed a NilObjectException that could occur when using a Filter for the Navigator.
  • 38409 IDE » Miscellaneous Fixed an edge case where closing the Xojo Cloud upload dialog/sheet could cause a crash.
  • 19377 IDE » Miscellaneous Holding the Option key down when pressing Run no longer produces an error.
  • 24321 IDE » Miscellaneous IDE: Pasting string properties no longer doubles up the surrounding and contained quotes.
  • 38344 IDE » Miscellaneous Identifiers are created as you type in a name and company in the Project Chooser.
  • 33331 IDE » Miscellaneous Invalid names for WebToolbarItems no longer cause compile issues.
  • 38570 IDE » Miscellaneous No longer generate an OutOfBoundsException with an oddly formed list of parameters for an extends method.
  • 37977 IDE » Miscellaneous Selected items in the Errors pane are now readable on Windows and Linux.
  • 36765 IDE » Miscellaneous Switching from tab to tab no longer requires clicking in the code editor to make it so you can start/continue editing.
  • 38129 IDE » Miscellaneous The deprecated CFBundleGetInfoString is no longer written to Info.plist for OS X apps.
  • 38241 IDE » Miscellaneous The Resume button on the toolbar on Windows now enables when expected during debugging.
  • 37964 IDE » Miscellaneous Undoing and redoing the addition of a project item (like a container control) properly restores the Navigator, avoiding a NilObjectException.
  • 38145 IDE » Miscellaneous Web apps no longer report NaN as the bytes per transaction under some circumstances in the log.
  • 38175 IDE » Navigator A cosmetic issue where multiple entries for "Layout" could arise has been fixed.
  • 38667 IDE » Navigator Clicking from one item to another in the Navigator no longer dirties the project.
  • 38368 IDE » Style Editor Linux IDE: deleting a property from a WebStyle no longer crashes
  • Changes:
  • 35574 Framework » All Xojo.Crypto now works on Desktop, Web and Console projects for Windows, Linux and OS X.
  • 35218 Framework » All Xojo.IO.FolderItem now works for all platforms.
  • 38311 Framework » All Xojo.Net.HTTPSocket now works on all platforms (note this requires libsoup-2.4 on Linux).
  • 37645 Framework » Linux The Linux framework now uses the system provided ICU libraries instead of statically linking them, which reduces the size of built apps on Linux. This means libicu 4.2+ is required to be installed on your Linux distros.
  • 35284 Framework » Web Standalone web app startup parameters can now be manipulated in App.Open by changing the values in the args array.
  • 37646 Framework » Windows Reduced size of Windows ICU DLLs by statically linking them in and removing unused features from the library.
  • 36303 IDE » AutoLayout Added restrictions on what constraints you can add if a control can’t be resized in various directions.
  • 38382 IDE » Debugger The modal dialog which asks whether you want to continue waiting for a web app to launch now has a Hide button so the dialog will not continue to interrupt the debugging process.
  • 38519 IDE » Inspector Constant editor inspector pane behaves like the property editor panes and selects the name when you create a new constant.
  • 38602 IDE » Inspector When you add an even definition its name is now selected in the Inspector.
  • 38039 IDE » Library Long descriptions in the library can now be scrolled.
  • 38318 IDE » Miscellaneous New iOS projects have an icon asset and launch image asset instead of the App Icon and Launch Images folders.
  • 38401 IDE » Miscellaneous The template window split is more proportional so it looks nicer.
  • 25359 IDE » Miscellaneous Unknown type errors now display the name of the unknown type.
  • 38495 IDE » Navigator Focus is set on the name property in the Inspector for items that only have a simple set of ID group properties. Basically those that only have a name property like folders and menus.
  • 25640 IDE » Window Editor Can paste methods, consts, enums and structures when they are copied from full text.
  • 38134 Plugin SDK Plugins SDK: Removed the obsolete plugin converter tool.
  • 38132 XojoScript XojoScript: The version of LLVM used by XojoScript has been upgraded to 3.5.1.
  • New Items:
  • 38298 Compiler Compiler: Added an optimization pass for Objective-C method calls that removes excess calls to sel_registerName.
  • 37660 Framework » All On Windows/Linux, external resource items (i.e. Pictures, Sounds, Movies) are no longer compiled into the built executable, they are now copied to a Resources folder next to the built app. The benefit is that the resource is not loaded into memory until accessed, and Pictures are no longer converted into BMPs.
  • 38009 Framework » All Xojo.Data namespace is now available for all targets/platforms.
  • 38341 Framework » iOS Added iOSDataPicker control.
  • 38371 Framework » iOS Added missing Crypto functions for Xojo.Crypto: PBKDF2 BERDecodePrivateKey BERDecodePublicKey DEREncodePrivateKey DEREncodePublicKey Hash
  • 38174 Framework » Web Added ability to set the HttpOnly attribute in the Session.cookie.set method. Removed the sessionid cookie from the javascript framework.
  • 38422 Framework » Web The WebRequest object passed to HandleSpecialURL and HandleURL now has a Secure property which tells you if the request came in over a secure channel.
  • 38188 Framework » Web Web: The SSL Certificate location can now be specified on the command line using --certificate=/full/path/to/file
  • Docs and Examples:
  • 38505 Documentation » Language Reference Changed links to TargetHasGUI to instead link to TargetDesktop. Removed links to TargetCarbon.
  • 38060 Documentation » Language Reference Clarified Notes for Encoding method to make it clear it does not “guess” the encoding of the String and only returns what the encoding has be set as.
  • 38297 Documentation » Language Reference Corrected typo in sample code for Xojo.Core.DictionaryEntry.
  • 38025 Documentation » Language Reference Links to MemberInfo.Parameters now correctly say “Parameters” instead of “GetParameters”.
  • 38046 Documentation » Language Reference Notes for Declare now indicate the Library must be either a String literal or a Constant.
  • 38429 Documentation » Language Reference Redirected Session.UnhandledException to WebSession.UnhandledException.
  • 38496 Documentation » Language Reference ScrollBar.LiveScroll no longer indicates it is read-only.
  • 38182 Documentation » Language Reference ServiceApplication now shows the command to manually start a Windows service.
  • 38428 Documentation » Language Reference SQLiteDatabase now shows that SQLite 3.8.8 is used.
  • 38400 Documentation » Language Reference Updated Graphics description to indicate you can draw to Graphics from a Picture.
  • 38398 Documentation » User's Guide Updated all download links to User Guide to point to the correct version.
  • 38609 Examples iOS UIDatePicker Declare example now correctly gets date selections for 1947 and earlier.
  • 38448 Examples YUI Text Editor example (using WebSDK) now uses HTMLHeader shared method on control rather than App.HTMLHeader to make it easier to re-use the control in other projects.

New in version 2015 Release 1 (February 17th, 2015)

  • HIGHGLIGHTS:
  • A new TargetARM constant for conditional compilation
  • 64-bit iOS Builds:
  • iOS builds are now created as Universal Binaries containing both 32-bit and 64-bit parts as required o meet Apple’s new App Store submission requirements
  • IDE improvements, including:
  • Preference for Searching
  • 1024x1024 icon sizes
  • Better display of debugger values for pictures and arrays
  • Language improvements:
  • Added Parse method to Integer, Double and Single data types
  • SQLite updated to 3.8.8
  • BUG FIXES:
  • 19863 All: Fixed a crash when passing a structure array into SortWith.
  • 37833 All: Fixed a memory leak with Xojo.Core.MemoryBlock.
  • 37835 All: Fixed a regression where assigning empty strings to a MemoryBlock would crash.
  • 37674 All: Fixed Array.IndexOf's handling of Auto arrays.
  • 37664 All: Fixed Array.IndexOf's handling of delegate objects.
  • 37093 All: Fixed RuntimeException's CallStack property having an extra Nil element at the end of the array.
  • 32325 All: Fixed shuffling of structure arrays.
  • 33905 All: Optimized sorting an array that is already mostly sorted.
  • 37363 All: String.ToText no longer raises an exception on Windows/Linux if the string is empty.
  • 37811 All: Text.Split no longer raises an assertion if the Text to split is empty. It now returns an empty Array instead.
  • 17059 All: Using IndexOf on a string array where a string starts with NUL byte now works correctly.
  • 37611 All: Xojo.Core.Timer.CancelCall no longer raises an IteratorException.
  • 37871 Cocoa: Fixed a crash with ComboBox.DeleteAllRows.
  • 37201 Cocoa: The ArrowAllDirections mouse cursor now resembles the old Carbon appearance instead of a simple crosshair.
  • 37351 Compiler: Fixed a bug that made ByRef arguments count for overload resolution, which incorrectly marked function calls as ambiguous.
  • 37629 Compiler: Fixed a bug with incremental compilation that resulted in global functions or variables not being counted as a dependency that should force a recompile if they change.
  • 37981 Compiler: Fixed a bug with unsigned integer comparison on iOS and XojoScript.
  • 37616 Compiler: Fixed a crash when trying to get or set a structure property's value via introspection.
  • 37663 Compiler: Fixed a crash with exception handlers when building for iOS devices.
  • 37508 Compiler: Fixed a failed assertion triggered by calling an invalid function.
  • 37567 Compiler: Fixed a failed assertion when compiling a class that has a property that is a large structure.
  • 37500 Debugger: Date values stored in a Variant now show correctly in the debugger.
  • 34555 IDE: A change to a project item name is validated before the contextual menu is shown to you cannot create a class with no name.
  • 28114 IDE: Added missing Help tags for the file types command bar items.
  • 37576 IDE: Added Variant.TypeText to autocomplete.
  • 37041 IDE: Adding a new sqlite database to a project no longer permits using the name “Database”.
  • 13259 IDE: Alt-Shift-Click inserts the name of the item selected in the navigator to the current insertion point in the active code editor.
  • 37581 IDE: Altered reloading an iOSControl so it reloads all saved properties.
  • 37406 IDE: An event that has been implemented can be removed and re-added to a control.
  • 36823 IDE: Auto-layout baselines guides now result in baseline constraints.
  • 21281 IDE: Changed from using JPEG 2000 to PNG for the elements of the ICNS file so that OS X builds done on Windows and Linux properly create the ICNS file.
  • 37564 IDE: Clicking the help item in the toolbar no longer results in a help window with no toolbar configured.
  • 25894 IDE: Closing the last project window will, if set, close the IDE down or simply leave the tray item (as set in preferences).
  • 37570 IDE: COM help reference entries wont be shown on platforms that don’t support COM controls.
  • 29017 IDE: Commands like Stop Debugging work even when the Debugger is not the current active tab.
  • 17852 IDE: Copy file steps now directly supports the use of partial paths for the copy file steps subdirectory property. Note: Partial paths still behave platform specific in some respects. On OS X if you use the colon (:) it will be treated as a /. On Windows if you use / it will be treated as a \.
  • 31436 IDE: Copy paste and drag drop of methods, constants, etc. into external classes now works properly.
  • 37454 IDE: Copy/copy/paste now work with the IDE Script Editor window.
  • 37601 IDE: Copying a group of lines no longer causes an exception when trying to create the backing image.
  • 29272 IDE: Creating a new control set from a selected group of similar controls now works properly.
  • 37613 IDE: Custom controls names in the Library update when changed.
  • 19639 IDE: Custom supers for reports saved in plain text format are restored properly.
  • 14434 IDE: Desktop containers draw better in the IDE (back color and backdrop) in their editor and in a disabled form on a window layout.
  • 37194 IDE: Don’t raise an NilObjectException if you start a search in the LangRef window before the response has been received from one of the online sites.
  • 37507 IDE: Dropping a method on a class interface behaves like a Copy not a Move.
  • 21258 IDE: Ellipsis to indicate further interaction required have been added to menus.
  • 37188 IDE: Event definition editor pane parses a single entry in the name into component parts as the method editor pane does.
  • 37037 IDE: Event handlers that are added to a control instance but have no code in them are now correctly hooked up so add handler will properly report an error if you try to add a handler to it again.
  • 9808 IDE: External project items no longer show property editors differently than internal project items.
  • 33217 IDE: External script references no longer get lost.
  • 19099 IDE: Extract Interface and Extract Superclass both order their lists alphabetically.
  • 37232 IDE: Fixed a NilObjectException that could occur when trying to add attributes to a NON-UI class in an iOS project.
  • 37684 IDE: Fixed issue where right click would incorrectly position the insertion point in the Code Editor.
  • 37577 IDE: Fixed the displayed type of Variant.TextValue in autocomplete.
  • 32736 IDE: Floating properties palette has the advanced icon and panels.
  • 37687 IDE: Grab handles for lines appear regardless of setting of X1, X2, Y1, and Y2.
  • 23591 IDE: ICNS files are now written out with the Apple recommended set of images as PNG which do NOT include any 48 x 48 images.
  • 38035 IDE: Icon editor no longer beeps when you press the delete key.
  • 36968 IDE: Icon editor no longer behaves likes its compositing icons together. It now replaces the existing icon with a new one when dropped into the editor.
  • 37727 IDE: If a plugin is misconfigured and claims to have properties, events, methods, etc. but really doesn't then the error message in Feedback will identify this better.
  • 37699 IDE: If there is no default value for a constant or property no equal sign is shown in the Navigator.
  • 36800 IDE: In Auto-layout, controls constrained to the baselines of other controls move as expected.
  • 17739 IDE: In the Code Editor, AddHandler and RemoveHandler now display syntax help and are highlighted as keywords.
  • 37072 IDE: In the Code Editor, clicking in the gutter below the last visible line no longer toggles the last line’s break point.
  • 36980 IDE: In the File Type Set Editor, pressing forward delete when a field is being edited simply edits the field. When no field is being edited and a row is selected pressing forward delete removes the row.
  • 15132 IDE: In the Style Editor, typing in a value in the text field for colors now works.
  • 25704 IDE: Inspector Behavior sheet is resizable. Lists resize to fit width and columns are resizable.
  • 21393 IDE: Make it so when a web segment has an icon assigned that it actually draws it whether its been copied and pasted or saved and the project reloaded.
  • 22116 IDE: Menu handlers now get numeric suffixes like enums, properties, etc. do when you duplicate them.
  • 37099 IDE: Method editor now says “Delegate name” instead of “method name” when you edit a delegate.
  • 37403 IDE: No longer causes an exception when using a script command to build a console or web app.
  • 37401 IDE: No longer causes an exception when using a script command to build a console or web app.
  • 19115 IDE: No longer get an error when a toolbar button icon image has the same name as the button.
  • 19340 IDE: No longer repeatedly ask if a person wants to update a projects minimum load version as they alter it and save.
  • 37060 IDE: Opening new tabs uses the current Find panel size (if open).
  • 37700 IDE: Plugin super classes are not shown in the super class browser for iOS projects.
  • 14913 IDE: Pressing the Enter key completes inline editing same as the return key does.
  • 28654 IDE: Project chooser panel no longer gets spurious line artifacts when resizing.
  • 37656 IDE: Removed extra space in build dialog.
  • 25046 IDE: Renaming Report controls in the Inspector also changes the name in the Navigator.
  • 37285 IDE: Resizing a control by the corner drag handles snaps to guides just like dragging any of the side handles does.
  • 17862 IDE: Segmented control with no segments no longer generates an error when you analyze a project.
  • 37381 IDE: The Export dialog when making a folder external has a more sensible caption. Folders properly check all contents recursively for whether they can be exported.
  • 35005 IDE: The Insert menu rebuilds properly depending on what project you have front most.
  • 25580 IDE: The Library no longer appears to be a drop target when you are dragging a control out of the library.
  • 33190 IDE: The ListBox popover editor permits shift tab to go backwards (just as it uses tab to go forwards).
  • 27967 IDE: The small progress wheel control in web projects no longer slowly creeps across the layout as you save and reopen the project.
  • 26354 IDE: The web style border editor can tab from the Size field to the container with the color selector fields.
  • 35367 IDE: The “Define missing method” function now works even when you select a text fragment thats starts with “me.”.
  • 28092 IDE: Using Cut, Copy, Paste, Delete in the Font name combobox in the Inspector doesn’t cause the control to be deleted.
  • 37615 IDE: When a base class name for an iOS custom control changes, any views with instances of that control also get the super updated for those instances.
  • 30622 IDE: When using floating palettes and the last workspace for a project is closed the floating properties palette also clears so that you cannot modify something that no longer exists.
  • 37692 IDE: When you change the default value of a constant or property value they change in the Navigator right away so you no longer need to close then open the group of constants or properties to see the change.
  • 23263 IDE: You can now do a discontiguous select of project items in the Navigator on Windows and Linux (this already worked on OS X).
  • 37326 iOS: An empty iOS project no longer generates an warning about an unused variable.
  • 37008 iOS: Controls that are visually parented in the IDE are now properly parented at run time.
  • 35555 iOS: Dynamic constants are now working.
  • 37919 iOS: Fixed a crash with invalid JSON.
  • 37449 iOS: Fixed a failed assertion triggered by dereferencing a pointer with no offset.
  • 37669 iOS: Removed File Types from the Build Settings.
  • 37071 iOS: The Sign project step name (in Build Settings) is no longer editable.
  • 37678 Linux: IDE no longer crashes at launch on Ubuntu 14.10.
  • 34626 Linux: The IDE no longer crashes in certain instances when clicking on the button to change a class' super.
  • 20370 OS X: Because of a bug in Launch Services names with special characters don’t work for the icon file name. Now always using App.icns as the name.
  • 37777 OS X: Fixed a crash with Xojo.Core.Date when used as a property.
  • 37672 OS X: Fixed Xojo.Math.RandomInt crashing.
  • 15019 Plugins: REALLoadObjectMethod no longer fails with DrawPicture in Console apps.
  • 33896 Remote Debugger: Changing the “launch after receiving” check box no longer takes several seconds for the UI to update.
  • 17882 Serial: Retrieving Bits, Stop, Parity, and Port properties now work properly instead of incorrectly retrieving its high word (i.e upper 16-bits did not contain the correct data). This was seen mainly on Windows.
  • 37123 Web: A WebControlWrapper Style property no longer appears if the developer has indicated that it shouldn't.
  • 37085 Web: Fixed a bug which caused WebLabels to be invisible when included in a dynamically created WebContainer.
  • 37748 Web: Fixed a regression in the WebSDK which caused ControlAvailableInBrowser to return True too early. Increased WebControlWrapper.APIVersion to 5 so the only version that has this issue will be version 4.
  • 37670 Web: Removed unused ChromeFrame code from the framework.
  • 37164 Web: WebCheckboxes again respond to touches when their MouseDown event is implemented.
  • 37435 Web: WebContainer mouse event handlers no longer interfere with scrolling.
  • 37205 Web: WebLabels in a WebContainer in a Control Array draw properly again.
  • 37760 Web: WebListbox no longer offsets the selection if placed inside a WebContainer and accessed from a touch device.
  • 37691 Web: WebMoviePlayer and WebMapViewer no longer incorrectly send Mouse movement events to the server.
  • 17126 Web: WebStyle gradients now render for IE. Note: IE only supports 2 point gradients.
  • 34341 Web: Webstyles with borders no longer cause controls to change size at runtime.
  • 37745 WebSDK: Updated documentation to reflect the APIVersion 4 and 5.
  • 37562 Windows: Deleting a menu in the Menu Editor on Windows no longer causes an exception.
  • 21685 Windows: Graphics.DrawPolygon now draws smoother edges when using GDI+
  • 37413 Windows: Xojo.Core.Date subtraction now works properly.
  • 37390 Windows: Xojo.Core.Timer now works for Desktop apps.
  • 37756 XojoScript: Fixed a bug that prevented CompilerWarning from firing when there were warnings on consecutive lines.
  • 31641 XojoScript: The compiler now gives an error when a script declares its own RuntimeException class.
  • NEW ITEMS:
  • 37510 Compiler: Added a TargetARM constant that is set to true when building for ARM devices.
  • 37930 Compiler: The 'StructureAlignment' attribute on a structure can now be set to 0, which indicates that the compiler should perform natural alignment. Natural alignment ensures that the structure will be laid out correctly for a given platform's ABI rules.
  • 28073 IDE: Added a new preference for controlling whether searches and filtering happen immediately or wait until enter/return are pressed.
  • 21947 IDE: Added support for 1024 x 1024 icon size.
  • CHANGES:
  • 37439 All: Added Parse function to Integer, Double, and Single. This function acts more like Val/CDbl did, in that it's more lenient at parsing and will not raise exceptions.
  • 37757 Compiler: TargetHasGUI, TargetPPC, TargetPowerPC, TargetMacOSClassic, and Target68K have formally be marked as deprecated.
  • 37156 Compiler: The compiler now preserves type information better when dealing with "Integer" and "UInteger". As such, error messages will reflect what the user types instead of "Int32" or "UInt32".
  • 37709 IDE: Added Icons for autocomplete purposes for Auto, Text and Ptr.
  • 35791 IDE: Auto-layout baselines guides now result in baseline constraints.
  • 35950 IDE: Auto-layout baselines guides now result in baseline constraints.
  • 36318 IDE: Certain deprecated items have been removed from file formats and print outs of projects.
  • 36644 IDE: Debugger Viewer now is labelled with “View as “ instead of “view”.
  • 17995 IDE: It is possible to paste multiline text into the constant editor listbox on Windows and Linux (it already worked on OS X).
  • 16569 IDE: Revised project printing to not repeat the note name, group things better and add in delegates and using clauses.
  • 12874 IDE: The Debugger shows headers for 1D arrays as Row and Value. For 2D arrays it shows row, column and value. For a 2D array sorting by rows puts data in Row / Column order.
  • 17234 IDE: The picture in the debugger view now scrolls as you move the mouse wheel.
  • 37614 IDE: There is now a Project Controls section in the Library for iOS projects.
  • 12574 IDE: Trying to place an instance of a Container Control or EmbeddedWindowControl directly on a window is not permitted. You can no longer drag out a control, like a canvas, change its super to Container Control or EmbeddedWindowControl.
  • 37929 IDE: Updated structures to support natural alignment. This means now you can set the StructureAlignment attribute to 0 to use natural alignment.
  • 36648 IDE: Viewing a window in the debugger shows “Controls” instead of “Contents” in the debugger.
  • 8287 IDE: When you use Run Paused, the Resume toolbar item, resume menu item and pause items will be disabled until such time the app to be debugged has been started and communicated with the IDE.
  • 29995 OS X: ICNS files written use up to date internal image formats (PNGs instead of JPEG 2000) and only use currently documented formats.
  • 37329 PluginSDK: Updated Plugins SDK with new function to handle the Text datatype. Please review the Plugins SDK for details.
  • 36218 SQLiteDatabase: Updated to SQLite 3.8.8.
  • 37681 Web: Removed the "Xojo HTTP Server" header from the list of headers returned for a standalone web app.
  • 37741 Web: Updated standalone HTTP response headers to more closely match existing behavior.
  • 26807 Web: Web Apps no longer request that ChromeFrame be activated if it's installed on the user's computer.
  • DOCS AND EXAMPLES:
  • 37947 DocLangRef: Added Crypto and Introspection to list of Themes in Language Reference.
  • 37274 DocLangRef: Added information for WebApplication.Security.
  • 30413 DocLangRef: Added note to array.Sort to indicate how items are sorted.
  • 37374 DocLangRef: Added page for REALbasic module as an alternate way to access some global items.
  • 37813 DocLangRef: Corrected “REALSQLDatabase” to “SQLiteDatabase” in Record Navigation section of RecordSet page.
  • 36666 DocLangRef: Removed System.KeyScript, which is no longer an available method.
  • 36308 DocLangRef: Simplified wording for description of FolderItem.GetSaveInfo.
  • 37517 DocRefGuide: Added exceptions raised by Xojo.IO.SpecialFolder.GetResource.
  • 37738 DocRefGuide: Fixed sample code for iOSImage.FromFile.
  • 37884 DocRefGuide: Removed incorrect information from iOSView.Activate and Deactivate.
  • 37148 DocRefGuide: Removed SelChange from the events for iOSTextField.
  • 37151 DocRefGuide: Removed usage of Math.Pi from sample code.
  • 37779 Examples: Added iOS/Declares/Base64Encoding project.
  • 37780 Examples: Added iOS/Declares/Pasteboard to show how to add text to the pasteboard.
  • 37932 Examples: Added XojoDoodle example for iOS.
  • 37647 Examples: Fixed iOS/Database/SQLiteInMemory example so that it can be properly code-signed when built.
  • 37778 Examples: In iOSAlerts, changed declare lib to /usr/lib/libobjc.dylib so that it builds for device.
  • 37737 Examples: Updated IDECommunicator example to work with current version of Xojo.
  • 37931 Examples: Updated XojoNotes to use SplitView on iPad.
  • 37159 Examples: Updates to error messages for XojoScript example project.

New in version 2014 Release 3.2 (January 15th, 2015)

  • Bug Fixes:
  • 37404 All: Fixed variant to currency conversions when the fractional component had leading zeroes (e.g. 13.05).
  • 33827 IDE: Messages pane shows output as expected.
  • 37436 IDE: Modules that have been exported import again as expected.
  • 37311 IDE: Pasting multiline text no longer hangs the IDE while trying to figure out where to wrap things for display.
  • 37587 IDE: Report designer saves position in an internationally friendly format for all file types.
  • 37589 IDE: Report designer saves position in an internationally friendly format for all file types.
  • 37482 Web: WebListBox no longer offsets the selection by the amount the page is scrolled.
  • Docs and Examples:
  • 37622 DocRefGuide: Corrected code sample for Xojo.Data.GenerateJSON and ParseJSON.
  • 37478 DocRefGuide: Fixed typos in iOSSegmentedControl.Add method sample code.
  • 37556 Examples: Removed auto-layout rule for width=320 so that example works on iPads.
  • 37563 Examples: Updated Office Automation example projects to fix warnings.

New in version 2014 Release 3.1 (December 18th, 2014)

  • Bug Fixes:
  • 37242 Compiler: Fixed a regression where the compiler failed to diagnose aggregate cycles.
  • 37161 IDE: 4 char codes used in Constants (with or without smart quotes) are again properly recognized as numeric types.
  • 37346 IDE: Labels toggle visibility as expected.
  • 37144 IDE: The bottom auto-layout offset is now properly set to 20.
  • 37260 IDE: Trying to open an iOS project one Windows or Linux will give a clearer error message about iOS projects not being supported on those platforms.
  • 37173 iOS: SQLiteDatabase: Additional parameters passed into SQLExecute, or SQLSelect, as a way to perform a prepared statement now works properly instead of randomizing the data (especially true when there was more than one additional parameter passed in).
  • 37207 iOS: Fixed soft declares.
  • 37164 Web: Fixed a regression for WebCheckbox on Touch devices.
  • 35446 Web: WebLabel offsets are calculated correctly again when their initial value is an empty string.
  • 37134 Web: WebLabels appear properly again when the containing view was set to not visible in the IDE and set to Visible in code.
  • 37224 Windows: Text to String conversion now converts the string to UTF8 instead of UTF16. This matches the other platforms, and fixes issues involving APIs that don't modify the encoding, like calling SQLExecute.

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.

New in version 2013 Release 3.1 (October 9th, 2013)

  • FIX 29618 IDE: Fixed a Real Studio reference in the check for update text.
  • FIX 29577 IDE: German and Chinese IDEs can save in Text Project Format again.
  • FIX 29410 IDE: The local Language Reference on Windows now follows "Next 200" and "Previous 200" links.

New in version 2013 Release 3 (September 18th, 2013)

  • Bug Fixes:
  • Database:
  • FIX 25015 Database: MySQL/Oracle plugin: Binding a type without an associated value no longer crashes.
  • FIX 28071 Database: MySQLCommunityServer Plugin: No longer treating all TINYINT(X) columns as a boolean field, only when X = 1; i.e. TINYINT(1) is treated as a boolean field when the user does a RecordSet.Update, but not if the field was created as TINYINT(2) for example.
  • FIX 28069 Database: MySQLCommunityServer: Assigning a DatabaseField.Value to Nil now properly sets the field to NULL instead of an empty string for VarChar fields.
  • FIX 20064 Database: PostgreSQL Plugin: Updating or deleting a record in a RecordSet (besides the first record) using Edit and Update or DeleteRecord now works.
  • FIX 28066 Database: PreparedSQLStatement.Bind(values() As Variant) function no longer ignores the last array element. This affected every database plug-in except ODBC (which got it right).
  • Debugger:
  • FIX 24548 Debugger display uses the same editor as the code editor so the break point hit spot is the same size
  • FIX 28896 Debugger: No longer shows partially mangled names in the stack viewer. This was most notable with shared methods.
  • Desktop:
  • FIX 26390 Desktop: ContainerControl: Removed Maximize, Minimize, and Restore events since they were never triggered anyway.
  • FIX 22697 Desktop: IPCSockets with long paths (over 103 bytes on OS X) no longer causes crashes when connecting or listening.
  • FIX 19296 Desktop: SegmentedControl HelpTags are now displayed on Windows and Linux.
  • FIX 25112 Desktop: TextField/TextArea Mask no longer prevents the same character from being inserted, and invalid input no longer changes the text.
  • FIX 27655 Desktop: The framework no longer allows you to create instances of FolderItemDialog directly. One of its subclasses must be used instead.
  • FIX 23354 Desktop: The long obsoleted Window.CloseBox, GrowIcon, and ZoomIcon properties have been removed.
  • Framework:
  • FIX 23265 Framework: Instr now returns the correct result when dealing with base and search strings of different encoding.
  • FIX 26721 Framework: JSONItem now supports values of type Single.
  • IDE:
  • FIX 28809 Home & End keys work again on OS X
  • FIX 26201 IDE: After duplicating an item, the duplicate is selected.
  • FIX 24740 IDE: All the bottom pane titles are localized.
  • FIX 29011 IDE: Build Automation items change their names when you update them in the Inspector.
  • FIX 26525 IDE: Build Automation: Fixed a NilObjectException in the Copy File Step Editor when you try to remove a missing file.
  • FIX 27461 IDE: Build errors list clears before next build.
  • FIX 27451 IDE: Canceling the export of localized values no longer causes an exception.
  • FIX 28167 IDE: Changing a controls super class on a web page works again.
  • FIX 28788 IDE: Closing the parent item no longer changes the selection to be multiple selection.
  • FIX 27333 IDE: Constants inside modules inside modules no longer refuse to allow you to change them.
  • FIX 12038 IDE: ContainerControls AcceptTabs property shows correctly in the Inspector.
  • FIX 23492 IDE: Controls being dragged now appear on top of all other controls during the drag.
  • FIX 27994 IDE: Converting methods and properties to / from shared updates the Navigator properly.
  • FIX 23518 IDE: Copying and pasting items into a folder no longer results in multiple items with the same name.
  • FIX 28717 IDE: Custom project controls disappear from the Library when they are removed from the project.
  • FIX 26984 IDE: Debugger: Clicking edit takes you to the right method.
  • FIX 20640 IDE: Debugger: Fixed being unable to step into namespaced classes that have the same name as framework classes.
  • FIX 26375 IDE: Debugger: The debugger always opens in its own tab
  • FIX 28145 IDE: Debugger: The filter field does nothing on the tab that holds the debugger so you cannot use it to accidentally move focus to something else.
  • FIX 28055 IDE: Debugger: When we stop on a break point in the debugger and hit "Edit" we actually go to the editor (but maybe in a different tab so we don't navigate away from the debugger in the tab it's running in).
  • FIX 28139 IDE: Deleting menu items from a menu bar no longer causes an assertion.
  • FIX 28217 IDE: Duplicating a Web page with controls properly retains all the UI components as well.
  • FIX 27038 IDE: Editing a container control as a project item and setting the tab stop property no longer causes an assertion.
  • FIX 28179 IDE: External WebDialogs in projects no longer cause compilation errors.
  • FIX 29227 IDE: File metadata, like Finder comments, are now preserved when saving projects.
  • FIX 28874 IDE: Find field no longer gets focus simply deactivating and activating the IDE.
  • FIX 28212 IDE: Fixed a bug in the interface editor which caused an IDE assertion if one or more interfaces were implemented by the current item but no longer existed in the project.
  • FIX 28023 IDE: History navigation in the local Language Reference should be more reliable.
  • FIX 27733 IDE: IDE Scripting IPCSocket is now named XojoIDE (instead of REALStudioIDE).
  • FIX 24561 IDE: Illegal cast exception of Int32's when reading preferences no longer occurs.
  • FIX 28300 IDE: Images on redirect pages in the offline Language Reference window should render properly.
  • FIX 28800 IDE: Initial values show properly in the PopupMenu inline editor again.
  • FIX 29044 IDE: Making controls member of control sets no longer switches the selection.
  • FIX 27159 IDE: Messages sent to the messages pane via System.DebugLog no longer eat backslashes.
  • FIX 22263 IDE: Methods with non-ASCII characters are now displayed correctly in the stack frame list.
  • FIX 28695 IDE: Minor updates to build settings.
  • FIX 26199 IDE: Navigator now remembers its place after a Debug run.
  • FIX 27426 IDE: Navigator: Collapsing the group row when an item in the group is selected longer shifts the navigator to the "top" or overall view but to the enclosing row
  • FIX 25503 IDE: Navigator: Deleting an event, constant, method etc no longer shifts the navigator to the "top" or overall view but to the enclosing row
  • FIX 24052 IDE: Navigator: Deleting the selected item no longer resets the list to the top of the project.
  • FIX 26962 IDE: Navigator: Double clicking when you have a filtered list or the unfiltered navigator list obeys the double click open new tab preference as expected
  • FIX 28098 IDE: Navigator: Make it so removing an implemented event actually doesn't write it to the project so it doesn't magically reappear after removing it
  • FIX 24385 IDE: Navigator: Selection now redraws properly when several items are deleted.
  • FIX 27565 IDE: No longer asserts when reading old plist data but does NOT load it.
  • FIX 28974 IDE: No longer crashes if a WebSDK control has an empty NavigatorIcon constant.
  • FIX 24410 IDE: No longer raises NilObjectException when a file path cannot be located.
  • FIX 28696 IDE: No longer read and write the Class View Property Inherited From as we actually recalculate it anyways.
  • FIX 28532 IDE: No longer shows internal interfaces twice.
  • FIX 28910 IDE: Now longer allow delegates, properties, events, methods, etc. to be added to web styles.
  • FIX 22336 IDE: Old projects that saved colors would sometimes NOT read the value back correctly in Xojo resulting in the color appearing to be truncated.
  • FIX 28629 IDE: On Mavericks, file tags are now preserved when saving projects.
  • FIX 29098 IDE: On OS X, the parameters field no longer changes apparent font size when you put focus back into it.
  • FIX 28417 IDE: On Windows and Linux the popup menu for setting the group no longer contains a separator as it is/was selectable and this is just wrong there.
  • FIX 28530 IDE: On Windows, Local Language Reference should now work with User accounts on drives other than C:.
  • FIX 28025 IDE: Profile Code is no longer treated like a project property and is moved to the "Project" menu much like Break On Exceptions.
  • FIX 20031 IDE: Rapidly removing rows in the web style editor no longer causes stack overflows.
  • FIX 28021 IDE: Removing ContainerControls from windows now longer can cause crashes.
  • FIX 28726 IDE: Report Editor no longer randomly switches to another tab.
  • FIX 27324 IDE: Scope on methods inside modules inside modules acts as expected (this is closely related to 27333).
  • FIX 28599 IDE: Search pane sets itself up properly when you alter the location in the Navigator.
  • FIX 27932 IDE: Search results for web projects properly include the control name so when you click the result row it can go to the right spot.
  • FIX 23961 IDE: Select super no longer shows interfaces.
  • FIX 27059 IDE: Selecting a BUILDS folder for a project no longer raises an exception.
  • FIX 28056 IDE: Selecting text in the Code Editor and contextual clicking and selecting "Find" does the find and populates the search pane and its field showing what was searched for.
  • FIX 27157 IDE: Selecting to add a new external script or modifying the properties of an existing one allows you to pick either an RBS or Xojo Script.
  • FIX 26624 IDE: Setting the row and/or column count of a WebRadioGroup to a large value when the group is set to be quite small no longer asserts.
  • FIX 27822 IDE: Show all breakpoints works again.
  • FIX 28190 IDE: Spotlight query dropped on a window no longer gets a complaint about not having a default constructor.
  • FIX 3352 IDE: Stepping quickly in the debugger no longer can cause the debugged application to resume.
  • FIX 26849 IDE: Syntax help messages in the lower pane should no longer show odd captions.
  • FIX 27114 IDE: Tabs should no longer get out of sync when reordering.
  • FIX 20327 IDE: Templates folder can now contain sub folders again.
  • FIX 199 IDE: The application being debugged no longer 'randomly' crashes. This occurred most often when stepping quickly in the debugger or stepping out of methods.
  • FIX 22587 IDE: The code assistant for creating new method from selected text no longer chokes on methods called like: Self.MethodName( parameters )
  • FIX 16827 IDE: The issue that caused projects to warn that data would be lost on save has been fixed. Some data is supposed to be skipped, as it is no longer required but is created by older IDEs.
  • FIX 22092 IDE: The load of the project Navigator now examines this timestamp to know if it should in fact reload, which should reduce the number of times it is reloaded.
  • FIX 12355 IDE: The local Lang Reference now support searching for #pragma etc and also works if you select #pragma in the code editor.
  • FIX 20528 IDE: The main toolbar can now be hidden and shown.
  • FIX 27928 IDE: The report layout editor no longer accepts non-report controls.
  • FIX 28715 IDE: Typing speed should be greatly improved.
  • FIX 28198 IDE: Updater no longer refers to the IDE as Real Studio.
  • FIX 28614 IDE: View behaviors are honored properly and do not reset themselves when you place the first instance on the page. And they are retained when you save and reopen projects.
  • FIX 20953 IDE: When adding a method and editing the name pressing tab moves you to the next logical part of the method definition (parameters then return type and then scope).
  • FIX 23813 IDE: When building with languages that may turn the word "Untitled" into a multi-word phrase "Ohne Titel" it was possible that we would craft an invalid project item name with a space in it, which could cause compilation errors.
  • FIX 28693 IDE: When saving a version control project, spaces are no longer added around the CompatibilityFlags section of a ComputedProperty declaration.
  • FIX 29057 IDE: When you change the name of a method (in a group of overloaded ones or on an individual one) you DON'T get an extraneous new row in the Navigator .
  • FIX 27848 IDE: When you delete a code item (method , event, menu handler etc) the editor is also closed so the code is no longer present.
  • FIX 28559 IDE: XML projects are now saved in a way the OLD UI can open them without visual anomalies. NOTE : XML projects will NOT open their saved state the first time you open them. Once saved again they will.
  • FIX 25504 IDE: You can always insert a project item when the project is open regardless of whats selected (or not).
  • FIX 27270 IDE: You can copy & paste controls on a report. The library also switches to showing report controls when you edit a report.
  • Lingua:
  • FIX 27185 Lingua: "Export -> To Application" now copies over framework strings when running on OS X. This makes it more accurately match the applications that the IDE builds.
  • FIX 28819 Lingua: Fix for "black" text backgrounds.
  • Cocoa:
  • FIX 28277 MacCocoa: EndOfLine's comparison operator works correctly.
  • FIX 18455 MacCocoa: Fix rotated PixMapShapes drawing a white background.
  • FIX 27922 MacCocoa: Fixed a crash that occurred when HTMLViewer.UserAgent was read without previously assigning to it.
  • FIX 26878 MacCocoa: Fixed a crash that would occur when trying to iterate over an alias that didn't resolve.
  • FIX 28166 MacCocoa: If a MenuItem that has a descendent that isa ApplicationMenuItem is added to the menubar, the menubar now notices and places the ApplicationMenuItem in the correct place.
  • FIX 23015 MacCocoa: Mouse move events now work correctly after transitioning to full-screen mode
  • FIX 27836 MacCocoa: Non-textual strings (buckets of bytes) in AppleEvents are now sent as typeData instead of being sent as typeUnicodeText.
  • FIX 28134 MacCocoa: ServerSockets now are now polled regularly instead of relying on user events.
  • FIX 27595 MacCocoa: StyledText.Font and TextArea.SelTextFont now return font family names instead of Postscript names. Note that this still may not be the exact name that you assigned to the property due to things like font fallbacks.
  • FIX 28230 MacCocoa: The maximum number of visible rows in a ComboBox has been increased to 15 from 5. If you wish to adjust the number, the following declare can be used (passing in the ComboBox's handle for 'controlHandle'): Declare Sub setNumberOfVisibleItems Lib "AppKit" selector "setNumberOfVisibleItems:" ( controlHandle As Integer, count As Integer )
  • FIX 28228 MacCocoa: Threads now yield reliably when there are no timers, user input events, or sockets.
  • FIX 28333 MacCocoa: Threads now yield reliably when there are no timers, user input events, or sockets.
  • FIX 6145 MacCocoa: Toolbars appear properly on full screen windows.
  • FIX 28196 MacCocoa: Trailing separators are now stripped from menus after calling EnableMenuItems instead of before.
  • Misc:
  • FIX 21265 Navigator: Styles can no longer be placed within modules
  • FIX 24576 Navigator: When you delete a group row (methods, constants, etc) it will now delete all the contained items NOT the parent item.
  • FIX 27531 Plugin SDK: Calling REALUnlockPictureDescription no longer crashes for Console pictures.
  • FIX 8715 PluginSDK: Updated readme.txt.
  • FIX 27560 Replace/ReplaceB: now returns the source string unchanged when the search string is an empty string
  • FIX 28551 Search pane no longer steals focus
  • FIX 26942 Templates: Updated CGI, Service and Console templates for Xojo.
  • Web:
  • FIX 28838 Web: Added user-agent support for Internet Explorer 11.
  • FIX 27718 Web: Duplicating a web view (web page, web container, web dialog) properly duplicates all the controls on that container.Not duplicating the contained controls was particularly noticeable if you clicked on the item in the navigator & selected duplicate. The resulting copy would not have the controls on it.
  • FIX 26488 Web: Fixed a bug in WebSegmentedControl where ListIndex couldn't be set to -1.
  • FIX 28028 Web: Fixed the expiration date for cookies.
  • FIX 28316 Web: Hide the IE10+ clear button on WebTextField.
  • FIX 27841 Web: The WebSessionContext constructor now requires the WebSession parameter.
  • FIX 28888 Web: WebContainer scrollbar visibility can now be set at runtime.
  • FIX 21278 Web: WebControls now consistently change appearance when enabled/disabled.
  • FIX 15800 Web: WebDialog now obeys WebStyles that are applied to it.
  • FIX 27929 Web: WebImageView PictureChanged event is no longer sent to the server if the PictureChanged event is not implemented.
  • FIX 28103 Web: WebSession LanguageCode now uses the first preferred language when a browser supplies more than one.
  • FIX 24611 When you delete a code item (event, method , etc) the editor gets closed as well so it doesn't leave a phantom item behind
  • New Items:
  • NEW 28714 Desktop: Added MenuItem.Handle, which provides access to the appropriate underlying platform menu implementation. If the requested handle type doesn't make sense for the platform the application is running on, a PlatformNotSupportedException is raised.
  • CocoaNSMenuItem - Returns the underlying NSMenuItem. If there is a submenu, the NSMenu can be got through NSMenuItem's submenu method.
  • WindowsParentHMENU - Returns the HMENU of the MenuItem if it is a submenu, otherwise it returns the parent's HMENU
  • WindowsCommandID - Returns the unique menu item identifier for the MenuItem, used by various Win32 APIs such as GetMenuItemInfo
  • Note: If you modify the contents or structure of the menu in any way (i.e. using declares with these values) the behavior is undefined
  • NEW 27520 Desktop: Window/ContainerControl: Added Invalidate method.
  • NEW 27908 IDE: Building a web or console project no longer says "Carbon" as the framework since that makes no sense .
  • NEW 28099 IDE: Buy now button exists and has an icon now.
  • NEW 28755 IDE: Default is to show Library instead of Inspector when starting a new project and selecting the initial layout.
  • NEW 28223 IDE: Disabling animations for now as there are a handful of crashes that relate back to them being enabled. Will reappear when we can do them in a way they don't cause problems.
  • NEW 21957 IDE: Encoding marker for XML project files added.
  • NEW 28264 IDE: Items in Tab Order Editor with a text property (Labels, TextFields and TextAreas) will be listed with the contents of that field following the name.
  • NEW 27943 IDE: Library: Filter field is now at the top. User custom subclasses of controls have a section. Made it possible to shrink the library further than you can now. Filter respects the popup and acts as a search in selected group. Popup switches to show "report controls" when you switch to a report layout. Subclasses of web control now show in the project controls. Web SDK controls now show in the project controls. Web dialogs (but not web pages) show in the project controls.
  • NEW 26262 IDE: Library: The library filter is now at the top.
  • NEW 24694 IDE: Navigator: Contextual clicks on any single item will have an additional contextual menu item that will "Find" use of the items name in the project. This works for project items & code items (constants, properties, events, event definitions, etc)
  • NEW 27097 IDE: Now supports full screen mode on OS X Lion or newer.
  • NEW 27334 IDE: Right clicking on an item in the Navigator again includes "Find" as an option.
  • NEW 26260 IDE: The Library automatically switches to show report controls when viewing a report.
  • NEW 27986 IDE: The main window, the IDE script editor, and the Language Reference windows can now be made full-screen on OS X Lion and above.
  • NEW 24491 IDE: You can make the library a lot smaller now (half its current minimum width).
  • NEW 21308 IDE: You can make the navigator a LOT narrower (still not down to 0 width though).
  • NEW 27193 Lingua: Lingua is now a Cocoa application.
  • NEW 27901 MacCocoa: A new property, FullScreenButton, has been added to the Window class. This specifies whether or not the Lion-style fullscreen button will be present in the window's titlebar at runtime.
  • For a window which has the FullScreenButton property set, the window's FullScreen property will reflect the state of the window. It can also be used to adjust the full screen state.
  • On Snow Leopard, the FullScreenButton does nothing and the FullScreen property continues to behave as it did before.
  • NEW 26003 Run in tab is implemented
  • NEW 28528 Web: Added a File property to WebRequest for spooling a file directly from disk.
  • NEW 19124 Web: Files uploaded through WebFileUploader are now spooled to disk when the request is over 256K if the web app has the ability to write to the temporary folder.
  • Changes:
  • CHANGE 28366 Database: MySQLCommunityServer, ODBCDatabase, and MSSQLServer: removed the Multithreaded property. A SQLSelect or SQLExecute statement is now implicitly executed pre-emptively dependent on whether or not it was called from a Xojo thread.
  • CHANGE 22801 IDE: Added basic Marketing messages for unlicensed users.
  • CHANGE 29262 IDE: Local Language Reference updated as of Sep 1, 2013.
  • CHANGE 28564 IDE: Local Language Reference updated for 2013r3 (as of July 30 , 2013).
  • CHANGE 28577 IDE: More localization updates.
  • CHANGE 29029 IDE: New local Language Reference updated as of Aug 23th.
  • CHANGE 28835 IDE: Updated LR for as of Aug 14, 2013.
  • CHANGE 28083 Lingua: Updated to new Xojo icons.
  • CHANGE 28403 Profiler results show in a Profiles section instead of the Run section since the debugger now runs in a tab of its own
  • CHANGE 28513 removed implementations of maximize, minimize & restore from action cancel buttons
  • CHANGE 29143 Web: Overloaded the WebSDK LoadLibraries method to take a String Array so library lists can be built incrementally.
  • CHANGE 28286 Web: WebFiles can now point directly at a Folderitem and the framework will send data to the socket incrementally in 64K chunks, so we don't have to load the whole thing into RAM first.
  • WebFile.Open now takes a second parameter InMemory as Boolean (defaults to True) which allows you to determine whether you want the data to be loaded into memory or not. Please note that if you decide to point to a folderitem, the Data property becomes Read Only.
  • CHANGE 29096 Windows/Linux: Accessing the UI from a non-main thread now raises a ThreadAccessingUIException.
  • CHANGE 27699 Windows: No longer triggering an immediate refresh after a single control has moved/resized. We now wait until all controls have repositioned before refreshing.
  • Documentation and Examples:
  • FIX 28628 DocLangRef: Clarified how XMLDocument.PreserveWhiteSpace works.
  • FIX 19944 DocLangRef: Clarified that the IDE Script PropertyValue command only allows you to get or set predefined property values (stuff in the Inspector) for framework project items.
  • FIX 29122 DocLangRef: Clarified UI access from threads in Thread and ThreadAccessingUIException.
  • FIX 28941 DocLangRef: Fixed error in example for TextOutputStream.
  • FIX 28641 DocLangRef: Fixed RegEx table entry so that it is not messed up by wiki parser for "|" character.
  • FIX 29248 DocLangRef: Fixed typo in example for Application.NonReleasedVersion.
  • FIX 29080 DocLangRef: Fixed typo in example for GameInputManager.WaitForElement.
  • FIX 28105 DocLangRef: Fixed typo in example for SQLiteDatabase.
  • FIX 28813 DocLangRef: Fixed typo in wiki for XojoScriptAlreadyRunningException.
  • FIX 28598 DocLangRef: FolderItemDialog.CancelButtonCaption cannot be changed on OS X or Linux.
  • FIX 28155 DocLangRef: For Each…Next page updated with additional information.
  • FIX 29076 DocLangRef: Indicate that HTMLViewer.Print does not work with OS X Carbon apps.
  • FIX 29089 DocLangRef: Methods on WebPage topic had incorrect super class causing some problems with the links.
  • FIX 28152 DocLangRef: Moved Office class names out of Reserved Words page and to Office Automation page.
  • FIX 28291 DocLangRef: Noted that ToolStyleSeparator is not supported on OS X 10.7 and later.
  • FIX 28992 DocLangRef: On page for Optional, clarified use of multiple optional parameters.
  • FIX 27947 DocLangRef: Removed "Real Studio" reference from example in EncodeHex topic.
  • FIX 28377 DocLangRef: Removed lingering references to RBScript and Realbasic.
  • FIX 23924 DocLangRef: Updated IDE Scripting to show currently available build values for CurrentBuildTarget.
  • FIX 10388 DocLangRef: Updated ListBox.ColumnType and CellType to include TypeEditableTextField and TypeEditableTextArea.
  • FIX 24240 DocLangRef: Updated Semaphore example.
  • FIX 28799 DocLangRef: Updated Thread.Run notes and example.
  • FIX 29054 DocLangRef: WebAnimator.Play is used to start the animation, not "Run".
  • FIX 26868 DocUserGuide: Added additional information about Console Remote Debugger.
  • FIX 28252 DocUserGuide: Fixed typo in MonthPopup example in Example Subclasses section of User Guide Book 1: Fundamentals, Chapter 6: Classes.
  • FIX 28892 DocUserGuide: Updated Development book to correctly indicate Command+Option on OS X is used to drag external items into projects.
  • FIX 20131 Examples: Added a simple example for Build Automation that uses a script to save the project before building or running.
  • FIX 10067 Examples: Added examples for extension methods, method assignment, ByVal and Parameter Arrays.
  • FIX 28101 Examples: AddressBook: Removed old Fax number from sample AddressBook record.
  • FIX 28464 Examples: Changed user from "realsoftwarevideo" to "goxojo" for YouTube example.
  • FIX 28345 Examples: Cleaned up license and project settings in SynchronousTCPSocketClass.
  • FIX 28465 Examples: Fixed a crash in Line State Change Tester that occurred when a serial port was not selected before clicking the watch button.
  • FIX 29111 Examples: Fixed issue with 8Queens example not always allowing its thread to quit.
  • FIX 28490 Examples: Fixed RadioButton width for OS X and Linux in GroupBox example.
  • FIX 28441 Examples: Removed YahooYQL example as the service is relied on is no longer available.
  • FIX 28340 Examples: ServerSocketClientTest, ServerSocketServerTest: Changed port to 11234 to reduce potential usage; prevent client from requesting new sockets when none are available.
  • FIX 28346 Examples: TwilioAnswerCall example can now be run from IDE in debug mode.
  • FIX 28371 Examples: WebServer example now creates ServerRoot folder on desktop if it is not available.
  • NEW 22600 DocLangRef: Added example for ActionNotificationReceiver.
  • NEW 28691 DocLangRef: New ContainerControl examples have been added.
  • NEW 29291 DocLangRef: Updated Structure page to refer to User Guide Book 3: Framework, Chapter 10: Advanced Features, Section 5: Structures for more information.
  • NEW 28343 Examples: SOAPConversionRate: Added default currency codes and included link to currency codes.

New in version 2013 Release 2 (July 17th, 2013)

  • Bug Fixes:
  • FIX 27506 Database: MySQLCommunityServer Plugin no longer crashes or gives incorrect values when querying DECIMAL fields on a RecordSet returned by a Prepared Statement.
  • FIX 27522 Database: With SQLiteDatabase, the RecordSet is now editable if the rowid is includes in the SELECT when there is no other primary key.
  • FIX 27012 Debugger Stub Desktop: Fixed a text error on the Download Directory Not Found dialog.
  • FIX 24676 Desktop: CancelClose is now triggered for each window before any window closes.
  • FIX 23638 Desktop: Control.DrawInto no longer throws an exception if the control's width or height are 0 (or less).
  • FIX 27485 Desktop: Setting the ListBox.HeaderType to NotSortable now works properly.
  • FIX 27045 Doc: Added example code to Debugger section of Upgrade Guide.
  • FIX 27875 Doc: Added NativePath to FolderItem section.
  • FIX 26889 Doc: Removed iBooks Author plugin doc.
  • FIX 27290 Doc: Updated examples in SQLite section to ensure they all use SQLiteDatabase.
  • FIX 27505 Doc: Updated User Guide to indicate the Notes for CGIApplication are in the template itself, not the Lang Ref.
  • FIX 27044 Doc: Upgrade Guide updates.
  • FIX 26825 Doc: Uploaded latest version of "Introduction to Programming with Xojo" for wiki/web site.
  • FIX 23376 DocLangRef (local): Encodings section now displays the Encoding Names table.
  • FIX 27048 DocLangRef: Added &b, &h, &o, * and \ to Math category.
  • FIX 15114 DocLangRef: Added missing BinaryStream.ReadByte method.
  • FIX 21994 DocLangRef: Clarified framework method display in RuntimeException.Stack.
  • FIX 27351 DocLangRef: Clarified use of Exit to exit a function or sub.
  • FIX 15960 DocLangRef: Corrected Word example in OLEObject.
  • FIX 27417 DocLangRef: Fixed operator links on Operator Compare page.
  • FIX 27435 DocLangRef: Fixed typo in examples for Database.Error and Database.ErrorCode.
  • FIX 26623 DocLangRef: Fixed typo on AddHandler page.
  • FIX 15868 DocLangRef: Removed duplicate methods on TextField.
  • FIX 15115 DocLangRef: Removed EOF from BinaryStream properties as it already appeared as method because it is part of the Readable interface.
  • FIX 12381 DocLangRef: Removed MySQLEnterpriseServer.
  • FIX 27835 DocLangRef: TextOutputStream.Delimiter now indicates it uses platform default for EndOfLine.
  • FIX 9584 DocLangRef: Updated FolderItem.Child to specify when Nil is returned.
  • FIX 26264 DocLangRef: Updated FolderItem.NativePath to indicate a trailing slash is not included for folders on OS X.
  • FIX 27512 DocLangRef: Updated IPCSocket topics to use FolderItem.NativePath.
  • FIX 21995 DocLangRef: Updated to RuntimeException.Stack to indicate the current method name is displayed.
  • FIX 26901 DocLR: Added topics for ListSelectionNotificationReceiver and ListSelectionNotifier.
  • FIX 25824 Examples: Fixed SlidersWeb control order problem.
  • FIX 26869 Examples: Updated the paths to the graphics used by XojoUnitDesktop.
  • FIX 26795 Framework: Application super classes now fire any no param constructors they may have had.
  • FIX 27359 Framework: Certain kinds of arrays stored in variants no longer cause crashes when later using methods in the Runtime module.
  • FIX 27431 Framework: The 'Format' function no longer leaks memory with certain patterns.
  • FIX 27357 Framework: The framework now disallows creating StyledTextPrinter objects via "New". This never has been useful and could cause crashes. You must get them from TextArea.StyledTextPrinter.
  • FIX 25707 IDE: About window now closes when you press the appropriate platform "close window" key combination.
  • FIX 14684 IDE: Altering the tab order in a web project dirties the project as expected.
  • FIX 27905 IDE: An issue in the code that could lead to an infinite loop, when using one of the Asian languages like Japanese, has been fixed.
  • FIX 24953 IDE: Can no longer add modules to Windows or Web Pages.
  • FIX 27470 IDE: Changed how constants for web projects are resolved to prevent a NilObjectException.
  • FIX 26780 IDE: Control indexes should not be incremented by 2 each time you duplicate an existing one.
  • FIX 23492 IDE: Controls being dragged now appear on top of all other controls during the drag.
  • FIX 14137 IDE: Copy and duplicate for databases are disabled as they really can't be duplicated
  • FIX 26525 IDE: Copy files steps will properly copy from one project to another. Note that this will mean that copy backwards to 2012r2.1 and earlier still wont work (can't fix old versions) unless the project is saved first and copied from 2012r2.1 and earlier. Copying from 2012r2.1 and earlier to 2013r1 should not cause exceptions BUT since those older version don't put much information on the clipboard the file list may not be copied.
  • FIX 13154 IDE: Copy/pasting Control Sets no longer skips index 0.
  • FIX 26932 IDE: Debugger is not inadvertently closed when using the history (back/forward) navigation buttons in some cases.
  • FIX 26659 IDE: Debugger is not inadvertently closed when using the history (back/forward) navigation buttons in some cases.
  • FIX 27705 IDE: Delete and Cut in the menu no longer kill the running app if you have it selected and try to use those short cuts or menu items.
  • FIX 26651 IDE: Duplicating a report control now properly selects the newly added one. Selecting controls on the layout properly highlights the rows in the navigator and vice versa.
  • FIX 24406 IDE: Editing several report controls at the same time work again.
  • FIX 26801 IDE: Editing subrows that are a menu item array no longer causes an exception.
  • FIX 27010 IDE: Empty copy files steps now load properly.
  • FIX 26939 IDE: Entering the name field and pressing enter without changing anything no longer marks the project dirty.
  • FIX 26121 IDE: Exteral items now properly display event handlers that have no code after reloading the project.
  • FIX 26949 IDE: Fixed an error in international input where selecting from the suggestion drop down that shows up in languages like Japanese could replace the wrong incomplete text.
  • FIX 25718 IDE: Fixed an issue where if you had one item in a control array it would allow you to add another control of a differing type to the array just by renaming it OR if you selected two different types of controls you could make a control array out of them.
  • FIX 27519 IDE: Fixed one more straggler in the Xojo name switch.
  • FIX 27152 IDE: Help->Tutorials no longer shows a "Page Deleted" webpage.
  • FIX 26095 IDE: Importing items no longer lists the items twice. The hierarchy is maintained upon import and the Navigator is updated properly.
  • FIX 27080 IDE: Inspector no longer tries to open with width or height = 0 in certain situations.
  • FIX 26674 IDE: Jump bar shows Xojo document icon.
  • FIX 14605 IDE: LangRef no longer crashes when displaying some pages.
  • FIX 27428 IDE: Length fields of columns in the database editor can now be changed.
  • FIX 24486 IDE: Loading projects no longer drops parenting.
  • FIX 23623 IDE: Login confirmation dialog no longer shows the current document name.
  • FIX 26642 IDE: Modified file indicator is now properly cleared after saving.
  • FIX 27385 IDE: New smaller switch is no longer pixelated on Windows/Linux
  • FIX 26750 IDE: No longer crashes if an ExternalScriptStep can't open the script.
  • FIX 27291 IDE: Real ID is no longer present on the sign in window.
  • FIX 26936 IDE: Relocating files updates the manifest with the selected files path.
  • FIX 15258 IDE: Removing a tab no longer removes controls from tab or page panels that may be enclosed that are on the same page or tab # as the one being removed.
  • FIX 26585 IDE: Removing items from a control array no longer results in the Navigator being out of sync.
  • FIX 15085 IDE: Resolving a deprecated super class also updates inherited view behaviors. We had been just updating the class' stated super.
  • FIX 19347 IDE: Right clicking on a database and then NOT selecting an item in the contextual menu no longer raises an exception.
  • FIX 27759 IDE: Save As functions as expected again.
  • FIX 27932 IDE: Search results for web projects properly include the control name so when you click the result row it can go to the right spot.
  • FIX 6889 IDE: Search should be reporting results for every possible item type - both in the name and the value.
  • FIX 27502 IDE: Selecting the running application in the Navigator and pressing delete is not longer allowed.
  • FIX 27795 IDE: Spotlight query has been removed from search results.
  • FIX 25947 IDE: Text in the Navigator no longer has a chiseled look to it.
  • FIX 26967 IDE: The Back and Forward buttons should work better when you are moving about within a layout, its controls and the events on those controls.
  • FIX 25479 IDE: The check item for errors on the code editor toolbar now works.
  • FIX 26910 IDE: The index.php file in www.xojo.com/doc was pointing to the wrong site.
  • FIX 27602 IDE: The message displayed when the debugged application cannot connect to the IDE no longer mentions the 'REALbasic IDE'.
  • FIX 26998 IDE: The online reference no longer causes an exception if you closed it while it was waiting to load (due to slow or offline Internet or web site).
  • FIX 23951 IDE: The Scope and Interfaces items should NOT show for menu items.
  • FIX 9874 IDE: Undoing the change of a super no longer changes the name of the item.
  • FIX 27123 IDE: Various editors no longer cause NilObjectExceptions when used in a floating palette.
  • FIX 26838 IDE: Web projects with a toolbar no longer get marked dirty when compiling.
  • FIX 27178 IDE: Web Viewer has been renamed back to HTML Viewer for web projects.
  • FIX 26244 IDE: When expanding rows in the Profiler, the parent row now only shows the amount of time that was actually spent in that method, not including the methods it has called. When it is collapsed, it shows a summary again.
  • FIX 24350 IDE: When resolving missing images, resolving one image now attempts to resolve all others in the same location.
  • FIX 24781 IDE: When you delete a project item the selection is set to something reasonable. In the specific case mentioned the app class is selected since the real item to select would be the "Contents" row which is not selectable. In other cases the enclosing item (parent item) will be selected.
  • FIX 26841 IDE: When you filter a list and alter an item (by making it internal or external) the filter is automatically rerun so the item remains in the visible list of items.
  • FIX 27575 IDE: When you have a code item (constant , event, method, property , etc ) selected the "analyze Item" is enabled. It will offer to analyze the container item (since you can't analyze a single method, property, constant, event, etc).
  • FIX 23953 IDE: _PhantomProfiler no longer shows in the class browser when setting a super.
  • FIX 27184 Lingua: "Export -> To Application" now generates correct strings files on OS X.
  • FIX 27482 Linux IDE: Database column inspector fields no longer contain extraneous characters for Name and Length labels
  • FIX 27016 Linux: Now uses the correct default font on Ubuntu Studio 13.04.
  • FIX 27513 Linux: Now uses the system default stack size for the main thread.
  • FIX 25301 MacCocoa: AppleScripts that return a value that can't be directly coerced to a string, like a list, now are coerced as 'human readable'. This matches the Carbon behavior.
  • FIX 27062 MacCocoa: ApplyMask now works correctly for pictures without alpha channels.
  • FIX 26980 MacCocoa: Assigning any value to Window.LiveResize no longer breaks window resizing.
  • FIX 26902 MacCocoa: Changing Canvas.UseFocusRing while the canvas has focus now works correctly.
  • FIX 27166 MacCocoa: Checkboxes in a ListBox are now drawn disabled if the Listbox is disabled.
  • FIX 25869 MacCocoa: Default buttons no longer draw a white rectangle if the caption is too large for the button.
  • FIX 23249 MacCocoa: Fixed an assertion that would occur when using RGBSurface.FloodFill on a picture with an alpha channel.
  • FIX 21670 MacCocoa: No longer asserts when trying to open an EPS file.
  • FIX 27066 MacCocoa: Non-resizable metal windows no longer have a border on the bottom.
  • FIX 27197 MacCocoa: Single line labels now center vertically.
  • FIX 23895 MacCocoa: The AppleEvent classes are now Unicode savvy.
  • FIX 27441 MacCocoa: When drawing or filling a round rectangle with a Width or Height of zero, a message about "CGPointApplyInverseAffineTransform" is no longer logged to console.
  • FIX 23384 MacCocoa: When drawing or filling a round rectangle with an OvalHeight or OvalWidth of zero, a message about "CGPointApplyInverseAffineTransform" is no longer logged to console.
  • FIX 26247 Profiler: Clicking on the name column no longer sorts the profiler as it can get things out of order.
  • FIX 25268 Web: Setting cookies now works more consistently.
  • FIX 27497 Web: WebHTMLViewer's default URL is now http://www.xojo.com/
  • FIX 27529 Web: WebSession.ConfirmationMessage now gets disabled if the browser disconnects from the web app.
  • FIX 27067 Web: WebSessionContext stores and returns valid sessions for the current thread again.
  • FIX 27054 Web: Windows CGI apps now build properly on Mac/Linux again.
  • FIX 27259 Windows IDE: adding an icon to a BevelButton no longer distorts the image each time the project is compiled
  • FIX 24515 Windows IDE: Inspector no longer flickers so much.
  • FIX 26978 Windows IDE: No longer need to press Del twice in Attributes editor to start deleting text.
  • FIX 26977 Windows IDE: Pressing Del in the Attributes editor no longer deletes the selected item.
  • FIX 27172 Windows IDE: Pressing the Enter key (the one on the numeric keypad) in the code editor now inserts a new line.
  • FIX 27141 Windows: Playing sounds (other than WAVs) no longer leak memory.
  • FIX 27475 Windows: SaveAsDialog no longer locks (which would prevent you from modifying/deleting it while your app was still running) the parent directory when selecting a file to save
  • FIX 27170 Windows: WebKit based HTMLViewer no longer suppresses the spacebar key.
  • New Items:
  • NEW 26879 Doc: User Guide and Wiki updated with sections for useful code editor keyboard shortcuts.
  • NEW 25820 DocLangRef: Added a new template for displaying methods that are used like properties.
  • NEW 23036 DocLangRef: Added ActionSource as an interface to Timer, PushButton, BevelButton and added an example to ActionSource.
  • NEW 22601 DocLangRef: Added example to ActionSource interface.
  • NEW 13539 DocLangRef: Clarified Window.Maximize, Minimize and Restore event handlers and methods.
  • NEW 16200 DocLangRef: Improved ListBox.ListIndex docs.
  • NEW 12555 DocLangRef: Removed NewMemoryBlock.
  • NEW 17761 DocLangRef: Test apps for deployment now accessible via doc wiki "Web Deployment Overview" page.
  • NEW 27732 Examples: Added IDECommunicator project to controlling the IDE using IDE Scripts from a command-line app.
  • NEW 27494 IDE: Added "Introduction to Programming" item to the Help menu.
  • NEW 21486 IDE: Attributes editor columns are now resizable.
  • NEW 26767 IDE: Changes to Find pane: the search scope is a segmented control so its easy to switch with icons for the segments; you can sort by type again (so all constant sort together , methods , etc); if you have sorted the list by one heading then that sort is reapplied when you just type a new search term.
  • NEW 13440 IDE: Class instances placed on a layout that have NO default constructor and no public zero parameter constructor will cause compilation to fail.
  • NEW 12344 IDE: Cmd-Option-H hides other applications.
  • NEW 26911 IDE: In the LR viewer, external links should now open in the default browser (including he new online reference external links for the PDF's & books).
  • NEW 27493 IDE: Menu title changed to read Xojo Support Forum.
  • NEW 27654 IDE: Profiler data can now be saved by right clicking on the profiler list
  • NEW 27024 IDE: Rows in the ListBox and PopupMenu inline editors can be reordered using drag and drop.
  • NEW 27711 IDE: Search segmented control has help tags to explain the settings.
  • NEW 27523 IDE: The Behavior Inspector dialog/sheet is now resizable to make it easier to edit default values.
  • NEW 26413 IDE: Thread(0) shows as "Main Thread" in profile results.
  • NEW 26890 IDE: Tightened the spacing on the Inspector.
  • NEW 21133 IDE: You can now override the default for each project type by having a binary project in the "Project Templates" folder with these names: Default Desktop Project.xojo_binary_project; Default Web Project.xojo_binary_project; Default Console Project.xojo_binary_project; Default iOS Project.xojo_binary_project (when we do this). If present, the above files are used as the default when creating a new project (instead of an empty project). If both a xojo_binary_project and rbp are present the xojo_binary_project will be used.
  • NEW 27483 Windows IDE: pressing enter/return to commit change to an inspector field no longer beeps
  • Changes:
  • CHANGE 26973 Doc: Removed unused images from online wiki.
  • CHANGE 18100 Framework: Removed deprecated binding interfaces namely: BooleanProvider, ListInterface, StringInterface, StringProvider, DataAvailableProvider, BindingInterface, BindPartInterface, ListDataProvider, ListDataNotifier, ListDataNotificationReceiver, TupleInterface, EnablingBinder, ActionBinder, StringBinder, and ListBinder.
  • CHANGE 27827 IDE: Local LR updated as of June 28, 2013.
  • CHANGE 26969 IDE: The local language reference has been completely revamped so it looks like the online one. Content matches as of June 11, 2013.

New in version 2013 Release 1 (June 21st, 2013)

  • Bug Fixes:
  • Compiler: Fixed a bug that could cause incorrect code generation when reading/writing double values to a pointer with a non-zero offset.
  • Compiler: The Hide, Hide Others and Quit menus no longer have multiple entries in localized strings files.
  • Database: Calling PostgreSQLDatabase.Connect without specifying additional parameters no longer fails.
  • Database: In order to use RecordSet.Edit or RecordSet.Update, the primary key (or identifying integer columns) must appear in the list of columns of the SELECT statement.
  • Database: REALSQLDatabase.ShortColumnNames now returns the correct value instead of always returning false
  • Database: REALSQLDatabase: BLOB data returned from a query now has a Nil string encoding instead of UTF8.
  • Database: Removed Database.GetProperty (this was only used by the defunct 4D plugin).
  • Database: Setting the Value of a DatabaseField to an empty string no longer saves a Null byte.
  • Debugger: Enumeration values with non-ASCII names are now displayed correctly in the debugger.
  • "Debugger: Using ""Step Out"" when debugging code running on a thread no longer behaves the same as single stepping."
  • Desktop: A disabled Listbox now looks disabled (contents grayed and header grayed).
  • Desktop: Child controls contained in several nested containers now properly reveal themselves when its ancestor(s) become visible. This was a bug mainly seen on Windows only.
  • Desktop: Clipping an already clipped Graphics with negative X/Y now works properly.
  • Desktop: Closing a window while editing a cell in a listbox no longer crashes.
  • Desktop: Embedding a ContainerControl on another ContainerControl which has not been embedded on a window yet now throws an UnsupportedOperation exception instead of asserting.
  • Desktop: HTMLViewer WebKit: Tabbing between controls now works on Windows.
  • Desktop: HTMLViewer's Close event now fires.
  • Desktop: Listbox no longer crashes when removing rows during a drag reorder event.
  • Desktop: No longer raises an OutOfMemoryException when moving a Listbox off the side of a window.
  • Desktop: Reports: Fixed a pair of bugs that prevented report footers from rendering in the right place.
  • Desktop: SegmentedControl: On Windows and Linux setting the selected segment of a single mode SegmentedControl in code now resets the other segments properly instead of clearing the wrong selection.
  • Desktop: Setting Checkbox.Value to True of an Indeterminate Checkbox now works as expected (i.e. the Checkbox state changes).
  • DocLangRef: Fixed typo in Declare example.
  • DocLangRef: Added Delegate constructor.
  • DocLangRef: Added HashTag property to WebSession class.
  • DocLangRef: Added missing properties to ConsoleApplication, ServiceApplication and WebApplication.
  • DocLangRef: Added Target32Bit and TargetLinux to the Compiler category.
  • "DocLangRef: Added WebCanvas to the ""Web"" category."
  • DocLangRef: Added WebPopupMenu.Text to LR.
  • DocLangRef: Changed to indicate RecordSet is a method, not a property.
  • DocLangRef: Clarified ConstructorInfo example text.
  • DocLangRef: Fixed an issue preventing local help for MenuItem from displaying propely.
  • DocLangRef: Fixed DataControl.Update event link.
  • DocLangRef: Fixed operator formatting on MemoryBlock.Operator_Compare page.
  • DocLangRef: Fixed typo in example for IfÖThenÖElse.
  • DocLangRef: Fixed typo in WebDialog example code.
  • DocLangRef: Fixed WebHTMLViewer.LoadPage example for loading HTML from a file.
  • DocLangRef: FolderItem.MacType marked as deprecated.
  • DocLangRef: For XMLDocument, removed duplicate methods, cleaned up examples, added example for XMLDocument.CreateElement.
  • DocLangRef: Local LR content has been updated.
  • DocLangRef: PrinterSetup works on Linux.
  • DocLangRef: Removed invalid Window.GetPID method from LR.
  • DocLangRef: Removed PostgreSQLPreparedStatement.BindType.
  • DocLangRef: Removed use of FileTypes from TextOutputStream examples to eliminate confusion.
  • DocLangRef: Significant updates to all database-related topics.
  • DocLangRef: TextInputStream.PositionB is now marked as read/write.
  • DocLangRef: Updated Canvas.DoubleBuffer and Canvas.EraseBackground notes and example.
  • DocLangRef: Updated ContainerControl events, removing CancelClose and adding GotFocus and LostFocus.
  • DocLangRef: Updated DataAvailable page to indicate it is shared by several classes.
  • DocLangRef: Updated docs for Clipboard to note usage of UTIs.
  • DocLangRef: Updated example for RecordSet.ColumnType.
  • DocLangRef: Updated examples for Exit command.
  • DocLangRef: Updated LR to remove UCS4 and add UTF32 to Encodings.
  • DocLangRef: Updated notes for SortWith.
  • DocLangRef: Updated Picture.IsImportFormatSupported and Picture.Save to indicate formats not supported on console/web apps.
  • DocLangRef: Updated WeakRef example.
  • DocLangRef: Updates to AND regarding expression evaluation.
  • DocLR: Fixed typo in RectControl.DrawInto example.
  • Docs: Fixed a bug in the wiki example for HTTPSocket.Post.
  • Docs: Fixed a grammar error in the Wiki for HTTPSocket.Post.
  • DocTutorial: Tutorials have been rewritten.
  • DocUserGuide: Added section on Control Sets.
  • DocUserGuide: Fixed typo in Encoding example.
  • Examples: Fixed typo in AddHandler example.
  • Examples: Fixed YearPopup in Desktop/Custom Controls/CalendarWindow project.
  • Examples: Updated EddiesElectronics example to properly use HashTagChanged event handler and to fix issues running on mobile phones.
  • Framework: Dates created using the Copy constructor are copies including the GMT offset.
  • Framework: In RBScript, the message passed to the CompilerError event no longer has a trailing NULL. However, it is still useless and should be ignored in favor of providing your own localized messages based off of the RBScript error codes in the documentation.
  • Framework: JSONItem no longer takes the computer's number format into account when serializing.
  • Framework: JSONItem now converts non-visual ASCII and unicode characters to their escaped unicode equivalents.
  • Framework: RBVersion constant should not have slight errors & be testable against values like 2012.010 (2012r1 had been showing up as 2012.09999999).
  • Framework: RTF parsing no longer treats the \u keyword as being dependent on the document's codepage and RTF writing no longer writes out an invalid codepage for the document.
  • Framework: SSLSocket: Linux builds that use SSLSocket no longer crashes when built from Windows IDE.
  • Framework: StyledText.RTFData now writes the file out with ANSI codepage 256 instead of an invalid codepage.
  • Framework: TextArea.Open has been implemented under Cocoa in order to open existing documents. However, TextArea.Open and TextArea.Save have been deprecated in favor of TextArea.StyledText.RTFData.
  • Framework: TextArea.SetTextAndStyle is now deprecated on all platforms and unavailable under Cocoa.
  • Framework: TextArea.TextStyleData is now deprecated on all platforms and unavailable under Cocoa.
  • Framework: The use of paramarrays no longer causes an error in plugin defined classes.
  • Framework: When parsing RTF data, the framework now assigns the file's encoding to the generated StyleRuns instead of a bogus encoding that caused crashes.
  • "IDE Scripting: TypeOfCurrentLocation now returns ""Constant"" for Constants instead of an empty string."
  • IDE: The issue that caused projects to warn that data would be lost on save has been fixed. Some data is supposed to be skipped, as it is no longer required but is created by older IDEs.
  • IDE: A NilObjectException in the templates window has been fixed.
  • IDE: A silent exception is no longer raised when removing a report control preventing you from removing it.
  • IDE: A situation that could lead to an IDE experiencing a nil object exception in the database editor has been corrected. Also the delete contextual menu item should be enabled & disabled in the same cases the command bar is so you can't get into a state where you can delete a column using the contextual menu but not the command bar.
  • IDE: Adding columns using the DB Editor on Windows no longer raises a NilObjectException.
  • IDE: An issue that could cause a NilObjectException when deleting project caches and checking for plugin changes has been fixed.
  • IDE: An out of bounds error loading web projects that use subclassed controls has been fixed.
  • IDE: Attribute names need to be legal identifiers or quoted strings and now we will enforce that when we load old projects and when we add new attributes.
  • IDE: Attributes no longer mess up VCP projects.
  • IDE: BuildMacCarbon and BuildMacCocoa both exist as a way to select which runtime to use via IDE Scripting.
  • IDE: Builds folder now uses project name + extension.
  • IDE: Can now edit ByRef parameter values in the debugger.
  • IDE: Certain regular expressions no longer create infinite loops when searching.
  • IDE: Classes with deprecated super classes now properly save in VCP format.
  • IDE: Classes with the names of internal classes no longer get the internal class icon.
  • IDE: Code editor properly aligns text when using a monospaced font like Courier.
  • IDE: Code hints now work for items nested more than two levels deep.
  • IDE: Color picker now starts with the color shown in the Style Editor instead of black.
  • IDE: ContainerControls AcceptTabs property shows correctly in the Inspector.
  • IDE: Control Arrays are now called Control Sets.
  • IDE: Controls on windows should no longer have changes to their property values in Text project files.
  • IDE: Delegates will no longer incorrectly appear to allow being made shared. As a datatype, it makes no sense to share them.
  • IDE: EULA adjusted.
  • IDE: Export Localization Dialog resizes better to handle long strings that occur in German.
  • IDE: External modules refuse to allow you to drag items into them as they cannot contain anything anyways.
  • IDE: Extract Interface window is no longer resizable.
  • IDE: Faster start-up time by delaying loading of Language Reference data.
  • "IDE: Fixed a ""Saving will lose data"" issue."
  • IDE: Fixed a bug where a missing image, if not fixed at project opening time, could cause a report that used the image to cause a NilObjectException.
  • IDE: Fixed a bug where PopUpMenus could stick around in the inspector and cause all sorts of display problems.
  • IDE: Fixed a sporadic NilObjectException that could happen when cleaning out auto saved projects and plugins.
  • IDE: Fixed an error in reading the scope of a VCP class that had attributes attached to it.
  • IDE: Icon editor has been completely revamped.
  • IDE: Icon editor is no longer resizable.
  • IDE: Icon Editor: 48 x 48 has both 32 and 8-bit editors again and ICNS files import on OS X again.
  • IDE: If a picture item fails to render, the IDE now reports the errors instead of throwing an unhandled exception.
  • IDE: If you have non standard background colors the color literals attempt to draw in a way they will still be visible.
  • IDE: Importing certain ActiveX controls on Windows (mainly those that depend on other DLLs being in the current directory) no longer causes the IDE to crash.
  • IDE: Importing RBO / XML files that are modules with classes etc in them are now imported properly.
  • IDE: Improved ability to set compatibility flags.
  • "IDE: Initial build setting for web projects defaults to ""current platform""."
  • IDE: Internal properties are marked as {Internal} in the Property Behavior window.
  • IDE: Issues where the LR could end up in an infinite loop have been resolved.
  • IDE: Line numbers reported for errors in IDE scripts are now correct. They had been off by one.
  • IDE: Loading a project can now be cancelled.
  • "IDE: Local LR no longer causes an assertion on the """" page for literals."
  • IDE: Missing UI state file (*.rbuistate) in rbvcp projects no longer can cause an unhandled IOException.
  • IDE: No longer crashes when debug app quits/stops on Linux (and possibly Windows).
  • IDE: No longer get an exception removing a report control.
  • IDE: Norwegian Bokmal and Norwegian Nynorsk localization codes to the IDE.
  • IDE: Now provides a compile time error for windows with the drawer frame type instead of asserting at runtime.
  • IDE: Plugin load failures again appear in the Debug Log.
  • IDE: Plugins that register methods or events with fully qualified type names (like REALbasic.Rect) for parameters or return types now work correctly.
  • IDE: Property list behaviors for ContainerControls (web & desktop) are saved and restored.
  • IDE: Quitting from the dock on OS X with the issue resolution sheet open no longer raises an exception.
  • IDE: Reduced disk access to improve performance.
  • IDE: Relocating items when loading a Text project file DOES dirty the project again.
  • IDE: Saving will lose data message no longer displays for old projects with Mac Classic app names.
  • "IDE: Searches using regex that indicates ""line start"" and ""line end"" anchors will behave as users expect on declarations (even though the declaration really isn't the way they think it is)."
  • IDE: Selecting an IDE script from the Scripts menu now edits it if you hold down the option key (OS X) or the shift key (Windows, Linux). Previously all modifiers performed this action.
  • IDE: The IDE no longer forces users to use a fully qualified class name as the super when the compiler will reject it.
  • "IDE: The last change rbbf tag, which is no longer used, is now ignored properly and will not cause ""loss of data"" warnings."
  • IDE: The preferences system on OS X now avoids more variant conversions and is generally more efficient.
  • IDE: The user can no longer set WebApplication.Port to an invalid value.
  • "IDE: Using the ""Define missing method"" entry in the contextual menu in the code editor no longer causes an issue when you use it in a method in a module."
  • IDE: VCP and RBP projects that contain absolute paths now load properly.
  • IDE: Web Controls whose text is defined with a dynamic constant now update properly when the Language is changed in Shared Settings.
  • IDE: Web project layouts perform significantly faster.
  • IDE: Web styles can be placed in a module and will compile as expected.
  • IDE: Web toolbars retain their icons when saved in RBVCP format.
  • IDE: WebApplication.HandleSpecialURL page has been adjusted manually in the local documentation.
  • IDE: WebPage controls no longer draw on top of the tray controls.
  • IDE: You can no longer drag, cut or copy the Build item in the build step list.
  • JSONItem: Now correctly encodes chars with ASCII values < 31 and 127.
  • JSONItem: Now uses the formatted version of Str instead of Format for converting numbers.
  • MacCarbon: Fixed a bug that could cause some movies not to load.
  • MacCocoa, Linux: HTMLViewer's Error event now fires.
  • MacCocoa: A BevelButton's caption no longer disappears if the width of the control is less than the width of the icon.
  • MacCocoa: A TextArea's insertion point is now adjusted to be the inverse of the background color.
  • MacCocoa: Adding and removing tabs to a TabPanel at runtime now works correctly.
  • MacCocoa: Applications no longer get warnings in console about the use of userSpaceScaleFactor.
  • MacCocoa: Applications with no menubar specified now have a minimal application menu that includes the standard items (Services, Hide, Hide Others, Show All, and Quit).
  • MacCocoa: BevelButton CaptionPlacement values are no longer treated incorrectly.
  • MacCocoa: BevelButton menus now appear at the correct location when the button is on a secondary display.
  • MacCocoa: BevelButton no longer asserts with 'invalid' font names and is no longer case sensitive in how it treats font names.
  • MacCocoa: BevelButton now draws its caption disabled if the control is disabled.
  • MacCocoa: BevelButton now invalidates properly when its properties are changed.
  • MacCocoa: BevelButton properly refreshes after changing its properties.
  • MacCocoa: BevelButton's MouseDown event now fires.
  • "MacCocoa: BevelButtons now respect the user's ""full keyboard access"" setting."
  • MacCocoa: Canvas controls that set UseFocusRing no longer cause excessive drawing when focus is gained/lost. Additionally, Listboxes that set UseFocusRing no longer refresh the entire window when focus is gained/lost.
  • MacCocoa: Canvas controls that set UseFocusRing no longer leave artifacts when the window they are on deactivates.
  • MacCocoa: Canvas controls that set UseFocusRing no longer leave artifacts when they lose focus.
  • MacCocoa: Changing a control's MouseCursor property now works during a mouse drag.
  • MacCocoa: Changing the background color of a TextField that has keyboard focus now works.
  • MacCocoa: Changing the text of a top-level menu item now works correctly.
  • MacCocoa: Checking an ImageWell's Image against nil no longer raises an OutOfBoundsException.
  • MacCocoa: Clicking an item in a ComboBox's drop down list now triggers the ComboBox's Changed event.
  • MacCocoa: Clicking on a BevelButton that's on an inactive floating window no longer makes the floating window have focus.
  • MacCocoa: Clicking on a selectable label no longer turns the text color to black.
  • MacCocoa: Clicks on a ListBox's scrollbars now trigger the ListBox's MouseDown event.
  • MacCocoa: ComboBox.SelStart and SelLength now work correctly.
  • MacCocoa: ComboBox.UseFocusRing now works.
  • MacCocoa: CueText is now preserved when toggling a TextField's Password property.
  • MacCocoa: Disabling MenuItems from a sheet's EnableMenuItems event now works correctly.
  • MacCocoa: DisclosureTriangle's Action event now fires when changing the Value property programatically.
  • MacCocoa: Drop down toolbar buttons now draw at the correct size when running in HiDPI mode.
  • MacCocoa: Drop down toolbar items can now be disabled.
  • MacCocoa: ExportPicture now provides output format options.
  • MacCocoa: Fixed a crash with that could occur when closing an HTMLViewer that had loaded a page.
  • MacCocoa: Fixed an Objective-C exception that would occur when pressing a dead key that has no modifiers.
  • MacCocoa: Fixed the MouseDown event on a Window not firing.
  • MacCocoa: Fixed ToolbarItems not stripping ampersands from their captions.
  • MacCocoa: Focus rings are no longer put on plugin controls that don't specify REALcontrolFocusRing.
  • MacCocoa: For an inactive floating window, clicking on a Canvas, a ContainerControl, or the window itself no longer forces the window to become active.
  • MacCocoa: Getting/setting TextArea.SelOutline no longer causes assertions.
  • MacCocoa: Graphics.DrawPicture no longer crashes if the source rectangle is out of bounds.
  • MacCocoa: HTMLViewers now work on windows that were shown via Window.ShowModal.
  • MacCocoa: ImageWell no longer constrains the image size to the available size of the control.
  • MacCocoa: ImageWell's MouseDown/MouseDrag/MouseUp events now fire correctly.
  • MacCocoa: ImageWells now accept drops.
  • MacCocoa: Keyboard.Async*Key no longer returns false positives.
  • MacCocoa: Listbox column headers no longer remain highlighted when the window is disabled (i.e. lost focus).
  • MacCocoa: ListBox headers now draw correctly instead of having strange lines or no lines at all.
  • MacCocoa: Listbox.CellBackgroundPaint's graphics context is no longer offset by the top border amount which would lead to the selection highlight being off a pixel.
  • MacCocoa: Listbox.CellHelpTag works correctly now.
  • MacCocoa: ListBoxes that are inside of a TabPanel now draw their headers correctly.
  • MacCocoa: MenuItem Action event handler are now working.
  • MacCocoa: MessageDialog.GraphicCaution now matches the Carbon appearance.
  • MacCocoa: Metal windows no longer change appearance when being resized.
  • MacCocoa: Movable modal dialogs no longer have incorrectly drawn corners.
  • MacCocoa: No longer 'leaks' four CFStrings when switching applications.
  • MacCocoa: No longer crashes if you present a FolderItemDialog that has no file extensions specified. It now falls back to the Mac type from the filter.
  • MacCocoa: No longer crashes when assigning an empty string to PrinterSetup.SetupString.
  • MacCocoa: No longer crashes when getting BevelButton's Icon property and using it for anything.
  • MacCocoa: No longer has unbounded memory growth when using Graphics from a thread or timer.
  • MacCocoa: NotePlayer's gunshot instrument (128) now works correctly.
  • MacCocoa: OpenURLMovie now works correctly.
  • MacCocoa: Password text fields now send KeyDown/KeyUp events.
  • MacCocoa: Picture.FromData now releases its memory immediately instead of waiting until the event loop iteration is over.
  • MacCocoa: Picture.Open now releases its memory immediately instead of waiting until the event loop iteration is over.
  • MacCocoa: PopupMenu now honors its TextFont property.
  • MacCocoa: PopupMenu now honors its TextSize property. The underlying NSPopUpButton still only draws at fixed sizes however, so this does not fix case #16698.
  • MacCocoa: Printing is no longer limited to 72DPI.
  • "MacCocoa: PushButton's ""Rescessed"" button style has been renamed to ""Recessed"", which is spelled properly."
  • MacCocoa: RadioButton's Action event no longer fires before its Open event if its Value property was set to True in the IDE.
  • MacCocoa: RadioButton, Checkbox, and PopupMenu now respect the chosen text size.
  • MacCocoa: REALSetMovieMovie now works correctly.
  • MacCocoa: RectControl.DragOver now only fires when the mouse moves, instead of firing continuously.
  • MacCocoa: RectControl.MouseX and RectControl.MouseY are now relative to the window and not the control.
  • MacCocoa: RuntimeException.Stack detects when symbol names would be 'incorrect' and creates a placeholder function name instead. For example, 'RBGUIKit.xojo_plugin_0.dylib$235' instead of 'PluginMain'.
  • MacCocoa: Scaling the printer setup no longer results in the printing drawing origin being incorrect.
  • MacCocoa: SelectAll now triggers TextArea's selection changed event.
  • MacCocoa: Setting a MessageDialog's alternate button to be default no longer results in two buttons showing the default button 'pulsing blue' status.
  • MacCocoa: Setting a RadioButton's Text property now strips ampersands correctly.
  • MacCocoa: Setting ComboBox.ListIndex to -1 now actually sets it to -1 instead of just clearing the text.
  • MacCocoa: Setting ComboBox.Text programmatically now triggers the TextChanged event.
  • MacCocoa: Setting the text or selected text of a TextField/TextArea/ComboBox now resets the undo manager, preventing the undo menu item changing the text or causing assertions.
  • MacCocoa: Setting Underline to False on a Label now works properly.
  • MacCocoa: Simply clicking on a canvas that accepts focus and has a focus ring no longer moves the focus.
  • MacCocoa: Slider values no longer change when using the mouse wheel.
  • MacCocoa: Slider.LiveScroll's initial value is now respected.
  • MacCocoa: Sliders can have negative values now.
  • MacCocoa: Sliders can now have their value set to zero.
  • MacCocoa: Sliders with ticks and a page step that is less the range of the slider now always shows two ticks.
  • MacCocoa: Small progress wheels no longer log a message to console at runtime.
  • MacCocoa: TabPanel's Change event no longer fires before its Open event.
  • MacCocoa: TextArea now ignores enter/return if the TextArea's MultiLine property is False.
  • MacCocoa: TextArea now respects its MouseCursor property.
  • MacCocoa: TextArea's SelTextFont, SelTextSize, SelBold, SelItalic, SelUnderline, SelTextColor, and SelTextAlignment properties now affect the TextArea's typing attributes so that any text the user types will have the correct style.
  • MacCocoa: TextArea's SelTextFont, SelTextSize, SelBold, SelItalic, SelUnderline, SelTextColor, and SelTextAlignment properties now work correctly when the selection length is 0.
  • MacCocoa: TextArea.CharPosAtXY now returns the correct value in a scrolled TextArea.
  • MacCocoa: TextArea.LineNumAtCharPos is now always zero based.
  • MacCocoa: TextAreas that have their Styled property set to False can no longer be manipulated by the font panel or the color picker.
  • MacCocoa: TextField no longer crashes in some situations where a TextField's text was set after the user typed.
  • MacCocoa: TextField.AppendText now works.
  • MacCocoa: TextField.Text is now read back correctly even if it contains a NUL. However, this is still a bad idea and should be avoided.
  • MacCocoa: The 'Help' menu now shows the 'Spotlight for Help' field when its text is localized.
  • MacCocoa: The application menu now gets localized for applications that set the build language but don't provide any dynamic constants for that language.
  • MacCocoa: The application's dock icon now displays the list of open windows.
  • MacCocoa: The IconDX and IconDY BevelButton properties now work in the Cocoa framework.
  • MacCocoa: The ListBox lower right corner is no longer transparent when a border doesn't exist.
  • MacCocoa: The non-asynchronous keyboard modifier getters are now more reliable. For example, they are accurately reported during the EnableMenuItems event.
  • MacCocoa: The print job's title is now based off of the front window, matching the Carbon behavior.
  • MacCocoa: The UserCancelled function now resets itself properly after being called.
  • MacCocoa: The Window Maximize/Restore events now work under Cocoa.
  • MacCocoa: Threads that raise exceptions that aren't caught no longer cause the application to deadlock.
  • MacCocoa: Timer set to mode 1 now resets its mode back to 0 on completion.
  • MacCocoa: Toggling a TextField's Password property no longer makes the field become editable.
  • MacCocoa: Toggling the TextField Password property no longer resets the UseFocusRing property.
  • MacCocoa: Toolbar items no longer get out of sync with their enabled property when the overflow menu is present.
  • MacCocoa: ToolButton drop down menus appear in the correct place. Also, MenuItem's action is now triggered before the Toolbar's DropDownMenuAction event.
  • MacCocoa: ToolButtons that are set to Toggle now properly toggle.
  • MacCocoa: ToolButtons with style ToolStyleDropDown now show their drop down menu in the overflow menu.
  • MacCocoa: UpDownArrows' KeyDown event now fires correctly.
  • MacCocoa: When a sheet is open, menu item actions no longer go to the parent window.
  • MacCocoa: When Quit is called when there are windows with sheets on them, including MessageDialogs, the program now beeps and stops the quit process. This matches the Carbon behavior.
  • MacCocoa: When using MenuItem.PopUp from a modal window, all of the menu items are no longer disabled.
  • MacCocoa: Window's Resized event now fires when resizing from the top or left edges.
  • MacCocoa: Window.ContexutalMenuAction now fires correctly.
  • MacCocoa: Window.UpdateNow now flushes the window contents instead of causing an entire refresh of the window.
  • MacCocoa: Windows can be set to move by their window background via declares to -[NSWindow setMovableByWindowBackground:] now.
  • Macintosh: Accepting promised file drags under Carbon has been fixed. An example has been added to demonstrate accepting promised files under Cocoa.
  • Profiler: Fixed a bug that could cause a crash if two threads tried to record profile data at the same time.
  • Remote Debugger: Remote Debugging no longer fails for applications with Unicode characters in their name.
  • Web: Build process no longer includes hidden files in framework.
  • Web: Calling WebPage.Close removes the page from the browser again.
  • Web: Cursor assignment can now be overridden on a control by control basis.
  • Web: Fixed a bug where sending a request to /framework/ and an invalid filename would result in a file being downloaded which contains the filename itself.
  • Web: Fixed a bug which caused an OutOfBoundsException in the internal session/thread map.
  • Web: Fixed a bug which could select an incorrect session if the current session suddenly disappeared in the middle of a call to Session.
  • Web: Framework Code sections that are locked behind a CriticalSection will now automatically release if an exception occurs so other threads can continue.
  • Web: Framework no longer crashes inside WaitingForSync method.
  • Web: Framework: Changed eval to JSON.parse for security purposes (This is for information only, this was implemented in 2012r2 already).
  • Web: Framework: Fixed a bug which could result in all session threads waiting for one another and the app appearing to hang.
  • Web: Framework: Fixed a subtle bug in how the parent folder of a CGI script is calculated.
  • Web: iOS devices no longer disconnect prematurely.
  • Web: Showing a contextual menu that hasn't been rendered on the browser yet no longer causes a Javascript error.
  • Web: Showing a WebDialog now scrolls the page back to the top.
  • Web: Speed optimizations for CSS code rendering.
  • Web: Stepping over Session objects in the debugger should no longer more than one click.
  • Web: Using the global Session method from within the Session class now returns Self instead of going and looking it up in the master table. A message is also written to the messages panel asking the user to use Self instead.
  • Web: WebButton: Setting the cursor property for now works properly.
  • Web: WebContainers and WebDialogs now only fire their Open and Shown events once whether they are created at design time or runtime.
  • Web: WebPopupMenu no longer sends duplicate lines to the browser when some are added in the Open event.
  • Web: WebPopupMenu: AddRow and InsertRow RowTags now default to Nil
  • Web: WebRadioGroup: Single quotes can be used in the design-time caption again.
  • Web: WebRequests no longer have the Entity appended to the querystring unless the mime-type is application/x-www-form-urlencoded or multipart/form-data.
  • Web: WebSDK control icons are no longer cropped when the control is smaller than the icon itself.
  • Web: WebSegmentedControl now initially positions captions correctly when the captions have spaces in them.
  • Web: You cannot define a class with the same name as a web framework item nor can you use web framework classes in a desktop or console project.
  • Web: Z-Index and Layering set up in the Web Page editor are now obeyed.
  • WebCanvas: Added and implemented EraseBackground property to Refresh and Invalidate to match desktop behavior.
  • WebCanvas: Fixed a bug which caused the graphics object to be invalid when the canvas object was created at runtime.
  • WebCanvas: IE8 Text baseline calculations have been updated.
  • WebCanvas: Now resizes correctly when the size is set in code.
  • WebCanvas: On Internet Explorer 8, DrawString now uses Arial as the fallback font if the specified font does not exist.
  • WebCheckbox: Setting the cursor now affects the entire control.
  • WebControlWrapper: Fixed a bug that could prevent custom icons from rendering in the IDE.
  • WebFile: The URL property now appears in the debugger.
  • WebListBox: No longer throws an OutOfBounds exception when the number of defined columns is less than the number of defined headers.
  • WebListbox: Now responds correctly to changes in the cursor property.
  • WebSDK: Custom web controls can now be subclassed.
  • WebSDK: EventIsImplemented method now autocompletes.
  • WebSDK: Fixed a place where Xojo was changed back to RS and was causing JS errors.
  • WebSlider: Fixed a bug where setting the Maximum at runtime would not refresh the slider.
  • WebStyle: Hid the undocumented methods and properties.
  • New Features:
  • Database: DB editor improved.
  • Database: SQLiteDatabase/REALSQLDatabase: updated to SQLite 3.7.14.1.
  • 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.
  • DocLangRef: Clarified notes for ByVal and ByRef.
  • DocLangRef: Noted that array.Pop raises an OutOfBoundsException if the array has no values.
  • DocLangRef: Updated OLEObject with note and example using dot notation to access properties.
  • "DocLangRef: Updated System.EnvironmentVariable to mention ""ROOT"" and ""DOCUMENT_ROOT"" that might be useful for web apps."
  • DocLangRef: Updated topic for Static variables in LR and User Guide.
  • Framework: Added a PrintingCancelled property to the Graphics class that can be used to detect when the user has cancelled a print job. For non-print Graphics contexts, this property always returns False.
  • Framework: FolderItem has gained a NativePath property. On Windows and Linux, this is the same as the current AbsolutePath. On OS X, this returns the POSIX path instead of AbsolutePath's HFS path. Since HFS paths are obsolete, AbsolutePath has been deprecated in favor of NativePath. Also added is FolderItem.PathTypeNative, which can be passed to the FolderItem's Constructor or GetFolderItem. This must be explicitly passed if you wish to use it, as the two functions continue to default to FolderItem.PathTypeAbsolute for compatibility reasons.
  • IDE: Added a Xojo forums entry to the Help menu.
  • IDE: Added a contextual menu to allow you to see the locations of its menu handlers in the project. Selecting a location from the list takes you to the handler.
  • IDE: Added the comment tool button for Built Steps IDE scripts.
  • IDE: All-new splash screen.
  • IDE: All-new text input based code editor.
  • IDE: Can now select multiple project items (such as folders) and choose Insert to add a project item to each of the selected items.
  • "IDE: Code editor and debugger implement a new ""floating help tag"" style to show help information and debugger status that used to appear in the status bar of the old UI."
  • IDE: Constant instance editor now automatically sets focus on the text after selecting a language.
  • IDE: Controls have default events and event descriptions from Language Reference appear when the event name is selected.
  • IDE: Cut, copy and paste now function in the menu editor.
  • IDE: Debugger looks more like the rest of the new IDE. No functional changes.
  • IDE: External tools using IPC to drive IDE scripts can now receive data back from the script. To do this, the tool should send a NULL when it has finished sending the IDE script's source code (instead of terminating the connection). The IDE script can send data back to the external tool by calling the Print method.
  • IDE: Holding down the Alt/Option while selecting Project->Run Remotely now appends the IP Address to the machine name.
  • IDE: IDE scripts have command bar with comment item.
  • IDE: Improved handling of build steps.
  • IDE: Improved startup time by limiting indexing of internal docs at startup.
  • IDE: Improved startup time.
  • IDE: It is possible to drag controls between layouts using the Navigator.
  • IDE: Navigator size is stored in preferences, synced between tabs, and has a much greater maximum width of 65% of the window width.
  • IDE: New licensing model in use.
  • "IDE: No longer adds debug applications to the ""Recent Applications"" list on OS X."
  • IDE: Now shows raised exceptions in the variables pane with the other local variables.
  • IDE: Office classes (i.e. WordApplication, ExcelApplication, and PowerPointApplication) are no longer loaded automatically. You can find the MSOfficeAutomation.rbx plugin in the Extras folder.
  • IDE: Project Chooser window only loads recents, templates and examples when those items are selected in the source list.
  • IDE: Run in GDB will be enabled for ALL users on OS X if they have a Debug Plugins directory next to the IDE.
  • IDE: Search results and filters have updated user interface to present results more clearly.
  • "IDE: Selecting ""Open In Tab"" from the navigator contextual menu will drill the navigator in the new tab to the selected item."
  • IDE: Show / Hide toolbar pill no longer shows on OS X in versions where it should not.
  • IDE: Showing the find pane automatically moves the focus to the search field.
  • IDE: System.DebugLog output is now visible from the debugger.
  • IDE: Tabs have a lock icon that when clicked will prevent you from accidentally switching the contents of that tab to another item.
  • IDE: The debugger now shows System.DebugLog console output using the Messages pane.
  • IDE: The Interface Editor window is now resizable.
  • IDE: Updates to License Agreement.
  • IDE: Users can now optionally send anonymous system specs to Xojo.
  • IDE: What used to be known as control arrays are now referred to as control sets.
  • IDE: Without an appropriate build license you can only save as Binary whether you start with a new project or an existing on in XML or Text format.
  • IDE: You can add an event to multiple controls at the same time by selecting the controls then choosing Add Event Handler.
  • IDE: You can now choose to sort the Library alphabetically.
  • MacCocoa: An exception is now raised when manipulating user interface elements from a non-main thread.
  • MacCocoa: DragItem.Handle now returns the underlying NSDraggingInfo object for received DragItems.
  • "MacCocoa: EndOfLine has changed from being a carriage return to a linefeed. EndOfLine.OSX has been added, which returns the linefeed.
  • This change will break applications which rely on EndOfLine being a carriage return. Those applications should switch to explicitly specifying EndOfLine.Macintosh or Chr(13)."
  • MacCocoa: Valid Bundle ID's are required for Cocoa. The bundle ID string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters. The string should also be in reverse-DNS format (but this is NOT required).
  • Moved to more appropriate places in the project menu and the profile code item to the shared settings
  • Plugins SDK: Added a way to forward events from a plugin's NSView to the framework. An example project, HostedPluginExample, has been added to demonstrate how to do this.
  • Plugins SDK: Enums inside of classes are now supported.
  • Profiler: Number columns are now right justified and widths are determined by the column titles.
  • Remote Debugger Desktop: Destination Select dialog now defaults to SpecialFolder.Desktop.
  • Remote Debugger Desktop: Missing download directory dialog now shows Use Temporary/Change instead of No/Yes.
  • "Web: Added ""/api/"" as an alias to ""/special/"" for directing requests to App.HandleSpecialURL."
  • "Web: Error pages no longer say ""Powered By Real Studio Integrated Web Server"" on them."
  • Web: WebMapViewer: Added APIKey property so users can add their developer key for better access.
  • WebContainer: Added ScrollTo method to set the scrolled content position; added ContentScrolled Event which fires when the content is scrolled.
  • WebFile: Added a property UseCompression which determines if the web framework should compress a file before sending it to browsers that support compression.
  • WebGraphics: Added a TextAlignment property for drawing Center and Right Aligned text.
  • WebSDK: Added a constant IncludeInTabOrder which when set to True includes the control in the tab order.
  • WebSDK: Added a mechanism to allow a WebSDK control to know if a particular shared library has already been loaded for a particular session.
  • Changes:
  • Compiler: The DisableAutoWaitCursor pragma has been deprecated. There is no replacement because this pragma doesn't actually do anything at runtime (and hasn't in quite some time).
  • Debugger Stub: Updates for 2013 Release.
  • Desktop: BevelButton's AcceptFocus property now is set to True when BevelButtons are added to a layout.
  • Doc: Added QuickStart for web apps (PDF and iBooks).
  • Doc: Added Tutorial for web apps (PDF and iBooks).
  • Doc: All-new User Guide in 4 books: Fundamentals, User Interface, Framework and Development (PDF and iBooks).
  • Doc: Cleaned up docs in Readme folder (for release packaging).
  • Doc: Created testing guide (PDF and iBooks).
  • Doc: Local Language Reference updated from wiki as of Feb 18, 2013.
  • Doc: QuickStarts and Tutorials are now available in PDF and iBooks formats.
  • DocLangRef: Added note about Dictionary key values and case.
  • DocLangRef: Clarified App method and Application class.
  • DocLangRef: Expat version is now listed on XMLDocument page.
  • DocLangRef: Marked Graphics.UseOldRenderer as deprecated (since 2012r1).
  • DocLangRef: Updated examples for TextEdit.LineNumAtCharPos.
  • Documentation: WebSDK docs have been updated for 2013r1.
  • DocUserGuide: All-new screenshots.
  • Framework: Deprecated RealSQLDatabase, RealSQLBlob, and RealSQLPreparedStatement in favor of the replacements SQLiteDatabase, SQLiteBlob, and SQLitePreparedStatement respectively. Note that these new classes may not be completely compatible with the old RealSQLDatabase databases. For example, the new SQLiteDatabase class no longer supports the AutoCommit property, transactions must be started explicitly. A rowid is no longer implicitly injected into the result set, you should always select a primary key if you plan on using the RecordSet update/delete functions.
  • Framework: Removed deprecated binding interfaces namely: BooleanProvider, ListInterface, StringInterface, StringProvider, DataAvailableProvider, BindingInterface, BindPartInterface, ListDataProvider, ListDataNotifier, ListDataNotificationReceiver, TupleInterface, EnablingBinder, ActionBinder, StringBinder, and ListBinder.
  • Framework: The XojoScript class has been added, which supersedes the RBScript class. The language remains unchanged, but the XojoScript class provides more information from the compiler about errors and warnings.
  • IDE: A toolbar that is dragged to a Window now appears on the shelf.
  • IDE: Accept files types is a sheet on OS X.
  • IDE: Add Event Handler dialog supports typeahead.
  • IDE: Added inline editing support for most desktop controls.
  • IDE: All rebranding issues are completed.
  • IDE: All URLs have been updated to point to Xojo.com.
  • IDE: All-new dialog for changing tab order.
  • IDE: App.IncludeFunctionNames is now enabled by default for newly created projects.
  • IDE: Code and Project item names can no longer be created starting with an underscore.
  • IDE: Constant Editor Platform menu now only allows users to select a supported target.
  • IDE: Control instances with missing supers are now shown with a ? instead of a generic RB icon (or nothing at all).
  • IDE: GUI / Desktop projects default to using Cocoa if you build for OS X.
  • IDE: HTML help can be loaded from ZIP plugins.
  • IDE: Implemented a Tooltip for project items in the Navigator to show SuperClass and Interface information.
  • IDE: Improved speed of checking for duplicate plugin classes.
  • IDE: License agreement is now displayed in a third pane in the about box.
  • IDE: Modules only show disclosure triangles when they have objects in them.
  • IDE: Naming errors are now shown in a dialog on Linux/Windows and a special warning pane on OS X.
  • IDE: New VCP projects will default to using Unix line endings on OS X. Current line endings will be preserved in existing projects.
  • IDE: Now supports proxy servers.
  • "IDE: Profile runs now show a ""run number"" as part of the title in the listings."
  • IDE: Profiling now tracks per thread activity better by segregating out each thread by its thread id.
  • IDE: Save Project uses Sheet window on OS X.
  • "IDE: ServerSocket now has a sockets group in the Inspector showing ""Minimum"" and ""Maximum"" rather than ""MinimumSocketsAvailable"" and ""MaximumSocketsConnected""."
  • IDE: The Debugger stack list box now lists most recently called to least recently called methods (a true stack).
  • IDE: The default menu bar name is now MainMenuBar instead of MenuBar1. Subsequent MenuBars will be numbered MenuBar2 and so on.
  • IDE: The inline editor (pencil) icon scales up to a maximum of 18 x 18 but is never more than 50% of the width or height. Below 6 x 6 its not shown at all as its so tiny as to be unhittable and a control that size won't have a useful caption. And if you do need to edit the caption you can still use the Inspector.
  • IDE: The Interface Aggregates property inspector now uses the Interface editor for editing aggregates.
  • IDE: The preference to only show one error at a time while compiling has been removed.
  • "IDE: The splash screen now consistently uses ""Loading"" when describing the items being loaded."
  • "IDE: Updated the ""Load Intrinsics"" message on the splash screen to say ""Loading Frameworks""."
  • "IDE: User objects can no longer be called ""Xojo""."
  • IDE: Window position is now stored in preferences instead of the project UI state. Default position now intelligently avoid overlapping with floating palettes.
  • IDE: Xojo plugins must be in ZIP format.
  • IDE: xojo_plugin files now have the right icon.
  • Linux: Picture.FromData now loads the picture from memory instead of creating a temporary file (this requires GTK+ 2.14, otherwise we fallback on creating a temporary file).
  • Mac: The compiler now ignores the 'Mac SDK' user default for Cocoa builds, but still respects it for Carbon.
  • MacCocoa: The application's Open event and the default window's Open event now trigger once the NSApplication has finished launching instead of before. The application's Constructor still fires before then, if you need to modify things early on in the process (but don't open any windows from there).
  • MacCocoa: The menubar is no longer constantly being rebuilt. This results in better performance and the ability to use declares on the underlying NSMenu/NSMenuItem objects.
  • Macintosh: The minimum system version for all applications is now 10.6.
  • Profiler: Added color highlights to expanded rows and the row that the mouse is currently hovering over to make reading on large screens easier.
  • Profiler: Times are now shown in milliseconds.
  • RBScript: Now uses LLVM 3.2 internally.
  • SpecialFolder: AppleMenu has been deprecated.
  • Web: Deprecated the WebFile FileDownloaded delegate and replaced with the Downloaded event handler.
  • Web: Optimized a few of the images in the default framework.
  • WebListbox: Optimized the routine for changing the data size when inserting, appending or removing rows.
  • WebSDK: Controls created using RS namespace now work in the new Xojo namespace.

New in version 2012 Release 2.1 (January 24th, 2013)

  • Fixes
  • Debugger Stub: Now checks to make sure the destination folder Exists and isWritable before trying to write to it.
  • Debugger Stub: Spaces in the app path are now escaped when launching console apps on Linux.
  • Desktop: Toolbar items (ToolItem) can be usefully subclassed now.
  • Framework: SSLSocket events no longer fire on a non-main thread (unless Poll is called from that thread).
  • IDE: An issue where changes to web projects saved in vcp format were not being saved has been corrected.
  • IDE: default.lproj localization files are no longer generated.
  • IDE: Notes in properties no longer get leading or trailing blank lines stripped when saved in VCP format.
  • IDE: Profiler times are now properly reported in seconds (not milliseconds).
  • MacCocoa: KeyDown events no longer forces the key to be ASCII and instead passes it through in its full Unicode glory.
  • Remote Debugger Stub: Now identifies itself as "Remote Debugger Stub" instead of "Real Studio" to Windows.
  • Remote Debugger Stub: Transfer speed to Windows has been greatly improved.
  • Web: Fixed a bug where an empty string sent to the browser could cause a JSON error.
  • Web: Framework: Data no longer leaks between sessions.
  • Web: Framework: Fixed a bug that caused extra data to be sent to browsers, causing JavaScript errors.
  • Web: WebPage.Title now correctly renders dynamic constants assigned in the IDE.
  • WebCanvas: Fixed a bug on international systems that caused RoundRect corners to be drawn inverted.
  • WebCanvas: Fixed a case where the Invalidate method could become unresponsive if no changes were made between Paint events.
  • DocLangRef: Updated local LR for 2012r2.1.

New in version 2012 Release 2 (December 11th, 2012)

  • Bug Fixes:
  • FIX 22563 Compiler: Fixed a crash when parsing a method declaration that had a parameter with no name/type and just a default value. For example, "Sub Bar(=12)".
  • FIX 22886 Compiler: No longer asserts when a class implements an invalid interface name.
  • FIX 22266 Database: Binding an empty string using RealSQLDatabase now works.
  • FIX 18347 Database: Extensive ODBC work done on text fields (and unicode text fields).
  • FIX 13853 Database: Extensive ODBC work done to improve unicode support. To connect to MySQL you should be using the latest version of the driver available from the driver vendor.
  • FIX 18026 Database: Extensive ODBC work was done to improve Unicode support.
  • FIX 13368 Database: No longer keeps the REALSQLDatabase database file locked when the connection failed.
  • FIX 19469 Database: ODBC plugin correctly identifies Boolean types.
  • FIX 20555 Database: ODBC with MS SQL now returns TRUE for BIT columns.
  • FIX 22858 Database: ODBCDatabase no longer fails on RecordSet.Update.
  • FIX 22075 Database: ODBCDatabase.DatabaseName is now correct when used with MS SQL Server.
  • FIX 22166 Database: PostgreSQLDatabase no longer crashes when binding an empty string.
  • FIX 22860 Database: Removed unsupported REALSQLDatabase.DebugMode property.
  • FIX 22654 Database: With PostgreSQLDatabase, accessing a RecordSet after it is closed (via RecordSet.Close or Database.Close) now raises an UnsupportedOperationException instead of crashing.
  • FIX 19253 Desktop: Clipping an already clipped Graphics with negative X/Y now works properly.
  • FIX 22913 Desktop: Instead of crashing when a closed window is used as the parent for ShowWithin/ShowModalWithin, the framework now raises an UnsupportedOperationException.
  • FIX 2122 Desktop: Listbox vertical scrollbar is now updated properly when DefaultRowHeight is changed.
  • FIX 22551 Desktop: Now raises an OutOfBoundsException if the rectangle passed into Window.Bounds' setter has a negative Width or Height.
  • FIX 22604 Desktop: Scroll wheel deltas are correct when natural scrolling is disabled.
  • FIX 22802 Desktop: When showing a modal window in a ContextualMenuAction event, the contextual menu now gets cleaned up properly instead of the Base menu item being reused on subsequent contextual clicks.
  • FIX 22066 DocLangRef: Added CountFields and CountFieldsB to Text Strings category.
  • FIX 21789 DocLangRef: Added info about when MemoryBlock.StringValue can raise an OutOfBoundsException.
  • FIX 7748 DocLangRef: Added links to platform-specific error codes for Serial.LastErrorCode
  • FIX 22763 DocLangRef: Added missing RemoteAddress parameter to WebApplication.SessionWithIdentifier.
  • FIX 4487 DocLangRef: Added note about using ContainerControls with Window.Control property.
  • FIX 18866 DocLangRef: Added Ptr declaration to MemoryBlock.Operator_Convert.
  • FIX 22616 DocLangRef: Added Rect.LocalPoint and Rect.LocalRect.
  • FIX 22421 DocLangRef: Clarified "All" property on FileType.
  • FIX 20583 DocLangRef: Clarified all parameters for WebSession.Cookies.Set.
  • FIX 21796 DocLangRef: Clarified Border property Double vs. Boolean usage.
  • FIX 22637 DocLangRef: Clarified Me vs. Self.
  • FIX 12896 DocLangRef: Clarified that arrays and object types are always passed ByRef.
  • FIX 21790 DocLangRef: Clarified that Movie properties require QuickTime on Windows and are not available at all on Linux.
  • FIX 22460 DocLangRef: Clarified that the Window function returns Nil for unavailable window numbers.
  • FIX 14049 DocLangRef: Combined Invoke into one entry in the MethodInfo method table.
  • FIX 22510 DocLangRef: Fixed examples for FileType to show Icon property is read-only.
  • FIX 22566 DocLangRef: Fixed examples for MySQLPreparedStatement to use correct bind types.
  • FIX 22678 DocLangRef: Fixed typo in BevelButton.List.
  • FIX 22867 DocLangRef: MouseUp is called even if mouse is released outside the control.
  • FIX 22983 DocLangRef: MySQLCommunityServer.GetInsertID and GetAffectedRows now indicate that UInt64 is used.
  • FIX 22618 DocLangRef: Noted that Picture.Save will overwrite existing files.
  • FIX 23320 DocLangRef: RecordSet.RecordCount is now identified as a method and not a property.
  • FIX 23052 DocLangRef: Removed invalid ConstructorInfo.ReturnType property.
  • FIX 18419 DocLangRef: Report.Units now redirects to Reports page where they are described.
  • FIX 12862 DocLangRef: Searching for Build Automation brings up the IDE Script topic in the wiki which describes Build Automation, IDE Script and related features. The new User Guide also has a section on Build Automation.
  • FIX 5453 DocLangRef: Specified timeout units for DoShellCommand (milliseconds) and ODBCDatabase (seconds).
  • FIX 21735 DocLangRef: TabPanel Append method now links to correct page.
  • FIX 20330 DocLangRef: Updated Canvas.Paint examples.
  • FIX 22018 DocLangRef: Updated description of RegistrationAccessErrorException.
  • FIX 17909 DocLangRef: Updated examples for PropertyInfo.Value to show how to set/get a value and how to access an array.
  • FIX 22427 DocLangRef: Updated examples for RGBSurface.
  • FIX 22406 DocLangRef: Updated ListBox.AddFolder reference to example project.
  • FIX 11830 DocLangRef: Updated MouseCursor to indicate Control and Window MouseCursors only work when Application MouseCursor is Nil.
  • FIX 22863 DocLangRef: Updated RectControl.Parent description.
  • FIX 22700 DocLangRef: Updated Toolbar example.
  • FIX 20586 DocLangRef: WebFile.Cached documented.
  • FIX 18898 DocLangRef: WebPopupMenu methods now in docs.
  • FIX 17501 DocPluginsSDK: Added new REALcontrolHandlesKeyboardNavigation flag. This flag only applies on Windows, use it to suppress the default keyboard focus navigation (i.e. suppress arrow keys and modifier-less keyboard mnemonics from switching control focus).
  • FIX 12220 DocUserGuide: Added information about Accept File Types setting for OS X builds.
  • FIX 3651 DocUserGuide: Documented Lock Position for controls.
  • FIX 22595 DocUserGuide: Updated Obtaining Updates section.
  • FIX 10105 Examples: Added GraphicsPrintingExample.rbp.
  • FIX 9576 Examples: All included examples have been updated to latest version.
  • FIX 9990 Examples: Duplicate examples removed.
  • FIX 4471 Examples: Removed outdated ContextualMenu examples.
  • FIX 9963 Examples: Updated Copy and Move Example.
  • FIX 22302 Examples: Updated FluidsDemo.rbp.
  • FIX 14447 Examples: Updated TrayExample.rbp.
  • FIX 21321 Framework: Drawing Object2D objects with rotation now works in Console/Web apps.
  • FIX 22376 Framework: HTTPSocket Content-Type and Content-Length headers are no longer dependent on the selected method.
  • FIX 22839 Framework: HTTPSocket: Removed handling for HTTP 1.1 chunked responses.
  • FIX 20587 Framework: IPCSockets no longer can hang trying to do DNS resolution when connecting.
  • FIX 23078 Framework: Items in the REALbasic module that should have been marked as hidden now are actually hidden.
  • FIX 22706 Framework: JSONItem no longer fails with an OutOfBoundsException when initialized with an empty string.
  • FIX 22262 Framework: MemoryBlock no longer reads memory outside of the MemoryBlock's bounds when getting the value of a 24-bit color.
  • FIX 22517 Framework: Renamed Encodings.UCS4 to UTF32, this encoding assumes the endianness of the machine and does not add a BOM to the string (this is inline with that Encodings.UTF16 does currently). UTF32 now works on Windows.
  • FIX 22235 Framework: When a hidden container becomes visible its children are no longer hidden initially.
  • FIX 15458 IDE: Constants now work for the Web Page Editor.
  • FIX 22621 IDE: Copy files steps for Windows no longer create an additional folder named with the full name of the windows executable + libs.
  • FIX 21775 IDE: Exported web pages, web dialogs & styles in vcp format can now be imported again.
  • FIX 14781 IDE: Filetype Sets entries which contain a MacType or MacCreator which contain trailing spaces no longer get trimmed.
  • FIX 23189 IDE: Hidden properties are not shown in the Property Behavior window.
  • FIX 13944 IDE: Invalid xml will not cause an error in reading the multi item file but may still produce an XML error if you try to import it.
  • FIX 22989 IDE: Project Template window now has an appropriate minimum size.
  • FIX 21643 IDE: Properties for Major, Minor, Debug, Non-Release, and Stage should never print out in scientific notation.
  • FIX 22612 IDE: Remote Debugging "Failed to connect properly." message is now a dynamic constant.
  • FIX 8865 IDE: Report Editor controls whose height and/or width are zero or one are now selectable and draggable.
  • FIX 19423 IDE: The IDE no longer takes a long time to start/quit due to temporary files accumulating.
  • FIX 21998 IDE: The semicolon (;) is not allowed in folder names as it breaks VCP projects.
  • FIX 20251 IDE: The text in the dialog that warns when a control that doesn't support composite windows is added to a composite window, has been updated. The updated text removes information such as versions of Mac OS that are no longer supported. The text was also rewritten to better conform with Apple's UI guidelines for dialog boxes.
  • FIX 22948 IDE: The UTI column of a file type is also searched.
  • FIX 23294 IDE: Using the Style Editor to edit the background of the style no longer throws an OutOfMemoryException on Windows.
  • FIX 22932 IDE: We no longer require a tickle of the Finder to make the icon show & this fixes an issue on 10.8.2.
  • FIX 22605 Linux TextArea/TextField: when the selection change is caused by a mouse event, the SelChange event now fires before the mouse is released like other platforms
  • FIX 22952 Linux: calling the Keyboard Async key methods (i.e. AsyncKeyDown, AsyncShiftKey, etc.) in App.Open, or in a tight loop, now works
  • FIX 22540 Linux: CanGoBack, GoBack, CanGoForward and GoForward now work properly with the WebKit based HTMLViewer.
  • FIX 22476 Linux: Graphics DrawRect, DrawRoundRect, and Pixel now draw correctly instead of being off by 1.
  • FIX 23150 Linux: MenuItems no longer leaks memory, especially if a Tag was assigned.
  • FIX 17539 Linux: Picture.Open no longer crashes when called from a thread.
  • FIX 22354 Linux: Plugins drawing pictures on a graphics from an Offscreen Paint event now offsets the picture properly.
  • FIX 22584 Linux: Setting the Text on the Clipboard no longer wipes out the Picture that was on the clipboard, and vice versa.
  • FIX 22576 Linux: ShowURL now works in newer distros (like Ubuntu 12.04) by using xdg-open to open the file or URL in the user's preferred application.
  • FIX 22190 Mac: App.LongVersion string no longer has the wrong encoding set.
  • FIX 22668 Mac: rbframework.dylib has been moved from Contents/MacOS/ to Contents/Frameworks/ in order to be compatible with XPC.
  • FIX 19046 Mac: Variant.CFStringRefValue no longer leaks CFStrings.
  • FIX 22494 MacCocoa: An ApplicationMenuItem instance no longer appears in both the application menu and the parent designated in the IDE at design time.
  • FIX 21755 MacCocoa: Calling ShowWithin and then Show on a sheet window no longer causes the parent window to go away when the sheet is closed.
  • FIX 22429 MacCocoa: DragItem.Drag now starts in the correct position if invoked during a MouseDrag event.
  • FIX 22995 MacCocoa: Graphics.DrawString no longer crashes if the string contains invalid data for the specified encoding.
  • FIX 23043 MacCocoa: Graphics.StringWidth no longer crashes if the string contains invalid data for the specified encoding.
  • FIX 21937 MacCocoa: IsContextualMenu now returns true for control clicks.
  • FIX 693 MacCocoa: Keyboard.KeyName now works with non-QWERTY keyboard layouts.
  • FIX 9285 MacCocoa: KeyChain.Delete no longer causes crashes.
  • FIX 18665 MacCocoa: ListBox headers left/right edge no longer overlap its border.
  • FIX 22319 MacCocoa: Listbox no longer fires the ValueChanged event twice for the same value when scrolling with the scroll thumb.
  • FIX 21756 MacCocoa: Listbox resizing with the scroll thumb at its max now scrolls the contents (on the left) into view properly instead of creating display artifacts.
  • FIX 22471 MacCocoa: Listbox ScrollPosition is now correctly updated after the Listbox contents have changed.
  • FIX 21795 MacCocoa: MoviePlayer no longer crashes when setting the Movie property a second time.
  • FIX 21527 MacCocoa: MsgBox displays strings without encodings by replacing all 'invisible' characters with the Unicode replacement character.
  • FIX 17944 MacCocoa: No longer crashes if a ListBox cell's string value contains invalid data for the specified encoding.
  • FIX 22715 MacCocoa: No longer crashes when inside of obj_msgSend due to sending mouseMoved: to a deallocated object.
  • FIX 22197 MacCocoa: No longer leaks memory when assigning to the Label.Text property.
  • FIX 18601 MacCocoa: PrefsMenuItem automatically gets the Command-, keyboard shortcut.
  • FIX 17221 MacCocoa: Pressing Shift-Tab now reports the key as character 9 instead of 25.
  • FIX 18769 MacCocoa: Profiler now works with Cocoa builds.
  • FIX 17587 MacCocoa: RefreshRect no longer clears the whole window/canvas.
  • FIX 20183 MacCocoa: Setting TextArea.Text no longer causes bizarre behavior if the string contains invalid data for the specified encoding.
  • FIX 16611 MacCocoa: Setting TextArea.Text no longer causes runtime errors if the string contains invalid data for the specified encoding.
  • FIX 22374 MacCocoa: Showing a sheet window no longer makes the parent window look inactive.
  • FIX 22835 MacCocoa: TextArea.AppendText no longer silently fails if the string contains invalid data for the specified encoding.
  • FIX 21856 MacCocoa: TextField.Border is now preserved when toggling TextField.Password.
  • FIX 19128 MacCocoa: TextField.Border now works correctly with password fields.
  • FIX 16608 MacCocoa: TextField.Copy and TextField.Paste no longer cause assertions.
  • FIX 22607 MacCocoa: TextField.SelectAll is now functional.
  • FIX 10033 MacCocoa: TextField/TextArea masks now work.
  • FIX 18771 MacCocoa: The EditCopy menu item now copies the contents of the ListBox cell being edited instead of the entire row.
  • FIX 20928 MacCocoa: Tooltip.Show no longer crashes if the string contains invalid data for the specified encoding.
  • FIX 11690 MacCocoa: Window.KeyDown now fires even if no control on the window has keyboard focus.
  • FIX 23034 Remote Debugger: Stub no longer displays "Untitled Window" in the menubar in Ubuntu 12.
  • FIX 23302 Web: Control Array "Add" function no longer takes multiple steps to move forward in the debugger.
  • FIX 22487 Web: Controls that have been removed from the DOM will no longer be queried for their value.
  • FIX 21897 Web: Dynamically created WebContainers are now destroyed when they are closed.
  • FIX 22394 Web: Fixed a bug that could hide an exception behind a NilObjectException.
  • FIX 22537 Web: Fixed a bug which caused server responses to get exponentially slower depending on their size.
  • FIX 21764 Web: Framework: Fixed a bug that could cause commands to reach the browser in the wrong order.
  • FIX 22964 Web: Gradients now work properly in Internet Explorer 10.
  • FIX 21030 Web: HelpTag: Fixed a bug where help tags which contained quotes would not render completely.
  • FIX 22259 Web: iOS no longer shows the loading progress indicator after the app has loaded.
  • FIX 22177 Web: Rapidly fired user events no longer cause NilObjectExceptions in the WebControl event handler.
  • FIX 23049 Web: Replaced AJAX push connection with HTML5 EventSource to work around a vendor bug on iOS.
  • FIX 22371 Web: The error dialog no longer appears behind other controls.
  • FIX 21437 Web: Threads no longer leak.
  • FIX 22829 Web: Unsupported WebView.WaitingForSync is now hidden.
  • FIX 23270 Web: WebContainer control arrays no longer fail with JavaScript errors.
  • FIX 21058 Web: WebContainers added programmatically to Control Arrays no longer cause JavaScript errors.
  • FIX 22721 Web: WebContainers no longer leak.
  • FIX 17256 Web: WebContainers now fire MouseUp events in IE7 and IE8.
  • FIX 21487 Web: WebControl Destructors now fire properly.
  • FIX 22273 Web: WebDialogs now show properly the second time on IE8.
  • FIX 22719 Web: WebDialogs, Webpages and WebContainers no longer leak.
  • FIX 18149 Web: WebPage Resize events are now sent to hidden WebPages.
  • FIX 19418 Web: WebRadioGroup WebRadioButtons are now grouped separately when used in WebContainers.
  • FIX 14425 Web: WebSegmentedControl now sends ListIndex changes to the browser.
  • FIX 22609 Web: WebSession.Secure property now only autocompletes as a getter.
  • FIX 20713 Web: WebSessions no longer leak memory.
  • FIX 22848 Windows: Assigning an icon to a MenuItem no longer leaks memory (this could lead to an OutOfMemoryException at some point).
  • FIX 8076 Windows: Date.ShortDate no longer returns a string without a known encoding.
  • FIX 22435 Windows: DrawLine with the same coordinates, i.e. x1 = x2 = y1 = y2 now draws a pixel like it does on OS X and Linux.
  • FIX 22106 Windows: HTMLViewer no longer crashes when calling IsAvailable.
  • FIX 22822 Windows: HTMLViewer no longer crashes when calling LoadURL within the Constructor.
  • FIX 22202 Windows: Listbox ThinDotted grid lines now draw correctly when App.UseGDIPlus is enabled.
  • FIX 21769 Windows: No longer ignores the WCS/ICC color profile when loading images that have these profiles embedded in them.
  • FIX 22126 Windows: Print method in Console apps no longer appends an extra carriage return on Windows.
  • FIX 22020 Windows: RegistryItem was not honoring some custom permission settings in the Registry and just assumed that if it couldn't do all of the things to that Registry item then all it could do is read/query it. This is the new logic:
  • 1. Try to obtain all access rights 2. If denied then obtain read/write permission 3. If denied then just ask for read permission This is not a complete solution (since it doesn't completely cover all the variable/combination of permission settings) but for most purposes this will suffice.
  • FIX 22696 Windows: Right mouse click now triggers MouseUp event when returning True in MouseDown.
  • FIX 21720 Windows: Service apps no longer raises an assertion when calling DoEvents.
  • FIX 21837 Windows: TextField/TextArea KeyDown event now reports the Key correctly for non-ASCII keys.
  • New Items:
  • NEW 35 Database: PostgreSQL Plugin now supports SSL connections using the following properties:
  • SSLMode As Integer -- can be one of the following constant values defined on the PostgreSQLDatabase class: SSLDisable (default) -- only try a non-SSL connection SSLAllow -- first try a non-SSL connection; if that fails, try an SSL connection SSLPrefer -- first try an SSL connection; if that fails, try a non-SSL connection SSLRequire -- only try an SSL connection. If a root CA file is present, verify the certificate in the same way as if verify-ca was specified SSLVerifyCA -- only try an SSL connection, and verify that the server certificate is issued by a trusted CA SSLVerifyFull -- only try an SSL connection, verify that the server certificate is issued by a trusted CA and that the server hostname matches that in the certificate
  • SSLCertificate As FolderItem -- This property specifies the file name of the client SSL certificate, replacing the default ~/.postgresql/postgresql.crt. This parameter is ignored if an SSL connection is not made
  • SSLKey As FolderItem -- This property specifies the location for the secret key used for the client certificate. It can specify a filename that will be used instead of the default ~/.postgresql/postgresql.key
  • Connect also takes an optional additionalOptions As String parameter. Additional connection options can be found here: http://www.postgresql.org/docs/9.1/static/libpq-connect.html Note: the additional options are passed as is (i.e. not escaped in any way)
  • NEW 7269 Framework: Added Crypto module:
  • Enumeration Crypto.Algorithm MD5 SHA1 SHA256 SHA512
  • New functions:
  • Crypto.Hash (Data As MemoryBlock, Algorithm As Cryto.Algorithm) As MemoryBlock Crypto.MD5 (Data As MemoryBlock) As MemoryBlock Crypto.SHA1 (Data As MemoryBlock) As MemoryBlock Crypto.SHA256 (Data As MemoryBlock) As MemoryBlock Crypto.SHA512 (Data As MemoryBlock) As MemoryBlock Crypto.HMAC (Salt As String, Data As MemoryBlock, Algorithm As Crypto.Algorithm) As MemoryBlock Crypto.PBKDF2 (Salt As String, Data As MemoryBlock, Iterations As Integer, desiredHashLength As Integer, Algorithm As Crypto.Algorithm) As MemoryBlock
  • The MD5, SHA1, SHA256, and SHA512 functions are basically just convenience methods for Crypto.Hash.
  • NEW 23093 Framework: Crypto.HMAC renamed salt parameter to key.
  • NEW 21912 Framework: TextArea: Added LineHeight and LineSpacing properties.
  • LineHeight As Double - Controls the height of each line in the TextArea control (it is global so the effect spans all paragraphs). A value of 0 maintains the default line height of the control, while any other value changes the height of each line. The value is tied to the TextUnit property, so if the TextUnit is in Inches then the LineHeight value specifies a height in Inches. LineSpacing As Double - This controls the spacing between lines. So if you wanted your lines to be double spaced, you would enter a value of 2. The default value is 1, or single spaced.
  • NEW 22629 IDE Scripting: Added a ShowDialog method for showing a MessageDialog during execution of a script.
  • NEW 16203 Linux: Speak method is now available (requires eSpeak which is installed by default on Ubuntu 10.04 or newer).
  • NEW 19186 Web: Added a command-line argument to allow users to set the maximum number of simultaneous connections. The default is 200. Usage: --maxsockets=200
  • NEW 14927 Web: Added WebCanvas control to manage graphics on web pages. WebCanvas works similarly to Canvas.
  • NEW 13727 Web: Dynamic Constants now work in Web projects.
  • NEW 23238 Web: Errors written to Errors.Log when App.UnhandledException does not return True now have a SQL Date/Time written with them.
  • NEW 15251 Web: HTMLArea control included in the Web Custom Control SDK Examples.
  • NEW 19123 Web: Implemented first version of the Web Control SDK.
  • NEW 22344 Web: Right-left languages are now supported.
  • Changes:
  • CHANGE 21799 Compiler: Items that would be placed in the resource fork of a built application in a project are no longer supported.
  • Projects that have these will no longer compile. A issue resolution dialog will be presented when such a project is opened. New resource fork items cannot be added to projects.
  • CHANGE 22939 Compiler: The error message "method or property missing" has been changed to reflect the fact that its not always a method or property that's missing.
  • CHANGE 21640 Database: DatabaseCursorField.MacPictValue and DatabaseRecord.MacPictColumn have been removed.
  • CHANGE 21906 Database: MySQLCommunityServer Plugin changes:
  • Deprecated ConnectSSL, use the following properties instead:
  • SSLMode As Boolean (default False) -- Set to true to enable an SSL connection SSLKey As FolderItem -- the path to the key file SSLCertificate As FolderItem -- the path to the certificate file SSLAuthority As FolderItem -- the path to the certificate authority file SSLAuthorityDirectory As FolderItem -- the path to a directory that contains trusted SSL CA certificates in PEM format SSLCipher As String -- list of permissible ciphers to use for SSL encryption CHANGE 22107 Desktop: Removed RB3D class. CHANGE 22140 Desktop: Removed SpriteSurface and ToolbarItem classes. CHANGE 18256 Desktop: The Canvas.Paint event now has an additional parameter, areas() as REALbasic.Rect, that indicate what areas of the Canvas that need redrawing. If the array is empty, the entire control needs to be redrawn.
  • CHANGE 22981 DocLangRef: Added Compiler category, and link in Theme section of LR.
  • CHANGE 21842 DocLangRef: Added docs for Shell.Canonical.
  • CHANGE 12885 DocLangRef: Added Signature for Reports.Run that takes a RecordSet.
  • CHANGE 20828 DocLangRef: Clarified ContainerControl.EmbedWithin and added an example.
  • CHANGE 21992 DocLangRef: Documented MSSQLServerPreparedStatement class.
  • CHANGE 22543 DocLangRef: Removed duplicate LoadPage entry in Method list.
  • CHANGE 14250 DocLangRef: Simplified example for Picture.Open.
  • CHANGE 22973 DocLangRef: TextInputStream.PositionB is a read/write property.
  • CHANGE 14413 DocLangRef: Updated deprecation messages for FolderItem.MacDirID and MacVRefNum.
  • CHANGE 20611 DocLangRef: Updated docs to indicate that WebApplication.Icon is used as the FavIcon.
  • CHANGE 23334 DocLR: Local Language Reference updated.
  • CHANGE 7338 DocUserGuide: User Interface Guide has links to platform UI standards.
  • CHANGE 20098 Framework: All exported functions now use RBInteger to prepare for 64-bit support.
  • CHANGE 21636 Framework: MemoryBlock.MidB and MemoryBlock.LeftB now work with MemoryBlocks created from pointers.
  • CHANGE 20369 IDE: Local Language Reference replacements should use more recent information.
  • CHANGE 22404 IDE: Plugins can now be loaded from zip files, which should still have the RBX file extension. It also can now load plugins from ordinary directories. In both cases, the structure must match what has traditionally been inside of the VirtualVolume that the Plugin Converter created.
  • Note that HTML help will only work with VirtualVolume-based plugins in this release.
  • CHANGE 20698 Mac: the ResourceFork class has been removed.
  • CHANGE 22764 MacCocoa: The Cocoa framework now builds against the 10.7 SDK.
  • CHANGE 23033 Remote Debugger: Removed use of ResourceFork.
  • CHANGE 2398 Remote Debugging: Starting with 2012r2 and Debugger Stub 1.9, debugged apps are now compressed with gzip to increase transfer speed.
  • CHANGE 22080 Web: Internet Explorer 7 now requires the ChromeFrame plugin.
  • CHANGE 22278 Web: Perl path for Windows builds is now c:\perl\bin\perl.exe
  • CHANGE 19372 Web: Web Edition Standalone Apps are no longer required to have different Application Identifiers; running on different ports is sufficient.
  • CHANGE 23356 WebSDK: Namespace declaration has been changed to a Constant from an event.
  • Constant JavascriptNamespace as String
  • CHANGE 21298 Windows, Linux: TrayItem fixes:
  • - Now throws a PlatformNotSupportedException when used on OS X - Assigning an empty help tag on Windows now works - App.AddTrayItem would return a false positive on Linux when it really did add the tray item so we'll now assume the tray was added successfully and let the user run their main event loop and use declares to determine the actual state of the tray (i.e. whether or not it was really added). See the TrayItem example which includes the declare to check this.

New in version 2012 Release 1.2 (November 1st, 2012)

  • 22558: MacCocoa: No longer raises an ObjCException when viewing a ContainerControl in the debugger.
  • 22658: Macintosh: Fixed an assertion that was triggered if FolderItem.Item was invoked with an index > 1 on a directory for which the process does not have read access.
  • 21473: Web: Framework: Added a workaround for the iOS 6 Ajax bug.

New in version 2012 Release 1.1 (November 1st, 2012)

  • 22397: Alpha check for r1.1 has been fixed
  • 22326: Carbon: No longer crashes when calling GetData on a Picture loaded from a PICT
  • 22536: Console: using OLEObject no longer fails with an assertion
  • 22340: Console: Using the AppleEvent classes no longer causes a crash on startup.
  • 22318: Debugger: Again works on Mac OS X 10.5.
  • 22274: Framework: Fixed a bug in HTTPSocket and HTTPSecureSocket which caused the synchronous calls to GET, POST and SendRequest to include NULL characters.
  • 22488: HTTPSocket, HTTPSecureSocket: Fixed a regression where synchronous requests could time out even if all of the data was received.
  • 22246: HTTPSocket: Content-Length header is now being reset to zero before each request
  • 22495: HTTPSocket: Headers are now written in the same order as they were in earlier versions
  • 22363: IDE: Binary data written to an XML formatted project file is again properly encoded as hex bytes when needed
  • 4476: IDE: FileAlias is no longer duplicated in saved projects
  • 21876: MacCocoa: Custom tab orders are now respected.
  • 22207: MacCocoa: No longer leaks memory after receiving a drop via DragItem.
  • 18819: OS X: Application menus are now localized properly
  • 22341: Web: Fixed a bug in our session cookie that caused Apache's Mod_Security module to complain.
  • 16235: Web: WebPopupMenu: Fixed a bug where setting an illegal ListIndex did not get changed to -1

New in version 2012 Release 1 (September 3rd, 2012)

  • Real Studio 2012 Release 1 includes over 350 improvements and 3 new features including:
  • Support for OS X Mountain Lion
  • Webkit Support for HTMLViewer on Windows
  • Incremental Reading/Writing of BLOBs in SQLite/REALSQLDatabase
  • Additionally, this release includes support for OS X Mountain Lion, numerous improvements to Cocoa support and 106 specific improvements to Real Studio Web Edition.

New in version 2011 Release 4 (December 7th, 2011)

  • Greatly Improved Support for Cocoa: Significant improvements have been made in this release on Real Studio’s Cocoa-based Mac framework and many projects will now simply work when built with it. There are more than 60 Cocoa-specific bug fixes in this release.
  • Alpha Channels: Graphics now have support for opacity allowing colors to be drawn that are anywhere from totally opaque to completely transparent.
  • Improved Graphics on Linux: On Linux printing at a high resolution can now be done just as it would on Windows or Mac OS X.
  • Improved Graphics on Linux: Graphics on Linux now supports smoother drawing, anti-aliasing, translucency, and hardware acceleration.
  • Improved ODBC Support: Prepared Statements are now supported for ODBC which improves security.
  • Portuguese Support: The Real Studio IDE has now been fully localized into Portuguese.

New in version 2011 Release 3 (August 24th, 2011)

  • OS X 10.7 Lion Support: Several improvements have been made for Lion, Apple’s latest OS update, including support for high quality voices that are now used for text-to-speech capabilities.
  • HTML5 GeoLocation Support: The WebDeviceLocation class now supports the following additional HTML5 GeoLocation features: Accuracy, Altitude, AltitudeAccuracy, Heading, Speed and TimeStamp. This significantly improves location-based capabilities within applications.
  • Easier CGI Deployment: When building a web app, the CGI now has better file permissions to make it more likely they will be correct when the CGI is installed on the web server. This improves web app development efficiency and speeds the installation process.

New in version 2011 Release 2 (June 21st, 2011)

  • WebSockets: WebSockets allow for a direct connection between the browser and the app in a way that is more efficient than HTTP/AJAX. Apps should scale better and be more responsive (especially on iOS and Android). Because WebSockets are only supported by Safari and Chrome, Real Studio created apps will still work with other browsers using HTTP/AJAX as they do today. Currently, WebSockets are only supported for stand-alone web apps, not CGI web apps.
  • WebMapViewer control: The WebMapViewer control allows developers to create interactive mapping applications using Google Maps.
  • GeoLocation: The WebDeviceLocation class accesses the HTML5 GeoLocation capabilities in compatible browsers. It allows a user to request a device's location and, if the user agrees, an event fires that returns the latitude and longitude of the device. The WebMapViewer control works great with the new GeoLocation feature.
  • HTML5 Video: WebMoviePlayer is a control that will attempt to play a video file from a web server; the ability to do so is entirely up to the browser. Using the WebMoviePlayer, users can specify a H.264 video or a Mobile WIFI .M4V and the browser will choose which format is compatible and play it. If nothing is compatible, it will use Adobe® Flash® Player to play the video (version 9.0.32 or later).
  • JSON: Javascript Object Notation (JSON) is an essential tool in making external, online services work. The protocol is a way to represent objects as a string so they can be transmitted across the internet.
  • Cocoa Support: Though still a beta feature, support for Cocoa is nearly complete. Users can now choose to compile their applications with the Cocoa build option. Many users find their apps compile with few if any issues.

New in version 2011 Release 1.1 (April 21st, 2011)

  • Fixed a bug in WebListBox where DeleteAllRows did not clear the selected rows
  • Fixed a bug in the Web Framework which caused touch events to omit touch coordinates when converting to mouse events.
  • Image Views now load & retain their size as set in the initial design when using VCP project types
  • Linux: TextField.SelText now places the text cursor consistently with our other platforms (i.e. Mac/Windows)
  • RbScript: no longer crashes on Core i7 MacBook Pros.
  • KeyUp and KeyDown events now fire on WebPage for IE8
  • Projects saved as VCP will properly reload & display web styles assigned to controls
  • Compiler: the IDE no longer has a failed assertion if a project contains a database.
  • Fixed a bug in WebDialog which caused the underlying WebPage to become unusable when a sheet was dismissed
  • Linux: Picture.GetData now works in Desktop apps

New in version 2011 Release 1 (March 8th, 2011)

  • Easier Deployment of Web Applications: This release removes the prior implementation for FastCGI deployment using REAL Studio Web Edition. The new CGI option outputs a Perl script that acts as a gateway between your web server and your application. The Perl script goes into the cgi-bin folder, allowing for easier hosting and supporting many more hosting services.
  • Improved Web Application Exception Handling: The Session class now has an UnhandledException event to make it easier to trap exceptions that were not handled in code.
  • Improved Web Application JavaScript Error Handling: When an error occurs in the client-side JavaScript a dialog is now presented that gives the user an option to send the error message to the web application. This information is received by an event the developer can implement to log this information.
  • Improved Web Application File Uploading: You can now limit the number of files the user can upload and new events have been added allowing you to determine when a file has been added or removed.
  • Improved XML Support: XML Classes now use LibXML2, which is actively updated.
  • Improved HTMLViewer: The HTMLViewer now supports getting and setting custom user agent strings and increasing/decreasing the font size.
  • Multiuser Support for RealSQLDatabase: RealSQLDatabase now has a new MultiUser property. This allows web applications to permit multiple users access to a RealSQLDatabase file at the same time. This may eliminate the need, for some web applications, to require a database server.
  • Improved WebListBox: This WebListBox now has a CellClick event, just like the desktop Listbox has. It also now has Cell and Column style properties allowing far greater control over the look and behavior of cells.
  • Improved Drag and Drop: The new DragPicture property lets you use an image for dragging.
  • Improved Mac OS X Clipboard Support: UTIs (Universal Type Identifiers) are now supported by the Clipboard class on Mac OS X.
  • New Microsoft SQL Server Support: A new, native Microsoft SQL Server plugin has been added. This plugin supports Windows only.
  • Improved Cocoa support: This release includes a huge number of improvements to our Cocoa framework. See the release notes for more details.

New in version 2010 Release 5.0 (December 14th, 2010)

  • Includes 14 new features and 79 improvements. This release also introduces a new platform, REAL Studio Web Edition!
  • REAL Studio Web Edition is the fastest, easiest way to build web applications because you build web apps the same way you build desktop apps. REAL Studio Web Edition does away with the need to learn multiple web technologies like HTML, CSS, JavaScript, AJAX, PHP and Java by offering a single language and development tool. REAL Studio Web Edition is available as a new edition of REAL Studio and is also included in the Enterprise Edition.

New in version 2010 Release 4 (October 19th, 2010)

  • FIX12 FolderItem.Child now raises an exception on Mac OS if the path contains invalid characters.
  • FIX80 Internal only
  • FIX2241 Windows: HTMLViewer no longer disappears when HTMLViewer.Refresh is called (2010r4b1)
  • FIX3526 The Cocoa MessageDialog now has proper keyboard shortcuts when used as a save dialog (matching other Cocoa applications).
  • FIX8830 Checkboxes in Cocoa now support the indeterminate state. They also respect their initial values.
  • FIX9639 MySQL Community Plugin: no longer depend on Intel libraries on Linux (i.e. fixes the undefined symbol _intel_fast_memcpy error)
  • FIX10498 Linux: Multiline StaticTexts now centers and right justifies properly
  • FIX10551 Checkboxes in Cocoa now respect their initial state. (2010r4a1)
  • FIX10643 Cocoa: PagePanels no longer have a significant delay when switching items. (2010r4a1)
  • FIX11431 StdIn.ReadLine/Read no longer block threads (2010r4b1).
  • FIX11464 The debugger now stops more reliably under Cocoa. (2010r4a1)
  • FIX11483 Controls in other controls no longer jump around wildly when parented in other controls.
  • FIX11677 Cocoa: When a window with a PagePanel first opens, it no longer briefly displays the contents of every pane. (2010r4a1)
  • FIX11733 Focus rings now appear in Canvases if the AcceptFocus and UseFocusRing properties are true in Cocoa (matches the Carbon behavior).
  • FIX11771 MouseDrag event no longer fires continuously if the mouse is not moved.
  • FIX11914 Simply switching tabs in a project does not mark it dirty
  • FIX12044 Application Icon editor calculates correct data channel when accepting an image with translucency.
  • FIX12060 Controls in the report editor now create properly when selecting them in the control list and dragging the bounds out on the report layout.
  • FIX12156 The MessageDialog in Cocoa no longer has accessibility issues when presented as a sheet. Note: This was originally entered as a
  • NEWfeature but was changed to a bug so this release note may appear twice.
  • FIX12157 Under Cocoa, the Window.Activate event now fires after the Window.Open event.
  • FIX12269 Listbox: setting Listbox.CellCheck in code now fires the CellAction event.
  • FIX12360 The Cocoa framework now strips Windows/Linux keyboard accelerators from StaticTextControls.
  • FIX12634 Fixed a bug in SMTPSecureSocket which would not reset the state after finishing sending mail. An SMTP server will usually forcefully disconnect the socket, causing the state to be reset on the next connection. Some servers will sometimes not forcefully disconnect the client. SMTPSecureSocket will now disconnect when asked by the server, allowing future calls to SendMail to function properly.
  • FIX12640 Setting a TabPanel's Value property now works in Cocoa.
  • FIX12672 IDE: hidden items are no longer revealed in Autocomplete list
  • FIX12690 (2010r4b1)
  • FIX12721 N/A
  • FIX12758 Commands being dispatched with the build window as front most were not being handled properly which explains why this bug only manifested itself in builds and not runs. It has been fixed
  • FIX12764 The "special/any" filetype works in Cocoa open dialogs.
  • FIX12765 Bevel button subclasses can be added to window layouts again. This broke in a prior release (2010r4b2)
  • FIX12803 The Cocoa framework now strips Windows/Linux keyboard accelerators from GroupBox, TabPanel, CheckBox, PushButton, and PopupMenu controls (2010r4b1).
  • FIX12805 Local help db is versioned so each release, including separate beta releases, will check and update the db if necessary (2010r4b1).
  • FIX12876 The table presented in Chapter 7 is no longer incorrectly formed. This was a general bug in the rendering code that mishandled the closing wiki table tag (2010r4b1).
  • FIX12890 Default PushButtons that are placed on Canvases or ContainerControls no longer cause the application to deadlock under Cocoa (2010r4b1).
  • FIX12969 The compiler no longer crashes if you specify that your class implements another class (instead of an interface) Instead, it gracefully errors (2010r4b1).
  • FIX12980 Cocoa open and save dialogs now use extensions instead of HFS type codes.
  • FIX12992 OpenGLSurface: the Render event is now called when the OpenGLSurface needs repainting on Windows (this change in behavior makes it consistent now with how it currently works on Mac/Linux)
  • FIX12996 The Action event for DisclosureTriangles now fires in the Cocoa framework.
  • FIX13021 A class that is defined outside a module and used as a moudle property properly autocompletes again (2010r4b1)
  • FIX13038 You can once again get the Text property of a TextField in Cocoa.
  • FIX13049 In the IDE when you uncheck the submenu item in the menu editor the sub menu items are actually removed. This did no happen previously. When you would run the sub menu would appear resulting in a surprising behavior.
  • FIX13058 Lines now draw at the correct width in the Cocoa framework.
  • FIX13059 Cocoa applications no longer crash if you add have a RectControl on the window.
  • FIX13063 Masking now behaves the same in Cocoa as it did in Carbon.
  • FIX13066 The Up and Down events of UpDownArrows now fire on the Cocoa framework. (2010r4a1)
  • FIX13082 QuickTime MoviePlayer: no longer consumes more CPU usage than needed on Windows (probably cuts CPU usage by half)
  • FIX13090 Windows: KeyDown event is now fired for read-only TextFields/TextAreas
  • FIX13102 Sheets now get keyboard focus in the Cocoa framework, even if the maximize button is disabled.
  • FIX13110 Windows: MouseWheel events no longer to to the wrong control (on Windows the MouseWheel events always go to the control that has the focus)
  • FIX13114 Changing the size of a Window in the Cocoa framework no longer causes it to animate. (2010r4a1)
  • FIX13127 RGBSurface: no longer has a public constructor since you cannot create a valid one anyway, and doing so leads to crashes
  • FIX13136 Picture.Save now works with FolderItems with names longer than 28 characters. Note that this does not apply to PICTs, which still use FSSpecs.
  • FIX13149 User MouseMove events now fire for plugin controls placed on windows, even if the plugin doesn't implement the MouseMove event internally.
  • FIX13161 Console: creating an invalid sized picture no longer throws an assertion but an exception instead like we do in GUI apps
  • FIX13163 A bug in the method editor that would occur if you used autocomplete to impelement an inherited method has been fixed.
  • The inherited method would, if it had parameters, leave the parameters inthe method name position which resulted in a compilation error.
  • FIX13202 Picture.Open on a Nil FolderItem no longer crashes but throws a NilObjectException instead
  • FIX13206 Properties once again show up in the expected order
  • FIX13322 Mac Mach-O is now clearly labelled as Mac Carbon Mach-O in the constant editors
  • FIX13323 The SpotlightQuery class now works under Cocoa, instead of throwing a SpotlightException.
  • FIX13324 The AddressBook classes now work under Cocoa.
  • FIX13328 CocoaListboxes now support indeterminate checkboxes.
  • FIX13329 PopupMenu.RowTag no longer leaks on the Mac (2010r4b1)
  • FIX13352 Properties list should no longer sometimes be hidden when opening projects. This was particularly prevalent in the project list view
  • FIX13409 Cocoa: GetOpenFolderItem no longer returns an invalid FolderItem.
  • FIX13419 Layout of events, methods, properties are in alphabetical order in columns instead of across rows
  • FIX13460 Windows: Timer no longer leaks memory
  • FIX13474 Local reference update on major and minor releases as it should
  • FIX13480 Fixed an assertion at runctl.cpp:2343.
  • FIX13523 Several RBScript memory leaks have been fixed.
  • FIX13557 Saving works as expected - web apps are still subject to demo mode restrictions for some editions
  • FIX13560 RbScripts no longer crash the second time they are run if they contain classes (2010r4b3)
  • FIX13593 REALSQLDatabase: SQLSelect with no results now returns a Nil RecordSet
  • FIX13621 ContainerControls no longer crash under Cocoa (2010r4b3)
  • FIX13717 Documentation for record set record count has been updated (2010r4b1)
  • FIX13763 Windows: StaticText no longer leaks (2010r4b1)
  • FIX13767 Cocoa: ListBoxes no longer crash trying to draw checkbox cells
  • FIX13782 REALSQLDatabase: no longer raises an UnsupportedFormatException when retrieving dates/times that are NULL
  • FIX13806 Segmented controls now show the mac style and selection type properties as expect and honor the settings at run time
  • FIX13810 Console Graphics: Picture.GetData can now export JPEG data (2010r4b2)
  • FIX13847 Cocoa: the framework no longer crashes if you attempt to draw a string with an invalid font (2010r4b2)
  • FIX13854 UPdating data in the database editor no longer generates "Not an Error" messages when used with the REAL SQL database (2010r4b2)
  • FIX13884 Hard crash on Mac OS X by dragging a few controls and set the build target to Cocoa fixed (2010r4b2)
  • FIX13885 Cocoa: controls get MouseUp events again, which was broken in a previous beta.
  • FIX13913 Resize handles for the segmented control are placed properly around the border of the control in the form editor not inset as they had been.
  • FIX13961 Searches in the online documentation now include the user guide and real sql documentation namespaces by default
  • FIX14058 Toolbar: removing an item from the Toolbar no longer crashes on Windows
  • NEW2672 OpenDialog class now allows for multiple file selections.
  • Added a MultiSelect As Boolean property on the OpenDialog class which is OFF (False) by default.
  • ShowModal still returns a FolderItem, but in the case of a MultiSelect OpenDialog the FolderItem returned will be the first selection. To obtain a list of all the FolderItems selected we've added an Item(zeroBasedIndex As Integer) As FolderItem property along with a Count As Integer property.
  • NEW9765 A segmented control class has been added to the desktop framework. It is supported for all targets, but not all features are supported on other platforms:
  • on Carbon, only an icon or text can be specified, not both
  • MacControlStyle is only supported on Cocoa
  • Class SegmentedControl
  • dim selectionType as integer
  • dim macControlStyle as integer
  • dim items() as SegmentedControlSegment
  • Event Sub Action(itemIndex as integer)
  • Sub SizeToFit()
  • End Class
  • Class SegmentedControlSegment
  • dim selected as boolean
  • dim enabled as boolean
  • dim title as string
  • dim helpTag as string
  • dim icon as picture
  • dim width as integer
  • End Class
  • NEW11388 Listbox: added ColumnTag( column As Integer) As Variant property
  • NEW12211 The search field on the language reference will search the online wiki
  • NEW12731 RBScript optimization is now done on a background thread, so that REALbasic threads will continue to be responsive.
  • NEW12760 Dialogs have been updated to indicate that the minimum versions is now Windows XP and higher
  • NEW12877 Make External has an ellipsis as it should
  • NEW12961 Console apps on the Mac no longer require QuickTime (i.e. we no longer link against the QuickTime framework)
  • NEW13069 ObjCExceptions now populate the message property based off of the NSException's reason (if it's an NSException).
  • NEW13148 Listbox: Addrow now takes additional parameters, these are used to populate the cells for that row
  • NEW13169 Added WebImageView.ProtectImage property. When true, the user will be unable to drag the image. This is a design-time only property.
  • NEW13193 Graphics: Added an AntiAlias As Boolean property used to draw smooth lines and shapes, including text where applicable. This property is true by default and works for Mac (Carbon and Cocoa), Windows (GDI+ must be enabled) and Console graphics. It has no effect on Linux currently (2010r4b2)
  • NEW13201 The segmented control has been implemented and can be used in Carbon, Cocoa, Windows and Linux.
  • NEW13232 Console apps: now supports loading/saving JPEGs
  • NEW13269 "Build for current platform" builds for Mac OS Intel since the IDE is no longer available as UB or PPC
  • NEW13296 A
  • NEWfunction (REALCopyPictureCGImage) has been added to the plugins SDK to get the CGImageRef of a picture. Note that this function only works under the Cocoa target.
  • NEW13300 Web projects obey intended restrictions based on edition of REAL Studio in use
  • NEW13309 - this not should NOT be part of the release notes as its intended for internal use only -
  • NEW13311 Database items now show the external badge
  • NEW13339 A
  • NEWtemplate has been created for the wiki called "Ctor" ( or constructor in many OO abbreviations)
  • The template had to be called something not already in use.
  • It may require additional tweaking as Dave works with it.
  • NEW13372 The subscript operator can now be overloaded by classes. To use it, implement Operator_Subscript in your class.
  • The ReDim statement can now be overloaded by a class. To use it, implement Operator_Redim in your class.
  • NEW13402 The AddHandler and RemoveHandler statements have been added to the language. These allow you to add event handlers to objects at runtime.
  • Note that you can only have one handler attached to an event at one time. Attempting to add more than one handler will result in a RuntimeException.
  • NEW13434 Added Label class to replace StaticText class (which is now deprecated)
  • NEW13740 The
  • NEWproject dialog now has open recent and open existing buttons along with a revamped look (2010r4b2)
  • NEW13776 The project list now has "show on disk" in the contextual menu when a REAL SQL database is selected (2010r4b2)
  • NEW13785 Added Close method to WebControl to allow disposal of dynamically created controls.
  • NEW13827 The
  • NEWProject dialog responds to cmd-O (2010r4b2)
  • Has updated buttons as well
  • NEW13934 Added WebObject.Page property. Controls can use this to determine which page a control is on.
  • NEW13958 The "Loading" progress dialog no longer tries to show the full path to the project being loaded as this path could easily exceed the dialogs width and not show anything useful. It now shows just the name of the project being loaded
  • CHANGE 12715 Internal refactoring.
  • CHANGE 12751 Internal refactoring.
  • CHANGE 13048 Internal refactoring.
  • CHANGE 14071 Issues with pre-rendered database pages have been corrected in this release of the database

New in version 2010 Release 3.2 (September 28th, 2010)

  • Fixed various controls that were leaking memory, also affected how much memory the IDE would eat up causing crashes in out of memory situations

New in version 2010 Release 3.1 (September 8th, 2010)

  • The Separator control now uses the size specified in the IDE, instead of only the default size in the Cocoa framework.
  • The BevelButton control in the Cocoa framework now supports all button types that were supported in the Carbon framework. (2010r3.1fc1)
  • REALSQLDatabase: DatabaseField.Value no longer returns a string for numeric types
  • REALSQLDatabase: Queries with empty strings no longer comes back as NULL
  • The Graphics objects passed into Window.Paint and Canvas.Paint now have valid CGContextRefs. Note that contexts obtained through RectControl.Graphics or Window.Graphics still will not. (2010r3.1fc2)
  • MouseDown events are now sent to Cocoa plugins. (2010r3.1fc2)
  • Users Guide is accessible on Windows as it should be (back and forward also mentioned in this case are in report 12609) (2010r3.1fc2)
  • Switching between local and online references appropriately updates the toolbar (2010r3.1fc2)
  • Pictures loaded from the project in Cocoa now have their mask set correctly. (2010r3.1fc2)
  • Fixed a case where RBScripts that raise exceptions could get into a state where they would either crash or loop forever. (2010r3.1fc2)
  • Linux console apps no longer depend on libfontconfig or libfreetype to be present on user's machine (2010r3.1fc1)
  • Navigating from one chapter section to another works as expected again (2010r3.1fc2)
  • ServerSocket.Listen now resumes listening again after StopListening is called (2010r3.1fc2)
  • Demo features no longer disappear after initial launch of IDE (2010r3.1fc2)
  • Graphics.Handle returns zero on images (2010r3.1fc2)
  • The RBScript plugin now loads on 10.4 instead of causing a crash due to missing symbols.
  • GoTos work in RBScript again. This was broken in fc2.
  • The search field on the language reference will search the online wiki
  • Searches are now saved as part of history and the results are much better presented for simple searches
  • Online wiki has a search field on the top tool bar like the local wiki does (2010r3.1fc2)
  • with tags preserves those tags

New in version 2010 Release 3 (July 27th, 2010)

  • LLVM for RBScript: RBScripts now run up to 17 times faster than in previous releases. Using LLVM for RBScript is the first step towards the adoption of LLVM for building applications in REAL Studio.
  • Cocoa (Beta): The option to build for Cocoa is now available, but is at the beta stage. There are some new features for Cocoa builds, such as Pushbutton now has a ButtonStyle property that gives access to nine new styles of pushbuttons.
  • Documentation: The REAL Studio documentation is now locally stored and the user can choose between viewing the local version or the online documentation, http://docs.realsoftware.com.
  • Reporting Improvements: To make reporting easier, reports can now take a RecordSet directly to report upon.
  • Database Improvements: ODBC and REALSQLDatabase queries and updates no longer block the other threads while they are executing. This allows users to make their user interface more responsive.
  • Graphics Improvements: All of the graphics classes are now supported in Console applications. Also, pictures can now be copied to and from MemoryBlocks using a variety of picture file formats. Since memoryblocks can be transformed into strings, this allows the user to store pictures without having to write them to the disk first.
  • XML Classes: The XML classes have been updated to use libxml2, a modern, well-maintained XML library.

New in version 2010 Release 2 (May 4th, 2010)

  • FIX 3531 Applications no longer crashes when catching an exception without declaring a variable, for example this would often lead to a crash:
  • FIX 5809 [Mac] StyledTextPrinter now respects text alignment.
  • FIX 6205 [Mac] App.ExecutableFile now reports correctly for console apps that have not yet been saved.
  • FIX 6737 Controls on ContainerControls no longer bleed through Page/TabPanels.
  • FIX 9035 Autocomplete causes window change in XP. Minor changes to the code editor _should_ correct this problem from appearing.
  • (It's a hard bug to reproduce reliably so the fix may not prevent all occurrences)
  • (Ranked #9 in Feedback at the time of fix).
  • FIX 9163 XML Plugin: An invalid XPath syntax in XQL can now be caught by exception handler.
  • FIX 9324 A bug in drawing the list of object 2d's to the printers graphics on windows has been fixed.
  • FIX 9605 [Windows] Exceptions thrown in Console apps can now be caught properly.
  • FIX 9608 [Windows] MoviePlayer now fires Play/Stop event.
  • FIX 10184 [Mac] Movies created on the Mac (using FolderItem.CreateMovie) no longer contain a resource fork (this prevented the file from being opened on a PC).
  • FIX 10399 [Windows] Graphics are no longer enlarged when printing with App.UseGDIPlus enabled.
  • FIX 10542 [IDE] Debugger no longer crashes when inspecting property accessors that return strings (the crash usually occurred after Resuming and Breaking again).
  • FIX 10623 App Icon editor behaves better. Right clicking on items now works regardless of whether you have clicked on other items or not. Add will add an image or mask depending on which item you right click on. Drag and drop support for ICNS files should be improved. Cut and paste also works better from one size to another.
  • FIX 10664 Subclasses of report controls now image themselves in the report designer properly.
  • FIX 10690 Build sheet no longer displays outdated information.
  • FIX 10797 [Windows] Listbox headers now flicker less when columns are resized.
  • FIX 10806 The Compiler no longer asserts when comparing non-objects with Is operator. It now reports an error.
  • FIX 10807 [IDE] A potential unhandled KeyNotFoundException when dragging controls in the Window Editor has been fixed.
  • FIX 10822 CFBundleVersion should NOT include letters and should just be a period separated list of integers.
  • This fixes the issue and always writes CFBundleVersion as major . minor . bug . stage code . nonrelease
  • Stage codes are 0 = development, 1 = alpha, 2 = beta, 3 = final
  • FIX 10863 Updated the Compiler to find databases related to the Data Control.
  • FIX 10878 Tabbing into a boolean property in a property list you can use F, 0 or False to set the boolean to false. Anything else will be considered true.
  • FIX 10901 Fie type lists will properly concatenate with ; separators when using addition operators.
  • FIX 10907 Most control properties can be set using constants again. This bug was introdued in a prior release.
  • Some, like TabIndex, that are interdependent on other control tabindexes acannot be set using constants.
  • FIX 10947 A crashing bug in REALSQLDatabase triggered by a MoveFirst method on an empty RecordSet is fixed.
  • FIX 11071 [Language Reference] CurrentExecutingMethodName Referenced in Sub and Function. Should be CurrentMethodName. Fixed on the Wiki.
  • FIX 11204 Bolding of notes now works properly even if you have only 1 line with no end of line.
  • FIX 11239 [Windows] TextField.CharPosAtXY now works properly instead of always returning 0.
  • FIX 11289 [Windows] FolderItem constructor no longer fails when the path provided is in UTF-16.
  • FIX 11326 [Mac] Text files dropped into a project can now be accessed in Console apps.
  • FIX 11331 [Mac] Calling ContainerControl.Close from an Event within the ContainerControl that is being closed no longer crashes.
  • FIX 11363 [Windows] Listbox.CellTextChange event now fires properly.
  • FIX 11374 The PostgreSQL Plugin now quotes the host string if needed (mainly to support domain sockets which are paths).
  • FIX 11419 Added support for importing ActiveX controls that do not expose a dual interface (i.e. ones that only support the IDispatch interface like Modbus and Adobe Photoshop CS4).
  • FIX 11429 TextInputStream.ReadLine now reads UTF16BE encoded text properly.
  • FIX 11430 [Windows] Toolbar no longer overlaps client area when toolbar buttons (other than the first one) have icons assigned.
  • FIX 11440 Windows: the TaskBar now reappears when running a project through the debugger and stopping it with MenuBarVisible disabled
  • FIX 11458 [Windows] LineControl is now properly offset when a Toolbar is present.
  • FIX 11477 Switching from the Window Editor to the Code Editor while changing a property will properly commit the edit.
  • FIX 11493 PagePanel: Removing the current page now triggers the Change event.
  • FIX 11506 [Linux IDE] Typing Shift+W in the code editor no longer triggers the Close Window menu item.
  • FIX 11512 [Linux] FolderItem.Length now correctly reports the file length when the file is an alias file, instead of incorrectly reporting the length of the file it's aliased to.
  • FIX 11520 Typo in reporting example that set one reoslution to -300 when it should have been 300 has been corrected.
  • FIX 11532 Breakpoints set in report control events now clear properly when you choose Clear All Breakpoints.
  • FIX 11538 The IDE will now disallow an empty type field for a property.
  • FIX 11548 Compiler no longer throws a failed assertion and crashes when declaring invalid syntax like Window.EndOfLine (an error is thrown instead now).
  • FIX 11588 [Linux] Toolbar captions are now visible.
  • FIX 11610 Val now returns the correct value for large hexadecimal numbers (like &hADDD3000).
  • FIX 11618 [Compiler] #pragma Unused no longer crashes the compiler if no variable name is specified.
  • FIX 11625 [Date] Date constructor no longer fails with ambiguous compile error when Int64s are used as parameters.
  • FIX 11667 [StaticText] Added Transparent As Boolean property. Use this property to set the transparency of this control. For example if you overlay a StaticText on top of a Canvas/Image then if Transparent is true, the text will overlay transparently (i.e. the background shows through). This property only applies to Windows (a non-Transparent StaticText control will not cause any flicker), on Mac OS X and Linux, the StaticText will always render transparently regardless of this property value.
  • FIX 11675 [Canvas] Backdrop now draws properly when DoubleBuffer is enabled (and the user doesn't have any code in their Paint event).
  • FIX 11700 [Windows] Closing a ContainerControl that has a Default PushButton no longer crashes when you press Enter/Return afterwards.
  • FIX 11709 Showing the method editor fields no longer automatically selects a new name.
  • FIX 11723 [Windows] GroupBox contents no longer flickers when GroupBox is resized.
  • FIX 11727 [Windows] The flicker for Oval and RoundRectangle controls when resized/moved hasbeen reduced.
  • FIX 11737 [Windows] Reduced flicker of Tabpanel contents when Tabpanel is resized.
  • FIX 11772 Notes can no longer be entered without a name.
  • Reading in a project that has a note like this will no longer cause an exception.
  • FIX 11808 Reports will, when saved by the new IDE, reload as created from VCP projects.
  • FIX 11840 New Window once again opens a new window on a project. This was broken in a previous release.
  • FIX 11842 [Linux] System.SerialPort and SerialPortCount now include USB-to-Serial adapters.
  • FIX 11848 Reports and all their contained items can now be searched.
  • FIX 11854 [Linux] The drag rectangle displayed while dragging now properly updates when dragging over plug-in controls.
  • FIX 11874 A bug in saving recent menu items that could result in an out of bounds exception has been fixed.
  • FIX 11911 [Mac] PopupMenu no longer leaks RowTags when Closed or DeleteAllRows is called.
  • FIX 11920 UI elements that do not function with the wiki have been removed.
  • This includes the larger / smaller controls and the location item which is redundant with the Wiki
  • FIX 12000 [Windows] Graphics.DrawPicture now scales the picture properly when UseGDIPlus is enabled.
  • FIX 12006 The build progress window shows the actual application icon if there is one, or it shows a generic application icon if one is not there.
  • FIX 12057 Redundant page removed
  • NEW 3 Added StaticText.Selectable As Boolean.
  • Use this property to allow the StaticText caption to be selectable. You can use the default menu shortcuts to copy the selected text. At this time only Cocoa and Linux is supported.
  • NEW 1396 The entire REAL Studio documentation set is now available on the Wiki (http://docs.realsoftware.com/)!
  • NEW 4994 A new preference for printing allows you to select whether an image of the the layout of a window is included as part of the printing.
  • NEW 9713 The splash screen and about box will say the specific development, alpha or beta version once bug 11533 is fixed.
  • NEW 10674 The IDE now goes to the specific items on the Wiki if it can. If not it will try and show the PDF.
  • NEW 10697 [Windows] Built apps that use plugins (compiled out as DLLs to your "My Application Libs" folder) can now find the DLLs in one of 3 locations:
  • 1. By default we build a "My Application Libs" folder and the built app can find the DLLs in there
  • 2. You can also move the DLLs into a "Libs" folder
  • 3. Or you can move the DLLs next to the built app
  • NEW 10699 Small icon sizes should appear better (Fixed as part of report #10623)
  • NEW 10932 Report groups have a new property, StartNewPageAtEndOfGroup that will, if set, start a new page after the group footer has been rendered (Ranked #13 in Feedback at the time of fix).
  • NEW 11253 The IDE now saves the setting of the use 2006r3 encryption from use to use and run to run.
  • NEW 11414 [Linux] System.Network.IsConnected now works.
  • NEW 11428 Canvas.DoubleClick event now fires even if you return true from the MouseDown event.
  • NEW 11472 REAL Studio has a new preference for how many recent items to track and show. If you set this value to 0 no recent items will be shown.
  • NEW 11620 New Function IsValidData (s As String) As Boolean has been implemented.
  • NEW 11620 Added IsValidData function to TextEncoding class to check if a string is valid for that encoding:
  • NEW 11707 [PostgreSQL Plug-in] SQLSelect and SQLExecute no longer block REALbasic threads.
  • NEW 11931 SSLSockets and the subclasses of it default to SSLv3.
  • NEW 11971 MySQL Community Plugin no longer blocks REALbasic threads when calling SQLSelect or SQLExecute.
  • NOTE 9174 Report fields and labels that have their Italic and / or property set no longer clip when aligned left.
  • NOTE 11073 The IDE will attempt to access the Wiki if you are connected to the internet.
  • If you are not it will attempt to show the PDF version of the Language Refererence.
  • If it cannot do either a message saying it cannot connect and cannot find the PDF will be shown.
  • CHANGE 11681 The IDE now uses the corect URL's for all of the Wiki items.
  • They go to a redirect page on the site that can direct them to the correct final location.

New in version 2010 Release 1 (February 10th, 2010)

  • FIX 1444 Listbox: UTF-16 strings now display properly.
  • FIX 6184 Fixed an endian issue with QTTrack.MediaType on OS X (Intel) and Windows
  • FIX 6681 Fixed a weird bug where after opening a VCP project the first time you changed the text in a menu item it would also rename the item. It would not do that after you had changed it once.
  • FIX 7062 Fixed a bug that occurs when the path of the attached database contains an apostrophe character.
  • FIX 8950 Report variables show in the debugger
  • FIX 9068 A bug in autocomplete where it would not present the named items of an enumeration in a framework class / module has been fixed
  • FIX 9074 Lines can be added to reports as expected and they no longer disappear from view
  • FIX 9605 Windows: exceptions thrown in Console apps can now be caught properly
  • FIX 9689 Reports.Document.Save now takes an optional "base page name" parameter. It defaults to "Page"
  • Pages saved will be named using the base name + page number.
  • The SaveFile parameter must be a directory.
  • If you pass NIL you get a nil object exception (error 1)
  • If you pass a file instead of a directory you will get an unsupported format exception (error 2)
  • Both will have suitable error messages
  • FIX 9729 Installing Feedback from Linux IDE now works properly
  • FIX 9823 Copy file steps save and restore paths relative to the project file instead of absolute paths.
  • FIX 9954 A Nil Object Exception in pre build Build Automation steps has been fixed.
  • FIX 10125 Windows: Terminal Services ActiveX control now receives events.
  • FIX 10152 IDE: Line control's X1, X2, Y1 and Y2 properties can now be edited.
  • FIX 10221 Windows: the QuickTime MoviePlayer controller no longer takes up movie space (this made the movie resize and so it would look blurry).
  • FIX 10258 Shell: the data/result returned back from the Shell now has an encoding set (it is UTF8 on Linux and OS X, and DOSLatinUS on Windows)
  • FIX 10276 An issue in the compile process where console applications would not have their post build steps run has been fixed.
  • FIX 10334 The Find dialog and Find All dialog will retain the value was last entered IF no text is selected in a code editor.
  • A prior release broke this behavior.
  • FIX 10358 Console apps: using IPCSocket no longer triggers a Failed Assertion.
  • FIX 10389 Listbox.TypeEditableTextArea now works on Windows and Linux.
  • FIX 10421 Fixed the case where if you slected the Build item in a target then added a new build automation step the new step would be added to the end of the project's list of items instead of to the end of the enclosing targets list of steps.
  • FIX 10529 A bug where reading some preferences would convert values from integers to doubles has been fixed.
  • FIX 10596 Compiler no longer throws a failed assertion when building Windows/Linux apps when a file of the same name already exists and a directory of the same name is required to be created.
  • FIX 10677 Linux: TextField text no longer turns grey when moving/resizing the window.
  • FIX 10696 A bug where items that should not be visible in the contextual menu of the form editor has been corrected
  • FIX 10713 Closing a ContainerControl from a control that lives on the ContainerControl no longer causes random crashes (usually seen when resizing).
  • FIX 10715 A memory leak in the Report class has been fixed. Reports had a circular reference which caused the leak.
  • IMPORTANT - Reports now have a CLOSE method that should be called. Failing to call this when you are done with a report can result in leaking memory.
  • FIX 10716 The documentation for the menubar property of the window class has been updated.
  • FIX 10728 External items in the project editor list always had the Property List Behaviour item disabled. This is now enabled based on the type of the item and not just disabled becuase the item is external.
  • FIX 10804 If a class has a deprecated attribute it will be displayed in the Code Editor with a red D indicator instead of the more generic red A which indicates the item has attributes.
  • FIX 10810 Windows: setting TextArea.StyledText.RTFData no longer causes multiple SelChange events to fire
  • FIX 10919 Shell.Execute with parameters now works again on Mac OS X.
  • FIX 10948 Fixed a memory leak in the SQLSelect method.
  • FIX 10981 This fix reverts the patching of the lock left lock top properties when a project is loaded.
  • Controls will have lock left & lock top set by default but if the user turns that off they will remain that way when the project is reopened
  • FIX 11006 If you have to relocate external items in a VCP project when it's loaded the project will be marked dirty
  • FIX 11014 A nil object exception when building console apps has been fixed
  • FIX 11035 Reports do not need to be specifically closed any more
  • FIX 11045 When you cancel compiling the plugins for a project the compile will be cancelled
  • FIX 11072 The contextual menu in the code editor has had one item's text corrected so it provides moree information (it used to say turn off / turn on) but now says Turn Breakpoint On (or Off appropriately)
  • The Help item has been moved to the end of the contextual menu to match the form and report editors
  • FIX 11087 Fixed an encoding bug that occurs when a numeric type is appended to a text type in a new string.
  • FIX 11105 Mac: Console Apps no longer raises assertion failure, on case sensitive HFS+ filesystems, when plug-ins are used
  • FIX 11108 Copy files steps use a relative path to files that is svn and cross platform
  • FIX 11113 An issue where simply openeing an existing project that had tabs open could mark the project dirty has been fixed
  • FIX 11164 Locking settings on the IDE Script Step editor have been adjusted so the editor behaves better.
  • FIX 11205 Builds steps from projects created prior to 2010 r1 b2 will no longer cause nil object exceptions.
  • There is the possibility that any files that cannot be located may be dropped from the build step.
  • You are encouraged to check your steps or recreate them with this beta.
  • NEW 29 The Filetypes Editor now has a new column for the entry of the filetype UTI.
  • This information will be added to the the Mac OS X plist if present.
  • NEW 46 Canvas: Added DoubleClick(X As Integer, Y As Integer) event.
  • NEW 53 Listbox.ActiveCell now returns a TextEdit base class which can either be a TextField or TextArea control. To specify which one the Listbox uses you can use the new TypeEditableTextArea constant. For example:
  • Listbox1.CellType(0,0) = Listbox.TypeEditableTextArea
  • Listbox1.CellType(1,0) = Listbox.TypeEditableTextField
  • NEW 9806 Search results can now be printed.
  • NEW 10085 Added DragItem constructor:
  • DragItem( w As Window, x As Integer, y As Integer, width As Integer, height As Integer )
  • Where w = the window that the drag originates from, the x, and y coordinates are also relative to this window. It can also be a ContainerControl.
  • x, y, width, and height are the size/bounds of the drag rectangle
  • Also Deprecated RectControl.NewDragItem, and Window.NewDragItem
  • NEW 10099 Canvas: added Activate and Deactivate events.
  • NEW 10128 Two new controls have been added to the Report Editor. They are the Date control which allows you to drag a control onto a report that will show the current date the report is run and the page number control which will display the current page number.
  • NEW 10147 All project types will present a dialog when they open projects that are saved in newer versions.
  • VCP projects did not do this previously.
  • NEW 10183 Windows: improved our ActiveX support, now generates support classes instead of just the main automation class and now imports additional type libraries that are referenced within another.
  • NEW 10263 OLEObject: Added a Handle As Ptr property that returns a pointer to the IDispatch interface that is being used.
  • NEW 10457 Compiler no longer adds an .exe extension to Windows builds if .scr (screen saver extension), or .com (command file extension) is present in the file name.
  • NEW 10480 Shell Completed event and Close method are now better documented.
  • NEW 10552 All changes required to update the name of the product to REAL Studio have been implemented.
  • NEW 10631 Menu item arrays are now documented.
  • NEW 10633 Syntax help that appears in the status bar no longer disappears while typing parameter names.
  • NEW 10719 REALSQLServerDatabase is now documented in both the User's Guide and the Language Reference.

New in version 2009 Release 5 (December 1st, 2009)

  • Windows IDE: having a lot of controls on the window no longer prevents the contextual menu from firing.
  • The icon editor has been redesigned so that the icon , mask and preview panes resize proportionaly.
  • Copying a script build step no longer causes an exception.
  • Listbox: you can now properly set the DragItem object's drop position/size in the DragRow event (this was a fix for Mac OS X - Carbon).
  • Report Editor: improved alignment guides especially when trying to align a control's left/top to another control.
  • Performance when converting RTF to Styled Text has been improved and conversion from Styled Text to RTF should be much faster (as much as twice as fast on large blocks of text in our tests).
  • Speed and correctness of RTF conversion has been improved
  • Event pages in the Language Reference now have the class as a clickable link.
  • Nulls are no longer inserted in the name of the font in RTF data on Mac OS X.
  • Saving this data to a file and opening in Word will show the proper fonts for the various style runs.
  • The conversion to RTF no longer inserts nulls in the font names
  • Windows: Menu icons with masks now draw properly on Windows Vista and Windows 7.
  • When viewing dictionaries you no longer have to click on them to view the contents. Refreshing should occur as you move your mouse. This is to keep overall processing requirements down and keep responsiveness up.
  • Report objects can now be seen in the debugger.
  • Escape and Enter keys now behave as expected to cancel / accept the IDE Script Step editor dialog box.
  • Windows: MenuItem icons with white transparent pictures now draw transparently on Windows Vista and Windows 7.
  • The Build Progess dialog box now refreshes better.
  • Upgraded REALSQLDatabase to use sqlite version 3.6.17.
  • The Select All menu item now works in the IDE Script Step editor.
  • Windows: BevelButton's caption background now draws through transparently when placed on a GroupBox.
  • Autocomplete now shows parameters on Windows and Linux.
  • Windows: disabled BevelButtons now draw their border.
  • Attributes now save and reload properly on all platforms.
  • An issue with build automation where steps did not respect the Applies To setting has been resolved.
  • An issue while loading projects on Windows that could result in an "Unknown project type" message has been fixed.
  • The Wordwrap and Multiline propetrites of report fields and labels now work properly.
  • An issue where an error loading a project could result in a build target outside of the Build Automation list has been fixed.
  • File references in Build Automation have been revised to use SaveInfo that is NOT relative to the project file as this could cause exceptions in unsvaed projects. Any previously saved steps may need to be revised.
  • You can no longer attempt to make external, export or encrypt build automation, build targets and the various steps.
  • You cannot export, encrypt or make build automation items external at this time. Menus properly disable so you are not mislead to thinking you can.
  • Windows IDE correctly detects that Feedback is installed on the first try, rather than only on subsequent tries.
  • Windows: right clicking on a PushButton, Slider, RadioButton (and possibly others) that are embedded inside a GroupBox no longer crashes.
  • Listbox.CompareRows no longer fires when no column is selected.
  • An extraneous prebuild debug log message as been removed.
  • Some items in the online Language Reference that were in the wrong category have been fixed.
  • Compiling for PPC machines no longer generates a stack size error for the vast majority of projects. There may still be extreme cases where they will still occur.
  • same notes as before
  • Listbox: LastIndex is now updated properly when DeleteAllRows or RemoveRow is called.
  • Windows: "Application" TextFont now maps to "Microsoft Sans Serif" when GDI+ is enabled.
  • Linux IDE: methods parameter field no longer "turns black" when editing.
  • Windows: BevelButtons now draw their border again when an icon assigned is larger than the button.
  • StringShape's default text is now an empty string "" instead of "-".
  • Windows now correctly detects the Feedback app is installed on the first try.
  • Connecting COM events no longer crashes the application.
  • Adding an old REALDatabase to a project and trying to edit it will not cause a failed assertion in the IDE.
  • Buttons on the Database Query Dialog resize appropriately for longer captions in localized versions.
  • Report Editor: control selection highlight now fits the control bounds instead of drawing a few pixels too big.
  • Windows: Graphics.DrawPicture no longer draws Transparent-White as Black.
  • Issues where clicking the the Find All button in the Find dialog would not search the last line of a method/event have been corrected.
  • IDE: Edit Code contextual menu item is now displayed properly on non-English systems when clicking on a plug-in based control.
  • The Build Automation string in the IDE should NOT have been set to be localizable. It is no longer.
  • This _may_ cause a new build automation file to be written the next time a VCP file is saved in a non-English locale.
  • The IDE Build Automation Script editor responds to Command-Return like it would for the Enter key. This causes the default buttons action to occur.
  • Removing a tab from a TabPanel (with the removal being done by a control on that panel) no longer crashes.
  • StyledText and StyleRun now support floating point font sizes.
  • MySQLCommunityServer: GetInsertID and GetAffectedRows now return a UInt64.
  • The bug that allowed the nil object exception to happen in the Calendar.rbp example has been fixed.
  • Command-W and Command-Shift-W behave the same with only one tab open and will close the window.
  • They still behave as "Close Window" and "Close Tab" when there is more than one tab open.
  • An issue with autocomplete where it would not properly autocomplete a variable inside a constructor has been fixed.
  • If a project somehow has no build automation list a nil object exception would be thrown. This has been fixed.
  • An issue where certain types of new projects could end up with no build steps has been fixed.
  • This fixes an eventual nil object exception when trying to build these projects.
  • The LockCheck example has been updated.
  • The Custom Drag example has been updated.
  • Linux and Mac OS X: Shell class now returns the correct exit code when process is killed by signal.
  • The Destination Property example has been updated.
  • Shell: Mac OS X Shell now uses Linux implementation, which fixes a bug with Async shells not firing the DataAvailable event when child process doesn't yield sufficient time, and also calling Close now fires the Complete event.
  • Copy steps in the prebuild path cannot operate correctly when copying to any meta location as they dont exist yet. The exception that was raised by doing this has been fixed.
  • An issue where printing with very small point sizes could result in the text overlapping has been fixed.
  • File > Exit properly quits the IDE even when you have the "Quit when last window closed" option unchecked.
  • Linux: HTMLViewer no longer causes application to abort on Ubuntu 9.10
  • Shell: no longer hangs when calling Close on an interactive shell on OS X 10.6.2.
  • TextField and TextArea now have a common super class called TextEdit.
  • IDE now has a feature to show all existing break points as search results.
  • REALbasic is now code signed on Mac OS X.
  • HTMLViewer: Added Print method to print the entire web page.
  • TextOutputStream.Append( file As FolderItem) As TextOutputStream has been added replacing FolderItem.AppendToTextFile which is now deprecated.
  • Added SelText property to TextEdit class.
  • The IDE Script Step editor sheet is resizable on Mac OS X.
  • Pressing Command-Delete in the Code Editor on Mac OS X behaves like a forward delete.
  • Windows: Graphics.DrawPicture now uses GDI+ to draw the image (if App.UseGDIPlus is enabled).
  • By default new controls will have lock left and top set.
  • Existing controls will be altered ONLY if right and / or bottom are not set.
  • Existing behaviour with no locks set is as though lock left and top are set so this makes that behavior explicit and obvious.
  • The "dirty flag" and event have been implemented. Their name is ContentsChanged and the event and property have the same name. Setting the ContentsChanged property will set the property and raise the event. The event is raised whenever there is an assignment to the property.
  • The "Modified" property has been renamed "Dirty" as it is more indicative of the purpose.
  • A new event, DirtyStateChanged, has been added.
  • The "dirty flag" and event have been implemented. Their name is ContentsChanged and the event and property have the same name.
  • Setting the ContentsChanged property will set the property and raise the event. The event is raised whenever there is an assignment to the property,
  • You can now construct a MouseCursor from a Picture.
  • Added a new constructor to MouseCursor class that takes an image and an x,y hotspot:
  • MouseCursor( image As Picture, xHotSpot As Integer, yHotSpot As Integer )

New in version 2009 Release 4 (September 29th, 2009)

  • 97 Bug Fixes:
  • Method names/view properties are now saved in VCP projects in sorted order.
  • Pasting text into the Code Editor strips low ascii characters that can cause issues.
  • Some issues with the create missing method assistant should be resolved.
  • Changing time zones no longer causes the IDE to need to be re-authenticated.
  • Projects with attributes are now loaded properly instead of being deleted.
  • An issue where the constant editor would not retain changes has been fixed.
  • The REALbasic About box now closes when pressing CMD-W or ESC on Mac OS X and when using CTRL-W on Windows / Linux.
  • A NilObjectException in Menus.AddToContainedMenu when the menu has no items in it has been fixed.
  • Windows: A TextField on a ContainerControl now honors its textcolor and backcolor properties.
  • Mac OS X: A disabled TextArea or TextField now hides its selection.
  • An issue in the SMTPSocket and SMTPSecureSocket that could result in authentications being mishandled has been fixed.
  • Windows: Setting the TextField.Password at runtime now updates the TextField properly instead of requiring a refresh before the change takes affect.
  • Cloning controls in nested ContainerControls now works properly.
  • A bug that occurred where copying and pasting a computed property would mistakenly add a default value which is syntactically invalid, has been fixed.
  • BevelButtons with the No Bevel type no longer over draws on Vista.
  • Windows: TextField Alignment property now works properly.
  • Windows: The backspace/delete keys now function again in Method Name Combobox in the IDE.
  • Compiler no longer throws an assertion when a name of a control is invalid, it now reports it as a compile error.
  • Mac OS X: Debugger now shows listbox RowTag values in the IDE.
  • Search Results editor now shows the name of the window for results involving icons and images that were searched for by name.
  • Localization files (i.e. the .mo files in the Resources folder) are now recreated when building for Windows or Linux.
  • An issue with the project item contextual menu not showing all possible sub menus has been resolved.
  • An exception in the Search Results Editor when searching classes that had their super class adjusted via the Issue Resolution dialog has been fixed.
  • Listbox.ActiveCell now returns TextField instead of an Editfield.
  • Toolbars and toolitems are now part of search results.
  • Mac OS X: ComboBox now auto scrolls to the left when it loses focus.
  • Object2D.RoundRectShape now draws its border properly when the graphics context is clipped.
  • Linux: ComboBox control autocomplete now works.
  • SSLSocket no longer scrambles data or crashes randomly when reading data. This also affected HTTPSecureSocket which is based off of SSLSocket.
  • A recoverable assertion has been disabled as the issue is being recovered from without user intervention.
  • Windows: BevelButtons now draws using the Visual Theme, this makes the BevelType obsolete except for "No Bevel" which still draws like before.
  • ActiveX controls now load properly for RBP/XML project formats, and is now supported properly in RBVCP project formats.
  • Activation dialog buttons are now sized properly for localization.
  • Linux: SelectColor now uses the color supplied as the default color instead of pure white.
  • Windows: Calling MsgBox with Retry, Abort, or Ignore buttons and clicking on one of them no longer causes a failed assertion.
  • Subclass constructors no longer add a call to Super.Constructor when duplicating the constructor.
  • Print menu item now has the full name of the item being printed in the menu. It used to only have a partial path. Also the printed output now displays the full path to the item.
  • Removed CancelClose event from ContainerControl since it's never triggered and was never supposed to be exposed.
  • Linux: Listbox.CellHelpTag now works.
  • Windows: Setting a progressbar to be indeterminant (i.e. setting the Maximum value to 0) now works even when the progressbar is not visible.
  • Mac OS X: SpecialFolder.Cookies now maps to User:Library:Cookies.
  • Object2Ds now draw properly in a clipped graphics context.
  • VCP projects that have properties with attributes no longer lose their scope information.
  • An occasional NilObjectException while cleaning up temporary files has been fixed.
  • The REALbasic IDE no longer throws an OutofBoundsException when loading projects with corrupt Listbox properties.
  • Plugin SDK: REALGetRBVersion now reports the correct version of REALbasic instead of always 2008.05.
  • The Code Editor no longer thinks that any comment with a colon in it is a URI. The only valid URIs are: ftp(s)://, http(s)://, rb-feedback://, feedback://, mailto:emailaddress.
  • When saving a project, an issue where the file extension and the value in the file type popup in the Save As dialog box could be different has been resolved. This corrects a problem where a project could be inadvertently overwritten with one of a different type.
  • Windows: Object2D objects with a fill opacity less than 100 now render with translucency. This requires GDI+ be enabled, see the App.UseGDIPlus property.
  • Windows: setting the TextField font and font size programmatically now works.
  • White space at the end of a method name is stripped as it could cause a hard to find bug.
  • Editing a destructor no longer shows parameters or return types as they would not compile anyway.
  • IDE no longer crashes if you happen to drop a framework into the Project Editor.
  • Removing a tab/page (from a TabPanel/PagePanel) in an event of a control that lives on that tab no longer crashes.
  • An issue that was causing the REALbasic EULA to be presented too often upon launch has been fixed.
  • Windows: Listbox.CellHelpTag no longer steals mouse clicks (i.e. clicks on a cell's HelpTag now fall through to the listbox instead of being handled by the HelpTag).
  • Windows: setting the TextColor or BackColor of a TextField control now updates correctly instead of needing to trigger a Refresh.
  • IDE scripts that build several projects and switch between them should no longer result in a hung IDE.
  • VCP projects that have missing files will present a list of the missing files when the IDE finishes trying to load the project.
  • The return value field is removed for when creating a method as a constructor.
  • Windows: closing a ContainerControl in PushButton Action event no longer crashes.
  • Fixing an editfield control array will correct the supers by considering all items in the control array. If one item is multiline then all items would need to be text areas to avoid casting errors at run time.
  • Fixed a parsing bug that would trigger an unhandled exception when generating COM classes.
  • Linux IDE: increased the height of the close button in the dialog that appears after the check for updates is finished.
  • An issue that was causing ActiveX controls to crash on close has been fixed.
  • Duplicating properties that have no default value will no longer set the default value of the new copy to 0.
  • Running a project that is dirty no longer marks it as clean (not dirty).
  • URI's that use schemes like mailto which do not require the :// work correctly now.
  • Parenthesis matching in the Code Editor should be accurate now with a line of code like theResult = NthField(theResult, ")", 1)
  • Linux: TextField.CueText now works.
  • An issue with undoing changes while actively editing a textual property has been resolved.
  • Windows: TextField now triggers MouseDown when clicking on non-client areas.
  • An issue in the Build Settings dialog box that caused the default platform to be built when building a console application, has been fixed.
  • Linux IDE: multiple copies of the IDE can now be run simultaneously.
  • A nil object exception in the Window Editor has been fixed.
  • IDE no longer gives a failed assertion when selecting "Define missing method" in the code editor's contextual menu.
  • Fixed memory leaks related to object/string arrays in methods.
  • Loading attributes for Window properties has been fixed.
  • Properties that were supposed to be hidden that were being shown are now hidden again.
  • Window width and height no longer show in scientific notation.
  • Attributes are now copied when you duplicate a property.
  • A cause of an out of bounds exception in the IDE tabs has been fixed.
  • A cause of an OutOfMemoryException has been corrected in the Window Editor.
  • Projects that contain localizable values are properly recognized when loading and the Export Localizable values menu item properly enables.
  • Language reference now jumps to various block level statements correctly (For/ Next, Do/Loop etc).
  • A nil object exception that could occur when checking for updates has been fixed.
  • The missing file count reported when loading a VCP format file that has missing files is correct - it had been off by one previously.
  • The Open Recent menu updates properly again.
  • The IDE will no longer allow properties and controls to have the same name as this is an error.
  • Linux: The Options (Preferences) dialog shows the proper title on each panel again.
  • Backcolor property now works for TextField and TextArea controls.
  • An issue with loading VCP projects that contained properties with attributes has been fixed.
  • Renaming modules no longer leaves contained items in the wrong directory. Detection of out of date files should be better as well.
  • Canceling the selection of a default build folder will now cancel the build.
  • Default pushbuttons no longer flash in the Window editor when resizing the window.
  • An exception when using the contextual menu while the mouse is over the close icon has been fixed.
  • An issue where an untyped constant in the Constants Editor could cause a project item to be marked dirty when it wasn’t has been fixed.
  • 39 New Features:
  • The HTMLViewer on Linux now uses WebKit (if it’s installed) to provide superior HTML rendering.
  • BinaryStream now has Open and Create methods, both of which take a folderitem as a parameter. This provides a better design than opening or creating a stream via the FolderItem class.
  • TextInputStream now has an Open method, which takes a folderitem as a parameter. This provides a better design than opening a stream via the FolderItem class.
  • TextOutputStream now has a Create method, which takes a folderitem as a parameter. This provides a better design than opening a stream via the FolderItem class.
  • New IOException class that allows you to catch exceptions (errors) when using the new BinaryStream.Open, BinaryStream.Create, TextOutputStream.Create and TextInputStream.Open methods.
  • New TrayItem.Handle As Ptr property that returns the window handle that the tray item belongs to on Windows, and the GtkStatusIcon widget on Linux.
  • The Icon Editor now separates the image and mask when you drop an image that has both on either the image or mask portion of the icon editor.
  • New Tooltip class that allows you to show tooltips in any location you wish.
  • New Report Editor allows you to create layouts visually for the purpose of printing. These layouts can be used to print data from any source.
  • On Windows, Object2D can now draw edges more smoothly and supports translucency via support for GDI+. To use it, set App.GDIPlus to true.
  • The Declare method can now be used in conjunction with a new graphics class handle type (HandleTypeGDIPlusGraphics) allowing you use features of GDI+ on Windows that REALbasic does not yet support (such as anti-aliasing).
  • Text size for controls can now be set in pixels, points, inches or millimeters via the new TextUnit property.
  • You can now change the text color of the caption of a BevelButton on Windows and Linux via the TextColor property.
  • When you do a contextual click on a control in the Window Editor that you have subclassed, there is now an “Edit Superclass” menu item that will take you right to the code for the parent class.
  • Duplicate is an available option in the project item editor contextual menu.
  • The Shell class nows allows you to indicate which language interpreter you wish to use.
  • The BevelButton now has a BackColor property that allows you to set the background color and HasBackColor property for determining if a custom background color has been set. These properties are only support for Windows and Linux.
  • HTTPSocket & HTTPSecureSocket now support proxy server authentication via the ProxyAuthenticationRequired event.
  • HTTPSocket & HTTPSecureSocket now support Digest authentication for both proxy and www authentication.
  • When a control on a window needs to have its super class updated the name of the containing window, not it's title, is shown in the Issue Resolution Window.
  • Build progress now shows an additional message, Linking, when it has reached that point in the build process.
  • The phase where the compiler strips out unused REALbasic code has been optimized so that it should run up to 300% faster. This is especially noticeable for projects with plugins with many functions where most are unused.
  • The compiler now generates Objective-C exception handlers around Objective-C declares. If an Objective-C exception is raised due to the declare, it will be converted into a REALbasic ObjCException object and raised through the normal REALbasic exception system. ObjCException has a handle property, which allows you to get the underlying exception object (typically an instance of NSException).
  • The Find Window now supports finding in a selection and find and replace all in a selection.
  • A contextual click on the Stack popup menu in the Debugger now provides the option to copy the current position (the method name) in the stack or copy the entire stack (all method names) to the clipboard.
  • The combobox in the method editor now shows the method name + parameters to make it more obvious you are selecting a full prototype and not just a name.
  • Mac OS X: There is a new preference for how the Home and End keys should behave in the Code Editor.
  • There is a new preference that allows you to choose which comment style the Comment button in the Code Editor should use.
  • IDE search column widths are saved and restored. If you adjust the widths they will be preserved instead of being reset constantly.
  • You can now automate the most common functions of building of your applications without having to write IDE scripts using the new Build Automation feature of the Project Editor. This feature is for the REAL Studio edition only.
  • Find and Find All search value fields will be automatically be populated with the selected text from the front most Code Editor.
  • It’s now optional on Windows whether the IDE quits when the last window is closed. If you set it to NOT quit when the last window closes a tray item will be present and you can start a new project from it.
  • Subclasses of container controls now draw the controls on them instead of just an outline.
  • The Remote Debugger stub allows you to toggle whether it should / should not immediately launch a program upon unpacking the files it receives.
  • The Convert to Constant contextual menu item in the Code Editor now will select the entire string even if the cursor is only within the string with no part of the string selected.
  • Mac OS X: You can now specify the role your application fulfills for an accepted file type. Possible roles are Editor, Viewer, Shell and None. None is the default.
  • List of missing files is reported in the console using system.debuglog as they are encountered while loading a VCP project.
  • A new Feedback application has been created for providing us with bug reports and feature requests. It is available via the Help menu.
  • 9 Changes:
  • The following plug-in API calls are no longer deprecated: REALGetControlBounds, REALGetControlPosition, REALSetControlPosition, REALGetControlVisible, REALSetControlVisible, REALGetControlEnabled, REALSetControlEnabled, REALGetControlHandle, REALGetControlWindow.
  • Windows/Linux: now looks in "MyApplication Resources" for language files (where "MyApplication" is the name of the executable) and falls back on "Resources" if that folder is not available. This allows users to share a common folder with multiple RB executables that require resources.
  • The TextSize property of the Graphics class and various RectControls have been updated to take a Single instead of an Integer. See also the TextUnit property to take advantage of this change.
  • App.AddTrayItem now returns a boolean value that lets you know whether or not the tray item was added successfully.
  • The Language Reference window in the IDE now uses WebKit on Linux if WebKit is installed. If not, the PDF version of the Language Reference will be opened instead.
  • Folderitem.OpenAsTextFile, Folderitem.CreateTextFile, Folderitem.OpenBinaryStream, and Folderitem.CreateBinaryStream are deprecated. Use the new methods (described in the New section) above instead.
  • Projects are added to the File -> Recent menu as they are closed not as they are opened. The last closed project/IDE script will be at the top of the list.
  • The “Extract Method” contextual menu has been renamed “Convert to Method”.
  • The “Extract Constant” contextual menu has been renamed “Convert to Constant”.

New in version 2009 Release 3 (July 7th, 2009)

  • Bug Fixes:
  • The Bevelbutton.Icon property in the Properties pane now shows the currently selected image in its popupmenu.
  • Listbox.Rowtag can now be viewed in the debugger.
  • Many documentation bugs have been fixed.
  • The main toolbar Save button now disables/enables in sync with the File -> Save menu item.
  • Projects that are restored after a crash now restore their project name rather than being untitled.
  • The Warnings dialog box has been resized so that all items show by default.
  • When printing a class, shared properties and methods are now printed separately from unshared properties and methods.
  • VCP projects retain properties, methods, events and such in sorted order. Note that XML projects and project items are not affected by this.
  • A bug in the loading of VCP projects that resulted in external XML items not being marked correctly has been fixed. Editor tabs now are correctly badged for these items and Show On Disk will be available as an option in the contextual menu presented when right-clicking the tab.
  • Opening a VCP project that has items missing no longer corrupts the project.
  • Instead, REALbasic attempts to load as much of the project as possible and will warn you if it is unable to load the entire project.
  • A bug that caused the compiler to report incorrectly when attempting to compile code in an event handler whose super class does not exist has been fixed.
  • CurrentMethodName now works in computed property event handlers.
  • A bug when loading a RBBF project caused the IDE to display a message indicating that files had been changed externally has been fixed.
  • A bug that caused the IDE to erroneously warn that a file had been changed and needs to be reloaded when in fact it had not, has been fixed.
  • The Msgbox method on Windows displays icons again.
  • The MySQL Community Edition plug-in no longer crashes REALbasic on Mac OS X 10.4.
  • Copying/pasting pictures on Windows now supports masks.
  • A sporadic nil object exception when loading the Recent menu items has been fixed.
  • Attributes are now saved and restored equally well in VCP, XML and RBP files.
  • The Windows class now receives keydown events when using ShowModal to display a window whose Visible property was set to false at design time.
  • A bug that caused the vertical scrollbar to lock in the Code Editor has been fixed.
  • The Edit menu in the Italian localization of REALbasic works again.
  • Relaunching REALbasic after a hard crash no longer throws nil object exception.
  • RBScript no longer leaks large chunks of memory.
  • Loading pictures with alpha channels on the Mac no longer causes a crash.
  • A bug that triggered some unhandled exceptions when parsing COM dispatch interfaces (such as when adding the Microsoft Outlook COM reference) has been fixed.
  • The IPCSocket class has been added to the Window Editorʼs controls list.
  • The ODBC plug-in now requires glibc 2.3 on Linux (rather than 2.4) to be compatible with more Linux distributions.
  • A bug that could cause an out of bounds exception in the Search Results editor has been fixed.
  • The Listbox cellʼs HelpTag is now correctly positioned on Windows.
  • Assigning the menubar to the window after the toolbar is assigned no longer causes the toolbar to appear above the menubar on Linux.
  • Changing a caption on a TabPanel that is on a PagePanel no longer makes the TabPanel disappear in the Window Editor.
  • A bug that causes VCP projects to fail after being saved to XML format has been fixed.
  • Windows ActiveX controls wrapped in another ActiveX control no longer cause a crash on quit.
  • An unhandled exception when canceling a build has been fixed.
  • Listbox header separators now better align with the vertical grid lines on Windows.
  • Default values are no longer dropped when copying and pasting properties in the Code Editor.
  • Keyboard shortcuts for adding constants, properties and methods function again.
  • The Hide Empty Events item on the View menu is working again.
  • 32 bit pictures that have no mask honor their Transparent property again on Linux.
  • Invisible controls (such as the Timer) no longer show their Left and Top properties in scientific notation.
  • Dragging a header row in the Property Behavior dialog box no longer causes a nil object exception.
  • Windows ActiveX controls are now saved properly in XML projects.
  • A bug that caused an out of bounds exception when enabling menu items in the IDE has been fixed.
  • A bug that caused the SMTPSocket to fail when sending mail has been fixed.
  • Closing the parent window of a Pushbutton in the Pushbuttonʼs Action event no longer causes the application to crash.
  • Compiling code where the name of an Attribute contains spaces no longer causes a crash.
  • Saving a project in VCP format to a read only volume no longer throws an exception.
  • Now the user gets a friendly dialog informing them that they canʼt save to a read only volume.
  • Setting the Progressbar.Maximum property no longer causes a bad refresh on Windows.
  • Saving PNG files with Folderitem.SaveAsPNG and TIFF (using Folderitem.SaveAsTIFF) that have no mask now works.
  • Using autocomplete in the Script Editor no longer causes a crash.
  • The Keyboard class now correctly reports the state of modifier keys (especially when simulating key presses using another application) on Linux.
  • Project templates once again appear when using REALbasic with a language other than English.
  • Classes can once again be exported using the version control format on Windows.
  • Changing the contents of a Listbox (for example by adding rows) while there is a cell active for editing no longer causes a crash.
  • Copying and pasting an array property no longer creates a new property with an invalid name.
  • A bug that caused control array events to lose their index as integer parameter in text-based projects has been fixed.
  • Changing a color constant via the Color Picker now marks the project as changed.
  • Creating a BinaryStream with a MemoryBlock that is nil no longer crashes but instead throws a nil object exception.
  • Mutex locks are no longer lost after a Mutex with the same ID is created on Linux.
  • Relocating missing files marks the project as changed.
  • The Defining Missing Method code assistant is working again.
  • Saving images no longer leaks memory on Windows XP Professional Edition.
  • Attribute information is no longer lost when loading a VCP project.
  • The compiler no longer strips the executable bit off files copied into the built application.
  • Dropping ICNS files on the project list no longer causes a nil object exception.
  • Clicking the Reload button in the dialog that informs you that files on disk have been externally changed no longer crashes.
  • Viewing the contents of a RecordSet in the Debugger no longer throws an out of bounds exception.
  • A bug that made it appear you could add attributes to controls in the Code Editor has been fixed.
  • Warnings in the warnings list now include the message text as well as the location.
  • REALbasic no longer crashes when viewing a window with many embedded controls.
  • Saving an Excel spreadsheet using REALbasicʼs Excel automation classes no longer throws a type mismatch exception.
  • Close Other Tabs an Close All Tabs no longer close the Debugger tab if itʼs open.
  • The Clear Recent menu item now works on Windows.
  • Duplicate callback methods are no longer generated for COM objects.
  • REALbasic no longer fails to open if it is set to open the last used project and the path to that project is no longer valid.
  • When REALbasic is already running , it can now open projects with non-ASCII characters in the project path.
  • REALbasic now handles closing tabs properly in a window that was opened by choosing Open in New Window when right-clicking on a tab.
  • REALbasic will now quit on Windows and Linux if you close the last project window even if the Language Reference window is still open.
  • The Feedback window is now localized.
  • Folderitem.LastErrorCode is now property set when trying to open a bundle/directory with OpenAsBinaryStream. This is also true for BinaryStream.Open as well.
  • An unnecessary menu separator at the bottom of the Help menu on Windows and Linux has been removed.
  • CStr now honors the system defined decimal separator when converting currency type.
  • #pragma warning now accepts the format described in the documentation (parentheses are no longer required).
  • REALbasic now times out if there is no internet connection available during registration.
  • A bug that caused the Code Editor to throw an exception when dragging a control in the left hand browser pane has been fixed.
  • A type mismatch error caused by making a string constant dynamic and then changing itʼs type to something else has been fixed.
  • The Language Reference once again shows read-only properties by displaying a lock icon.
  • A bug that caused URLs in the Code Editor to stop responding to clicks after the editor was scrolled has been fixed.
  • When printing, events are now printed in alphabetical order.
  • PixmapShape masking now works properly when the shape is rotated.
  • Deleting a collapsed code block now deletes the entire code block and not just the first line.
  • An issue where a button in the Warnings was too short for German localization, has been fixed.
  • An issue where a statictext control was too short for French localization has been fixed.
  • New Features:
  • The StringShape class now has HorizontalAlignment and VerticalAlignment properties that define how the string is aligned when drawn and affect the center of rotation. An Alignment enum has also been added to help make your code more readable. The values are Left=0, Top=1, Center=2, Baseline=3, Right=4 and Bottom=5. The default for HorizontalAlignment is Centered. The default for VerticalAlignment is Baseline.
  • The VirtualVolume class now has a Flush method that forces data to be written rather than requiring you to close the file.
  • BinaryStream now has Create and Open methods that can be used instead of the Folderitem class OpenAsBinaryFile and CreateBinaryFile methods. The new Create method allows you to determine if an existing file should be overwritten or not.
  • An OpenGLSurface control has been added that lets you use OpenGL to create 3D images and animation in REALbasic. This requires a knowledge of the OpenGL language. However, there are some open source projects that are implementing an RB3D-compatible API on top of OpenGL for those of you that use RB3D.
  • The new TextField control is essentially a single-styled, single line Editfield. As a result, it also has a somewhat simpler set of methods and properties. See the notes about the TextField in the Changes section below for details on why we added this new control.
  • The new TextArea control is essentially a multi-styled, multi-line Editfield. See the notes about the TextArea in the Changes section below for details on why we added this new control.
  • You now have the option to show tick marks on the Slider control. Using the new TickStyle property. Thereʼs a new TickStyles (plural) enum you can use to make your code more readable. Itʼs values are None=0, TopLeft=1 and BottomRight=2. Note that while this new feature is available for Windows and Linux, due to Carbon limitations it is not yet available for Mac OS X. It will be available for Mac OS X when we ship our Cocoa-based Mac OS X platform layer.
  • You can now programmatically change the UI focus using two new methods: FocusNext and FocusPrevious.
  • A call to a method that does not yet exist can easily be turned into a method by selecting the non-existing method in the Code Editor and choosing Define New Method from the contextual menu.
  • Sublocations in IDE Scripts now include notes.
  • When viewing arrays of classes in the Debugger, the Properties popup is now in sorted order.
  • You can now use quoted strings as search phrases to search the Language Reference.
  • The Icon Editor now supports dragging and dropping of image files (including icns files on Mac OS X).
  • The Icon Editor now better supports copy and paste from programs like Preview on Mac OS X.
  • The Code Editorʼs contextual menu now has an item that makes it easy to replace non-printing characters in the Code Editor (tabs for example) that might have been accidentally pasted from an outside source.
  • You can now copy and paste groups of constants, properties, methods, etc., by selecting the group header before selecting File -> Copy.
  • IDE Script editor windows now include “IDE Script” in their title to make them easier to identify in the Window menu.
  • Feedback windows now appear in the Window menu. They also can now be minimized and maximized.
  • Analyze Item now displays a dialog that informs you when it finds no errors rather than expecting you to notice this message in the status bar at the bottom of the main window.
  • The Standardize Format item on the Code Editorʼs contextual menu now applies not just to keywords but also to REALbasic classes as well.
  • IDE Scripts can now be executed via the Command-R keyboard shortcut.
  • Command-Up and Command-Down arrow are now supported in the IDE Script Editor.
  • You can now set the color that should be used for the insertion point in the Code Editor.
  • If you start to edit a block of code that is folded, it will unfold automatically to allow editing.
  • A progress bar has been added to the splash screen.
  • REALSQLDatabase queries no longer return incorrect results when using an attached database on Linux.
  • Transparent GIFs are now masked properly on Windows.
  • Button heights in the Resolve Project Issues window have been adjusted to be appropriate for Linux.
  • A bug that crashed REALbasic when attempting to open the Project tab in a new window has been fixed.
  • And illegal cast exception that sometimes occurred at app startup has been fixed.
  • A nil object exception that sometimes occurred while closing a project has been fixed.
  • Changes:
  • The Editfield control has been deprecated. It has been replaced by the new controls, TextField and TextArea. We did this because on all three platforms, two controls are provided for text editing and we can provide you with better controls if we have two that map to the two native controls on each platform. When you open your project in R3, REALbasic will ask you if you would like it to change your Editfield controls into
  • TextField or TextArea controls if the Multiline property is true. If you are setting the Multiline property to true or false at runtime, you will need to make some changes to your code to use TextField and TextArea.
  • The Folderitem class OpenAsBinaryFile and CreateBinaryFile methods have been deprecated. Please begin replacing calls to these with the new Open and Create methods that have been added to the BinaryStream class.
  • The Feedback window now sends us which REALbasic Edition (Studio, Professional or Personal) you are using and which type of license you have (commercial or academic) to help us resolve issues more quickly.
  • If REALbasic encounters a compilation error while building, it now stops the build rather than continuing on to attempt to build for other platforms (if you are doing that) which would fail anyway.
  • The MySQLCommunity plugin has been renamed. Itʼs now called MySQLCommunityServer.
  • REALbasic now displays the Language Reference using the PDF file rather than HTMLViewer to provide a better user experience until we have better HTMLViewer support on Linux.
  • The Build Settings dialog box has been simplified a bit. This was also done in preparation for adding the ability to choose Carbon or Cocoa for Mac OS X builds.
  • REALbasicʼs main window is now centered on the main screen by default.
  • The title of the Feedback window is now “Feedback” instead of “Bug Report”.
  • Window.MacWindowPtr and Window.WinHWND have been deprecated. They are no longer supported in autocomplete and you will receive a warning if you use them.
  • Use Window.Handle instead. These two deprecated properties will be removed in a future release.

New in version 2009 Release 2 (April 14th, 2009)

  • New Features:
  • You can now control whether or not the end user can sort columns in a listbox by clicking on the column header. See the Listbox.HeaderType property for details.
  • Break points can now be toggled using the contextual menu. This was done to make it easier for users with non-US keyboards.
  • Events can now be copied and pasted between classes provided that the target class can implement the event.
  • The Listbox class now has RowTags which are like column tags but on rows.
  • 256 x 256, 32-bit application icons are now supported for Windows Vista.
  • You can now ask REALbasic to check for updates immediately using the shiny, new Check Now button in the Preference dialog box.
  • The NotePlayer control is once again in the list of supported controls.
  • Editing a new class now auto-expands the event handlers so they are visible.
  • There is a new BreakOnExceptions pragma which can be used to override the Break On Exceptions menu item.
  • Listbox cells can now have individual help tags. See the Listbox.CellHelpTag property for details.
  • MySQL Enterprise Server is now officially supported.
  • You can now quit the REALbasic IDE from an IDE script via the QuitIDE command.
  • You can now encrypt and decrypt project items from an IDE script via the EncryptItem and DecryptItem commands. Use the new SelectItem command to select an item to encrypt or decrypt. This is a security measure to defeat brute force attacks created using IDE scripting.
  • Via the Preferences dialog box, you can now indicate what type of project file format you want your project to save in by default.
  • Applications can now be localized into Scottish Gaelic. Enya will be so happy.
  • The MsgBox command now uses the native OS message box on Windows which means that the native buttons will automatically be localized by the OS.
  • The Date class now has a constructor so you can create an object with a specific date with a single line of code.
  • COM is now much better supported for controlling applications and system libraries that support COM.
  • Changes:
  • A new search now immediately clears old results from the search results list.
  • Properties in the Property Behaviors dialog box are now sorted in the same order as they appear in the Properties pane. The Feedback window is no longer modal.
  • Command (Control on Windows and linux) - W now closes the frontmost tab instead of the window if more than one tab is open. It also now works with the Language Reference, About Box, etc.
  • The toolbars for the IDE and Language Reference can now have different toolbar styles.
  • An encrypted project item will now refuse to decrypt after 3 failed attempts and will respond more and more slowly until the project is closed and reopened.
  • Bug Fixes:
  • Oracle Server is once again supported for Mac OS X and has been updated to support the most recent release of Oracle.
  • The ComboBox control on Windows no longer deletes user-entered text when showing/hiding choices without selecting one.
  • MySQL Community Edition Server is once again officially supported.
  • The IDE no longer throws a NilObjectException when dragging a class from the browser list into the Code Editor.
  • Lines of code no longer disappear when expanding and collapsing code blocks in the Code Editor.
  • The IDE no longer crashes on Windows if you launch it, add a control and immediately choose Quit from the File menu.
  • You can now create a file I/O stream from a file descriptor or file pointer on Mac OS X.
  • You can now move controls more than one pixel at a time using the arrow keys.
  • Building a project on Windows from a locked directory will now build to the temporary items directory instead of throwing a NilObjectException.
  • Dates and Times are no longer getting corrupted when using ODBC.
  • On Mac OS X, FolderItem.ShellPath now returns a valid shell path even if the path contains non-ASCII characters.
  • Closing a large Virtual Volume is fast again (like it was in 2008r1 and earlier).
  • Assigning a controlʼs parent property to itself no longer causes a hang.
  • Plug-ins no longer leak memory when they are loaded by a built application running on Mac OS X.
  • The StyleRun class no longer leaks memory.
  • The Location and Search fields in the IDE can now be tabbed into and out of again.
  • Calling Raise() without specifying an exception type no longer causes a failed assertion.
  • GetTrueFolderItem with a root path no longer crashes.
  • 8-bit toolbar icons now appear again on Mac OS X. This broke in 2009r1.
  • System.EnvironmentVariable no longer leaks memory on Mac OS X.
  • Choosing Close Other Tabs no longer closes the Debugger tab if itʼs open.
  • The Code Editor no longer locks keyboard input when clicking away from the autocomplete popup window on Windows.
  • A resize mouse cursor is no longer displayed over the content area if you have a listbox with resizable columns and have column 0 set to a width of 0 on Windows.
  • Uncaught RBScript exceptions no longer cause a runtime failed assertion.
  • The Serial.DataAvailable event is now triggered without the need to move the mouse.
  • The Serial control no longer treats carriage returns (ASCII 13) as new lines (ASCII 10) on Linux.
  • Closing a ContainerControl that contains an HTMLViewer no longer crashes.
  • The text cursor in the Code Editor no longer randomly disappears on Windows.
  • Custom mouse cursors are supported again.
  • Loading pictures with alpha channels no longer crashes on Mac OS X.
  • ConsoleApplication no longer displays nonsense properties in the IDE (like Index, Scope, Top and Left).
  • The FolderItem.Launch method no longer launches the app in the foreground if parameters are included and Active is false.
  • The XMLDocument.Transform method no longer crashes if your XML document is larger than 65K.
  • The Preferences dialog box has been adjusted so that some text strings are no longer clipped.
  • The IDE no longer hangs on launch if the most recent project is on a volume that is no longer available.
  • Copying an event no longer occasionally pastes the event. Incorrect property declarations such as MyVar(19) As Integer() now result in a syntax error instead of a failed assertion.
  • On Linux, Date.WeekOfYear is now consistent with Mac OS X and Windows.
  • On Windows, Resizing a locked Groupbox in the IDEʼs Window Editor no longer crashes when the Groupboxʼs top and bottom meet.
  • The Feedback window will no longer appear to already be in progress when you open it a second time.
  • The Splash Screen text is now properly centered on Linux.
  • The System.Network class no longer throws a failed assertion.
  • Status messages on the Splash Screen are no longer truncated on Linux.
  • Tab bars now respect the entire close icon (and not just half of it) when there are many tabs open.
  • Dynamically localized strings no longer result in Console log errors on Mac OS X.
  • Autocompleting Editfields (like the Location field in the IDE) no longer ignore menu selection.
  • Code folding with nested folded code works better in the Code Editor.
  • Issues where external items could result in a valid folderitem that specified a file that did not exist have been fixed. This was frequently a result of moving and/or renaming external items like pictures.
  • Relaunching the IDE after a hard crash no longer throws a NilObjectException.
  • A bug that resulted in no results being returned when using DoShellCommand in an IDE script on Windows has been fixed.
  • Help tags for toolbar buttons no longer incorrectly display the “&” symbol.
  • The pragma Unused now autocompletes.
  • Lots of various bugs in the language reference content have been fixed.
  • Converting a property to a computed property no longer changes the name to title case.
  • The IDEScript command Sublocations now returns a list delimited by chrb(9) allowing items with spaces in the name to be split in the list.
  • Data is now properly sorted when a row is expanded in the Profiler results.
  • If a checkbox is in an indeterminate state, setting the Value to true no longer clears it. You must use the State property. However, you can still set the Value to false and that will change the state.
  • The Feedback window in the IDE now properly resizes along with all of its controls.
  • Demo apps now quit properly on Linux.
  • A bug has been fixed that caused choosing Save As from the File menu to fail when saving a project in XML format.
  • Building an application that contains plug-ins in a restricted directory no longer causes a failed assertion on Windows.
  • Toolbar icons are now masked properly for screen depths less than 32-bit on Windows.
  • The Listbox no longer copies column data in the wrong order.
  • Windows can no longer be set to “Console Applications Only”.
  • Plugin-Developers: REALLoadObjectMethod and REALLoadGlobalMethod no longer leak memory. REALbasic users: Nothing to see here. Move along.
  • Customizing the toolbar for the Language Reference no longer misnames the Customization dialog box.
  • Popupmenu controls no longer receive the focus when Full Keyboard Access is disabled on Mac OS X.
  • System.Log no longer leaks memory on Mac OS X.
  • Setting Help Tags to controls no longer leaks memory on Mac OS X.
  • If the IDE cannot create the Resources folder while building your application, you will now get an error rather than a failed assertion.
  • Finding items that had an ellipsis in the autocompletion in the Language Reference works again.
  • Methods in subclasses whose parent class was in a namespace now autocomplete.
  • Release notes now contain a final note marking the end of the release notes.

New in version 2009 Release 1 (March 3rd, 2009)

  • 26 New Features:
  • You can now copy all menu handlers, methods, constants, and properties by selecting the code group heading and dragging while holding down the platform- specific copy key (Option key - Mac, Control key - Windows and Linux).
  • The font size in the Language Reference window can now be increased and ecreased.
  • REALbasic can now automatically reopen the last opened project. This can be enabled via the Preferences window.
  • There is now a QuickStart window that opens when you launch REALbasic. This window provides resources to new users to help them get started.
  • FolderItem.OpenAsPicture now supports loading 32-bit pictures with masks.
  • FolderItem.SaveAsPicture now supports saving pictures with masks.
  • Importing a picture into a project now includes the mask if there is one.
  • The Canvas class now supports double-buffering on Windows via the DoubleBuffer
  • property. Note that this requires extra memory and the loss of transparency. This
  • property is not necessary on Mac OS X or Linux because those use double-buffering
  • by default.
  • Bug reports can now be entered from the Bug Report dialog box available from the
  • Help menu.
  • Errors reported by Analyze Project now are grouped more generically for better
  • clarity.
  • The Checkbox control how support a three states: checked, unchecked and
  • indeterminate.
  • The Listbox nows supports tri-state checkboxes. See the new Listbox.CellState
  • method for details.
  • The status bar now shows constructor parameters.
  • The Listbox now has HeaderHeight and RowHeight properties. These are read-only.
  • Cut, copy and paste can now be used with class attributes.
  • Importing a file into a project while holding down Option/Alt will import a reference to the file file rather than important its contents making it an external item.
  • CurrentMethodName is a new string constant that, as the name implies, contains the
  • name of the method in which is was accessed. This is useful to anyone building their
  • own error or bug reporting system.
  • Both the Window and Rectcontrol class now have a new property called
  • TrueWindow which returns a reference to the actual enclosing window. This can be
  • useful when a window like a sheet or a control on a container control needs to know
  • the window in which itʼs truly displayed.
  • The Name property in the properties pane now gets the focus when a new project
  • item is added so that you can immediately rename it.
  • The built-in language reference window now supports command-left arrow and
  • command-right arrow for navigating back and forth on the Mac.
  • The Property List Behavior dialog for a container control can be accessed from both
  • the Project Editor and the Code Editor.
  • File I/O streams can now be created on the Mac using a File Descriptor or file
  • pointer.
  • The autocomplete popup menu now shows the icon of the project item if it's a
  • Picture, Sound, MouseCursor, Movie, or Database item. This makes it easier to
  • identify the objectʼs type.
  • A new constant called CurrentBuildAppName is now available to IDE scripts.
  • DebugBuild is a new constant that can be used in IDE scripts to determine that the
  • application is running from the IDE rather than as a built application.
  • You can now copy and paste constants and properties between REALbasic and a
  • text editor. Currently this only supports one constant or property at a time.
  • 9 Changes:
  • ArrowCursor, IBeamCursor and WaitCursor have been removed. These can now be
  • accessed via System.Cursors.
  • Windows added to a project are now resizable by default.
  • Building a Windows application no longer deletes the content of the folder that the
  • app was built in. This allows you to place additional resources next to the IDE
  • without fear of it being deleted upon the next build.
  • Some numeric warnings generated by the compiler are now available again via
  • Analyze Project. However, you must enable these warnings via the Preferences
  • dialog first.
  • The Listbox CellBackgroundPaint event now executes even if the cell is in a column
  • that is unused but visible.
  • Builds are now placed inside a folder titled “Builds” plus the name of the project.
  • Inside this folder, builds are separated into subfolders for each target platform.
  • Serial.Win32DriverHandle, Serial.MacInDriverRefNum and
  • Serial.MacOutDriverRefNum have been removed. User Serial.Handle instead.
  • When editing attributes on Mac OS X the sheet window now has a title that indicates
  • which item to which you are adding attributes.
  • Profile report file are now comma-separated.
  • 100 Bug Fixes:
  • Mac resources are now copied into application bundles with the permissions set to
  • 0644 (rw-r--r--) so it's not necessary to do this in a build script. REALbasic now
  • builds Mac OS X applications with resource permissions set the same way as
  • XCode does 0644 (rw-r--r--).
  • FolderItem.AppendToTextFile no longer truncates an existing file that is currently
  • opened. It now fails and reports an error instead.
  • The Code Editor now indents code based on font size.
  • Popup menus now show their current value in the Window Editor.
  • A sporadic unhandled exception in the IDE tabs has been fixed. This had to do with
  • making the tabs properly highlight the close icon on tabs that were positioned behind
  • other tabs.
  • Dividing small currency values no longer crashes.
  • Applications built for the Mac now properly respect the user's preference for
  • language localization.
  • Floating point literals no longer lose precision when compiled.
  • The Movie class now reports the correct size of the movie on Windows.
  • RegEx search now handles any newline endings again.
  • Compiling structures that contain fields of other structures that contain fields of itself
  • no longer causes a stackoverflow crash.
  • Email messages with multiple attachments can now be received consistently with
  • the POP3Socket.
  • You can move controls more than one pixel at a time using the arrow keys.
  • Links in the built-in language reference now work with Chinese language content.
  • Properties panel will sort in correct order in all localized versions again.
  • Pressing Control-Home now updates the cursor as expected in the Code Editor.
  • You can now use the Folderitem class to open some files on the Mac that could not
  • be opened before such as /dev/random.
  • The 128 x 128 icon format is now better supported with tools such as Growl or
  • Iconographer.
  • Projects saved in version control format now now save attributes of event definitions.
  • Methods missing from a class interface are no longer reported in duplicate.
  • Modules containing external items now save and restore properly.
  • The Project Editorʼs contextual menu no longer allows access to a deleting project
  • item.
  • Modules that contain nothing but external items now save and restore properly but
  • cannot themselves be made external as an external item cannot contain external
  • items.
  • Illegal constant names now generate a syntax error instead of a failed assertion.
  • REALbasic no longer gets in a state where you can't click on things which you
  • should be able to.
  • Mutex locking now works again on the Mac.
  • Images containing transparency imported into a project using REALbasic on
  • Windows now draw properly. This fixes the “blue background” bug with these types
  • of images on Windows XP.
  • The Pushbutton action event is no longer triggered by a right or middle mouse
  • button click on Linux.
  • REALbasic no longer throws exceptions due to some icons that were missing.
  • If the language reference window is the last window to close, REALbasic now quits
  • properly on Windows and Linux.
  • The language reference has been updated to fix numerous issues.
  • The compiler now displays an error rather than a failed assertion when a project item
  • has more than one computed property with the same name.
  • Setting the alignment of a paragraph in a built application no longer causes a failed
  • assertion.
  • Loading global bookmarks no longer causes a project to be treated as if itʼs new.
  • Changing a PagePanel into a TabPanel and vice versa works again.
  • Is it no longer possible to accidentally re-parent one control on to another when both
  • are being dragged.
  • Warnings that are not currently being generated can no longer be selected to be
  • shown or hidden in the warning preference dialog.
  • Computed properties properly indent their code when saved to RBVCP files.
  • On the Mac, GetTrueFolderItem on a volume drive (with PathTypeShell or
  • PathTypeURL), like /Volumes/MyDrive, now works like it did in 2008r4.2 and prior, so
  • instead of returning Macintosh HD:Volumes:MyDrive as an AbsolutePath it now
  • returns MyDrive: as it had before. Aside from the obvious AbsolutePath differences
  • this also solves the problem with getting a Child item on the volume drive.
  • Compiler no longer crashes when aggregating an interface with an unqualified
  • name.
  • Picture.Mask can now be set allowing you to set a new mask or to remove a mask
  • from the picture.
  • Icons on menu items in projects in version control format now save and restore as
  • they do in XML and RBP files.
  • Applications that use XML are now smaller by 300K.
  • A memory leak in the IDE was fixed.
  • Large projects (especially those using the MBS plug-ins) no longer causes a failed
  • assertion in SmartRef.h.
  • When the Properties pane is displayed as a floating palette, it now restores to its last
  • saved size and position.
  • An IDE redraw issue when switching between editor only and normal views of a
  • project has been fixed.
  • Localized strings in projects saved in version control format for different platforms
  • and saved using different language versions of the IDE restore properly in IDE's
  • using a different language.
  • Programmer bygd på Windows med norsk lokalisering nå riktig viser lokaliserte
  • strenger. (#5821)
  • If the Code Editor item browser list has focus and you paste code with a new
  • constant or new property, the constant or property will be created. This allows you to
  • copy and paste constants and properties. This was broken in a previous release.
  • Printing code now provides better support for code that wraps to the next line.
  • REALbasic now does a better job of cleaning up temporary items associated with
  • the language reference.
  • Changing the super property of a Window no longer causes an exception.
  • Menus can no longer be made external. The bug that appeared to let you do this has
  • been fixed.
  • REALbasic can now load BMP files whose images are stored top-down on Linux.
  • Using the XML classes no longer causes a crash on Mac OS X 10.3.9 PowerPC.
  • A compiler bug with converting UInt32s of &hFFFFFFFF to UInt64s has been fixed.
  • Printing a project that has missing external items no longer raises a nil object
  • exception error.
  • The autocomplete popup menu is now wide enough to display constant values.
  • The Forward and Backward buttons in the built-in Language Reference window now
  • work properly when displaying content from plug-ins.
  • The compiler now reports an error for missing conditions on For and While
  • statements instead of throwing a failed assertion.
  • The titles for groups of errors have been made more indicative of the type of error
  • instead of being one specific error message. For example, you will now see "unused
  • local variables" instead of "X is an unused local variable".
  • A bug that caused some errors and warnings to be mixed into the same group has
  • been fixed.
  • The debugger will now display computed properties of type Int16.
  • Preferences are now saved when the Preferences dialog closes instead of just when
  • the IDE quits.
  • Profiler now reports the correct namespace for embedded items.
  • Corrected a bug in the reporting of sublocations in an IDE script that would prevent
  • scripts from properly working to add code to all items in a project.
  • TextHeight and TextAscent properties of the graphics class now show in the
  • debugger.
  • Enums from plug-ins now autocomplete.
  • The registration dialog box handles some localizations better.
  • Tabbing in Preferences dialog now moves to the next logical control instead of
  • erratically.
  • Setting focus to another control in RadioButton.Action event now works properly on
  • Windows.
  • The HTMLViewer now displays a message if you donʼt have the necessary library
  • installed on Linux rather than causing a failed assertion.
  • Modal dialogs on Linux no longer include the minimize and close widgets and are no
  • longer movable (please note that this is dependent on the Window manager, some
  • may not honor these settings).
  • PopupMenus can now gain keyboard focus on the Mac.
  • An unhandled exception bug has been fixed that was caused by deleting a lot of text
  • with the backspace key in the Code Editor.
  • Parent controls, like group boxes, canvases, etc, no longer incorrectly set the
  • controls they own to be selected when you duplicate the parent control. This could
  • result in the contained controls incorrectly being duplicated again when you
  • duplicated the parent more than once.
  • Images that were zoomed in would not scroll all the way right and down. This has
  • been fixed so the entire picture can be seen even when zoomed in.
  • Bug that caused a crash as a result of the floating properties palette has been fixed.
  • Control-clicking on the Analyze project tab no longer throws an exception.
  • REALbasic now better handles loading old projects where the parent of a control is
  • corrupted. This occurred because older versions of REALbasic were not saving this
  • information properly.
  • The property list behavior can now be changed for container controls.
  • The incremental compiler now properly recompiles subclasses of plugin classes
  • when plugin changes.
  • KeyDown/KeyUp event of ComboBox now fires on Windows.
  • Pressing the Tab key in the Window Editor should once again select the next visible
  • control, even when using ListBoxes and ContainerControls.
  • The behaviourIndex property is no longer duplicated in projects saved in version
  • control format.
  • The mode switcher no longer gets out of sync with the actual listing on the error and
  • warnings list.
  • Bin and Oct now works for negative numbers.
  • Profile data tab can now be dragged into separate window.
  • You will no longer get rows showing locations with 0 warnings 0 errors when all
  • types of warnings are hidden.
  • The type filter dialog, used for selecting what filters to show / hide when checking a
  • project for errors, is now resizable.
  • You no longer need to re-select a control before it can be duplicated many times.
  • The display list of errors and warnings is not refreshed when closing the
  • configuration dialog if no settings were changed.
  • Entering a color value will be correctly reflected for editfields, ovals, rectangles,
  • round rectangles & statictext controls.
  • The & character now displays in the summary of a declaration for a constant,
  • method or property.
  • REALSQLDatabase.LastRowID now returns an Int64.
  • Changing the superclass of a control and then reverting the change redraws the
  • affected control in the Window Editor correctly.
  • The Code Editor no longer switches to the Window Editor (in some cases) after
  • choosing Edit -> Undo.
  • The order in which project items appear in the Project Editor is now saved so that it
  • can be restored when the project is reopened.
  • Build progress bar now shows up on Windows Vista.

New in version 2008 Release 5.1 (December 16th, 2008)

  • Adding tabs to a TabPanel, or pages to a PagePanel, or changing the Super
  • property of a control now updates the control to reflect those changes in the
  • window editor.
  • REALbasic no longer pauses for a long time when compiling on Mac OS X.

New in version 2008 Release 5 (December 9th, 2008)

  • Framework improvements:
  • The Regular Expressions classes now use the latest version of the PCRE library (7.7).
  • There are three new warnings for unused local variables, unused method parameters, and unused event parameters.
  • Added a new pragma to suppress unused variable warnings. The syntax for it is: #pragma Unused VariableName.
  • RectControl class now has a KeyUp event which is triggered when a key is released on the control that has keyboard focus.  Note that the "key" is not guaranteed to be the same "key" received in the KeyDown event.
  • You can now use the &u modifier to enter Unicode codepoints as string constants.  For instance: &u02A4 would be Latin Small Letter Dezh Digraph(ʤ).
  • Single and Double expressions may now use .Equals to perform ranged equality tests on floating point values. See the Language Reference for details.
  • Added a SendRequest function, which allows the user to specify which HTTP method is used when sending the request. It is identical to the Get / Post APIs, except it has an additional "method" parameter.
  • Added StructureAlignment attribute that allows you to set the natural alignment of a structure when compiling. If you donʼt know what that means, you probably donʼt need to know. :)
  • DatabaseField.StringValue no longer returns the full date for a time column.
  • Updated the authentication handling for the SMTP protocol to correct errors encountered with some servers (affects both the secure and non-secure socket).
  • Converting strings from one encoding to another no longer leaks on Linux.
  • Drawing Listbox offscreen (i.e. using DrawInto) now draws the contents of the listbox properly on the Mac OS X when there is code in the CellBackgroundPaint event.
  • Exceptions thrown from event handlers fired by DoEvents are now catchable.
  • You can now create a file I/O stream from a file descriptor or file pointer on Mac OS X.
  • Transparent images now appear correctly on Mac OS X when assigned to Canvas.Backdrop.
  • XSLT transformations no longer returns infinity (when it shouldn't) on Windows.
  • An invalid constant value no longer causes a failed assertion, instead it generates a compile error.
  • Removed the deprecated function ApplicationSupportFolder.  You should use SpecialFolder.ApplicationData instead.
  • Removed the deprecated function DesktopFolder.  You should use SpecialFolder.Desktop instead.
  • Removed the deprecated function DocumentsFolder.  You should use SpecialFolder.Documents instead.
  • Removed the deprecated function PreferencesFolder.  You should use SpecialFolder.Preferences instead.
  • Removed the deprecated function SystemFolder.  You should use SpecialFolder.System instead.
  • Removed the deprecated function TemporaryFolder.  You should use SpecialFolder.Temporary instead.
  • Removed the deprecated function TrashFolder.  You should use SpecialFolder.Trash instead.
  • Removed the deprecated function SpecialFolder.ShutdownItems.  This API will have no replacement.
  • Removed the deprecated function SpecialFolder.ControlPanels.  This API will have no replacement.
  • Images no longer fail to appear in a project that contained masked pictures when building for Mac OS X from Vista.
  • Using the : operator in RBScript to create a Pair now generates a clear error message instead of a cryptic one about classes not being found.
  • Date.GMTOffset now returns the correct offset instead of always 0 in Linux builds.
  • Date.ModificationDate now returns the correct modification date (when contents change) instead of the change date (when permissions on the file/ directory changed) on Linux.
  • A failed assertion no longer occurs on Mac OS X when a RBScript attempts to make use of delegates.
  • Using the GetTypeInfo operator from RBScript no longer results in failed assertions, but instead generates an appropriate error message.
  • HTMLViewer embedded on a non-visible Tab/PagePanel now shows when Tab/PagePanel becomes visible on Windows.
  • Setting the ColumnType to EditableCell now shows the IBeam cursor for that column on Mac OS X.
  • Toolbars on Windows no longer stop the ConstructContextualMenu event from firing.
  • Dictionary.Lookup no longer returns inconsistent results for integer keys on Mac OS X PowerPC builds.
  • Objective-C declares which return structures Duplicate can how be used to duplicate methods, properties, menu handlers, constants, etc.
  • Source code now prints in color.
  • Container controls can readily be changed at design time to windows and vice versa by changing the Super property. However, you cannot change the default window of a project to a container control.
  • The Resolve dialog now has an obvious Check All button.
  • Unused local variables, unused method parameters and unused event parameters are now reported by the Analyze Project command.
  • You must now drag a control at least 5 pixels horizontally or vertically before it will generate a copy to avoid accidental copying of controls.
  • Viewing a folderitem in debugger on Mac OS X no longer results in strange errors like not being able to write to a file.
  • RaiseEvent no longer auto-completes bogus event handlers.
  • Attributes no longer get split incorrectly when entering a comma in the name or value.
  • Raise statement no longer auto-completes bogus objects that are nor subclasses of RuntimeException.
  • Catch And Exception statements no longer auto-complete bogus objects that are not subclasses of RuntimeException.
  • Results of analyze project can be grouped by type or location.
  • Auto-complete popup window is now dismissed when the text is fully completed on Windows and Linux.
  • The auto-complete popup in a Location field now properly narrows the selection as you type.
  • Structures and Enumerations now auto-complete when the full namespace used.
  • Variables declared inside a block statement no longer auto-complete outside of it.
  • Autocomplete no longer suggests events as completion of Me or Self Autocomplete now supports namespaces (i.e. classes/modules inside modules).
  • IDE no longer allows you to create invalid enumerations Enumerations can only be integers.
  • Loading a project that contain ActiveX controls no longer crashes on Windows if the ActiveX control could not be loaded.
  • Variables declared after an Else clause now auto-complete.
  • Warning preferences are now saved in XML projects.
  • IDE on Windows now resizes at start up to the "default" size you set by opening a new empty project and resizing the IDE.
  • Menu item array indexes can now be removed after items are renamed.
  • Relocating a missing image will regenerate the row icon for display in the Project Editor.
  • The Issue Resolution dialog now resolves all selected issues not just the first one.
  • Reparenting a ContainerControl, that contain disabled controls, no longer enables the controls.
  • Command bar properly enables items based on the type of project being edited.
  • Windows IDE no longer randomly disappears after running or building (commonly seen on Windows XP).
  • The Lock/Unlock toolbar item now properly enables and disables if there is a selection.
  • Applications on Linux are now revealed when a build is completed.
  • Properties Dialog now uses the System font on Linux so the heading in the preferences dialog will appear properly.
  • AddressOf now auto-completes local functions, shared methods, and public and protected methods in modules.
  • Changes in constant values and build language are immediately reflected in the IDE's display.
  • Changing the Super property of a control then undoing the change will retain all property values (custom and non-custom).
  • Plugins that declare duplicate classes are flagged as an error. Since there is no way to resolve this except by quitting the IDE and removing plugins this is the only option given if this situation arises.
  • NilObject Exceptions no longer occur due to errors when setting up IDE scripting for use from the command line.
  • Scope choices are now properly set for modules nested in modules and other contained items.
  • Properties will now always show up grouped correctly.
  • IDE status progressbar no longer flickers on Windows.
  • Bookmarks bar updates properly when editing bookmarks.
  • Build toolbar command and Build Application menu items enable properly when "current platform" is selected as the build target.
  • Debugger is now more intuitive when stepping on Do and While statements.
  • Do statements no longer have to be stepped over. However, you will now have to step over a While expression on each pass through the loop.
  • Debugging console applications whose location path contain spaces now works correctly on Linux.
  • A variable declared in a For-Each statement now accounts for namespaces in its type. For example, “p” now auto-completes properly when typing the line: For Each p As Introspection.PropertyInfo In pi.
  • Certain keywords such as GetTypeInfo, CType, AddressOf, Nil, True, False, now auto-complete when used on the same line as a Dim statement. This is just one specific case. The fix was more general.
  • Introspection class now auto-completes.
  • When folding constants, integer division by zero (and modulus) no longer causes the compiler to crash.  The behavior is the same as at runtime: the results are undefined.
  • Namespaces in folders that have an interface in them no longer cause illegal cast exceptions.
  • Results of Analyze Project now show build errors. Warnings are now displayed hierarchically.
  • Declaration fields now applies standard case with auto-complete.
  • Setting locked positions on a mixed group will now always behave as the menu says.
  • Positioning of edit fields for entering license information conforms to UI guidelines.
  • A new project can now be created when only the IDE script window is open.

New in version 2008 Release 4.2 (October 28th, 2008)

  • [Fix] Double to UInt64 conversion no longer crashes on Windows machines that do not have SSE3 CPU support.

New in version 2008 Release 4.1 (October 14th, 2008)

  • [Fix] Mac: resizing a window with a hidden HTMLViewer no longer causes the HTMLViewer to redraw itself.
  • [Fix] Pictures, Sounds, Movies and raw data resources that are dragged into the project are now copied directly from disk into the application's bundle when creating Mac applications instead of copying only the data fork over.
  • [Fix] Str now displays up to 7 significant digits again.
  • [Fix] Locked controls are read properly from VCP files.
  • [Fix] Multiple resource files with the same name are now copied into the Mac bundle's Resources directory with unique names.
  • [Fix] Declares using default parameter values (which are rare, except for auto-generated plugin code) no longer cause crashes when compiling.
  • [Fix] Setting controls locked / unlocked properly dirties the document so it save correctly.

New in version 2008 Release 4 (September 23rd, 2008)

  • Control Locking: Control Locking adds the ability to lock a control in the IDE so it's position and size cannot be edited. This is useful for positioning controls at design time on complex User Interface's to prevent accidentally modifying the control.
  • Tab Stops:Tab Stops allow users to specify controls to be skipped over when tabbing through the user interface at runtime.
  • Auto-adjust Tab Indexes: REALbasic can now automatically determine the tab order for all controls.
  • Warning System Updates: REALbasic now includes several new warnings, as well as a new User Interface to set per-project preferences on what warnings to receive.
  • Constants in Declarations: The REALbasic compiler now allows the use of constants and enumerations in declarations. For example, constants can now be used as part of a method's optional parameter declaration or to define enumeration values in terms of other constants.
  • Codesign for Mac OS X Applications: Codesign enables developers to digitally sign REALbasic applications. Digitally signed applications provide greater security because the application can be traced back to the author. One way this is used on the Mac is with Mac OS X Leopard Server. Applications installed on Leopard Server must be authorized by the user each time they are launched. Digitally signed applications need only be authorized once.

New in version 2008 Release 3.1 (July 22nd, 2008)

  • Version 2008r3.1 focuses on highly-targeted bug fixes, including an issue with accessing the Einhugur Plugin.

New in version 2008 Release 3 (July 8th, 2008)

  • This version offers several new features, including a new Attributes language feature, an update to the project analyzer to include warnings of deprecated functionality and other code issues, and an integrated profiler that allows programmers to track down performance issues within their applications quickly and without any additional coding.
  • Also included will be the ability to add types within classes and several improvements to the recently added introspection functionality.
  • There are numerous fixes and improvements.

New in version 2008 Release 2 (May 6th, 2008)

  • New release includes 200 improvements and adds Pairs as a new class.

New in version 2008 Release 1 (February 12th, 2008)

  • [Dep] [All] SpriteSurface: The SpriteSurface is now deprecated. We suggest using Tinrocket's SuperSpriteSurface class instead. The SpriteSurface will be removed from a future version of REALbasic.
  • 272: Compiler erroneously complains about old-syntax destructor methods. Compiler no longer reports a syntax error when it encounters the old, deprecated destructor syntax. (This syntax will be removed in 2008r2.)
  • 127: Crash on Database Access[afakwmrh]: Fixed a crash bug that occurs when the IDE tries to connect to a local REALSQLDatabase data source saved with a previous RB version.
  • 75: RBScript Causes Runtime Error #4 in Console Applications[cblkiarj]: RBScript no longer causes runtime error #4 in console applications.
  • 140: Internal error on build -- Console Application no longer compiles[hbkdjbuh]: Compiler no longer fails with a nil object exception when compiling projects with certain types of syntax errors (a module named "Global", for example).
  • [New] [OSX] AppleEvents: AppleEvent class now has a constructor which accepts a bundle id as the target application for the apple event.
  • [Dep] [OSX] AppleEvents: NewAppleEvent function is being deprecated and the AppleEvent class constructor should be used instead.
  • [Fix] [IDE] Build: Picture files no longer remain 'in use' by the IDE after a compile. (Feedback ID: xzgagwax)
  • [Ref] [IDE] Code Editor: Refactored the code editor declaration functionality for easier maintenance.
  • [Nte] [IDE] Code Editor: The declarations field no longer does error checking for your declarations as you enter them, by design. This feature may return at a future date in a more comprehensive and accurate form.
  • [Fix] [IDE] Code Editor: The platform setting for a dynamic constant does not revert back to the 'Any' setting after modifying the value.
  • [Fix] [IDE] Code Editor: When pasting methods into the code editor, the IDE no longer renames the method if it is a legal overload.
  • [Nte] [IDE] Compiler: "Aggregates" is now a reserved word and cannot be used as an identifier.
  • [Fix] [All] Compiler: Better reports unmatched #if/#endif blocks within a method. Note that this can still cause a cascading error effect where subsequent errors are seemingly nonsensical.
  • [New] [All] Compiler: Can now put arrays into variants. Also, added new special Variant member functions: IsArray and ArrayElementType, as well as a constant TypeArray (&h1000).
  • [Fix] [All] Compiler: Interfaces can be satisfied by superclass methods now.
  • [Fix] [IDE] Compiler: Local declares can now use namespaces when specifying the lib string.
  • [Fix] [All] Compiler: No longer reports an error when using the Call keyword in conjunction with the RaiseEvent keyword.
  • [Fix] [All] Compiler: Now handles structures containing arrays of strings properly when working with the structure's StringValue property.
  • [New] [IDE] Compiler: Now supports explicit interface method implementation. This means that ClassA.Foobar can implement InterfaceB.Wahoo so long as Foobar and Wahoo's signatures match.
  • [Fix] [All] Compiler: Now using more helpful error messages when not using return values from function calls. Also, a more helpful error message appears when using the Call keyword on a function call but passing illegal parameters.
  • [Fix] [IDE] Compiler: The bitwise And, Or and XOr operators now behave more reliably with 64-bit integers on PPC.
  • [Fix] [Mac] Compiler: The bitwise Not operator now works on PPC compiles.
  • [Chg] [Win] Compiler: Updated the manifest file used by built applications so that they run "asInvoker" on Vista. Note that this will disable the folder and registry virtualization provided by the OS for compatibility with broken applications.
  • [Fix] [All] Compiler: Using the Super keyword now works with namespaces when the super class resides in a different module than the base class.
  • [Fix] [IDE] Compiler: Using the bitwise not operator with a 64-bit integer no longer throws an assertion.
  • [New] [All] Compiler: Variants can now hold the following datatypes: Ptr, CString, WString, PString, CFStringRef, WindowPtr and OSType.
  • [New] [All] Compiler: You can now store structures into variants. Legal conversions from a variant holding a structure are: to a string, or to a structure. The current platform endianness is assumed when doing the conversions.
  • [Ref] [All] Control Order: Removed the ControlOrder property. Control order is now parent-relative, and is the same as tab order currently. The z-order, or tab order, can be changed in the IDE.
  • [New] [All] Controls: Added new TabIndex property for RectControls, this now separates the Z-Order from Tab Order.
  • [Kis] [OSX] Controls: Controls that do not normally receive keyboard focus (i.e. without full keyboard access turned on) do not honor their TabIndex property but are tabbed into by their control order
  • [Fix] [IDE] Debugger: No longer writes out empty variable viewer preferences for every variable. Instead, it only writes out preferences for the variable if you have modified it from the default.
  • [Fix] [IDE] Debugger: Now passes command line arguments to debugged console apps on OS X
  • [Fix] [IDE] Debugger: When displaying the string version of a variant in the debugger, the IDE no longer leaks the converted string reference.
  • [Fix] [Win] FolderItem Dialogs: Now use the proper Vista-style dialogs on Vista and higher. Note that in Vista, you cannot modify the dialog's contents (such as button captions, etc).
  • [Fix] [Win] FolderItem: IsReadable and IsWriteable now perform an access check instead of actually attempting the read and the write. This stops triggering spurious security audits, as well as provides a more accurate API.
  • [Fix] [Lnx] FolderItem: Now resolves symbolic links properly
  • [Fix] [Lnx] FolderItem: OpenAsBinaryFile no longer allows you to open directories
  • [Fix] [Win] FolderItemDialog: No longer throws a failed assertion when selecting a different filter type
  • [Dep] [All] Framework: The "IsCMMClick" global function has been removed. It was replaced long ago by "IsContextualClick".
  • [Fix] [IDE] IDE Templates: External templates now behave similarly to internal templates with regards to build settings. Namely, the default platform and names are not gathered from the template.
  • [Fix] [IDE] IDE Window: Opening the IDE that had a maximized window will no longer hide the title bar of the window under the menus, on Mac OS X.
  • [Fix] [IDE] IDE: IDE no longer crashes when attempting to draw an intrinsic control instance in the form editor when no instance of that control appears anywhere in the IDE's own UI.