2015r2

(April 14, 2015)

Xojo 2015 Release 2 contains about 100 changes. Some of the more notable new features and changes include:

  • iOS Icons and Images can now have multiple sizes associated with them.

  • 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

  • Added iOSDatePicker control

  • Reduced size of Windows and Linux built apps

  • Language improvements

    • Added PBKDF2 and BER/DER methods to Xojo.Crypto

    • XojoScript LLVM updated to 3.5.1

Bug fixes (64 cases)

Case

Area

Description

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.

29166

Framework > All

Removed deprecated BinaryStream functions: ReadLong, ReadByte and ReadShort WriteLong, WriteByte and WriteShort

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 runtime.

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.

38808

Framework > Macintosh (Cocoa)

Macintosh: Xojo.Core.Timer now works on 10.7 and 10.8.

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 (18 cases)

Case

Area

Description

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 (8 cases)

Case

Area

Description

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 iOSDatePicker 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 (13 cases)

Case

Area

Description

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.