2016r1 Release Notes

From Xojo Documentation

(April 5, 2016)

Xojo 2016r1 is primarily the HiDPI release. Notable changes and new features include:

  • HiDPI and Retina support for OS X and Windows.
  • The Xojo IDE is now Retina on OS X for sharp, clear text and graphics.
  • New Language Reference viewer.
  • Windows apps now require the new Universal Runtime be installed.
  • Many bug fixes and improvements.

Download Xojo today] to get started making HiDPI and Retina apps!

Release Notes

Bug Fixes

41838 Build "Assembling Code" times have been improved.
41950 Build "Assembling Code" times have been improved.
6849 Compiler IDE will export several PNGS next to the built EXE for Linux. They are 128 x 128, 48 x 48 and 32 x 32 and named appcion_128, appicon_48 and appicon_32 respectively.
42104 Compiler Fixed a failed assertion when Variant.DateValue was used in code that had a using clause for Xojo.Core.
19557 Debugger Color picker in the debugger starts out with the color value that was clicked on - not just black all the time.
39100 Debugger Using statements and Soft declares no longer can have break points set on them since they are not executable statements.
13004 Framework » All A rotated StringShape remains text when printed or drawn.
40980 Framework » All Xojo.Net.HTTPSocket now works in OS X console and web applications.
41968 Framework » All Imported database project items no longer return NilObjectException when used at runtime.
42556 Framework » All Xojo.IO.FolderItem now has IsWriteable method (and removed IsWriteableFolder method).
7653 Framework » Macintosh The first MenuItem added to an empty top-level MenuItem now respects its Enabled property instead of being disabled.
31506 Framework » Macintosh (Cocoa) TabPanels that have SmallTabs set to True now use the correct font.
34956 Framework » Macintosh (Cocoa) Fixed leaking NSWindows in the Cocoa framework.
42313 Framework » Macintosh (Cocoa) A bug in picture handling in the IDE has been fixed and it no longer crashes when certain types of projects are edited.
42877 Framework » Macintosh (Cocoa) The HTMLViewer on OS X now automatically handles special edit menu items, matching other framework classes and HTMLViewer's behavior on Windows.
21456 Framework » Web WebListBox columns with a width of zero no longer render improperly.
21615 Framework » Web Weblistbox column widths are now respected on IE9 when cell and/or header contents are wider than the width of the column.
41648 Framework » Web Increasing the ColumnCount of a WebListBox no longer hides the horizontal scrollbar.
41906 Framework » Web WebImageView alignment constants are available again.
42036 Framework » Web Fixed a bug which prevented modifying web text alignment at runtime if the alignment was set using the new text alignment property in the IDE.
42283 Framework » Web The ConnectionType of the HTTPS server of a web app can now be set by a command line option (ssltype) with a value which matches the SSLSocket.ConnectionType property OR by setting App.Security.ConnectionType to one of the values in the WebAppSecurityOptions.ConnectionTypes enum.
40046 Framework » Windows Shutting down an app being debugged on Windows now is a lot quicker than it had been.
40379 Framework » Windows Fixed a potential Timer crash when Timer events are queued up (for example due to Timers with low time periods that trigger an event loop iteration).
42118 Framework » Windows Xojo.Core.Timer.Action event is no longer triggered when Mode is Off on Windows.
42344 Framework » iOS Exposed iOSApplication.CurrentScreen.
41426 IDE Class browser now also shows external subclasses.
42263 IDE Template web projects no longer have an invalid build flag set that the user had no means to turn off.
42628 IDE Edit > Cut, Edit > Clear and their shortcuts can be used to remove one representation in an Image Set.
42281 IDE » Auto Complete Variant.TypeLong no longer autocompletes as it’s deprecated.
41855 IDE » AutoLayout Constraint offsets properly show as integer values.
42221 IDE » Build Automation You can no longer remove the BUILD or SIGN steps from projects.
39599 IDE » Code Editor Fixed leaks of NSFonts on Cocoa applications.
42103 IDE » Code Editor Setting a bookmark in the debug code viewer is retained as expected.
42134 IDE » Debugger Run remote menu reconfigures itself to use the last selection.
41643 IDE » FileTypes Editor Adding file types will add new ones with unique names - usually a base name + numeric suffix.
41876 IDE » FileTypes Editor Icons dropped on the image well in a File Type Set Editor are properly imported, mask and all.
41962 IDE » FileTypes Editor If there is no asset or icon assigned, then clicking the icon in a UTI pane will create a new empty icon family that can be edited.
42383 IDE » FileTypes Editor Fields remnants no longer appear in File Type Set Editor panes on Linux.
42688 IDE » FileTypes Editor File Type Set UTI entries without identifiers will not be written to plists as they are useless.
42708 IDE » FileTypes Editor Adding an icon to a File Type Set marks the project as changed.
42710 IDE » FileTypes Editor Tweaked the layout of the File Type Set pane so fields baselines align with label baselines. Fields are now left and top aligned. Labels are now top and right aligned.
42923 IDE » FileTypes Editor Improved spacing consistentcy.
36338 IDE » Inspector Attributes editor is now usable on Linux.
41923 IDE » Inspector Locking indicators are independent of a control being locked in position and so reflect the correct settings regardless of whether the control is locked in position or not.
41925 IDE » Inspector No longer mishandles the visible property loading a web project with a web dialog on a web page.
41974 IDE » Inspector You can now correctly remove an interface that is missing from the project.
43231 IDE » Language Reference “Go home” in the LR when showing a plugin reference reloads the plugin reference (goes to the index page or HOME)
41759 IDE » Layout Editor IOS labels in the layout editor now draw using the iOSLineBreak that is specified.
41814 IDE » Layout Editor Improved the appearance of a SegmentedControl with only one segment that is selected in the Layout Editor.
41854 IDE » Layout Editor All layout types properly handle fill width or fill height and those actions can be undone.
41960 IDE » Layout Editor WebDialogs and WebControl wrappers which are tray controls that have UI no longer have their UI related properties dropped.
42081 IDE » Layout Editor Tab order button only enables if there is more than 1 control on the layout.
42082 IDE » Layout Editor Control order buttons enable and disable appropriately depending on whether the control is already front-most or rear-most.
42112 IDE » Layout Editor Can again set the size and position for web dialog and web container controls classes.
42139 IDE » Layout Editor iOSProgressWheel now renders properly in the IDE, at the correct size and matches the scaling behavior of iOS.
42258 IDE » Layout Editor A duplication bug that could result in exponential growth of controls duplicated has been fixed.
42602 IDE » Library Container controls subclasses no longer display as small when the rest of the Library is using larger sizes. The now draw at the same size as everything else.
40983 IDE » Licensing Linux licenses now "stick" across reboots as expected. LINUX USERS WILL NEED TO UPDATE THE LICENSE INFORMATION IN THE IDE!
11309 IDE » Miscellaneous Continuation lines are indented when printed.
12673 IDE » Miscellaneous #if, #if...#Endif and #Pragma can be easily found if you search for just # (or any of the longer strings).
17592 IDE » Miscellaneous The Analyze menu item is now disabled if a folder is selected.
19093 IDE » Miscellaneous ReportDocument no longer shows Save and Load methods.
19580 IDE » Miscellaneous Cancelling the preparation of plugins doesn't leave the UI in a state where it cant be cancelled the second time. Cancelling cancels the build instead of continuing and causing a potential cascade of errors from cancelling the preparation.
20865 IDE » Miscellaneous Linux template panel behaves more like the OS X and Windows and now have a default appid even when you switch from one of the built in project types.
22103 IDE » Miscellaneous Error panel saves and restores column widths the user sets for errors and warnings.
23730 IDE » Miscellaneous Web Control HelpTags properly change and get saved as you alter them in the IDE.
23844 IDE » Miscellaneous When you click resume the debugger tab is once again made the current tab.
25146 IDE » Miscellaneous Minimum size is no longer too small for the accept file types sheet.
26093 IDE » Miscellaneous Picture icons are properly badged in the Navigator and cannot be "exported" or made external as they are already external.
31534 IDE » Miscellaneous An empty toolbar now longer redraws darkly colored when there is nothing selected and you inactivate the window.
33758 IDE » Miscellaneous Converting a tab panel to a page panel and vice-versa retains the panel / tab definitions.
41953 IDE » Miscellaneous Old projects don’t get an exception when running - they may still not run because the required plugins are no longer supported but that will be reported as part of the failure to properly compile.
41994 IDE » Miscellaneous IDE no longer generates a NilObjectException if the scratch directory is deleted. Now the directory is recreated as needed.
42102 IDE » Miscellaneous Adding an event handler to an encrypted class is no longer allowed.
42116 IDE » Miscellaneous Closing a secondary workspace no long closes the project on Linux.
42151 IDE » Miscellaneous Copy file step that has two blank strings in it was causing an assertion and now the assertion is properly handled so the IDE can load the project correctly.
42245 IDE » Miscellaneous Saving a text project should be noticeably faster.
42312 IDE » Miscellaneous MS Office Automation items should behave much better in autocomplete.
42345 IDE » Miscellaneous iOS Examples are no longer included in with Windows and Linux IDEs.
42436 IDE » Miscellaneous A NilObjectException in how a window handles being closed has been fixed.
42453 IDE » Miscellaneous Containers properly restore their lock settings.
42518 IDE » Miscellaneous iOSSegmented controls save and restore property values as set in the IDE.
42799 IDE » Miscellaneous Fixed a potential use-after-free in Picture.FromData on OS X.
42882 IDE » Miscellaneous Labels on tab/page panels show their captions in the tab order editor like they do when not on a tab/page panel.
42872 IDE » Navigator Copying items in the navigator no longer doubles up items if you select the group header (say METHODS) and the items in the group.
42880 IDE » Navigator Lists of methods of various types (delegates, external, method and shared methods) no longer get mixed together.
41702 IDE » Plugins Updated enumerations are pushed to instances in an existing project.
24718 IDE » Project Editor As you type in the Navigator filter it no longer loses focus.
41955 IDE » Scripting Can use IDE scripts to get and change the IOSAppName property.
42128 IDE » Style Editor Tabbing between panes in the web style editor behaves as expected.
41922 IDE » Web Page Editor IDE mimics what actually occurs in a web browser with TextFields and TextAreas that have multiline text values.
19905 IDE » Window Editor Converting the super from one to another redraws the control and updates the Inspector (except for converting to a segmented control which still doesn't work for entirely different reasons).
40825 Miscellaneous The xojo.xpm icon file is now included in the .tgz download.
43137 Miscellaneous Fixed a crash that could occur when switching away from the code editor.
42450 Plugin SDK REALLoadFrameworkMethod can now load the Split function.
41931 Remote Debugger Stub Remote Debugger stub launches the correct executable after unpacking.
42842 XojoScript Fixed a crash when running XojoScripts with optimizations enabled.
97 Bug Fixes


42335 Build Pipeline Windows Runtime files are now provided in the Extras directory.
42489 Framework » Linux Now supports loading multi-representation TIFFs, this requires the libtiff library to be present.
42020 Framework » Web User defined WebStyles now have more specificity than framework applied styles.
42594 IDE Help->Upgrade guide entry removed. User Guide entry redirects to online user guide in Dev Center.
42595 IDE If the project is set to support HiDPI, dragging a picture in will result in an Image (multi-representation). If the project is not set to support HiDPI, dragging a picture in will result in a Picture (single representation). You can flip this back and forth as needed. And holding the ALT key will flip things to "import the other form" depending on how the project is currently set.
42542 IDE » Code Editor A light grey separator is drawn between the code editor and help area below.
42697 IDE » FileTypes Editor Replaced use of the word 'program' with 'application' in help tags.
42702 IDE » FileTypes Editor Labels in the File Type Set Editor have tooltips.
42709 IDE » FileTypes Editor Adding an icon to a filetype _should_ now result in an icon on files of that type without having to add it to the Accepted files list.
42715 IDE » FileTypes Editor File type editor has a separator between file types.
42717 IDE » FileTypes Editor File type editor background matches style editor background.
42721 IDE » FileTypes Editor Add a File type template is now the first button on the command bar.
42536 IDE » Icon Editor

Improvements to Image Set editor:

  • The number of rows in the editor is a function of how many representations there are (fewer will result in taller rows)
  • Generic image will, once an image is dropped into it, show the dimensions
20474 IDE » Miscellaneous Dragging a code item (constant property etc), control subclass, control instance into the code editor inserts the items name at the position where you drop it.
23169 IDE » Miscellaneous Plugins support small and large icons. Refer to the Plugin SDK documentation for specifics.
41729 IDE » Miscellaneous IDE supports and configures built applications to support HiDPI.
42763 IDE » Miscellaneous 'REM' and 'REM ' are now choices in the comment marker style.
42816 IDE » Miscellaneous Added a hotkey for toggling bookmarks.
42866 IDE » Navigator Add a pref for “Use Large Font" that defaults to False so people can pick between large and small font size.
41836 IDE » Rendering "Assembling Code" times have been improved.
30292 IDE » Window Editor Labels on tab/page panels show their captions in the tab order editor like they do when not on a tab/page panel.
42853 Plugin SDK REALCopyPictureCGImage is now deprecated. Plugin authors should use the dynamic access API to invoke Picture.CopyOSHandle, ideally with the MacNSImage handle type.
22 Changes

New Items

42098 Build Added a special IOS launch failure message to give a suggestion about how to resolve "fail to launch" error.
41761 Framework » iOS Active property on a layout constraint is settable at design time.
41863 IDE » Code Editor Syntax help area uses the same font and size as the code editor.
42753 IDE » Language Reference Local LR is the default. [Local] is removed from titles and menu item.
42945 IDE » Layout Editor Resize handles no longer draw when dragging controls on the layout editor.
25108 IDE » Miscellaneous The Xojo IDE now supports retina on OS X.
41834 IDE » Miscellaneous The About window has an additional panel on it that shows which plugins are loaded.
42445 IDE » Miscellaneous Added a preference on the Debugging Pane of the IDE to hide the bottom pane on Run or leave it as it is currently set.
40473 Plugin SDK Added a new function, REALLoadSharedMethod, to allow plugins to invoke shared methods.
9 New Items

Docs and Examples

31150 Documentation Added CancelBuild to IDE Script Building Commands page.
35422 Documentation Added Xojo Cloud page to docs for describing how to use Xojo Cloud:
41891 Documentation Updated doc page for WebApplication.SessionIdentifier to indicate that the IPAddress parameter has been removed.
41987 Documentation Epiphany Browser now appears in the wiki docs for WebSession.
43005 Documentation Updated File Type Sets docs in User Guide and added File Type Set examples to the Files folder.
43021 Documentation Added link to StrComp on the Equals page in the classic Wiki.
41839 Documentation » Miscellaneous Added descriptions for Baseline, Leading and Trailing to Auto-Layout page in Dev Center.
42443 Documentation » Miscellaneous Moved XojoTalk podcast page to the Resources section of Dev Center to make it easier to find.
31279 Documentation » User's Guide Updated Remote Debugging docs:
40336 Examples Added example code to RegistryAccessErrorException.
41884 Examples Fixed the certificate Copy File Step order for Windows/Linux in the Web SSLExample project.
41973 Examples In iOS TCPSocket_Example, removed underscore from bundle ID to prevent compile error.
42360 Examples Added iOS Declare example (iOS/Declares/iOSTabDeclares) to enable/disable tabs and set the tab badge.
42367 Examples Corrected bundleID for OracleExample project.
42507 Examples SQLiteExample now shows how to edit and delete rows in a table.
42841 Examples Added Xojo Cloud/CloudTop example to display Top results to track server usage.
12300 Language Reference » Documentation Updated MemoryBlock and Xojo.Core.MemoryBlock to indicate max sizes for 32-bit apps.
14291 Language Reference » Documentation Added Examples/Desktop/Controls/SegmentedControl example project.
15927 Language Reference » Documentation Added information about SQL Injection to User Guide (
23867 Language Reference » Documentation Added example code to HTTPSocket.SetRequestContent page.
25641 Language Reference » Documentation Updated TextInputStream.ReadLine to note that any valid end-of-line indicator is used to identify a line.
30643 Language Reference » Documentation

Local LR behaves more like the “Dash” doc viewer. Notes:

  • You can search using just a keyword
  • You can also search using a keyword + one or more selectors Valid selectors are :
    • type:<comma list="" separated="" spaces="" without=""> Finds the keyword and only show items that are the types specified. (Examples: type:class or type:class,property)</comma>
    • <comma list="" separated="" spaces="" without="">source:<wiki helpiq="" or=""> - Limit results to coming from one doc source or the other (wiki or devcenter). (Examples: source:wiki source:devcenter) </wiki></comma>

<comma list="" separated="" spaces="" without=""><wiki helpiq="" or="">Examples</wiki></comma>

  • <comma list="" separated="" spaces="" without=""><wiki helpiq="" or="">Find all items that include book in the name: book </wiki></comma>
  • <comma list="" separated="" spaces="" without=""><wiki helpiq="" or="">Find all properties that include book in the name: book type:property</wiki></comma>
  • <comma list="" separated="" spaces="" without=""><wiki helpiq="" or="">Find all classes that include book in the name: book type:class</wiki></comma>
31789 Language Reference » Documentation On COM page, linked IPicture interface to Microsoft docs.
32619 Language Reference » Documentation Removed duplicate Asin page.
32938 Language Reference » Documentation Crypto.RSASIgn and RSAVerifySignature now note that they are using PKCS v1.5 with SHA1.
34101 Language Reference » Documentation Added link on COM page to “Win32 and COM for Windows Runtime apps” in MSDN.
34148 Language Reference » Documentation Added note to Structure page about usage of ByRef.
37569 Language Reference » Documentation Added links to MSDN docs for IDispatch methods.
38455 Language Reference » Documentation Added a note to RegistryItem.Value to indicate you have to use a MemoryBlock to create a binary key.
38761 Language Reference » Documentation Window.Minimize event now notes that a minimized window may still be the front-most window as returned by the Window method.
40640 Language Reference » Documentation BinaryStream.Constructor now notes that streams created from a file handle are owned by the BinaryStream.
41567 Language Reference » Documentation ListBox docs now show parameter names that match what is displayed in the Code Editor Syntax Help.
41604 Language Reference » Documentation Timer page now has links to AddHandler.
41856 Language Reference » Documentation Restored MoviePlayer.PlayerType property, which was incorrectly removed from docs.
41958 Language Reference » Documentation Example code on Graphics.DrawRect page now correctly uses PenWidth instead of PenHeight.
42120 Language Reference » Documentation Removed references to Windows XP on System.Log page.
42248 Language Reference » Documentation Added Example code to Shell.Mode page and clarified that Shell must remain in scope to use Modes 1 or 2.
42275 Language Reference » Documentation TargetARM no longer says unavailable on Compiler Constants page.
42550 Language Reference » Documentation Removed incorrect desktop-only tag on GetFolderItem page.
42844 Language Reference » Documentation Removed all hidden QuickTime pages and related content from Classic Doc Wiki.
40 Docs and Examples