2016r3

Released September 13th, 2016.

This release of Xojo has these notable new features and changes:

  • You can now specify compiler options of Default, Moderate and Aggressive for 64-bit and ARM builds.

  • SQLiteDatabase upgraded to v3.14.1 and now supports FTS5 for full-text searching.

  • Many additions to refactoring features of the IDE and Code Editor.

  • Save Code Editor color schemes to easily share and re-use.

  • ICU library included with Linux builds for improved compatibility.

  • Can now easily convert Pictures in projects to Image Sets.

  • Over 90 bug fixes and improvements.

Bug fixes (64 cases)

Case

Area

Description

44697

Build

Web apps compiled for Linux no longer create app icons next to them as they are not needed.

44896

Build

Build OS X Apps should no longer require defined document types and also not report as “damaged or incomplete” on macOS Sierra.

45056

Build

Code signing iOS applications now strips out files that codesign calls detritus and would prevent signing from succeeding.

44370

Compiler

Using Variant.DateValue in an iOS project now reports an error instead of a failed assertion.

44488

Crashes & Assertions > Crash

Fixed a potential assertion when using FolderItem.GetSaveInfo, this may also change the behavior on Windows/Linux, but hopefully the change means it actually works as intended now.

44359

Crashes & Assertions > IDE Unhandled Exception

The IDE now tries several different locations to get a usable temp/scratch folder. This should prevent possible crashes when the IDE is left open for long periods of time.

44635

Crashes & Assertions > IDE Unhandled Exception

Saving as plain text with items that would result in illegal file names now says why the project cant be saved as plain text giving the user a chance to fix the issue.

43311

Framework > All

The UTI property of a filetype accessed at runtime now contains the filetype rather than always being blank.

44675

Framework > All

Windows: System.MouseX and System.MouseY now report the correct point location in HiDPI.

44890

Framework > All

For ListBox column widths, made these changes: - values like NNN.NNN* (whatever else) are rewritten as NNN* - values like NNN.NNN% (whatever else) are rewritten as NNN.NNN% - values like NNN (whatever else) are rewritten as NNN For example: 123.123*456*&^, 123.123%456%&^, 123.123cm turns into 123*, 123.123%, 123 Measures like cm, pixel, em etc are not valid for widths.

44904

Framework > All

Threads that are doing MySQL database operations no longer get lost when the operation completes.

44614

Framework > Windows

Xojo.Crypto no longer crashes on Windows for Console builds.

44615

Framework > Windows

Xojo.Net.HTTPSocket events are now triggered for Console apps on Windows.

44852

Framework > Windows

On Windows TextArea.Styledtext.RTFData now stores the correct text size again, this was broken in 2016r2.

44857

Framework > Windows

Xojo.Crypto.PBKDF2 no longer returns random hash values for the same salt and data on Windows (32-bit builds).

44878

Framework > Windows

On Windows TextArea.SelTextSize now returns the correct text size again, this was broken in 2016r2.

44778

Framework > iOS

IOS tool buttons are enabled / disabled as set in the Layout Editor.

44944

Framework > iOS

Default orientation of iOSLine is now 0 (east west).

44947

Framework > iOS

Default max value for iOSProgressBar is now 100.

44949

Framework > iOS

Default max value for iOSSlider is now 100.

44950

Framework > iOS

Default text color for iOSButton is now “iOS Blue”.

44609

IDE

Made it so brand new projects will enable the Save menu item. This works for built in default empty projects and user created templates as well.

44618

IDE

The class super browser now shows iOSContainerControl and its subclasses.

44751

IDE

Images now store their full and relative paths explicitly as UTF8 to improve compatibility between Windows, Mac and Linux.

44870

IDE

Deleting the ContainerControl that is set to be the content provider for a ScrollableArea no longer causes an exception.

44970

IDE

Opening and closing preferences no longer switches window ordering.

44472

IDE > AutoLayout

Aligning to a center constraint no longer retains the offset (as that's not needed when you align to a centering guide).

44913

IDE > Build Automation

Copy File Step can be added to on Linux using the + button. Note: Drag and drop does for Copy File Step does not work on Linux.

44588

IDE > Code Editor

Getting shortcut keys with shift modifiers working properly for certain keys (like 0-9,-+\;',./[]`). This fix makes the Bookmark shortcut key work in the Windows IDE.

44689

IDE > Code Editor

Syntax Help area maintains the same color scheme as the code editor itself.

44753

IDE > Code Editor

Undoing one of the wrap in code assistants properly removes the beginning and ending lines for the wrapper.

44919

IDE > FileIO

Fixed a small issue in text project format when writing shared methods where there's an extra space.

44812

IDE > FileTypes Editor

UTI name field won't let you create an invalid identifier name.

44767

IDE > Find & Replace

Items found by a search that are in external classes in modules are properly revealed again. This also fixes the same issue with Project > Go To Location menu item.

44597

IDE > Inspector

Adding a second auto-layout rule for the same edge edits the correct one.

44792

IDE > Inspector

Non-release version is incremented and updated in the property inspector as expected.

44801

IDE > Inspector

iOS tool buttons present the right image property editor when a project is reloaded.

44536

IDE > Language Reference

Fixed issue on Doc wiki that results in MemoryBlock.Ptr not going to the correct target.

44500

IDE > Layout Editor

iOSToolButtons with a style of Done or Done Style now render in bold in the layout editor.

44577

IDE > Layout Editor

The Layout Editor for iOSContainerControl and iOSCustomTableCell no longer show the unneeded device button on the command bar.

44578

IDE > Layout Editor

iOS layouts load correctly and apply auto-layout rules to layout upon initial opening in a size other than the iPhone 4 default.

44599

IDE > Layout Editor

iOS Container Controls draw contents again when placed on other views.

44652

IDE > Layout Editor

OS X Retina IDE properly draws ContainerControl's right and bottom borders.

44794

IDE > Layout Editor

Editing the column names of a WebListBox now properly indicates that the document has unsaved changes.

44802

IDE > Layout Editor

iOS tool buttons can no longer be resized vertically.

44860

IDE > Layout Editor

Copy and paste of controls from one pane of a tab/page panel to another works again. This fix preserves the fix for copying a tab / page panel from one window to another (see case 41779).

44948

IDE > Layout Editor

Don't allow locked controls on any layout type to be moved, regardless of whether it's by a drag or the keyboard.

44601

IDE > Library

iOS library has missing project items added to it.

44602

IDE > Library

Image project item is in Library Project Items section for Desktop and Web projects.

31364

IDE > Miscellaneous

Structure editor allows blank and comment lines in a definition and properly calculates sizes and offsets (ignoring the blank and comment lines).

44444

IDE > Miscellaneous

Copy paste of text representations of various code items works much better Dynamic constants with multiple representations are NOT part of this

44445

IDE > Miscellaneous

Copy paste of text representations of various code items works much better Dynamic constants with multiple representations are NOT part of this

44470

IDE > Miscellaneous

Copy paste of text representations of various code items works much better Dynamic constants with multiple representations are NOT part of this

44646

IDE > Miscellaneous

Removed extraneous space in XML project format bookmark tag.

44663

IDE > Miscellaneous

XML projects now properly reload saved Bookmarks.

44810

IDE > Miscellaneous

An exception that could occur when you delete an event implementation while you have it open in the code editor with the autocomplete list showing has been fixed.

44845

IDE > Miscellaneous

Image sets correctly post warnings when images do not meet the specification for the item.

44666

IDE > Navigator

Fixed an issue in importing multi-item module files that meant the top level items could not see their contents right away.

44731

IDE > Navigator

Folders at the same level of the project hierarchy should not have or be allowed to have duplicate names.

44732

IDE > Navigator

Undoing the move of an item that would cause a name conflict (and so was renamed as part of the move) now undoes the name change as well.

44641

IDE > Scripting

Changed the key to perform Open Script instead of Run Script to: OS X - the control key Windows & Linux - the Alt key This makes the shortcut to edit a script cmd+option+ctrl+digit on OS X and ctrl+shift+alt+digit on Windows.

44762

IDE > Scripting

IDE no longer sets up more than 10 shortcuts for IDE script (which previously resulted in duplicate shortcuts).

21043

IDE > Web Page Editor

WebLabel with right-aligned style draws in the IDE properly.

44452

Remote Debugger Stub

Remote Debugger Stub now reports an error when it cannot launch or unpack the file being sent to it.

Changes (28 cases)

Case

Area

Description

43121

Framework > All

Picture.CopyColorChannels now returns a new Picture with the extracted color information (excluding the alpha or mask portion).

43956

Framework > All

SQLiteDatabase has been upgraded to sqlite v3.14.1.

44422

Framework > Linux

Statically linking in ICU library again since there's no great ABI stability guarantee across ICU versions and it's problematic for users to get the right one installed.

21354

Framework > Macintosh

UTI and all other UTI properties (Mime Types, conforms to, imported/exported, etc.) are exposed for use in code.

44959

Framework > Windows

Windows builds now require SSE2 instruction set.

44906

IDE

Single and double quotes are no longer replaced with smart versions regardless of settings on OS X.

44334

IDE > Build Automation

Added a contextual menu to the copy file steps editor that includes Show On Disk and Open File options.

20397

IDE > Code Editor

Added “Wrap in #if false / #endif” to the Code Editor contextual menu.

44754

IDE > Code Editor

Added “Wrap in For Next” to the Code Editor contextual menu.

43834

IDE > FileTypes Editor

File Type editor has collapse all / expand all button.

42153

IDE > Find & Replace

Search field selects its contents when focus is set to it.

43641

IDE > Layout Editor

Dragging control(s) while holding the shift key after you start dragging will restrict the move to horizontal or vertical.

36681

IDE > Library

The library now has two “All” entries: * One is All Controls which lists every control - built-in and custom subclasses in the project * The other is All Built-in Controls which is just built-in controls for the project type

8366

IDE > Miscellaneous

Updated the extract constant process. A dialog now allows you to override suggested named, type, scope and value.

12376

IDE > Miscellaneous

When selecting the online references you have the option to use the IDE's built in browser or whatever third party browser is set as your default to handle http URL's.

28367

IDE > Miscellaneous

Updated the Xojo and Realbasic main project icons (for text project format) to have a solid color background to distinguish them from other project icons.

31882

IDE > Miscellaneous

Added Shell to Library for Desktop, Web and Console projects.

35263

IDE > Miscellaneous

Double clicking a resource file for a Xojo text format project, opens the project.

43810

IDE > Miscellaneous

Navigator Preferences now have a separate panel and are no longer part of the General panel.

29528

IDE > Navigator

Made it so the text header rows in the Navigator only allow you to add the same type of item as the header clicked. For instance if you right-click on Methods you can only add a new method (since thats the group you right-clicked). Same for all other headers.

33094

IDE > Navigator

Right click on Contents in the Navigator now allows you to insert project items.

43335

IDE > Navigator

The Get / Set sections of a computed property now draw in bold if they have code.

4912

IDE > Project Editor

Extracting a superclass from an existing subclass will insert a new class between the old super and subclass.

10131

IDE > Project Editor

When the dialog stating a project is from a newer version is shown there is now the option to cancel.

20638

IDE > Project Editor

An XML file dropped into a project will import as RAW DATA if it's not an XML project or other exported XML project items (classes, windows, modules, etc).

21178

IDE > Project Editor

Extract Super now lets you extract all code item types including methods, properties, constants, delegates, enumerations, external methods, menu handlers, shared methods, shared properties, structures and using clauses.

21188

IDE > Window Editor

In the Layout Editor, locked controls are now locked from movement and deletion.

44925

Miscellaneous

Added iPad Pro icon size to iOSImageMaker.

New items (11 cases)

Case

Area

Description

39277

Compiler

For 64-bit Desktop, Raspberry Pi, and iOS builds: There is a new Shared Build setting called Optimization Level that allows each project to select a balance of compile time against optimization time. Default is the fastest compile time, Moderate is a blend of both optimization and compile time, and Aggressive provides the most optimization with longest compilation time.

41645

Database Plugins

SQLiteDatabase now supports FTS5.

16317

Framework > All

Adding the attribute HideFromLibrary to a control subclass will make it not appear in the libraries list of All Controls or Project Controls.

44855

Framework > All

Add ConsoleApplication.SleepCurrentThread, which behaves the same as the existing Application.SleepCurrentThread method.

44831

IDE > Constant Editor

Multiline string editors disable automatic text replacements (such as swapping standard quotes to curly quotes).

20580

IDE > Miscellaneous

IDE can import and export color schemes as XML (from the Coding preference pane).

20594

IDE > Miscellaneous

You can now right-click an item in the Library to get a popup menu that lets you create a new subclass from the item.

42676

IDE > Miscellaneous

Preferences -> General now has a setting for how many recent items to remember.

44493

IDE > Miscellaneous

Put the Number of recent items back in the preferences so users can control this independently of the system setting.

44419

IDE > Navigator

You can now use the contextual menu to select Pictures in the Navigator to convert them to Image Sets. The selected picture becomes the first image in the newly created Image Set.

44626

IDE > Navigator

Right clicking on an existing event now has a Create New Event Definition From Event item in the contextual menu that creates a new event definition from the existing event with the same name, parameters and return type.

Docs and examples (13 cases)

Case

Area

Description

44566

Documentation

Removed use of ReadShort from example on BinaryStream page.

44593

Documentation

Corrected sample code for iOSTable.AddRow to use iOSTable.CreateCell.

44736

Documentation

Update IIS deployment page with link to an external guide for IIS reverse proxy configuration.

44766

Documentation

Added Enumeration concept page to Reference Guide.

44887

Documentation

Clarified several things about Registry item creation on RegistryItem.Constructor page.

36707

Documentation > Miscellaneous

Updated Intro to Programming with Xojo, Teacher Guide and iOS addendum.

24414

Examples

GasReport example project has improved report formatting and layout.

44561

Examples

Updated iOSHTTPSocketExample to use https to be compatible with iOS 9 and later.

44808

Examples

Fixed bugs in CanvasScrolling example.

44823

Examples

ListBoxDragAndDrop example now saves FolderItem object rather than using NativePath.

44923

Examples

Combit List & Label 21 example now available in the Printing and Reporting folder.

44952

Examples

Updated iOS XojoClicker example to use Image Sets and iOSTable.CreateCell.

44873

Language Reference > Documentation

LR docs regarding TextArea.SelTextSize updated.