2017r2

Released August 15th, 2017.

Xojo 2017 Release 2 has over 250 changes and improvements, with a major focus on 64-bit improvements, Linux GTK+ 3 and HiDPI, and iOS Launch Screen support.

Xojo 2017 Release 2 features:

  • 64-bit support for XojoScript

  • 64-bit string handling is faster and more consistent

  • 64-bit support for Windows icons and version information

  • GTK3 for Linux

  • HiDPI for Linux

  • iOS Launch Screen support

  • Additional drag & drop events for ListBox

  • IDE and web improvements

Bug fixes (182 cases)

Case

Area

Description

39135

Compiler

64-bit Windows executables now have the correct icons.

39136

Compiler

64-bit Windows executables have correct version information now.

41924

Compiler

Exceptions no longer leak in 64-bit applications.

48270

Crashes & Assertions : Failed Assertion

Navigator rows that hold external modules properly refuse to allow classes to be added to them.

47488

Crashes & Assertions : IDE Unhandled Exception

If a picture has a mask picture applied that is not the same size the IDE no longer generates an exception but will say this is the problem, clear the mask picture setting and move on.

47631

Crashes & Assertions : IDE Unhandled Exception

Layout constraints on iOSContainerControls now reload properly.

47697

Crashes & Assertions : IDE Unhandled Exception

Filtering then navigating back and forward will cause the tab to unfilter as navigating back and forward may need to find rows that are not visible to actually move back and forward.

47759

Crashes & Assertions : IDE Unhandled Exception

If the overall web segmented control selection type is set to none and you subsequently set one segment to selected that the selection type of the overall control will be updated to single.

47789

Crashes & Assertions : IDE Unhandled Exception

Fixed a NilObjectException that could occur when a project fails to launch on the Remote Debugger Stub.

48143

Crashes & Assertions : IDE Unhandled Exception

Closing the dialog using the close button behaves like pressing the cancel button on the dialog.

48966

Crashes & Assertions : IDE Unhandled Exception

Clicking back that would take you to a control on an external layout no longer causes an exception.

49109

Crashes & Assertions : IDE Unhandled Exception

Renaming items like folders & modules that contain other projects items no longer causes an exception.

42426

Database Plugins

PostgreSQL Plugin: If a database connection becomes disconnected, the Database.Connect method now returns False instead of always returning True no matter the status of the connection.

42612

Database Plugins

Retrieving bytea fields for PostgreSQLDatabase no longer crashes.

47490

Database Plugins

MySQLCommunityServer prepared statements no longer writes garbage when a string/text datatype is bound.

48106

Database Plugins

PostgreSQL Plugin: bytea columns are now correctly sent/retrieved to/from the database using DatabaseRecord.BlobColumn, PreparedStatements (with the new POSTGRESQL_BYTEA bind type), as well as when updating a RecordSet.

48829

Database Plugins

MSSQLServerDatabase plugin now includes a 64-bit macOS part.

47443

Debugger

Clear all breakpoints also clears all of them in the app being debugged.

19247

Framework : All

Listbox CellHelpTags are now displayed in their correct position after horizontal scrolling.

40961

Framework : All

Fixed Split and Join's handling of Unicode strings on 64-bit.

41046

Framework : All

Sockets managed by a ServerSocket no longer limited to reading 8KiB chunks.

41680

Framework : All

VirtualVolumes now works properly in 64-bit builds.

42140

Framework : All

Xojo.Net.HTTPSocket: file content is now flushed before FileReceived is triggered so that the file size is the correct final size.

43174

Framework : All

Controls using images show the correct image depending on what screen they are on (retina or not).

43876

Framework : All

Fixed string operations on strings containing Unicode characters outside of the Basic Multilingual Plane (e.g. emoji).

45679

Framework : All

RectShape and CurveShape now better handles fractional points (e.g. when Scale is involved).

46197

Framework : All

Updated GameInputManager to work for 64-bit Window builds.

46565

Framework : All

PostgreSQL Plugin: Now built with SSL support again on Windows.

47869

Framework : All

CurveShape now properly draws hairlines when BorderWidth < 1.5.

47871

Framework : All

CurveShape diagonal lines no longer end up looking like blurry double lines.

48010

Framework : All

SMTPSecureSocket no longer writes messages to the system console in any kind of application.

48050

Framework : All

Replace and ReplaceAll on 64-bit applications now behaves like 32-bit and pretends that Nil-encoded search and replacement strings are in the same text encoding as the target string.

48261

Framework : All

Window.LiveResize has been removed from the Inspector since all platforms always live resize windows, even when this property is False.

48321

Framework : All

SegmentedControl: Items.Ubound now correctly returns -1 when no items are present for 64-bit builds.

48813

Framework : All

Clipped graphics now respects AntiAlias setting.

26645

Framework : Linux

Drag and Drop, from an external source, now raises the DragEnter, DragOver, and DragExit events.

44935

Framework : Linux

Setting Window.Bounds now works even if the window isn't visible yet.

45923

Framework : Linux

Updated MoviePlayer to use the newer gstreamer library if available, this fixes the 'incompatible version of gstreamer' errors when the older gstreamer library isn't available.

47034

Framework : Linux

Listbox.CellHelpTag is now positioned correctly.

48992

Framework : Linux

Getting the Text after a TextField.AppendText now returns the correct Text.

43748

Framework : Macintosh

Fixed how ampersands in control text on 64-bit macOS get stripped.

40702

Framework : Macintosh (Cocoa)

Split and Join now perform efficiently in 64-bit applications.

45479

Framework : Macintosh (Cocoa)

Fixed crashes that could happen when comparing strings that lack an encoding on 64-bit macOS.

47627

Framework : Macintosh (Cocoa)

Spotlight query now works for 64-bit builds.

46463

Framework : Web

WebPage Width and Height properties are now correctly updated before the WebPage.Shown event fires.

47350

Framework : Web

The SecureNetworkInterfaceIndex command-line property on a Standalone web application works now.

47725

Framework : Web

Fixed a regression (first seen in 2017r1) which caused WebMapViewer to fail if more than one instance of the control was used in a web app at a time.

47778

Framework : Web

Web handling of raw tags now searches across EndOfLine characters.

48430

Framework : Web

Fixed a few places where browser-side controls could leak.

48454

Framework : Web

WebMapViewer no longer causes a JavaScript error on the first refresh.

48513

Framework : Web

WebMapViewer now specifically checks to see if the Google Maps API has been loaded before trying to refresh instead of just anything from Google.

48782

Framework : Web

Fixed an issue which could cause text with odd encodings to cause an internal web framework encoding exception.

40766

Framework : Windows

Listbox CellHelpTags now properly disappear when mouse leaves the HelpTag area.

43178

Framework : Windows

Slider now honors the Minimum value in calculating where to position the slide indicator.

45971

Framework : Windows

Reports draw a lot sharper on Windows.

46356

Framework : Windows

Assign an icon to a MenuItem and removing that menu item later will now release the memory associated with the icon, previously it just leaked.

46596

Framework : Windows

Dynamically loaded fonts (typically via declares to AddFontResource) now works with our Direct2D graphics context.

46843

Framework : Windows

Stopped forcing a refresh to occur immediately when controls are hidden, this led to blinking refreshes as each control is hidden and refreshed immediately.

46980

Framework : Windows

Graphics.DrawRect no longer draws thicker borders along one/two sides of the frame when AntiAlias is disabled.

47373

Framework : Windows

Opening projects containing Listboxes in a certain state now longer causes the IDE to crash.

47377

Framework : Windows

Graphics.CharacterSpacing now works, however, this feature is only available on Windows 8 or better, and Windows 7 with Platform Updates.

47428

Framework : Windows

Listbox endcap is now drawn correctly, this fixes drawing artifacts when a vertical scrollbar is present while scrolling horizontal content.

47432

Framework : Windows

Listbox headers no longer flickers when hovered over by mouse or when clicked on.

47478

Framework : Windows

BevelButton captions are no longer rendered too small in HiDPI.

47598

Framework : Windows

Double clicking a word in the find field selects it.

47619

Framework : Windows

Saving a Picture that does not have a Resolution set (i.e. the Horizontal/Vertical resolutions are 0), no longer raises a failed assertion.

47621

Framework : Windows

Graphics: Setting a pixel that is out of range now raises an OutOfBoundsException. An OutOfBoundsException was also raised when getting a pixel (but previously only on MacOS), now it's raised on all platforms as well.

47694

Framework : Windows

Displaying a sheet window no longer permanently disables the MDI window after it's dismissed.

47743

Framework : Windows

Setting the ScrollPosition in CellBackgroundPaint event no longer crashes.

47865

Framework : Windows

Drawing done on an HDC (printer device context), originating from a printer graphic's object, is now properly rendered to the printer.

48128

Framework : Windows

Now honoring the font's stretch style property which makes fonts like Arial Narrow appear correctly.

48146

Framework : Windows

Windows IDE dialogs are now displayed on the same screen as its parent window.

48150

Framework : Windows

Graphics.ClearRect now only clears the rectangular section specified, instead of the entire alpha channel supported picture. Clearing a non-alpha channel supported Picture has always worked correctly.

48173

Framework : Windows

Screen dimension values (i.e. Left, Top, Width, Height, etc.) are now returned rounded instead of truncated. This was a problem when dealing with fraction DPI scales.

48224

Framework : Windows

Object2D Fill values below 50 now properly fills the object correctly instead of not filling anything at all.

48443

Framework : Windows

Displaying a MessageDialog from a Modal window no longer makes the MessageDialog inaccessible.

48655

Framework : Windows

Loading an EMF file that was saved in Xojo now works.

48681

Framework : Windows

ImageWell borders no longer get clobbered when the Image size is greater or equal to the ImageWell bounds.

48686

Framework : Windows

Copying picture to clipboard now works for 64-bit builds.

48752

Framework : Windows

ActiveX components like the web browser compile as expected.

48806

Framework : Windows

Listbox cell helptags no longer consume mouse clicks.

48825

Framework : Windows

The Image assigned to an ImageWell is now drawn properly for 64-bit Window builds.

48974

Framework : Windows

MenuItem.Clone now properly clones Image sets assigned as the icon to a MenuItem. This results in the correct appearance when cloned on a HiDPI display instead of it being scaled.

47879

Framework : iOS

Make it so 1) the constructors for NEW IOSLayoutConstraint have a “priority” parameter 2) the IDE always sets the priority of constraints (it had no means to before) 3) that the default value for priority when using New IOSLayoutConstraint is 1000 (required)

47570

IDE

An issue where the IDE would generate the wrong code for setting up the initial state of a layout has been fixed. The IDE was generating the wrong fully qualified name for a property that was defined to be an enum type and the enum was defined in a module outside the container where the property was.

47577

IDE

Extract Method window now resizes properly.

47784

IDE

Tab order is sensible on preferences tabs.

47804

IDE

Editing the declaration for a method, event definition, etc. and pressing one of the shortcut key sequences to add a new code item (property, enum, method, etc.) no longer drops the declaration change that was in progress.

39409

IDE : Auto Complete

Extending an “array of X” nows proposes the right autocompletions including those from extending an array of object.

47268

IDE : Auto Complete

Extending an “array of X” nows proposes the right autocompletions.

48529

IDE : AutoLayout

Active flag for auto-layout constraints saves and restores properly.

47510

IDE : Build Automation

IDE no longer shows compile error dialogs for file system errors when building using IDECommunicator protocol 2.

48111

IDE : Build Automation

Pressing tab when the focus is in the read only field for the file editor no longer causes errors or exceptions.

48258

IDE : Build Automation

iOS projects with CopyFileSteps that copy items to the “Frameworks destination” now create the Frameworks folder inside the iOS package and put files to be copied in there as required by Apple.

34169

IDE : Code Editor

Autocomplete no longer drops characters on Windows.

47438

IDE : Code Editor

Make the line number command button behave as a toggle instead of a momentary push.

47525

IDE : Code Editor

Displaying Line numbers now works with code folding.

47526

IDE : Code Editor

Folded lines no longer overdraw the line numbers.

47542

IDE : Code Editor

Aggregated interfaces methods now appear in autocomplete.

47543

IDE : Code Editor

Toggling line number display no longer disables tooltips.

47714

IDE : Code Editor

Structure element names can start with a _ (to hide them) since you cannot mark one as hidden with an attribute like you can the entire structure.

47896

IDE : Code Editor

Writing code while the Filter is active no longer corrupts the item being coded.

48343

IDE : Code Editor

Shift-Enter and Option-Enter also apply standard format.

48678

IDE : Code Editor

Incorrect tip text at the bottom of the code editor for certain types of constants is now correct.

47351

IDE : FileIO

Fix up color handling when reading a text project then writing it as text which causes a color shift

47986

IDE : FileIO

IDE will do its best to “fix” invalid declarations caused by editing the project outside the IDE (such as with a text editor).

46961

IDE : FileTypes Editor

File Type Set icon thumbnails properly fills display area.

47328

IDE : Find & Replace

Double-clicking a search result in a control set now jumps to the correct item.

47560

IDE : Find & Replace

Find panels no longer turn grey.

48180

IDE : Find & Replace

Find and replace no long replaces valid method/property and other “code unit” names with invalid ones thereby causing lots of weird compilation errors.

48728

IDE : Find & Replace

Search of “this class and subclasses” actually does search subclasses as well.

48976

IDE : Find & Replace

Searching for case sensitive matches no longer stops looking when the first possible match on a line doesn't match case.

46133

IDE : Inspector

When ellipsis appears continuing to type no longer rips off extra characters.

46690

IDE : Inspector

When selecting controls that have properties of varying values like border the property editor pane can only show a single value and so it would show either true or false but really needs a mixed state. Since this is not available when a situation like this occurs the properties that have differing values between the instances being inspected will not show in the Inspector to avoid confusion.

47283

IDE : Inspector

Focus is no longer shifted to the Code Editor when you change the name of a method.

47549

IDE : Inspector

Inspector size fields properly accept the number as typed and not just the last character (Linux).

47690

IDE : Inspector

Scroll wheel events in popup menus in the inspector are ignored on Windows.

47940

IDE : Inspector

iOS capabilities save and restore from disk and are properly set and preserved in the IDE between openings of the capabilities editor.

48345

IDE : Inspector

Editing the size or position of multiple controls no longer alters them when you have made no changes and just tab through these value editors.

48363

IDE : Inspector

Property Inspector behavior now works like this: 1) Always have a tab with items on it showing (no empty tabs). 2) When it can it will stay on the same inspector pane as you move from item to item. 3) When the tab it was on is no longer present (such as moving from having the ID tab selected on a Window to an Event ) it will force a tab to show (in this case the Advanced tab as that is the only one there is for an event). 4) When you navigate to another item that has an ID tab it will return to the ID tab.

48531

IDE : Inspector

Editing multiple properties at once no longer fails if you set the value to the same value as the first item in the selection.

46494

IDE : Language Reference

Keyboard events no longer alter language reference history.

47396

IDE : Language Reference

Make browser search work again when using the online reference.

48001

IDE : Language Reference

Help on Windows no longer opens with height and width of the help window set to 0 if you previously opened help, minimized it then quit the IDE.

48347

IDE : Language Reference

Message dialog icons show in LR.

48450

IDE : Language Reference

Restored being able to close language reference window with Cmd-W / Ctrl-W.

43304

IDE : Layout Editor

Using an Image Set for the background of a Canvas draws the correct image in the IDE.

43618

IDE : Layout Editor

SegmentedControl shows the right icon in Layout Editor.

43635

IDE : Layout Editor

Canvas backdrop shows the right image during design time when the image has multiple elements.

43655

IDE : Layout Editor

Controls on Layout Editor display correct picture from an Image Set.

43915

IDE : Layout Editor

Dragging/resizing a control in the Windows IDE no longer causes severe lags.

47046

IDE : Layout Editor

In a web project the IDE no longer draws lines of a multiline text fields on top of each other.

47886

IDE : Layout Editor

Canvas clips properly. Note that because the IDE respects and draws 1x or 2x as needed if you set the background to an image that only has a 1x element and move the layout editor to a 2x screen the canvas may not draw its background (since there is no 2x background to draw).

48484

IDE : Layout Editor

Dragging an Image from the file system onto a desktop layout once creates a canvas with an Image as the backdrop just like it does with Pictures.

48734

IDE : Layout Editor

Duplicating a member of a control set that's on a page panel / tab panel no longer results in one that appears to be on the wrong page / tab.

48824

IDE : Layout Editor

The drag rectangle that appears when dragging a control from the Control Library to the Layout editor now shows up completely on HiDPI/Retina displays instead of being cut-off.

48064

IDE : Library

A right click in the Library followed by a left click on a layout no longer inserts the control that was right clicked on in the Library.

48195

IDE : Menu Editor

Using a constant no longer generates an odd menu name when you change the Text of the menu item.

23906

IDE : Miscellaneous

Arrow keys now work in the Menu editor.

24446

IDE : Miscellaneous

Window menu entries for minimize, maximize, zoom, and restore track the state properly on Windows and present the right options.

39783

IDE : Miscellaneous

Reading a text project that has missing items no longer creates the missing folders.

45655

IDE : Miscellaneous

You can lock and unlock a tab regardless of what row is selected in the Navigator.

46084

IDE : Miscellaneous

Splash screen on Linux updates more quickly so graphics appear properly.

46909

IDE : Miscellaneous

Undoing a “convert to computed” no longer drops the default value if there was one before the property was converted to computed.

47248

IDE : Miscellaneous

Opening a project and analyzing or running it does not mark items as changed. The only way items should be marked as changed is by user initiated changes except for File Type Sets which may still be marked as changed as a result of Run or Analyze.

47753

IDE : Miscellaneous

Windows IDE: Moving a window to second monitor (whose DPI scale differs) now works properly.

47776

IDE : Miscellaneous

Project->Run and Project->Build Application now use the correct size icons on Linux.

47807

IDE : Miscellaneous

Navigator, Library and Inspector all consistently use the same font size.

47816

IDE : Miscellaneous

Copied controls on iOS no longer always add a numeric suffix when not needed.

47854

IDE : Miscellaneous

SplashScreen no longer gets a NilObjectException on Windows when you you close the splash screen before the IDE is fully loaded.

47884

IDE : Miscellaneous

InitialParent (and other hidden properties that end users should not see) are no longer visible in the Inspector Behavior window.

47964

IDE : Miscellaneous

Windows: A shift in control focus doesn't crash the IDE if the focused control somehow gets closed in the process of gaining focus. This could occur in the IDE while opening specific projects.

47980

IDE : Miscellaneous

Coding panel in Preferences on windows no longer has large empty space.

48303

IDE : Miscellaneous

Extract method allows dotted names for return types.

48477

IDE : Miscellaneous

Tab order editor no longer filters out all controls parented on a control that has its tabstop property set to false.

48499

IDE : Miscellaneous

Image editor panes use the same gridded style background as the app icon editor does.

48646

IDE : Miscellaneous

Made it so converting a picture to an image makes UI elements continue use the new image as their background / backdrop.

48713

IDE : Miscellaneous

Close Window gets the proper shortcut.

48759

IDE : Miscellaneous

Make external no longer fools people into thinking you can use Text type project items as externals (you cannot).

41959

IDE : Navigator

Navigator items properly update after Find and Replace.

46109

IDE : Navigator

Drag and drop of multiple images into IDE on Linux is now working.

47202

IDE : Navigator

Duplicating a method on an interface behaves the same as duplicating a method on a class.

47410

IDE : Navigator

When you remove the last module from a module the 'Modules' group row row is properly removed.

47616

IDE : Navigator

External Methods stay grouped like other overloaded method types.

47828

IDE : Navigator

Simply selecting a different item in the Navigator no longer switches the scope that the next new item will use.

48208

IDE : Navigator

When the Code Editor is open and you right-click a control in the Navigator and select 'Help For ...' then the doc page for the control is displayed.

48498

IDE : Navigator

When you convert a picture to an image the new image is selected.

48770

IDE : Navigator

Duplicating a control or code item named with trailing digits will preserve the same number of digits. For example if you duplicate msg001 the new item will be msg002.

47966

IDE : Picture Previewer

Picture view zooms in and out as expected using the menu items under View > Zoom In and Zoom Out.

16174

IDE : Project Editor

Naming classes / modules etc the same as a folder that contains them no longer causes an error

48189

IDE : Rendering

If a property on a WebControlWrapper control is computed and does not have a setter, then the IDE does not try to set the property.

47431

IDE : Scripting

Make IDE Script return some slightly more sensible values for modules, folders and classes.

48193

IDE : Scripting

IDE Script editor no longer incorrectly hides lines.

48196

IDE : Scripting

Setting the major and minor version via an IDE Script no longer limits the value to 255.

48265

IDE : Style Editor

Border editor no longer types sizes in reverse.

49041

Installer

Plugins SDK shortcut in the Windows start menu now points to the correct place.

41414

Miscellaneous

Debian packages work again.

48704

Miscellaneous

Deactivating window no longer causes Windows IDE to flicker.

47422

Plugin SDK

Added new StateChanged notifcation identifier (kThemeChanged) to let plugin controls know to reload their theme data on Windows (necessary when drawing with visual styles).

47093

Remote Debugger Stub

The remote debugger and IDE now launch console applications using the user's preferred terminal emulator.

47320

Remote Debugger Stub

The Download Location label baseline is now correct on Raspberry Pi.

48486

Remote Debugger Stub

Remote stub untar code properly handles files that are in paths that may not exist at the time the file is to be untarred.

47606

XojoScript

Top-level variables in XojoScript can be initialized with 'New', like what would work in the local scope of a method.

Changes (31 cases)

Case

Area

Description

42907

Compiler

The compiler and XojoScript have been upgraded to LLVM 4.0.

48466

Database Plugins

SQLiteDatabase has been updated to 3.19a.3.

44759

Framework : All

Default value for maximum and minimum connections for a ServerSocket created in code are consistent with those when you drag a ServerSocket onto a layout. They are set to Maximum = 10 and Minimum = 2.

47748

Framework : All

Support for SSLv2 and SSLv3, including the constants, has been removed from SSLSocket.

47859

Framework : All

Add new Drag events to the Listbox, changes include:

Enum DropLocations

OnRow The drop is occurring on the row itself.

AfterRow The drop is occurring between rows, after the row specified. The row can be in the range of [-1, RowCount-1] and specifying -1 will insert it at the top of all the rows. This value will also be RowCount-1 if the user drags below the item list.

OnControl The drop is occurring on the entire control, not on a particular row. This matches the previous behavior.

Property ShowDropIndicator as Boolean = False

Determines whether or not the drop indicators appear. This property simply changes the appearance of the listbox. It does not prevent the new events from firing.

Event Function DragOverRow(x As Integer, y As Integer, obj As DragItem, action As Integer, ByRef row As Integer, ByRef parentRow As Integer, ByRef location As DropLocations) As Boolean

Invoked during dragging, similar to the DragOver event. Event handlers can 'retarget' a drop by altering the row, parentRow, or location parameters. x: The x coordinate of the drop, relative to the left of the ListBox. y: The y coordinate of the drop, relative to the top of the ListBox. obj: The data actually being dropped. action: The drag action, which can be things like move or copy. Constants already exist in the DragItem class for this. row: The proposed target row for the drop. parentRow: When the listbox is non-hierarchical, this will always be -1. When the Listbox is hierarchical, this is the row that the item is being dragged into. If the item is being dragged to the top level, parentRow will have a value of -1. location: Whether the drop is going between two rows, on the row itself or just on the control. Returning True prevents the drop from occurring and the DragOver event from firing. Otherwise the DragOver event fires.

Event Sub DropObjectOnRow(x As Integer, y As Integer, obj As DragItem, action As Integer, row As Integer, parentRow As Integer, location As DropLocations)

Invoked when a drop has finished. The row, parentRow, and location are the values previously set by the DragOverRow event handler. The DropObject event fires after this event.

47730

Framework : Web

Session.Timeout now takes touch events into account when figuring out how long it's been since the last user interaction with the web app.

48581

Framework : Web

Updated the JavaScript property that we pull the name of a key that was pressed.

42916

Framework : Windows

Moving window from one monitor to another, of a different DPI scale, now resizes properly.

45264

IDE

Rename the 'OS X' Build Setting target to “macOS”.

48185

IDE

On the Project Chooser dialog you can now select a recent item and press back delete or forward delete to remove an item.

28825

IDE : Auto Complete

Make it so autocomplete works on lines that are continued.

47880

IDE : AutoLayout

Constraint priorities are now labeled as: * low * medium * medium-high * high * highest

47889

IDE : AutoLayout

By default Xojo adding a constraint to a layout adds it as highest priority.

47637

IDE : Build Automation

The loadError for a project/IDE mismatch now includes a'severity' property to help figure out whether the conflict is something that needs to be dealt with. The value is 'warning' if the project is older than the IDE. The value is 'critical' if the project is NEWER than the IDE.

47454

IDE : Code Editor

Put the small bit of padding (5 pixels) back at the top of the code editor.

47530

IDE : Code Editor

Line numbers are right aligned.

47662

IDE : Debugger

IDE temporarily disables App Nap when it is sending an app to be debugged to a remote computer from macOS.

48682

IDE : Error & Warning Panel

Individual errors and warnings can be copied, one at a time, from the error and warning panel using a right-click and selecting the Copy item from the contextual menu.

48464

IDE : FileIO

The IDE now renames and deletes any obsolete files in text projects.

46358

IDE : Inspector

Pressing ESC acts as a 'REVERT NOW' action so you can abandon changes.

48213

IDE : Inspector

The label for the Text Area “Automatically Check Spelling” property is now “Check Spelling” in order to better use available space.

47754

IDE : Language Reference

Make it so the local LR rips out online links if the machine is disconnected from the network or can't reach the wiki. If they are reachable the local LR page is untouched. If they are not that page has those links removed.

48004

IDE : Menu Editor

Analyzing a menu bar now checks for duplicate shortcuts and warns about them. It's only a warning since its not actually a compile error. Note that this can only analyze the menu bar as it exists and can not take in to account any alterations made by code at runtime, such as adding or removing items or changing shortcuts.

10848

IDE : Miscellaneous

Menu editor no longer “flies in” new items.

46394

IDE : Miscellaneous

Right clicking on an External Build Script step now has “Open File” and “Show on Disk” as options in the contextual menu the same as external classes and modules do.

47723

IDE : Miscellaneous

When the Windows IDE is set to “Stay open when last window is closed” the tray item has a version tooltip to distinguish it from other versions that may be reduced to a tray item.

47799

IDE : Miscellaneous

Make it so the constant editor dialogs remember where they were last and what size they were so we can restore that position and size when reopened.

48066

IDE : Miscellaneous

Long error messages are wrapped and row heights in the error reporter adjusted as needed.

48338

IDE : Miscellaneous

Recent items in Project Chooser now show size, date created, and date modified when possible.

47953

IDE : Navigator

Database Connections won't be in the insert menus until further notice.

48594

Remote Debugger Stub

Name and IP address labels on Remote Debugger Desktop are now selectable so you can easily copy/paste them.

New items (15 cases)

Case

Area

Description

15509

Build

Added “CurrentBuildLocationNative” as a Native path version of CurrentBuildLocation.

48566

Framework : All

Listbox: Added additional DropLocations enum 'AfterAllRows' which lets the user know that the drag has reached past the bottom of all the rows and is now into the empty space beneath.

22245

Framework : Linux

Linux GUI framework is now built with GTK+ 3.

41057

Framework : Web

Browsers now try to reconnect if they have lost connection to a web app.

45332

Framework : Web

Web apps will now automatically attempt to reconnect to the web server after they are disconnected and will continue to do so until the user navigates away from the disconnect screen or the application returns, at which time a new session will be created.

47326

Framework : Web

CGI Web Applications now only listen on the localhost interface.

47340

Framework : Web

The NetworkInterfaceIndex and SecureNetworkInterfaceIndex command-line properties of a Standalone Web Application now accept a value of 'Loopback' in addition to the numeric index values to allow listening only on the loopback interface.

46921

IDE

There is now an official way of overriding most built in properties with user preferred default values for class properties. Do not directly edit BEH files as that is unsupported.

45743

IDE : Code Editor

The code reformatting can be overridden with a user written IDE Script.

47612

IDE : Debugger

Line numbers can be toggled on and off like in the code editor.

47965

IDE : Language Reference

Can zoom text in and out to make it larger and smaller in Doc Viewer.

5822

IDE : Miscellaneous

A module that contains other items can now be encrypted. Any contained items that are encrypted before the module is encrypted retain that setting.

16124

IDE : Miscellaneous

Added two protected constants for StrComp compare modes: REALbasic.StrCompCaseSensitive and REALbasic.StrCompLexical

47970

IDE : Miscellaneous

The “Navigator uses large font” preference has been relocated to the General Pane and is now titled “Navigator, Library & Inspector”.

23523

IDE : Scripting

XojoVersion exists for use in build scripts and IDE scripts. Note that “#if” requires a constant value and XojoVersion is a method on the Script context so cannot be used with #if. But, in an IDE script or build script, using “if XojoVersion” to cause code to be skipped is the same as using “#if XojoVersion” to cause the code to be skipped.

Docs and examples (27 cases)

Case

Area

Description

47385

Documentation

On Windows Universal Runtime page, corrected link to Visual C++ Redistributable at Microsoft.

47676

Documentation

Added more links to the Related section of the Color page Summary table.

47696

Documentation

#pragma is listed in keywords and can be searched for in offline doc viewer.

47713

Documentation

Updated Preferences->General and Coding screen shots in User Guide.

48060

Documentation

Updated Window.BitmapForCaching example code.

48480

Documentation

Added missing docs for WebMapLocation.LookupAddress.

49009

Documentation

Removed defunct XoDrill from Open-Source projects page.

47657

Examples

Updated Labels printing example to use correct printer methods to get printer DPI to properly calculate label positions.

47677

Examples

Printing Examples now use PrinterSetup and make use of HorizontalResolution and VerticalResolution to ensure drawing is correct for printers on all platforms.

47838

Examples

Fixed gas icon in GasReport example.

47857

Examples

Added ServerSocket project to work with iOS EasyTCPSocket examples for supporting multiple connections. EasyTCPSocket-Server example now indicates it can only accept a single connection at a time.

47858

Examples

Updated text instructions for web SSLTest example project.

47911

Examples

In XojoNotesWeb example, clicking Cancel on Add Note dialog no longer incorrectly adds a note.

48541

Examples

AddHandler example now calls RemoveHandler in the Close event.

48598

Examples

IDECommunicator-tester example now gets correct IPC path and auto-connects at launch.

47397

Language Reference : Documentation

Updated Structure page to add details about structure alignments and other information. http://developer.xojo.com/structure

47480

Language Reference : Documentation

Clarified that key codes referred to in Keyboard.AsyncKeyDown and Keyboard.Keyname are listed in the Notes section of the Keyboard page.

47500

Language Reference : Documentation

Corrected typo in Xojo.IO.SpecialFolder.GetResource exception section.

47688

Language Reference : Documentation

Deprecated wiki pages now appear in the local LR.

47699

Language Reference : Documentation

Updated description for Pragma BreakOnExceptions (http://developer.xojo.com/pragma-directives) to indicate it does not change the Project->Break On Exceptions menu setting.

47718

Language Reference : Documentation

Image references have been removed from the page css.

48175

Language Reference : Documentation

Updated Color page example to indicate that only 32-bit Integers can be cast to color values.

48572

Language Reference : Documentation

Operator_XXX methods show in local Lang Ref viewer.

48582

Language Reference : Documentation

Clarified how the different ToolButton styles work on various platforms.

48691

Language Reference : Documentation

Added list of common error codes you may see in an IOException.ErrorNumber (http://developer.xojo.com/xojo-io-ioexception).

48722

Language Reference : Documentation

Noted that TLSv1.2 does not work with Xojo.Net.HTTPSocket on Mac OS X 10.8 and 10.9.

48810

Language Reference : Documentation

WebApplication command-line parameters for SslType use integer values, not string values.