2015r2 Release Notes

From Xojo Documentation

(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

Release Notes

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