2015r3

Released October 20th, 2015.

Xojo 2015 Release 3 is one of the largest releases in Xojo history. Major changes and new features include:

  • 64-bit Desktop, Web and Console apps for OS X, Linux and Windows

  • Raspberry Pi 2 (32-bit ARMv7 Linux) apps for desktop, web and console apps

  • Web Drag and Drop support

  • The ability to create bookmarks to lines of code

  • iOSLabel now supports different line breaks

  • You can now “Collect” all your project items into a single bundle to make distribution easy

  • All-new File Type Set Editor for managing files used by your apps

  • iOSContainerControl to create reusable iOS controls

Note: With 2015r3, Xojo no longer supports building apps for Windows XP.

Bug fixes (259 cases)

Case

Area

Description

24010

Build

If an external IDE script cannot be found the IDE will, when it tries to run that step, show a warning and cancel the build.

40209

Build

ICNS files are written using PNGS for all sizes.

31855

Compiler

Instead of asserting, an error is now reported if an enum contains a string value.

38837

Compiler

Compiler: Integer constants without an explicit type are now treated as Integer instead of Int32.

39763

Compiler

Fixed a crash in the compiler when empty parenthesis were used as an expression.

39765

Compiler

Fixed a crash with enumerations that have an invalid underlying type.

39855

Compiler

Fixed a crash that would occur when using Mod where the second operand was zero.

39994

Compiler

Fixed a handful of crashes that could occur if a class inherited from itself.

39995

Compiler

Fixed a crash when an invalid value was entered into the Implements field of the method editor.

40001

Compiler

Fixed a crash when there was a method with multiple parameters marked Extends.

40078

Compiler

Constants referring to other constants now resolve using the proper name lookup rules.

40079

Compiler

Fixed a crash that could occur with enumerations in rare cases.

40086

Compiler

Fixed a crash when a class has a superclass that implements something that is not an interface.

40087

Compiler

Fixed the class interface aggregate cycle checking to be correct in all cases.

40095

Compiler

Fixed a crash that could occur if the underlying type of an enumeration was an array.

40096

Compiler

Fixed a crash that could occur if a parameter was specified to be ByRef and ParamArray.

40128

Compiler

Fixed a crash that could occur when #If blocks had a conditional value that didn't evaluate to a boolean constant and there was an #ElseIf.

40139

Compiler

Fixed a failed assertion that could occur if a structure field had an unresolved type that happened to have the same name as another non-type symbol.

40342

Compiler

Fixed the alignment of 64-bit integers inside of naturally aligned structures.

38863

Crashes & Assertions > Crash

Compiler: Fixed a bug where applications would crash if an exception was raised through a very large function.

39076

Crashes & Assertions > Crash

Fixed a crash that would occur if RuntimeExcerption.Stack was accessed from a binary lacking function names.

27064

Database Plugins

ODBC Plugin: Binding string of type ODBC_TYPE_LONGSTRING no longer truncates string to 2 characters.

35603

Database Plugins

The DNS chooser dialog now shows up again on OS X when the ODBCDatabase.DataSource is empty.

40349

Database Plugins

ODBC Plugin: Fixed a host of issues related to prepared statements: - Binding ODBC_TYPE_STRING/LONGSTRING now works properly - Binding empty strings now works properly - Fixed a potential memory buffer overrun with long sql statements, binding long strings, etc. - Improved error reporting for prepared statements - Updating Date values with Null is now possible

27807

Debugger

Can resize splitters in debugger whether the IDE is paused while debugging or not.

30860

Debugger

When starting the debugger the bottom pane, if open, will hide the bottom pane so the debugger can properly show.

32726

Debugger

Console Remote debugger Stub can be used from an SSH system and does not require the OS X Terminal app or xterm.

34893

Debugger

Running a web app no longer badges the IDE dock icon.

38668

Debugger

Debugger pane can be resized vertically as well as horizontally even when not viewing debugging data.

39341

Debugger

Properties exposed with Inspector Behavior (esp. Text) retain their values when set in the Inspector.

18420

Framework > All

Email attachments save as expected regardless of being base64 encoded or not. Only base64 encoded are decoded before saving.

21325

Framework > All

Variant's Int64Value now handles exponents.

34709

Framework > All

HTTPSocket, HTTPSecureSocket, SMTPSocket, SMTPSecureSocket now support longer username/password combinations for proxies and http authentication.

34980

Framework > All

WebListBox.LastIndex now defaults to -1 instead of 0.

38643

Framework > All

EmailAttachment now adds filename (Latin1 and UTF8) parameter to Content-Disposition attachment header if the attachment has its name property set.

39274

Framework > All

Xojo.Data.GenerateJSON no longer throws an InvalidArgumentException when passed empty text.

39307

Framework > All

Text variant comparisons with String, Integer, Double, etc. now works instead of raising a failed assertion.

39319

Framework > All

An off by one error in the index of method for the new MemoryBlock has been fixed.

39331

Framework > All

Int8 and Uint8 can be used with the Str function with and without format strings.

39398

Framework > All

GenerateJSON no longer throws an InvalidFormatException when passed a zero-length String.

39516

Framework > All

All: SMTP connections using STARTTLS have been refactored so that an intercepting insecure server cannot accept the connection.

39981

Framework > All

Windows/Linux: Subtracting or adding a DateInterval to a Xojo.Core.Date now properly modifies the significant fields of the date properly.

31664

Framework > Linux

Change the pace of the indeterminate progress bar to something a little slower.

38795

Framework > Linux

Built apps now look in the generic Libs folder for plugins and shared libraries if available.

40259

Framework > Linux

Using Xojo.Net.HTTPSocket in Console apps no longer crashes in Ubuntu 12.04 or older.

38659

Framework > Macintosh (Cocoa)

RadioButtons on TabPanels and PagePanels have the pre-2014r2 behavior again.

40672

Framework > Macintosh (Cocoa)

Fixed a crash that would occur when closing a fullscreen or split window on OS X 10.11.

15116

Framework > Web

WebRadioGroups are now the correct height in the browser.

38655

Framework > Web

Fixed a WebDialog refresh bug which caused WebLabels to render incorrectly when a dialog had been closed and opened again.

38880

Framework > Web

WebCanvas now has a DisableDiffEngine property.

40125

Framework > Web

Fixed a bug in WebListbox which made the use of external datasources using the DataCell interface fail. Added a RefreshCell method to allow pushing DataSource changes down to the browser.

40188

Framework > Web

WebListBox.LastIndex now gets set to -1 when DeleteAllRows is called, matching the desktop behavior.

40242

Framework > Web

Web: Fixed a bug which prevented IE11 and IE Edge from being detected properly.

40262

Framework > Web

Firefox and Internet Explorer 9+ will now play H.264 MP4 videos in their native players instead of using Flash.

40268

Framework > Web

Web: Fixed a bug which prevented gzip compression from being applied to http responses.

40309

Framework > Web

Web: WebTextField and WebTextArea now fire the TextChanged event when the text set in the inspector is cleared.

40511

Framework > Web

Internet Explorer 11 is recognized as a supported browser again.

39704

Framework > Web > Frame

WebHTMLViewer.URL no longer destroys the backing webfile if the encoding of the URL being set is not UTF8 and that's the only difference.

40060

Framework > Web > Frame

Closing a WebPage, WebDialog or WebContainer no longer shows an error about closing controls.

40048

Framework > Web > Javascript

WebSDK no longer overwrites the XojoCustom namespace if it already exists.

20850

Framework > Windows

Modernized Open/Save/Select dialogs (i.e. using Vista+ style dialogs instead of XP style). Note: setting the Cancel caption only works on Windows 7+.

24826

Framework > Windows

Adding a movie to a project no longer autoplays it.

33565

Framework > Windows

WebKit based HTMLViewer no longer increments the reference count of its CefBrowser when getting the Handle property.

34080

Framework > Windows

The GDI+ graphics functions now falls back on a generic MS Sans Serif font if an unsupported font was used (this fixes various issues like StringWidth returning 0).

38693

Framework > iOS

When you set the Value for a segmented control on iOS that item is now marked as selected so that other changes to the control, such as changing a caption, work as expected.

38972

Framework > iOS

You can once again use the Browse option selecting an image for an image view. On iOS it creates an image asset, not a picture, the same as if you dragged an image into the project.

39500

Framework > iOS

A segmented control with no segments no longer results in an error when you analyze the project.

40599

Framework > iOS

Changes to some enumerations for consistency: * iOSImageView.ContentsMode ENUMERATION renamed to be plural (ContentModes) * iOSProgresWheel.Shade ENUMERATION renamed to be plural (Shades) * iOSToolbar.Context ENUMERATION renamed to be plural (Contexts) * iOSDatePicker.DatePickerMode ENUMERATION renamed to iOSDatePicker.Modes (pluralized & renamed)

36874

IDE

Adding an event handler puts the focus on that item in the Navigator, or the last one if you add several at once, and this results in the code editor having focus so you can type immediately.

38771

IDE

Assets no longer silently reload if they have lost track of one of the images in one of the asset types.

39240

IDE

An error that could arise when you copied and pasted a property has been fixed.

39430

IDE

The feedback icon in the toolbar has been fixed.

40402

IDE

Deleting an event from a control set no longer causes issues after deleting it.

40891

IDE

Accented characters now work fine as project item names.

20233

IDE > Auto Complete

Toolitems on a Toolbar now autocomplete.

36047

IDE > Auto Complete

SQLiteDatabase on iOS no longer shows methods that apply to the non-iOS SQLiteDatabase in autocomplete.

36417

IDE > Auto Complete

Items that are not accessible for the project type are not shown by autocomplete.

39125

IDE > Auto Complete

Text constants are now shown in autocomplete.

39325

IDE > Auto Complete

All sortable array types show Sort and SortWith as possible autocompletion methods.

39383

IDE > Auto Complete

Autocomplete now shows a structure's ByteValue method.

39406

IDE > Auto Complete

Until keyword now autocompletes properly. Do loops are also closed in a more contextually sensitive way : * If you start the loop with DO<press return=** shift=**> it will be closed with loop until” * If you start the loop with *do until it will be closed with loop </press>

37246

IDE > AutoLayout

Positioning controls in IOS using cursor keys no longer hangs the IDE.

38744

IDE > AutoLayout

Baseline constraints are not removed when you resize horizontally as they were in the example. They get revised to a top constraint if the height is changed.

38777

IDE > AutoLayout

Controls that have constraints that depended on a control that was being deleted were not be reset and would just be removed. This fix puts constraints back on to those affected controls.

39004

IDE > AutoLayout

Can set baseline constraints and set them relative to other controls baselines.

19073

IDE > Code Editor

The IDE no longer reformats method parameters when loading code.

25588

IDE > Code Editor

Code editor is active immediately after adding event handler.

26363

IDE > Code Editor

GoTo property with arrays now works correctly.

26837

IDE > Code Editor

Adding an event puts the focus in the event's code editor.

27203

IDE > Code Editor

Option-return on OS X once again inserts a line continuation character.

28670

IDE > Code Editor

Enumerations only support the various integral types (integer, Uinteger, int8, uint8, etc).

28688

IDE > Code Editor

Constant name changes are property retained.

28942

IDE > Code Editor

Clicking elsewhere retains changes as expected.

35320

IDE > Code Editor

When you press shift + return there is always a new blank line added and the insertion point is on that new blank line.

38594

IDE > Code Editor

Scroll offsets are accounted for when the code editor canvas is asked for the rectangle for some text so the special characters palette and dictionary show up in the right spot.

38651

IDE > Code Editor

Selecting text and getting the OS X dictionary definition works again.

38847

IDE > Code Editor

Attributes and compatibility settings are NOT retained on a control instance placed on a layout. This make iOS consistent with desktop applications.

39878

IDE > Code Editor

Bug icons are centered using the same metrics as the hit boxes and line folding mechanisms.

40195

IDE > Code Editor

Shift-return to close a block thats opened with a select case is now correctly closed with *end select”.

40732

IDE > Code Editor

Minor typing change in the short summary for constants properties and methods so they consistently use “As”.

41039

IDE > Code Editor

Help Syntax in Code Editor displays the correct signature for the item the mouse is hovering over.

40036

IDE > Constant Editor

Dynamic constants of Text type now work.

40781

IDE > FileIO

Make it so when the IDE loads an old Binary or XML project the unnamed items that are in the project get loaded in a way a user can remove them. This mimics what occurs for text projects.

30201

IDE > Find &amp; Replace

Capitalization on help tags for search fixed. Descriptions are accurate.

40404

IDE > Find &amp; Replace

Find->Replace All no longer drops a default value on a property on a class/window/etc where it used to.

40700

IDE > Find &amp; Replace

Finds using RegEx are shown correctly in the find panel.

21169

IDE > Inspector

Windows IDE: Tabbing through Inspector fields now shows the focus ring on PopupMenus and other controls that have such visual styles on focus.

34942

IDE > Inspector

Changing a description marks the project dirty so that it gets properly saved.

35355

IDE > Inspector

Fixed a bug where there were visual &#39;glitches&#39; in the top 22 to 78 points of the window when the window was full screen or split screen.

36878

IDE > Inspector

The type field for method, enums, event definitions and properties no longer persistently shows the popup every time you press tab if you select on of the items from the list. A second tab will move to the next field.

38093

IDE > Inspector

Fixed labelling of the automatic cursor type so it&#39;s consistent across all web controls.

38725

IDE > Inspector

Inspector editors that use popups will only commit changes when you actually select a different item in the pop up. Selecting the same item no longer dirties the item and therefore the project.

39066

IDE > Inspector

Text properties, like the default value for text on an iOS Label, update when the only change is case.

39351

IDE > Inspector

Windows IDE: Fixed the random PopupMenus/ComboBox dropdown list widths in the IDE (for example the Scope Popup in the Inspector), mostly being way too wide.

39360

IDE > Inspector

You can now change the super class for all members of a control array.

39393

IDE > Inspector

A pasted font name “sticks” if it is one in the list (is available).

39491

IDE > Inspector

Text properties on control instances are set properly.

39566

IDE > Inspector

Made it so you can expose all kinds of integer properties that you could not before. The list now includes: * Integer, UInteger, Single, Double, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64 * String, Text * Color * Boolean

40610

IDE > Inspector

Control names changes are remembered when you click elsewhere or leave the name field in some other way.

40837

IDE > Inspector

IDE no longer raises an exception when field has been pasted into and loses focus.

39092

IDE > Language Reference

Reachability of the online wiki is no longer tested if you have the local reference selected as default.

25476

IDE > Layout Editor

Checkboxes in the IDE draw in all 3 possible states.

35185

IDE > Layout Editor

Applying a style to the toggled appearance of a web toolbar item now draws properly in the layout editor.

35245

IDE > Layout Editor

On Windows if you have a control array and clear the name from one member you no longer end up with an endless loop of messages saying the name cannot be blank.

38354

IDE > Layout Editor

Redrawing the web tool bar in the IDE is significantly faster.

38734

IDE > Layout Editor

Locking iOS controls on a layout is not an option as it completely messes up the IDE&#39;s constraint solving.

38898

IDE > Layout Editor

Auto-Layout delta offsets were being calculated incorrectly, sometimes causing a control to move on every click.

39058

IDE > Layout Editor

The Layout Editor no longer hangs if the width of the iOSTextArea control is narrower than the longest word.

39061

IDE > Layout Editor

Subclasses of iOS controls in the navigator drag like the super class does and when dropped are set up comparably.

39096

IDE > Layout Editor

Lines shows drag / grab handles all the time now including when vertical or horizontal.

39107

IDE > Layout Editor

Subclasses of iOS controls will not permit being resized in ways the base class cannot be resized.

39213

IDE > Layout Editor

Disabled debug logs about baselines that are no longer needed.

39463

IDE > Layout Editor

Controls in the Layout Editor Tray area no longer show top, left, width or height properties.

39622

IDE > Layout Editor

It is now possible to set up a split with tabs in either the main or detail area on a screen that is not large enough to see the entire iOS screen.

39903

IDE > Layout Editor

In the iOS Layout Editor, Labels are now drawn using System Bold or System Italic when specified.

40243

IDE > Layout Editor

Clicking from one tab to another tab in an iOS screen layout no longer drops changes made when viewing other tabs.

40325

IDE > Layout Editor

WebLabels with MultiLine=False and content which contains multiple lines now draw properly.

40345

IDE > Layout Editor

A group of controls can now be resized by any of the grab handles on any control in the group, rather than just the first.

34696

IDE > Library

Missing descriptions for Class, Interface, Module, Folder and generic object have been added.

39345

IDE > Library

Windows library description pane redraws cleaner without visual artifacts.

26861

IDE > Menu Editor

When editing a menu the index no longer shows -2147483648 in red (it shows nothing instead).

39494

IDE > Menu Editor

Plain text projects that have menu items subclasses in modules so they load the same as binary or xml would. This makes it not only legal to put a menu item super class in a module for vcp but now it works too.

40330

IDE > Menu Editor

You can set an icon on a submenu.

14392

IDE > Miscellaneous

Notes are not printed in color.

14427

IDE > Miscellaneous

A note that has _ as the very last character no longer causes issues when loading a text project.

16249

IDE > Miscellaneous

External items that are not missing will get examined for items to resolve and get resolved the same as internal items do.

25072

IDE > Miscellaneous

With the Project Chooser window open most menu items are disabled.

25306

IDE > Miscellaneous

IDE will only error if in fact it cannot remove the damaged license key file.

25828

IDE > Miscellaneous

Language Reference window retains tool bar setting from one open instance to another and run to run.

26311

IDE > Miscellaneous

Changes in the case of a control name are retained. If a control is a member of a control set all members are updated.

26894

IDE > Miscellaneous

If you open the icon editor for the app icon (any actually) and do nothing but press OK the project is not marked as having changes since nothing changed.

27035

IDE > Miscellaneous

Progress bar no longer positioned oddly when starting a debug session.

27847

IDE > Miscellaneous

Pressing enter in the file type editor no longer causes an exception.

28020

IDE > Miscellaneous

Can define most integer property types for use with Inspector Behaviour.

28113

IDE > Miscellaneous

More updates to text file saving. There are still some changes that will occur like updating editor types in the behaviors sections. These are because old text files left out information and opening a project may update them. The best way to force as many of these to occur at once so your subsequent source control commits are less noisy is to: 1) Make one change (add a space and remove it to one piece of code) 2) Do an Analyze Project and save 3) Commit with all changes and subsequent commits will have a lot less noise as the project has been updated

28402

IDE > Miscellaneous

Tray-only controls do not show size and positioning properties in the Inspector.

29255

IDE > Miscellaneous

Removing one member of a Control Set no longer removes the event list from the Navigator.

29511

IDE > Miscellaneous

Projects of all kinds now print all their members.

34666

IDE > Miscellaneous

Clarified the explanation on the preference setting for asking about overwriting files when building so it&#39;s clear this setting only applies when not using the build folders.

35005

IDE > Miscellaneous

The insert menu no longer holds the wrong items when you switch from one project type to another.

37515

IDE > Miscellaneous

Illegal characters in the name of the app to be debugged are stripped out (so the app CAN be debugged). Illegal characters in the name of the app to be built will cause a build to fail as the name is illegal on the target platform.

37963

IDE > Miscellaneous

Autocomplete works in the local language reference.

38117

IDE > Miscellaneous

You can no longer create multiple event definitions with the same name.

38124

IDE > Miscellaneous

Copy Files build step computes relative paths correctly on all platforms. It may use an absolute path on Windows if the project and file are on different volumes.

38233

IDE > Miscellaneous

Editing a File Type/UTI now marks the project as changed.

38267

IDE > Miscellaneous

You cannot define a property that duplicates the name of a an existing const property or event.

38536

IDE > Miscellaneous

Switching the iOS device also sets the architecture popup accordingly.

38742

IDE > Miscellaneous

An NilObjectException that could occur when executing a compound action has been fixed.

38820

IDE > Miscellaneous

Event handlers a no longer silently dropped from Text project format.

38891

IDE > Miscellaneous

IDE not handling the new targets caused it to not grab the right built application name and assert.

38952

IDE > Miscellaneous

An exception that could occur when selecting one of the build settings and trying to print has been fixed. Doing this now will print the entire project.

38974

IDE > Miscellaneous

Images should now save and reload from partial paths that can be preserved cross platform and even between machines.

39177

IDE > Miscellaneous

Adding multiple using clauses to a project item will name them with unique names.

39242

IDE > Miscellaneous

A NilObjectException that can occur using the goto location panel and navigating into a menu has been fixed.

39249

IDE > Miscellaneous

Fixed a situation where if you used floating palettes then the IDE would be resized not based on what palettes were visible when a new project was created but based on the size the palettes would have if they were visible.

39263

IDE > Miscellaneous

Fixed a bug that could change the type of a constant from integer to blank when you clicked on it.

39298

IDE > Miscellaneous

The IDE no longer causes an exception when the size of columns uses measurements that do not work for a desktop listbox. For example, measurements like 60px (which work with WebListBox) do not work for the desktop.

39402

IDE > Miscellaneous

Updated the Property/Text icon in the Navigator with a slightly thicker T.

39427

IDE > Miscellaneous

String property editor recognizes changes that are from other means like paste and drag and drop and commits those changes properly.

39506

IDE > Miscellaneous

Cleaned up extraneous separator lines in the View and Window menus on Windows and Linux.

39514

IDE > Miscellaneous

An illegal cast exception when adding a computed property with a name that duplicated that of an existing pair of methods has been fixed.

39559

IDE > Miscellaneous

Descriptions on notes in plain text format save and restore as expected.

39560

IDE > Miscellaneous

An old oversight that would permit &lsquo;,' and &lsquo;=&lsquo; in the name of the note has been corrected so they can be used without causing further issues.

39676

IDE > Miscellaneous

Text as String in a plugin parameter list no longer gets renamed.

39682

IDE > Miscellaneous

Closing the last altered project window on Windows when you have the LR open no longer asks you twice if the When closing the last window quit option is enabled. Closing the last altered project on OS X no longer closes the LR as well since it handles the app running when no documents open differently than Windows.

39699

IDE > Miscellaneous

Trailing spaces on lines are not stripped.

39712

IDE > Miscellaneous

Changes to web styles save properly in text projects.

39738

IDE > Miscellaneous

Selecting Find Implementors from the contextual menu of an Interface no longer does a second search for the Interface name.

39784

IDE > Miscellaneous

Add event window has a useful minimum size.

39877

IDE > Miscellaneous

Added shortcut key for Analyze Item on Windows and Linux (CONTROL-SHIFT-K).

39883

IDE > Miscellaneous

Using the IDE scripting editor no longer causes a NilObjectException.

39953

IDE > Miscellaneous

You now get a warning when plist files in the project cannot be found.

40020

IDE > Miscellaneous

When quitting the IDE, each open project with unsaved changes is prompted to save, rather than just the first one with unsaved changes.

40074

IDE > Miscellaneous

Can no longer insert a container control into a console project.

40075

IDE > Miscellaneous

iOS projects can no longer have databases inserted into them.

40103

IDE > Miscellaneous

Remote Debug Hosts list no longer beeps when you delete a remote host using the keyboard.

40104

IDE > Miscellaneous

Preferences for setting the Windows AutoQuit functionality is now limited to running on Windows.

40127

IDE > Miscellaneous

iOS projects also require a bundle ID.

40151

IDE > Miscellaneous

Adding an image to a project named backdrop (or any other Window property) and trying to assign it to a control no longer causes compile errors or unexpected runtime behaviour.

40161

IDE > Miscellaneous

iOS projects no longer incorrectly show error about enum type name.

40184

IDE > Miscellaneous

A NilObjectException while determining the folder to cache intermediate code in no longer causes the IDE to assert.

40197

IDE > Miscellaneous

Updated menu items which point to the New &amp; Classic Framework references.

40214

IDE > Miscellaneous

Fixed a NilObjectException in the IDE when selecting the Constants group row in an external item.

40274

IDE > Miscellaneous

On OS X if the volume a project is loaded from goes offline when you have the project open the IDE won't assert when you try to save it. Windows and Linux didn&#39;t experience this particular assertion.

40338

IDE > Miscellaneous

No longer raises an OutOfBoundsException when you make control sizes really large - and it will actually clamp the size to the maximum (32767).

40354

IDE > Miscellaneous

A missing external item no longer causes an OutOfBoundsException if it's missing when the project is reopened.

40369

IDE > Miscellaneous

An OutOfBoundsException in the code editor has been fixed.

40401

IDE > Miscellaneous

Restore the behaviour where the first paste of an external item would paste an external (as long as no other external item with that name already existed) and subsequent ones would bring the item in as internal copies. It does this so we avoid have many external items all pointed at the same file on disk (which would be confusing as heck and cause other problems).

40417

IDE > Miscellaneous

Warnings in encrypted items are again ignored. This was a regression from 2015r2.2.

40673

IDE > Miscellaneous

Enter Full Screen no longer shows up twice on OS X 10.11.

40674

IDE > Miscellaneous

Windows in the layout editor don't draw disabled on OS X 10.11.

40817

IDE > Miscellaneous

IDE no longer runs out of memory when there is a very long list of missing items to resolve.

40883

IDE > Miscellaneous

Several spots in the IDE that were not looking up the dynamic constant have been fixed so they appear closer to how they will at runtime.

40903

IDE > Miscellaneous

Make it so a declare like STATIC foo is treated similarly to DIM and doesn&#39;t strip out empty brackets.

40907

IDE > Miscellaneous

UTI's that an app accepts are NOT marked as exported any longer (which was horribly wrong).

40981

IDE > Miscellaneous

A NilObjectException that could occur when trying to replace a property value on an object on a layout no longer occurs. Such a change isn't actually permitted and the replace will fail . You have to change the name of the property on the base class.

41049

IDE > Miscellaneous

WebToolbars that are smaller than the total width of all items on them no longer cause errors when trying to edit them.

27023

IDE > Navigator

Controls in arrays sort lexically by name then by control array index. Controls that have been duplicated many times will sort similarly by the base name then the trailing numeric portion.

32340

IDE > Navigator

The command bar + (right above the editor space) will properly update to allow or disallow the Event handler item in its menu when you change the super of a class selected in the Navigator.

37499

IDE > Navigator

Cmd-double-click on an array property in the code editor will now jump to its declaration.

38683

IDE > Navigator

Class Interfaces can no longer be dragged onto an iOS layout.

38792

IDE > Navigator

Filtering of items now properly includes external items.

38793

IDE > Navigator

Navigator contextual popup menu appears in the right spot.

39407

IDE > Navigator

Updated the Pointer icon with one that&#39;s more consistent with the other property icons.

39565

IDE > Navigator

Make it so all integer property types have integer icons (missing were the 8 and 16 bit sizes).

39627

IDE > Navigator

When you delete an event handler from a control, searching for text contained in that event handler no longer shows that event.

39666

IDE > Navigator

WebImageView, WebButton and WebRadioGroup icons now show properly in the Navigator.

40999

IDE > Profiler

Profile data is no longer lost as profile editors close.

26415

IDE > Project Editor

Items that are multiselected have their property lists properly merged to show only those properties that are common to all selected items

35228

IDE > Project Editor

Changes to web styles save properly with Text projects.

39302

IDE > Rendering

Using an enum in the Inspector Behaviour for Web controls functions properly.

39689

IDE > Rendering

No longer creates a warning for a property named NotifyControls for WebPages that do not have any WebControl subclasses on them.

40100

IDE > Rendering

No longer get a compile error when adding a Xojo.Core.Timer to a web page.

39970

IDE > Report Editor

Using a picture with the same name as a report segment (header, footer) or report property no longer causes an error when trying to run or compile.

39842

IDE > Scripting

Autocomplete in an IDE script no longer causes an exception.

40130

IDE > Scripting

IDECommunication IPC Socket now closes properly every time the IDE exits.

40344

IDE > Scripting

Windows Copy Files Steps create any required subdirectories as expected and handle both LFS (C:\ style) and UNC paths (\\server\path style).

15542

IDE > Style Editor

Updated the web style color picker values titles to # and % since you pick either a value (#) or a percentage (%). This replaces the Hex title which is misleading as you only entered hex in one portion of the editor when editing values.

25283

IDE > Style Editor

Can edit the border size field using arrow keys, delete, backspace, etc.

40925

IDE > Style Editor

Style Editor refreshes and doesn't wipe out colors as set.

39562

IDE > Updater

Labels on the update window are now the same color as the background on Windows and Linux.

23428

IDE > Web Page Editor

CueText on WebSearchField shows correct localized value in the IDE.

26173

IDE > Web Page Editor

Changes made using the popover are properly retained so they work with Undo and mark the project as modified.

27153

IDE > Web Page Editor

The inline editor for a listbox can scroll columns horizontally (so if you have a lot of them you can get to them all). The editor doesn't try to exactly mimic the column widths you have set up as this can result in columns that cannot be edited. If the column is > 60 pixels wide we use it as set but if < 60 we force the editor's representation to be 60 pixels so you can edit every column.

37783

IDE > Web Page Editor

Accessing a page with a toolbar and an item on it no longer causes the project to be marked as changed despite nothing having changed.

24062

IDE > Window Editor

If you delete an image that's used as a window background, the window redraws without the image as expected.

25512

IDE > Window Editor

Popovers have a close icon on them.

25581

IDE > Window Editor

Scrollers redraw themselves in the correct orientation as they are resized in the IDE.

27269

IDE > Window Editor

If you create a popup menu and set the initial value to a bunch of #constant style values the IDE will draw the constants correctly and not show #constant instead.

29175

IDE > Window Editor

When multiple items are selected the position properties (top, left, width &amp; height) items will show as Multiple if several are selected. Tabbing into / out of such an item has no effect. If you select and change the value it will take effect.

30091

IDE > Window Editor

Containers have consistent property groupings in the Inspector whether it&#39;s a subclass or instance on a window.

21100

Plugin SDK

REALstandardGetter and REALstandardSetter work with all intrinsic types.

38589

Plugin SDK

Fixed a bug where REALGetPropValueObject would return false even though it succeeded.

38840

Plugin SDK

REALLockText and REALUnlockText now function properly.

39849

Plugin SDK

Fixed the currency prop value getters and setters.

40351

Plugin SDK

Shared Methods and Properties now work with plugin controls, instead of causing a runtime error.

31649

Remote Debugger Stub

Console Remote debugger Stub can be used from an SSH system and does not require the OS X Terminal app or xterm.

33678

Remote Debugger Stub

Console Remote debugger Stub can be used from an SSH system and does not require the OS X Terminal app or xterm.

34560

Reporting

Round Rectangles on reports no longer appear as ovals.

Changes (54 cases)

Case

Area

Description

6231

Build

Windows/Linux: built apps that include resources now creates a Resources folder which includes the app name in its folder name, just like the Libs folder. You can also rename it to just Resources after the fact, and the framework will find it just like the Libs folder.

40144

Build

Using Xcode 7 and its iOS Simulator is supported now.

18982

Compiler

The Inline68k keyword has been removed. This has done nothing since support for compiling Mac 68k code was dropped and existed only for backwards compatibility.

38391

Compiler

Upgraded to LLVM 3.6.

38731

Compiler

The compiler can now build for 64-bit executables for Windows and OS X.

39414

Compiler

The Linux IDE can now build for Linux x86-64 and Linux ARM.

39578

Compiler

Deprecated the WindowPtr and Short data types.

40239

Compiler

The version of LLVM used by XojoScript is now LLVM 3.7.

41051

Compiler

The compiler no longer creates an empty libs folder if there are no plugins present.

41052

Compiler

Declares to non-system libraries work now.

38781

Framework > All

Removed the deprecated and non-functional OpenREALDatabaseOldFormat function.

39292

Framework > All

The socket on Windows has been updated to use Winsock2.

370

Framework > Linux

Reduced thread CPU usage on Linux for mostly idle threads. This difference will most likely be visible on single core processors, but this fix also benefits multi-core and other platforms.

39533

Framework > Linux

Ticks is now guaranteed to be a monotonic clock.

31751

Framework > Web

Converted web framework to use the new Xojo framework JSON methods.

39513

Framework > Web

WebSDK controls can now be integrated into the Xojo Drag and Drop system.

39792

Framework > Web

Internet Explorer 8 has been removed from the list of supported browsers as it limits our ability to provide updated capabilities and security patches.

39797

Framework > Web

Minimum browser requirements have been updated to: Safari 6.1+ Firefox 17+ Chrome 37+ IE9+

40002

Framework > Web

Added support for detecting the IE Edge browser using WebSession.EngineType.EdgeHTML enumeration.

40731

Framework > Web

Updated web framework to allow the Raspberry Pi Epiphany Web browser.

39838

Framework > Web > Frame

The XojoCloud Firewall class is now available in Linux console and Linux web apps so users can create helper apps which have the power to open/close firewall ports if necessary.

38265

Framework > Windows

Message logging has had speed improvements: 1) a queue of messages has been added so the app being debugged can write at full speed and the IDE messages pane will be updated from that instead of trying to keep up in real time. 2) the scrollback area only retains the last 5000 items at most 3) the queue may be flushed out if it gets more than 1000 messages behind

39769

Framework > iOS

iOSToolButton.Type enum has been renamed to iOSToolButton.Types (note the extra's'). This will break existing code that uses this enum.

39396

IDE

Currency has its own special icon in the navigator.

39446

IDE

The Mac Creator code is not used by anything on OS X since 10.6 / 10.7. It will be preserved if set but is not used when compiling the application.

38553

IDE > AutoLayout

It is now possible to set a control's width = its height and vice versa. Note that you can cause yourself a lot of problems should you set width = height and height = width, so don't do that.

29858

IDE > Code Editor

You can drag a control instance into the code editor from the navigator and the name of the control will be inserted at the cursor position.

40017

IDE > Code Editor

&amp;u literals are now colorized similarly to string/text literals.

40986

IDE > Code Editor

Added a preference that allows people to turn autocomplete off.

33475

IDE > Layout Editor

The description area below the library can now be scrolled.

36330

IDE > Layout Editor

Grab handles are now on control frames instead of outset slightly.

38897

IDE > Licensing

Dates are shown like Aug 5, 2015 instead of the ambiguous numeric form.

40522

IDE > Licensing

Changed caption of the download button on the license pane of the About window to Update.

19

IDE > Miscellaneous

The replacement of the old File Type set with the UTI pane removes the long deprecated File Type from the editor. OS Type can be set (for legacy purposes) but its use is strongly discouraged by Apple.

19961

IDE > Miscellaneous

Main toolbar now has tooltips (OS X only).

37596

IDE > Miscellaneous

Compatibility flags allow for setting of project type and 32 / 64 bit in the Inspector.

38636

IDE > Miscellaneous

Analyze one item now has its old Cmd+Shift+K shortcut (ctrl+shift+K on Windows and Linux).

38722

IDE > Miscellaneous

Made it so if you have an item open as the top level item in a tab and you delete it in another tab, the open tabs showing it are closed.

38762

IDE > Miscellaneous

Analysis warning for name lookup differences is disabled in new projects by default.

38802

IDE > Miscellaneous

Feedback report bodies are started with a line that says what version of the IDE is in use. This is the same string used in the about window.

38807

IDE > Miscellaneous

Web projects have architecture setting for OS X targets.

39022

IDE > Miscellaneous

Cocoa x86_64 is now an allowed build script build target.

39567

IDE > Miscellaneous

Byte and short now have proper icons based on their type (integer) and can be used as properties that are exposed to the inspector behavior and will be set correctly using the mass property setter.

39667

IDE > Miscellaneous

Project Chooser Dialog caption updated with more descriptive text. Button captions reverted back to OK and Cancel

39679

IDE > Miscellaneous

Added iOS QuickStart to the Help menu.

39821

IDE > Miscellaneous

Project > Go To Search was never used so it has been removed.

40061

IDE > Miscellaneous

Missing file dialog list is now multiselectable.

40064

IDE > Miscellaneous

Binary projects now specifically use 32 bit sized values.

38971

IDE > Navigator

Generic icon in the Navigator now has a blue cube instead of a green one.

39780

IDE > Scripting

Added new IDE Script BuildApp constants (for iOS Universal app, 64-bit).

39795

IDE > Scripting

If you select an external Objective-c method and use the IDE script command to report its type you will get External Objective-C Method returned.

40131

IDE > Scripting

IDE: App Nap is now disabled while the IDECommunicator is connected.

40494

IDE > Style Editor

Adding a component to a web style scrolls to the newly added item.

40105

Miscellaneous

Windows Setup file now includes a correct File Version info, instead of 0.0.0.0.

New items (29 cases)

Case

Area

Description

37112

Build

Build folder names have been updated. Existing ones have not been changed to avoid breaking existing build scripts The names are now: Linux Linux 64 bit << new Linux ARM << new Mac OS X (Intel) Mac OS X (Cocoa Intel) OS X 64 bit << new Windows Windows 64 bit << new

39526

Compiler

The compiler now issues an error when calling Objective-C declares on non-iOS or OS X platforms.

40490

Compiler

The desktop framework is now supported for ARM.

2211

Framework > All

All non-structure single dimension arrays now have an overload of the Sort function that can be used to customize the sort order.

40724

Framework > Linux

Can now build desktop app for Raspberry Pi 2 (Linux ARMv7).

20384

Framework > Web

Web Framework now supports drag and drop.

32859

Framework > Web

Web: WebCanvas now has a DisableDiffEngine property.

37892

Framework > Web

Added new property AcceptingConnections as Boolean which allows you to Start/Stop a web app&#39;s ability to accept connections. Setting this property to False will stop the server(s) and disconnect all active sockets immediately.

39440

Framework > Web

WebCanvas now has a DisableDiffEngine property.

40269

Framework > Web

Web: Re-enabled gzip compression on images for browsers that support it.

39791

Framework > Web > Frame

Standalone SSL web apps now use TLSv1.2.

36581

Framework > iOS

iOSLabel now has a variety of clipping modes that can be used for times when you want clipping instead of wrapping.

38901

Framework > iOS

Added iOS Container Controls (iOSContainerControl).

14820

IDE > Code Editor

The external method editor can now define an external Objective-C method and its associated selector.

33898

IDE > Code Editor

Added bookmarking with project-specific bookmarks that work similarly to breakpoints.

28875

IDE > Find &amp; Replace

Added a View->Hide Find and shortcut for toggling the Find/Errors/Messages panel (Shift-Command-F, Shift-Control-F).

3499

IDE > Miscellaneous

Collect Project Items - will collect the items next to a SAVED project - if it's not saved it will do nothing (wont be enabled) - items remain external - items will be grouped (pictures, data, scripts etc) - the collection of item will NOT rename items on disk so duplicates will cause collection to report errors that are visible in the errors pane IF you do NOT want it to modify the project you have open do a Save As first then Collect them into the new copy. Collection DOES dirty the project but does NOT automatically save it.

30538

IDE > Miscellaneous

When you run your project, the bottom pane (Find, Errors, Messages) will close if it is open so that the debugger has more room for its display.

38348

IDE > Miscellaneous

For iOS projects dragging a picture into the project will by default create an image asset with the picture set as the 1x version. Holding the option key down will still import the picture as a Picture project item.

38593

IDE > Miscellaneous

File Types Set/UTI editor permits specifying importable and exportable.

38737

IDE > Miscellaneous

iOS applications now have a full set of capabilities editors to make it easy to add GameCenter, etc to the entitlements needed (in the Advanced Inspector tab for the iOS Build Settings).

39476

IDE > Miscellaneous

ICNS files are not written out for non-OS X targets.

11196

IDE > Project Editor

The File Types Editor has undergone an enormous overhaul and now lets users on all platforms set up and manage UTI&#39;s (which also happens to work for windows file types and Linux since they require a subset of the data a UTI provides).

39488

IDE > Scripting

Added docs for new IDE Build Targets for 64-bit and Pi.

40129

IDE > Scripting

Added an EnvironmentVariable method to the IDE scripting context for getting those values from the environment in which the IDE was launched.

40704

IDE > Scripting

IDE Script supports NewIOSProject command.

41036

IDE > Warnings Panel

For certain kinds of errors (right now it&#39;s ONLY linker errors) you can right click and copy the error message since it MAY be many lines long

39408

Miscellaneous

Added Project-Deploy Application to the menu for deploying Xojo Cloud apps (Command-Shift-B, Control-Shift-B).

38599

Plugin SDK

Plugins SDK: The size of plugin data structures is no longer required to be the same across all platforms. Also, the offsets of members in structures that are used with REALStandardGetter or REALStandardSetter can now vary across platforms.

Docs and examples (43 cases)

Case

Area

Description

39596

Documentation

Added “See Also” sections to better relate WebApplication.TimeOut, WebApplication.SessionTimeout, WebSession.Timeout and WebSession.TimedOut.

40174

Documentation

Xojo.Introspection classes doc pages now show correct full name prefix of “Xojo.Introspection”.

40228

Documentation

Updated ISO links on Xojo.Core.Locale page.

40254

Documentation

Added Return (keyed &amp;h24) to Keyboard page.

40273

Documentation

Added BottomLayoutGuide and TopLayoutGuide to iOSView properties.

40280

Documentation

Removed incorrect note on SQLiteDatabase.CreateBlob about read-only blobs.

40514

Documentation

Xojo.Introspection.ConstructorInfo page now includes Parameters method.

39195

Documentation > User&#39;s Guide

Profiling information is only gathered when an app quits normally. Added additional information regarding this for web apps to User Guide Book 3: Framework, Section 8.8: Debugging and Profiling.

39254

Documentation > User&#39;s Guide

Corrected SQL typo in Framework Guide, section 10.1 (Retrieving Data from a Database).

38269

Examples

Examples/Xojo Framework/UsingExample works again.

38909

Examples

For iOS AlertSheet example, changed Libs from “Cocoa” to “Foundation.Framework”.

38978

Examples

Examples/iOS/Speak updated to use AVFoundation library in Declare. And speech now works in iOS 8.3 Simulator.

39420

Examples

In EEWeb example, added back missing DB file to Copy Files Step for Xojo Cloud.

39591

Examples

Added Examples/Communication/Serial/Serial Bar Code Reader Example that shows how to read values from a barcode scanner using the Serial class.

39592

Examples

Added Space Rocks game example for desktop and iOS (Examples/Games/SpaceRocks).

15856

Language Reference > Documentation

Updated System.NetworkInterfaceCount to note that it only counts connected interfaces.

16717

Language Reference > Documentation

RegExMatch.SubexpressionString and SubexpressionStringB were incorrectly listed as properties instead of methods.

25657

Language Reference > Documentation

Added docs for DataSource and DataCell interfaces used by WebListBox.

30858

Language Reference > Documentation

Searching for items with special URLs (like &amp;b) results in a search page where the links actually work.

38833

Language Reference > Documentation

Int64 number range is now listed as -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807.

38860

Language Reference > Documentation

Xojo.Core.Date.Nanosecond property is no longer listed in docs as Nanoseconds.

38884

Language Reference > Documentation

Fixed typo in SMTPSocket example code.

38893

Language Reference > Documentation

Added missing “Using” clause to HTTPSocket.SetRequestContent sample code.

38959

Language Reference > Documentation

Corrected typos on Xojo.Math page.

38984

Language Reference > Documentation

BinaryStream sample code no longer uses ReadShort.

39005

Language Reference > Documentation

Added Constructor to Xojo.IO.FolderItem page.

39042

Language Reference > Documentation

Corrected text formatting for iOSView.Active/Deactivate events.

39262

Language Reference > Documentation

Added Text data type to VarType page.

39278

Language Reference > Documentation

Updated links to Microsoft Office Developer docs on ExcelApplication, WordApplication and PowerPointApplication pages.

39481

Language Reference > Documentation

Removed references to OS X Carbon on SegmentedControlItem.Title and SegmentedControlItem.Icon.

39507

Language Reference > Documentation

Updated IDEScripting PDF with latest info from 2015r2.2.

39654

Language Reference > Documentation

WebApplication.SSLPort page is a read-only property, not a design-time property.

39773

Language Reference > Documentation

Added additional note to Timer to indicate that it runs in the main thread.

39774

Language Reference > Documentation

Added WebThread page.

39836

Language Reference > Documentation

Pages for Const command also show ability to specify the type.

39908

Language Reference > Documentation

Updated Currency data type pages to indicate precise range of values it supports.

40021

Language Reference > Documentation

Corrected sample code for Xojo.Crypto.PBKDF2.

40116

Language Reference > Documentation

Added a page to link to dialog-related pages when searching for “dialog” in wiki.

40334

Language Reference > Documentation

Added missing IndexOf method to Xojo.Core.MemoryBlock page.

40450

Language Reference > Documentation

Added additional information about Priority to Thread page.

40454

Language Reference > Documentation

Corrected type in SQLiteDatabsae.LastRowID example to Int64.

40460

Language Reference > Documentation

Declare page in wiki now has correct bold/italics for keywords and parameters.

40692

Language Reference > Documentation

Added a warning to IPCSocket and Mutex pages about possible name conflicts when same temp folder is used.