2017r2 Release Notes

From Xojo Documentation

You are currently browsing the old Xojo documentation site. Please visit the new Xojo documentation site!

(August 15, 2017)

Xojo 2017 Release 2 has over 250 changes and improvements, with a major focus on 64-bit improvements, Linux GTK+ 3 and HiDPI, and iOS Launch Screen support.

Xojo 2017 Release 2 features:

  • 64-bit support for XojoScript
  • 64-bit string handling is faster and more consistent
  • 64-bit support for Windows icons and version information
  • GTK3 for Linux
  • HiDPI for Linux
  • iOS Launch Screen support
  • Additional drag & drop events for ListBox
  • IDE and web improvements

Download Xojo today.

Release Notes

Bug Fixes (182 cases)

Case Area Description
39135 Compiler 64-bit Windows executables now have the correct icons.
39136 Compiler 64-bit Windows executables have correct version information now.
41924 Compiler Exceptions no longer leak in 64-bit applications.
48270 Crashes & Assertions : Failed Assertion Navigator rows that hold external modules properly refuse to allow classes to be added to them.
47488 Crashes & Assertions : IDE Unhandled Exception If a picture has a mask picture applied that is not the same size the IDE no longer generates an exception but will say this is the problem, clear the mask picture setting and move on.
47631 Crashes & Assertions : IDE Unhandled Exception Layout constraints on iOSContainerControls now reload properly.
47697 Crashes & Assertions : IDE Unhandled Exception Filtering then navigating back and forward will cause the tab to unfilter as navigating back and forward may need to find rows that are not visible to actually move back and forward.
47759 Crashes & Assertions : IDE Unhandled Exception If the overall web segmented control selection type is set to none and you subsequently set one segment to selected that the selection type of the overall control will be updated to single.
47789 Crashes & Assertions : IDE Unhandled Exception Fixed a NilObjectException that could occur when a project fails to launch on the Remote Debugger Stub.
48143 Crashes & Assertions : IDE Unhandled Exception Closing the dialog using the close button behaves like pressing the cancel button on the dialog.
48966 Crashes & Assertions : IDE Unhandled Exception Clicking back that would take you to a control on an external layout no longer causes an exception.
49109 Crashes & Assertions : IDE Unhandled Exception Renaming items like folders & modules that contain other projects items no longer causes an exception.
42426 Database Plugins PostgreSQL Plugin: If a database connection becomes disconnected, the Database.Connect method now returns False instead of always returning True no matter the status of the connection.
42612 Database Plugins Retrieving bytea fields for PostgreSQLDatabase no longer crashes.
47490 Database Plugins MySQLCommunityServer prepared statements no longer writes garbage when a string/text datatype is bound.
48106 Database Plugins PostgreSQL Plugin: bytea columns are now correctly sent/retrieved to/from the database using DatabaseRecord.BlobColumn, PreparedStatements (with the new POSTGRESQL_BYTEA bind type), as well as when updating a RecordSet.
48829 Database Plugins MSSQLServerDatabase plugin now includes a 64-bit macOS part.
47443 Debugger Clear all breakpoints also clears all of them in the app being debugged.
19247 Framework : All Listbox CellHelpTags are now displayed in their correct position after horizontal scrolling.
40961 Framework : All Fixed Split and Join's handling of Unicode strings on 64-bit.
41046 Framework : All Sockets managed by a ServerSocket no longer limited to reading 8KiB chunks.
41680 Framework : All VirtualVolumes now works properly in 64-bit builds.
42140 Framework : All Xojo.Net.HTTPSocket: file content is now flushed before FileReceived is triggered so that the file size is the correct final size.
43174 Framework : All Controls using images show the correct image depending on what screen they are on (retina or not).
43876 Framework : All Fixed string operations on strings containing Unicode characters outside of the Basic Multilingual Plane (e.g. emoji).
45679 Framework : All RectShape and CurveShape now better handles fractional points (e.g. when Scale is involved).
46197 Framework : All Updated GameInputManager to work for 64-bit Window builds.
46565 Framework : All PostgreSQL Plugin: Now built with SSL support again on Windows.
47869 Framework : All CurveShape now properly draws hairlines when BorderWidth < 1.5.
47871 Framework : All CurveShape diagonal lines no longer end up looking like blurry double lines.
48010 Framework : All SMTPSecureSocket no longer writes messages to the system console in any kind of application.
48050 Framework : All Replace and ReplaceAll on 64-bit applications now behaves like 32-bit and pretends that Nil-encoded search and replacement strings are in the same text encoding as the target string.
48261 Framework : All Window.LiveResize has been removed from the Inspector since all platforms always live resize windows, even when this property is False.
48321 Framework : All SegmentedControl: Items.Ubound now correctly returns -1 when no items are present for 64-bit builds.
48813 Framework : All Clipped graphics now respects AntiAlias setting.
26645 Framework : Linux Drag and Drop, from an external source, now raises the DragEnter, DragOver, and DragExit events.
44935 Framework : Linux Setting Window.Bounds now works even if the window isn't visible yet.
45923 Framework : Linux Updated MoviePlayer to use the newer gstreamer library if available, this fixes the 'incompatible version of gstreamer' errors when the older gstreamer library isn't available.
47034 Framework : Linux Listbox.CellHelpTag is now positioned correctly.
48992 Framework : Linux Getting the Text after a TextField.AppendText now returns the correct Text.
43748 Framework : Macintosh Fixed how ampersands in control text on 64-bit macOS get stripped.
40702 Framework : Macintosh (Cocoa) Split and Join now perform efficiently in 64-bit applications.
45479 Framework : Macintosh (Cocoa) Fixed crashes that could happen when comparing strings that lack an encoding on 64-bit macOS.
47627 Framework : Macintosh (Cocoa) Spotlight query now works for 64-bit builds.
46463 Framework : Web WebPage Width and Height properties are now correctly updated before the WebPage.Shown event fires.
47350 Framework : Web The SecureNetworkInterfaceIndex command-line property on a Standalone web application works now.
47725 Framework : Web Fixed a regression (first seen in 2017r1) which caused WebMapViewer to fail if more than one instance of the control was used in a web app at a time.
47778 Framework : Web Web handling of raw tags now searches across EndOfLine characters.
48430 Framework : Web Fixed a few places where browser-side controls could leak.
48454 Framework : Web WebMapViewer no longer causes a JavaScript error on the first refresh.
48513 Framework : Web WebMapViewer now specifically checks to see if the Google Maps API has been loaded before trying to refresh instead of just anything from Google.
48782 Framework : Web Fixed an issue which could cause text with odd encodings to cause an internal web framework encoding exception.
40766 Framework : Windows Listbox CellHelpTags now properly disappear when mouse leaves the HelpTag area.
43178 Framework : Windows Slider now honors the Minimum value in calculating where to position the slide indicator.
45971 Framework : Windows Reports draw a lot sharper on Windows.
46356 Framework : Windows Assign an icon to a MenuItem and removing that menu item later will now release the memory associated with the icon, previously it just leaked.
46596 Framework : Windows Dynamically loaded fonts (typically via declares to AddFontResource) now works with our Direct2D graphics context.
46843 Framework : Windows Stopped forcing a refresh to occur immediately when controls are hidden, this led to blinking refreshes as each control is hidden and refreshed immediately.
46980 Framework : Windows Graphics.DrawRect no longer draws thicker borders along one/two sides of the frame when AntiAlias is disabled.
47373 Framework : Windows Opening projects containing Listboxes in a certain state now longer causes the IDE to crash.
47377 Framework : Windows Graphics.CharacterSpacing now works, however, this feature is only available on Windows 8 or better, and Windows 7 with Platform Updates.
47428 Framework : Windows Listbox endcap is now drawn correctly, this fixes drawing artifacts when a vertical scrollbar is present while scrolling horizontal content.
47432 Framework : Windows Listbox headers no longer flickers when hovered over by mouse or when clicked on.
47478 Framework : Windows BevelButton captions are no longer rendered too small in HiDPI.
47598 Framework : Windows Double clicking a word in the find field selects it.
47619 Framework : Windows Saving a Picture that does not have a Resolution set (i.e. the Horizontal/Vertical resolutions are 0), no longer raises a failed assertion.
47621 Framework : Windows Graphics: Setting a pixel that is out of range now raises an OutOfBoundsException. An OutOfBoundsException was also raised when getting a pixel (but previously only on MacOS), now it's raised on all platforms as well.
47694 Framework : Windows Displaying a sheet window no longer permanently disables the MDI window after it's dismissed.
47743 Framework : Windows Setting the ScrollPosition in CellBackgroundPaint event no longer crashes.
47865 Framework : Windows Drawing done on an HDC (printer device context), originating from a printer graphic’s object, is now properly rendered to the printer.
48128 Framework : Windows Now honoring the font’s stretch style property which makes fonts like Arial Narrow appear correctly.
48146 Framework : Windows Windows IDE dialogs are now displayed on the same screen as its parent window.
48150 Framework : Windows Graphics.ClearRect now only clears the rectangular section specified, instead of the entire alpha channel supported picture. Clearing a non-alpha channel supported Picture has always worked correctly.
48173 Framework : Windows Screen dimension values (i.e. Left, Top, Width, Height, etc.) are now returned rounded instead of truncated. This was a problem when dealing with fraction DPI scales.
48224 Framework : Windows Object2D Fill values below 50 now properly fills the object correctly instead of not filling anything at all.
48443 Framework : Windows Displaying a MessageDialog from a Modal window no longer makes the MessageDialog inaccessible.
48655 Framework : Windows Loading an EMF file that was saved in Xojo now works.
48681 Framework : Windows ImageWell borders no longer get clobbered when the Image size is greater or equal to the ImageWell bounds.
48686 Framework : Windows Copying picture to clipboard now works for 64-bit builds.
48752 Framework : Windows ActiveX components like the web browser compile as expected.
48806 Framework : Windows Listbox cell helptags no longer consume mouse clicks.
48825 Framework : Windows The Image assigned to an ImageWell is now drawn properly for 64-bit Window builds.
48974 Framework : Windows MenuItem.Clone now properly clones Image sets assigned as the icon to a MenuItem. This results in the correct appearance when cloned on a HiDPI display instead of it being scaled.
47879 Framework : iOS Make it so 1) the constructors for NEW IOSLayoutConstraint have a “priority” parameter 2) the IDE always sets the priority of constraints (it had no means to before) 3) that the default value for priority when using New IOSLayoutConstraint is 1000 (required)
47570 IDE An issue where the IDE would generate the wrong code for setting up the initial state of a layout has been fixed. The IDE was generating the wrong fully qualified name for a property that was defined to be an enum type and the enum was defined in a module outside the container where the property was.
47577 IDE Extract Method window now resizes properly.
47784 IDE Tab order is sensible on preferences tabs.
47804 IDE Editing the declaration for a method, event definition, etc. and pressing one of the shortcut key sequences to add a new code item (property, enum, method, etc.) no longer drops the declaration change that was in progress.
39409 IDE : Auto Complete Extending an “array of X” nows proposes the right autocompletions including those from extending an array of object.
47268 IDE : Auto Complete Extending an “array of X” nows proposes the right autocompletions.
48529 IDE : AutoLayout Active flag for auto-layout constraints saves and restores properly.
47510 IDE : Build Automation IDE no longer shows compile error dialogs for file system errors when building using IDECommunicator protocol 2.
48111 IDE : Build Automation Pressing tab when the focus is in the read only field for the file editor no longer causes errors or exceptions.
48258 IDE : Build Automation iOS projects with CopyFileSteps that copy items to the “Frameworks destination” now create the Frameworks folder inside the iOS package and put files to be copied in there as required by Apple.
34169 IDE : Code Editor Autocomplete no longer drops characters on Windows.
47438 IDE : Code Editor Make the line number command button behave as a toggle instead of a momentary push.
47525 IDE : Code Editor Displaying Line numbers now works with code folding.
47526 IDE : Code Editor Folded lines no longer overdraw the line numbers.
47542 IDE : Code Editor Aggregated interfaces methods now appear in autocomplete.
47543 IDE : Code Editor Toggling line number display no longer disables tooltips.
47714 IDE : Code Editor Structure element names can start with a _ (to hide them) since you cannot mark one as hidden with an attribute like you can the entire structure.
47896 IDE : Code Editor Writing code while the Filter is active no longer corrupts the item being coded.
48343 IDE : Code Editor Shift-Enter and Option-Enter also apply standard format.
48678 IDE : Code Editor Incorrect tip text at the bottom of the code editor for certain types of constants is now correct.
47351 IDE : FileIO Fix up color handling when reading a text project then writing it as text which causes a color shift
47986 IDE : FileIO IDE will do its best to “fix” invalid declarations caused by editing the project outside the IDE (such as with a text editor).
46961 IDE : FileTypes Editor File Type Set icon thumbnails properly fills display area.
47328 IDE : Find & Replace Double-clicking a search result in a control set now jumps to the correct item.
47560 IDE : Find & Replace Find panels no longer turn grey.
48180 IDE : Find & Replace Find and replace no long replaces valid method/property and other “code unit” names with invalid ones thereby causing lots of weird compilation errors.
48728 IDE : Find & Replace Search of “this class and subclasses” actually does search subclasses as well.
48976 IDE : Find & Replace Searching for case sensitive matches no longer stops looking when the first possible match on a line doesn't match case.
46133 IDE : Inspector When ellipsis appears continuing to type no longer rips off extra characters.
46690 IDE : Inspector When selecting controls that have properties of varying values like border the property editor pane can only show a single value and so it would show either true or false but really needs a mixed state. Since this is not available when a situation like this occurs the properties that have differing values between the instances being inspected will not show in the Inspector to avoid confusion.
47283 IDE : Inspector Focus is no longer shifted to the Code Editor when you change the name of a method.
47549 IDE : Inspector Inspector size fields properly accept the number as typed and not just the last character (Linux).
47690 IDE : Inspector Scroll wheel events in popup menus in the inspector are ignored on Windows.
47940 IDE : Inspector iOS capabilities save and restore from disk and are properly set and preserved in the IDE between openings of the capabilities editor.
48345 IDE : Inspector Editing the size or position of multiple controls no longer alters them when you have made no changes and just tab through these value editors.
48363 IDE : Inspector Property Inspector behavior now works like this: 1) Always have a tab with items on it showing (no empty tabs). 2) When it can it will stay on the same inspector pane as you move from item to item. 3) When the tab it was on is no longer present (such as moving from having the ID tab selected on a Window to an Event ) it will force a tab to show (in this case the Advanced tab as that is the only one there is for an event). 4) When you navigate to another item that has an ID tab it will return to the ID tab.
48531 IDE : Inspector Editing multiple properties at once no longer fails if you set the value to the same value as the first item in the selection.
46494 IDE : Language Reference Keyboard events no longer alter language reference history.
47396 IDE : Language Reference Make browser search work again when using the online reference.
48001 IDE : Language Reference Help on Windows no longer opens with height and width of the help window set to 0 if you previously opened help, minimized it then quit the IDE.
48347 IDE : Language Reference Message dialog icons show in LR.
48450 IDE : Language Reference Restored being able to close language reference window with Cmd-W / Ctrl-W.
43304 IDE : Layout Editor Using an Image Set for the background of a Canvas draws the correct image in the IDE.
43618 IDE : Layout Editor SegmentedControl shows the right icon in Layout Editor.
43635 IDE : Layout Editor Canvas backdrop shows the right image during design time when the image has multiple elements.
43655 IDE : Layout Editor Controls on Layout Editor display correct picture from an Image Set.
43915 IDE : Layout Editor Dragging/resizing a control in the Windows IDE no longer causes severe lags.
47046 IDE : Layout Editor In a web project the IDE no longer draws lines of a multiline text fields on top of each other.
47886 IDE : Layout Editor Canvas clips properly. Note that because the IDE respects and draws 1x or 2x as needed if you set the background to an image that only has a 1x element and move the layout editor to a 2x screen the canvas may not draw its background (since there is no 2x background to draw).
48484 IDE : Layout Editor Dragging an Image from the file system onto a desktop layout once creates a canvas with an Image as the backdrop just like it does with Pictures.
48734 IDE : Layout Editor Duplicating a member of a control set that’s on a page panel / tab panel no longer results in one that appears to be on the wrong page / tab.
48824 IDE : Layout Editor The drag rectangle that appears when dragging a control from the Control Library to the Layout editor now shows up completely on HiDPI/Retina displays instead of being cut-off.
48064 IDE : Library A right click in the Library followed by a left click on a layout no longer inserts the control that was right clicked on in the Library.
48195 IDE : Menu Editor Using a constant no longer generates an odd menu name when you change the Text of the menu item.
23906 IDE : Miscellaneous Arrow keys now work in the Menu editor.
24446 IDE : Miscellaneous Window menu entries for minimize, maximize, zoom, and restore track the state properly on Windows and present the right options.
39783 IDE : Miscellaneous Reading a text project that has missing items no longer creates the missing folders.
45655 IDE : Miscellaneous You can lock and unlock a tab regardless of what row is selected in the Navigator.
46084 IDE : Miscellaneous Splash screen on Linux updates more quickly so graphics appear properly.
46909 IDE : Miscellaneous Undoing a “convert to computed” no longer drops the default value if there was one before the property was converted to computed.
47248 IDE : Miscellaneous Opening a project and analyzing or running it does not mark items as changed. The only way items should be marked as changed is by user initiated changes except for File Type Sets which may still be marked as changed as a result of Run or Analyze.
47753 IDE : Miscellaneous Windows IDE: Moving a window to second monitor (whose DPI scale differs) now works properly.
47776 IDE : Miscellaneous Project->Run and Project->Build Application now use the correct size icons on Linux.
47807 IDE : Miscellaneous Navigator, Library and Inspector all consistently use the same font size.
47816 IDE : Miscellaneous Copied controls on iOS no longer always add a numeric suffix when not needed.
47854 IDE : Miscellaneous SplashScreen no longer gets a NilObjectException on Windows when you you close the splash screen before the IDE is fully loaded.
47884 IDE : Miscellaneous InitialParent (and other hidden properties that end users should not see) are no longer visible in the Inspector Behavior window.
47964 IDE : Miscellaneous Windows: A shift in control focus doesn't crash the IDE if the focused control somehow gets closed in the process of gaining focus. This could occur in the IDE while opening specific projects.
47980 IDE : Miscellaneous Coding panel in Preferences on windows no longer has large empty space.
48303 IDE : Miscellaneous Extract method allows dotted names for return types.
48477 IDE : Miscellaneous Tab order editor no longer filters out all controls parented on a control that has its tabstop property set to false.
48499 IDE : Miscellaneous Image editor panes use the same gridded style background as the app icon editor does.
48646 IDE : Miscellaneous Made it so converting a picture to an image makes UI elements continue use the new image as their background / backdrop.
48713 IDE : Miscellaneous Close Window gets the proper shortcut.
48759 IDE : Miscellaneous Make external no longer fools people into thinking you can use Text type project items as externals (you cannot).
41959 IDE : Navigator Navigator items properly update after Find and Replace.
46109 IDE : Navigator Drag and drop of multiple images into IDE on Linux is now working.
47202 IDE : Navigator Duplicating a method on an interface behaves the same as duplicating a method on a class.
47410 IDE : Navigator When you remove the last module from a module the 'Modules' group row row is properly removed.
47616 IDE : Navigator External Methods stay grouped like other overloaded method types.
47828 IDE : Navigator Simply selecting a different item in the Navigator no longer switches the scope that the next new item will use.
48208 IDE : Navigator When the Code Editor is open and you right-click a control in the Navigator and select 'Help For ...' then the doc page for the control is displayed.
48498 IDE : Navigator When you convert a picture to an image the new image is selected.
48770 IDE : Navigator Duplicating a control or code item named with trailing digits will preserve the same number of digits. For example if you duplicate msg001 the new item will be msg002.
47966 IDE : Picture Previewer Picture view zooms in and out as expected using the menu items under View > Zoom In and Zoom Out.
16174 IDE : Project Editor Naming classes / modules etc the same as a folder that contains them no longer causes an error
48189 IDE : Rendering If a property on a WebControlWrapper control is computed and does not have a setter, then the IDE does not try to set the property.
47431 IDE : Scripting Make IDE Script return some slightly more sensible values for modules, folders and classes.
48193 IDE : Scripting IDE Script editor no longer incorrectly hides lines.
48196 IDE : Scripting Setting the major and minor version via an IDE Script no longer limits the value to 255.
48265 IDE : Style Editor Border editor no longer types sizes in reverse.
49041 Installer Plugins SDK shortcut in the Windows start menu now points to the correct place.
41414 Miscellaneous Debian packages work again.
48704 Miscellaneous Deactivating window no longer causes Windows IDE to flicker.
47422 Plugin SDK Added new StateChanged notifcation identifier (kThemeChanged) to let plugin controls know to reload their theme data on Windows (necessary when drawing with visual styles).
47093 Remote Debugger Stub The remote debugger and IDE now launch console applications using the user's preferred terminal emulator.
47320 Remote Debugger Stub The Download Location label baseline is now correct on Raspberry Pi.
48486 Remote Debugger Stub Remote stub untar code properly handles files that are in paths that may not exist at the time the file is to be untarred.
47606 XojoScript Top-level variables in XojoScript can be initialized with 'New', like what would work in the local scope of a method.

Changes (31 cases)

Case Area Description
42907 Compiler The compiler and XojoScript have been upgraded to LLVM 4.0.
48466 Database Plugins SQLiteDatabase has been updated to 3.19a.3.
44759 Framework : All Default value for maximum and minimum connections for a ServerSocket created in code are consistent with those when you drag a ServerSocket onto a layout. They are set to Maximum = 10 and Minimum = 2.
47748 Framework : All Support for SSLv2 and SSLv3, including the constants, has been removed from SSLSocket.
47859 Framework : All

Add new Drag events to the Listbox, changes include:

Enum DropLocations

OnRow The drop is occurring on the row itself.

AfterRow The drop is occurring between rows, after the row specified. The row can be in the range of [-1, RowCount-1] and specifying -1 will insert it at the top of all the rows. This value will also be RowCount-1 if the user drags below the item list.

OnControl The drop is occurring on the entire control, not on a particular row. This matches the previous behavior.

Property ShowDropIndicator as Boolean = False

Determines whether or not the drop indicators appear. This property simply changes the appearance of the listbox. It does not prevent the new events from firing.

Event Function DragOverRow(x As Integer, y As Integer, obj As DragItem, action As Integer, ByRef row As Integer, ByRef parentRow As Integer, ByRef location As DropLocations) As Boolean

Invoked during dragging, similar to the DragOver event. Event handlers can 'retarget' a drop by altering the row, parentRow, or location parameters. x: The x coordinate of the drop, relative to the left of the ListBox. y: The y coordinate of the drop, relative to the top of the ListBox. obj: The data actually being dropped. action: The drag action, which can be things like move or copy. Constants already exist in the DragItem class for this. row: The proposed target row for the drop. parentRow: When the listbox is non-hierarchical, this will always be -1. When the Listbox is hierarchical, this is the row that the item is being dragged into. If the item is being dragged to the top level, parentRow will have a value of -1. location: Whether the drop is going between two rows, on the row itself or just on the control. Returning True prevents the drop from occurring and the DragOver event from firing. Otherwise the DragOver event fires.

Event Sub DropObjectOnRow(x As Integer, y As Integer, obj As DragItem, action As Integer, row As Integer, parentRow As Integer, location As DropLocations)

Invoked when a drop has finished. The row, parentRow, and location are the values previously set by the DragOverRow event handler. The DropObject event fires after this event.

47730 Framework : Web Session.Timeout now takes touch events into account when figuring out how long it's been since the last user interaction with the web app.
48581 Framework : Web Updated the JavaScript property that we pull the name of a key that was pressed.
42916 Framework : Windows Moving window from one monitor to another, of a different DPI scale, now resizes properly.
45264 IDE Rename the 'OS X' Build Setting target to “macOS”.
48185 IDE On the Project Chooser dialog you can now select a recent item and press back delete or forward delete to remove an item.
28825 IDE : Auto Complete Make it so autocomplete works on lines that are continued.
47880 IDE : AutoLayout Constraint priorities are now labeled as: * low * medium * medium-high * high * highest
47889 IDE : AutoLayout By default Xojo adding a constraint to a layout adds it as highest priority.
47637 IDE : Build Automation The loadError for a project/IDE mismatch now includes a 'severity' property to help figure out whether the conflict is something that needs to be dealt with. The value is 'warning' if the project is older than the IDE. The value is 'critical' if the project is NEWER than the IDE.
47454 IDE : Code Editor Put the small bit of padding (5 pixels) back at the top of the code editor.
47530 IDE : Code Editor Line numbers are right aligned.
47662 IDE : Debugger IDE temporarily disables App Nap when it is sending an app to be debugged to a remote computer from macOS.
48682 IDE : Error & Warning Panel Individual errors and warnings can be copied, one at a time, from the error and warning panel using a right-click and selecting the Copy item from the contextual menu.
48464 IDE : FileIO The IDE now renames and deletes any obsolete files in text projects.
46358 IDE : Inspector Pressing ESC acts as a 'REVERT NOW' action so you can abandon changes.
48213 IDE : Inspector The label for the Text Area “Automatically Check Spelling” property is now “Check Spelling” in order to better use available space.
47754 IDE : Language Reference Make it so the local LR rips out online links if the machine is disconnected from the network or can’t reach the wiki. If they are reachable the local LR page is untouched. If they are not that page has those links removed.
48004 IDE : Menu Editor Analyzing a menu bar now checks for duplicate shortcuts and warns about them. It’s only a warning since its not actually a compile error. Note that this can only analyze the menu bar as it exists and can not take in to account any alterations made by code at runtime, such as adding or removing items or changing shortcuts.
10848 IDE : Miscellaneous Menu editor no longer “flies in” new items.
46394 IDE : Miscellaneous Right clicking on an External Build Script step now has “Open File” and “Show on Disk” as options in the contextual menu the same as external classes and modules do.
47723 IDE : Miscellaneous When the Windows IDE is set to “Stay open when last window is closed” the tray item has a version tooltip to distinguish it from other versions that may be reduced to a tray item.
47799 IDE : Miscellaneous Make it so the constant editor dialogs remember where they were last and what size they were so we can restore that position and size when reopened.
48066 IDE : Miscellaneous Long error messages are wrapped and row heights in the error reporter adjusted as needed.
48338 IDE : Miscellaneous Recent items in Project Chooser now show size, date created, and date modified when possible.
47953 IDE : Navigator Database Connections won’t be in the insert menus until further notice.
48594 Remote Debugger Stub Name and IP address labels on Remote Debugger Desktop are now selectable so you can easily copy/paste them.

New Items (15 cases)

Case Area Description
15509 Build Added “CurrentBuildLocationNative” as a Native path version of CurrentBuildLocation.
48566 Framework : All Listbox: Added additional DropLocations enum 'AfterAllRows' which lets the user know that the drag has reached past the bottom of all the rows and is now into the empty space beneath.
22245 Framework : Linux Linux GUI framework is now built with GTK+ 3.
41057 Framework : Web Browsers now try to reconnect if they have lost connection to a web app.
45332 Framework : Web Web apps will now automatically attempt to reconnect to the web server after they are disconnected and will continue to do so until the user navigates away from the disconnect screen or the application returns, at which time a new session will be created.
47326 Framework : Web CGI Web Applications now only listen on the localhost interface.
47340 Framework : Web The NetworkInterfaceIndex and SecureNetworkInterfaceIndex command-line properties of a Standalone Web Application now accept a value of 'Loopback' in addition to the numeric index values to allow listening only on the loopback interface.
46921 IDE There is now an official way of overriding most built in properties with user preferred default values for class properties. Do not directly edit BEH files as that is unsupported.
45743 IDE : Code Editor The code reformatting can be overridden with a user written IDE Script.
47612 IDE : Debugger Line numbers can be toggled on and off like in the code editor.
47965 IDE : Language Reference Can zoom text in and out to make it larger and smaller in Doc Viewer.
5822 IDE : Miscellaneous A module that contains other items can now be encrypted. Any contained items that are encrypted before the module is encrypted retain that setting.
16124 IDE : Miscellaneous Added two protected constants for StrComp compare modes: REALbasic.StrCompCaseSensitive and REALbasic.StrCompLexical
47970 IDE : Miscellaneous The “Navigator uses large font” preference has been relocated to the General Pane and is now titled “Navigator, Library & Inspector”.
23523 IDE : Scripting XojoVersion exists for use in build scripts and IDE scripts. Note that “#if” requires a constant value and XojoVersion is a method on the Script context so cannot be used with #if. But, in an IDE script or build script, using “if XojoVersion” to cause code to be skipped is the same as using “#if XojoVersion” to cause the code to be skipped.

Docs and Examples (27 cases)

Case Area Description
47385 Documentation On Windows Universal Runtime page, corrected link to Visual C++ Redistributable at Microsoft.
47676 Documentation Added more links to the Related section of the Color page Summary table.
47696 Documentation #pragma is listed in keywords and can be searched for in offline doc viewer.
47713 Documentation Updated Preferences->General and Coding screen shots in User Guide.
48060 Documentation Updated Window.BitmapForCaching example code.
48480 Documentation Added missing docs for WebMapLocation.LookupAddress.
49009 Documentation Removed defunct XoDrill from Open-Source projects page.
47657 Examples Updated Labels printing example to use correct printer methods to get printer DPI to properly calculate label positions.
47677 Examples Printing Examples now use PrinterSetup and make use of HorizontalResolution and VerticalResolution to ensure drawing is correct for printers on all platforms.
47838 Examples Fixed gas icon in GasReport example.
47857 Examples Added ServerSocket project to work with iOS EasyTCPSocket examples for supporting multiple connections. EasyTCPSocket-Server example now indicates it can only accept a single connection at a time.
47858 Examples Updated text instructions for web SSLTest example project.
47911 Examples In XojoNotesWeb example, clicking Cancel on Add Note dialog no longer incorrectly adds a note.
48541 Examples AddHandler example now calls RemoveHandler in the Close event.
48598 Examples IDECommunicator-tester example now gets correct IPC path and auto-connects at launch.
47397 Language Reference : Documentation Updated Structure page to add details about structure alignments and other information.
47480 Language Reference : Documentation Clarified that key codes referred to in Keyboard.AsyncKeyDown and Keyboard.Keyname are listed in the Notes section of the Keyboard page.
47500 Language Reference : Documentation Corrected typo in Xojo.IO.SpecialFolder.GetResource exception section.
47688 Language Reference : Documentation Deprecated wiki pages now appear in the local LR.
47699 Language Reference : Documentation Updated description for Pragma BreakOnExceptions ( to indicate it does not change the Project->Break On Exceptions menu setting.
47718 Language Reference : Documentation Image references have been removed from the page css.
48175 Language Reference : Documentation Updated Color page example to indicate that only 32-bit Integers can be cast to color values.
48572 Language Reference : Documentation Operator_XXX methods show in local Lang Ref viewer.
48582 Language Reference : Documentation Clarified how the different ToolButton styles work on various platforms.
48691 Language Reference : Documentation Added list of common error codes you may see in an IOException.ErrorNumber (
48722 Language Reference : Documentation Noted that TLSv1.2 does not work with Xojo.Net.HTTPSocket on Mac OS X 10.8 and 10.9.
48810 Language Reference : Documentation WebApplication command-line parameters for SslType use integer values, not string values.