2018r1 Release Notes
From Xojo Documentation
(April 17, 2018)
Xojo 2018 Release 1 has over 270 changes and improvements. This release continues our focus on 64-bit improvements with the major focus on Microsoft Windows.
Xojo 2018 Release 1 features:
- Windows IDEs can now Run and Debug 64-bit Windows applications.
- Windows framework updates to reduce flicker.
- iOS builds now use iOS 11 SDK and support iPhone X screens.
- You can now display server statistics for your Xojo Cloud servers.
- WebFileUploader has many improvements, including: Drag&Drop, multiple file selection, filtering, upload progress, supports files > 2GB.
Release Notes
Bug Fixes
51328 | Build | Windows version editor is not clipped off. |
38529 | Compiler | Fixed a failed assertion that would occur when using currency constants. |
42189 | Compiler | Fixed a compiler failed assertion that would occur when doing pointer subtraction on a 64-bit target. |
47822 | Compiler | Currency comparison works correctly under 64-bit. |
49306 | Compiler | Fixed a failed assertion in SubprocessPOSIX.cpp that could happen if all code generation processes failed to launch. |
50288 | Compiler | Fixed a failed assertion that would occur when passing Nil when expecting a PString, WString, or WindowPtr. |
50665 | Compiler | Windows IDE no longer pre-compiles plugins unnecessarily. |
50698 | Crashes & Assertions » Failed Assertion | Running a project that contains compilable items named with one of Windows reserved file names no longer fails. |
49895 | Crashes & Assertions » IDE Unhandled Exception | Dragging more than one script file onto the IDE no longer causes an exception. |
51126 | Crashes & Assertions » IDE Unhandled Exception | If autosave cannot write it no longer causes an exception and will instead warn the user that it has failed. |
51440 | Crashes & Assertions » IDE Unhandled Exception | Copy paste and delete of web style with background colors no longer causes stack overflow exception. |
51472 | Crashes & Assertions » IDE Unhandled Exception | Selecting a Using clause and pressing any keys that would edit code (inserting text, deleting etc) no longer causes an exception. |
51475 | Crashes & Assertions » IDE Unhandled Exception | Moving style with background colors into a folder no longer causes a stack overflow exception. |
51668 | Crashes & Assertions » IDE Unhandled Exception | A non-privileged user trying to save a script to a location they do not have write access to no longer causes the IDE to generate an exception. |
34037 | Database Plugins | MSSQLServerDatabase no longer crashes on SQLSelect when the result contains multiple result sets. This can happen with #temp tables in a stored procedure for example. |
42544 | Database Plugins | SQLiteDatabase now yields to other threads while SQLite is busy performing a long operation. Please see the ThreadYieldInterval property to control how often it yield. |
50685 | Database Plugins | Importing a SQLite Database (via drag and drop) now connects to the database properly. |
51358 | Database Plugins | SQLiteDatabase: When compiling a prepared statement fails, we now return the error that SQLite reports, instead of a custom "unable to prepare" error message. |
13276 | Debugger | The debuggers listbox viewer has column headings that match the way columns are referred to in listbox methods, like the Cell and CellTag methods, where they are 0-based not 1-based. |
15972 | Framework » All | With ListBox.DragReorderRows enabled it is now possible to drag and drop at the end of a folder when the Listbox isn't positioned exactly on the left border of the window. |
19158 | Framework » All | Container controls have a DoubleBuffer property that can be set at design time or runtime to reduce flicker when scrolling. This only takes effect on Windows. |
41711 | Framework » All | Fixed precision loss when dividing Currency values, also the results are now rounded properly, and will now raise overflow exceptions if the result cannot be represented. |
45954 | Framework » All | Converting floating point to unsigned integer types now works correctly under 64-bit. |
46572 | Framework » All | Xojo.Core.TimeZone.SecondsFromGMT: fixed miscalculation of daylight savings time on Windows/Linux. |
46836 | Framework » All | Waiting on a Mutex, that is eventually released, now properly resumes execution instead of continuing to block the app. |
48021 | Framework » All | Fixed a failed assertion in RuntimeThread.cpp that could be triggered by a specific sequence of raising exceptions and plugins yielding to other threads. |
50650 | Framework » All | Drawing to a Graphics object whose backing has been destroyed (for example if the Graphics object came from a Picture and that Picture was destroyed before the Graphics object was) a NilObjectException is now raised instead of crashing. |
50669 | Framework » All | JSONItem no longer fails to parse JSON strings when the application's language is set to Japanese. |
50928 | Framework » All | HTMLViewer no longer displays internal properties in the debugger. |
51325 | Framework » All | Text ToHex/ToOctal/ToBinary now correctly converts negative numbers. |
46161 | Framework » Linux | RuntimeException.Stack now works correctly on 64-bit programs. |
46585 | Framework » Linux | Linux IDE: viewing string properties in the debugger no longer crashes. |
49369 | Framework » Linux | Raspberry Pi font attributes for controls now works consistently. |
49401 | Framework » Linux | Controls placed on a non-Transparent ContainerControl are properly clipped on Linux. |
50280 | Framework » Linux | Application.ExecutableFile and GetFolderItem("") now correctly return the resolved alias path if the app was started from a short-cut. |
50613 | Framework » Linux | Listbox.AddRow no longer crashes when adding additional columns that contain checkboxes in them. |
50936 | Framework » Linux | Labels no longer automatically selects all the text when Selectable is enabled. |
50945 | Framework » Linux | HighlightColor now returns the correct color on CentOS 7. |
51091 | Framework » Linux | SpecialFolder.Desktop, Documents, Music, Pictures, and Movies now correctly return the localized path. |
49586 | Framework » Macintosh | Listbox no longer crashes when quitting app while a cell is still in edit mode. |
50220 | Framework » Macintosh (Cocoa) | PushButton.Push now invokes the user's Action handler even if there's a modal dialog presented in front of the button's window. |
50846 | Framework » Macintosh (Cocoa) | ToolTip.Show now appears in the correct position on screen and wraps appropriately. |
18426 | Framework » Web | WebTextField.KeyPressed now fires when the period (.) key is pressed. |
19275 | Framework » Web | WebMoviePlayer now shows native HTML5 video controls on all supported browsers. |
37367 | Framework » Web | WebMoviePlayer now uses the native HTML5 video player for all browsers. |
38479 | Framework » Web | Refactored KeyDown and KeyUp handling so that certain keys that were being omitted will now be correctly fired. |
46086 | Framework » Web | WebMoviePlayer now uses the built-in HTML5 video player on all browsers. |
46929 | Framework » Web | WebLabels and WebLinks whose MultiLine property is set to True will now refresh their appearance when visibility is set to True so text changes made while the control was invisible will appear correctly. |
49418 | Framework » Web | WebMoviePlayer no longer interferes with other controls when placed on a WebContainer. |
50127 | Framework » Web | Pulling a URL from a WebFile with no attached session no longer warns about there being no session context. |
50214 | Framework » Web | Windows Standalone Web apps running with an SSL certificate no longer require the certificate to contain the prefix Debug. |
50273 | Framework » Web | WebFileUploader no longer fails when filenames contain ampersands or apostrophes. |
50359 | Framework » Web | WebFileUploader no longer fails when the total size of the files > 2GB. |
50776 | Framework » Web | WebMoviePlayer now honors right and bottom locks. |
50809 | Framework » Web | WebMapViewer no longer calls into the Google Maps API more than once per browser session. |
50810 | Framework » Web | WebMapViewer now stores the Latitude and Longitude provided when calling GoToLocation. |
50832 | Framework » Web | Hid the malformed progress bar which appeared on the web app launch screen when displayed on a Retina/HiDPI screen. |
51143 | Framework » Web | Web framework "raw" tags now support more than one set in the same string. |
51242 | Framework » Web | WebImageViews whose Picture property is defined by an Image object will now transfer the image that best matches the resolution of the current session when behaving as the source of a drag and drop operation. |
51525 | Framework » Web | Web offline ping URLs have been changed to an absolute URL so they include the script name for CGI apps. |
22987 | Framework » Windows | FolderItem.Exists now reports correctly for the root level folder of a network share. |
30624 | Framework » Windows | When scrolling a listbox, the CellBackgroundPaint event is now called for all visible cells. |
31791 | Framework » Windows | Made it so when an ActiveX control is added all its code is wrapped in #if / #endif to make the code not executed on non-Windows platforms. |
43749 | Framework » Windows | MSSQLServerDatabase no longer crashes in 64-bit builds when running a SQLSelect statement and closing the subsequent RecordSet. |
44999 | Framework » Windows | Showing a Modal window now properly deactivates the main window. |
46398 | Framework » Windows | Labels are no longer redrawn when tabbing through controls. |
46520 | Framework » Windows | Listbox focus ring now correctly moves to the selected item when set using Listbox.Selected. |
46942 | Framework » Windows | Windows/Linux: Adjusted the position of the TextField for editable cells in a Listbox so that the TextField better aligns with the text for the default case. |
47182 | Framework » Windows | Listbox.InvalidateCell no longer invalidates the entire row on Windows. |
47503 | Framework » Windows | Listbox no longer scrolls badly at fractional DPI scale factors when the DefaultRowHeight is odd. |
48186 | Framework » Windows | Listbox: painting the cell's background no longer produces pixel cracks between rows at fractional DPI scales. |
49643 | Framework » Windows | Canvas.Scroll now redraws the childs control properly. |
49651 | Framework » Windows | Assigning a negative value to Graphics.TextSize no longer raises a failed assertion. |
50137 | Framework » Windows | Setting BinaryStream.Position to -1 now moves the position to the end of the stream (as documented), instead of throwing an IOException. |
50296 | Framework » Windows | Showing a Modal Window now properly deactivates its parent window. |
50484 | Framework » Windows | MouseMove event now only fires if the mouse cursor has actually moved, which matches the behavior on macOS and Linux. |
50531 | Framework » Windows | Listbox no longer shows a 1px white line when handling CellBackgroundPaint. |
50574 | Framework » Windows | Val now consistently converts 64-bit hex/binary/octal values as 64-bit integers instead of 32-bit when app is built as 64-bit. |
50672 | Framework » Windows | Setting the TextSize of a TextArea control no longer resets the TextColor. |
50707 | Framework » Windows | When running app from command line, an OpenDocument event no longer fires if no parameters were passed. |
50813 | Framework » Windows | DrawPolygon/FillPolygon now respects the origin offsets (these can be modified by Plugin controls via the REALSetGraphicsOrigin function call). |
50842 | Framework » Windows | BevelButton: Caption is now aligned properly when an icon is set and the DPI scale factor is greater than 100%. |
50847 | Framework » Windows | Printing no longer crashes on older Windows operating systems that do not support printing with Direct2D. |
51011 | Framework » Windows | No longer get a NilObjectException when using the HTMLViewer as it cleans up temporary files on Windows. |
51044 | Framework » Windows | Deleting a top-level menu on Windows no longer crashes. |
51064 | Framework » Windows | Graphics: TextUnit.Pixel is no longer incorrectly treated as if its unit were in points at > 100% DPI scale factors. |
51072 | Framework » Windows | An OpenDialog returning a file from an external device no longer returns Nil. |
51117 | Framework » Windows | BevelButton menu arrow now respects the DPI scale factor when drawn. |
51246 | Framework » Windows | Shell command now accepts unicode input. |
51281 | Framework » Windows | Fixed an issue where a clipped graphics would use the wrong transform matrix. |
51371 | Framework » Windows | DrawInto no longer crashes when passed a clipped graphics. |
51572 | Framework » Windows | Fixed a loss of precision issue when converting some mouse coordinates. This fixes an issue where the MouseDrag event no longer fires if the mouse didn't move after MouseDown, this occasionally happened at fractional HiDPI scale factors depending on the mouse location. |
51582 | Framework » Windows | We now honor the documentation and no longer attempt to hide MenuItems on Windows. Supporting this made the entire menu render text in classic theme mode. |
42747 | Framework » iOS | An incorrect iOSSQLiteDatabase.SQLSelect statement no longer causes iOS app to crash. |
50611 | IDE | When closed, Project windows disappear immediately. |
50655 | IDE | Made it so that the "choose a project window" (template chooser) is in the window menu so that if you open it, switch to another project, you can get back to the choose project window by selecting it from the window menu (which you can’t do easily right now). |
50840 | IDE | Extraneous separators are no longer part of various contextual menus. |
51322 | IDE | The IDE should redraw better and have fewer compositing artifacts on OS X 10.9. |
6996 | IDE » Auto Complete | Code such as “Exception e as Run<press here="" tab="">”, now autocompletes RuntimeException.</press> |
16645 | IDE » Auto Complete | Autocomplete presents the initial grey text completion properly. |
36702 | IDE » Auto Complete | System.Cursors, as well as other items in the System module, autocomplete as expected. |
37446 | IDE » Auto Complete | System.log and System.Cursors autocomplete properly. |
40039 | IDE » Auto Complete | System module autocompletes properly. |
45511 | IDE » Auto Complete | System.GetNetworkInterface auto completes properly. |
45712 | IDE » Auto Complete | All the new color constants (black, gray, lightgray, purple, yellow, etc.) autocomplete. |
50654 | IDE » Auto Complete | Plugins extension methods autocomplete as expected. |
50745 | IDE » Auto Complete | Autocomplete popup is just the right size. |
51542 | IDE » Auto Complete | Parameters are always properly located and so show up in autocomplete results when editing the body of a method. |
51555 | IDE » Auto Complete | Autocomplete following the use of IsA includes interfaces. |
50599 | IDE » Build Automation | Undoing the removal of a file from a Copy File Step refreshes the list. |
51203 | IDE » Build Automation | Build Scripts properly report that they are debug builds in scripts run before the Build step. |
5431 | IDE » Code Editor | Fixed a long standing and hard to track down bug in the code editor where if you have a long method, edited it, then tried to select you would get this weird bouncing behaviour and not be able to select past the current screen full of code |
23130 | IDE » Code Editor | Proper summary for color members shows. |
26366 | IDE » Code Editor | Double clicking methods, menu handlers, constants or other "header rows" no longer opens a tab that does not then move to have that group as the root item. |
26884 | IDE » Code Editor | Syntax Help at the bottom of the Code Editor updates as you move the insertion point with the keyboard. |
30177 | IDE » Code Editor | Classes cannot be given illegal names using search and replace. |
31508 | IDE » Code Editor | IDE Script editor unsaved changes indicator is now cleared after saving. |
36875 | IDE » Code Editor | With autocomplete, the Declare word can now be used either at the beginning of a declare or following Soft. Note that this, like the other verbs that can only be used in a declare, does not mean that it suggests things in the correct syntactic order just that it will now suggest it after typing "soft”. |
50244 | IDE » Code Editor | The debugger highlight now scrolls properly left/right as you scroll the editor horizontally. |
50279 | IDE » Code Editor | Selecting a block by clicking on the code folding lines works properly when line numbers are shown. |
50543 | IDE » Code Editor | Right clicking on #if, #else, #elseif, #end and #pragma now go to the right language reference page. |
50549 | IDE » Code Editor | Shift-returns now scrolls back to the left margin so you can see what was just inserted. |
50653 | IDE » Code Editor | Autocompletion of an element of an array presents the right autocompletion options. |
50988 | IDE » Code Editor | Block matching lines are drawn continuously and not anti-aliased so there are no gaps. |
51004 | IDE » Code Editor | Shift-return completes blocks in a context sensitive manner. |
51026 | IDE » Code Editor | Pasted text is not handled immediately but when the insertion point moves, or would move in the case of a multiline paste. This way pasting into a quoted string or comment no longer has the standardize format applied to it incorrectly. |
51202 | IDE » Code Editor | Summary of things improved in the code editor: made changes to how code items cache their set of local vars to improve speed, better caching and updating of using clauses, makes it so lines that start with "catch" and "exception" are considered as declaring local variables which they weren’t before, sped up class name lookup. |
51208 | IDE » Code Editor | Caret no longer shows through the line number gutter on Windows. |
51266 | IDE » Code Editor | Fixed a typo in the help area below the code editor when reporting compile errors and warnings. |
51359 | IDE » Code Editor | Other keyboard navigation keys cause the code cleaner to execute properly. |
51372 | IDE » Code Editor | Code lines that are automatically updated with Standardize Format are now always saved properly. |
51458 | IDE » Code Editor | Windows IDE: For non-ligature fonts in the code editor, the text no longer shifts when selecting text. |
51470 | IDE » Code Editor | Auto and Variant highlight in the keyword color like other intrinsic data types do. |
51580 | IDE » Code Editor | Text now indents and aligns as expected especially when using a fixed width font. Proportional fonts are always going to be problematic just by their very nature. |
50638 | IDE » Constant Editor | Dynamic label no longer shows when creating a color constant as it’s not really needed. |
50627 | IDE » Debugger | Running console apps on Linux when the project has spaces in the name works again. |
51314 | IDE » Debugger | Viewing text properties and variables no longer has the tabs placed so far left they are clipped off. |
51511 | IDE » FileIO | Projects that use the initial value with backslash characters in them would erroneously set this value to increasingly long text values. |
50511 | IDE » Find & Replace | The enum editor no longer reloads several times when you open it. |
49785 | IDE » Icon Editor | Fixed a bug when building apps for macOS so that they now include the correct 2x versions of the 16, 32, 128 and 256 pixel icons. |
45783 | IDE » Inspector | Changes to Shared Build settings: - "Long Version" is renamed as "Copyright" in the Shared build settings - "Short Version" is renamed "Version" in the Shared build settings - "Package Info" is renamed "Description" in the Shared build settings and add new accessors for GUI and Console apps so - App.Version gives back the short version (ShortVersion still works) - App.Copyright gives back the long Version (LongVersion still works) - App.Description gives back packageInfo (PackageInfo still works) IDE Scripts can set and get these values as well. Note that this does not alter old behavior on each OS. For instance, PackageInfo never returned any value on macOS, so Description doesn’t either. |
49902 | IDE » Inspector | Can use a constant once again to set a boolean property. |
50341 | IDE » Inspector | Inspector uses “Behavior” spelling for headers rather than “Behaviour”. |
50667 | IDE » Inspector | Lines draw in the IDE as expected. |
50951 | IDE » Inspector | Fixed up the handling of names changes in menu items so that the first time there is a duplicate name both the existing item and newly renamed item both get index values (as neither would have had one). The next time there is a new item renamed to an already existing name it gets the "next" index (one larger than the highest one used so far). And these fixes mean that simply renaming an item will not get an index of 0 assigned. |
50964 | IDE » Inspector | You can assign a private sibling as the super of a public sibling inside a module. |
50984 | IDE » Inspector | Ellipsis are no longer stripped from the default value of a property. |
51027 | IDE » Inspector | If you have hidden the Inspector and during a debug run click the “edit code” pencil on the toolbar the inspector is not forced to be visible. |
51285 | IDE » Inspector | Compat flags set on an external item, like a module, are properly retained. |
51316 | IDE » Inspector | Inspector sections are in expected order. |
51432 | IDE » Inspector | New web controls properly show their initial style as “None” . |
50601 | IDE » Menu Editor | Dragging tool items in a web toolbar no longer causes the IDE to crash on Windows. |
51465 | IDE » Menu Editor | Dragging a menu off the menu bar no longer leaves it off the menu bar. It will pop back up to its correct horizontal position in the overall menu bar as it should. |
11492 | IDE » Miscellaneous | inspector behaviour does not sort when writing to text projects. |
49796 | IDE » Miscellaneous | User set menu shortcuts can be in these locations: * Application Data > Xojo > Xojo <version> > Overrides > Keyboard shortcuts (for ONE user for ONE specific version) * Documents > Xojo > Overrides > Keyboard shortcuts (for ONE user for all versions that support this functionality) * SharedDocuments > Xojo > Overrides > Keyboard shortcuts (for all users for all versions that support this functionality) This override of shortcuts will be located and used in the order listed above. More specific settings override more general ones. </version> |
49916 | IDE » Miscellaneous | APFS volumes now correctly retain tags (and other meta data like extended attributes, ACLs, custom icons, and some other low level metadata) since we've moved to a newer API for atomically swapping files. |
49950 | IDE » Miscellaneous | When the IDE creates a tar.gz file to send to a remote stub the tar.gz file is cleaned up properly. |
49973 | IDE » Miscellaneous | Plugin compiling dialog always appear in front of IDE window. |
49979 | IDE » Miscellaneous | Extract Superclass dialog minimum dimensions have been fixed. |
50373 | IDE » Miscellaneous | “Return” is properly cased in the Getter when creating a computed property from a regular one. |
50463 | IDE » Miscellaneous | Closing the preferences window doesn't show minimized windows. |
50617 | IDE » Miscellaneous | The Super Class browser is no longer case sensitive. |
50722 | IDE » Miscellaneous | Warnings about deprecated / removed connection types for SSLSockets and its subclasses show in all project types. |
50741 | IDE » Miscellaneous | Project Chooser window opens centered on a brand new install. |
50913 | IDE » Miscellaneous | Window menu check mark is next to front most window as expected. This may be a project window, script window, or the new project window. |
50926 | IDE » Miscellaneous | If the active tab is one from an item in the spill over tab menu that item in the spill over menu will have a check mark next to it. |
50937 | IDE » Miscellaneous | Extract Method dialog on Linux resizes controls appropriately and resizes the dialog accordingly to fit these resized controls. |
51148 | IDE » Miscellaneous | In the Window menu, the correct item now has the checkmark. |
32801 | IDE » Navigator | Selection rectangle no longer moves down and away from the actual item selected when you resize the source list. |
37502 | IDE » Navigator | Duplicated items no longer show up at the top of the list but are placed after the item being duplicated. |
44363 | IDE » Navigator | The dark grey line over the Navigator is properly disabled. |
50227 | IDE » Navigator | Changing Navigator preferences now updates the appearance as soon as possible. |
50228 | IDE » Navigator | Changing Navigator preferences now updates the appearance as soon as possible. |
50556 | IDE » Navigator | Computed properties no longer sometimes incorrectly show “default values” as a field in the Inspector. |
50636 | IDE » Navigator | Made it so if you have a tab that is locked to a folder containing classes you can edit any of the contained classes without the IDE switching tabs. |
50910 | IDE » Navigator | Removing an event handler from a control array really does remove it. |
50990 | IDE » Navigator | You can now Undo a delete/cut of a module or folder that contains project items. |
51243 | IDE » Navigator | Adding a build step to a build target by right clicking on the target when it is not the selected row works as expected. The build step is added to the row right clicked. |
51486 | IDE » Navigator | Using copy paste to duplicate constants no longer ends up with constants with duplicated names. |
50462 | IDE » Plugins | Fixed odd typo in spelling of “Encoding”. |
51093 | IDE » Plugins | A change in the case of the title of a window will update the layout editor properly. |
49841 | IDE » Preferences | Capitalization on labels on preferences panes updated to be more consistent across panes. |
50230 | IDE » Preferences | All open palettes close when you switch from palettes to ones embedded in the window. |
50499 | IDE » Preferences | Remote Debug Hosts in preferences no longer has IP address column truncated for longer addresses. |
50151 | IDE » Rendering | Web controls and layouts that use the new color or boolean constants render out properly. |
50450 | IDE » Report Editor | Error about non-UTF-8 name when subclassing report controls no longer occurs. |
50330 | IDE » Scripting | No longer get an exception when opening an IDE script while an IDE script window is already open. |
50782 | IDE » Scripting | IDE Script shortcuts work properly on Windows and Linux. |
51298 | IDE » Scripting | Access to constants down paths more than one level deep work as expected. You can read and write the default value for constants. |
51302 | IDE » Scripting | Access to properties down paths more than one level deep work as expected. You can read and write the default value for properties. |
51382 | IDE » Scripting | NewMethod no longer creates methods with wrong name and scope when supplied proper parameters. |
51621 | IDE » Scripting | IDEScripting’s CloseProject closes the right project. |
20968 | IDE » Window Editor | Inspector appears as expected every time. |
49813 | Plugin SDK | Linux plugins that use GTK text controls no longer crashes when key is pressed. |
51816 | Plugin SDK | Updated header to fix an undefined behavior warning/error. |
50713 | Remote Debugger Stub | Remote Debugging a console app to Linux now properly launches the app again. |
51424 | Remote Debugger Stub | A 64-bit stub can correctly receive either a 32 or 64-bit app from the IDE. 32-bit stubs only receive 32-bit versions. Previously, since 64-bit debugging was not possible on Windows, only 32-bit versions would ever be sent to remotes regardless of whether the remote was running on a 32 or 64-bit version of Windows. |
197 Bug Fixes |
Changes
49549 | Compiler | The compiler now uses LLVM 6 internally. |
51034 | Database Plugins | Updated SQLIteDatabase plugin to 3.21.0. |
51522 | Database Plugins | SQLite has been updated to 3.22.0. |
45159 | Debugger | The IDE can now debug 64-bit Windows applications. |
34575 | Framework » All | JSONItem.Value now accepts String, Number and Boolean arrays. |
49771 | Framework » All | EraseBackground property no longer shows in inspector for Canvas and ContainerControls. |
51677 | Framework » Linux | 32-bit x86 Linux builds no longer depend on libunwind. |
15654 | Framework » Web | WebListbox now honors Up and Down keys to allow users to navigate with the keyboard. |
32009 | Framework » Web | The type of WebUploadedFile.Size has been changed from Double to UInt64. |
50125 | Framework » Web | When launching a standalone web app from the command line the app will now write an error and quit if the specified SSL certificate does not exist or is not readable. |
50328 | Framework » Web | Support for Internet Explorer 9 has been removed from the web framework. |
50395 | Framework » Web | All browsers that support EventSource server events now use it instead of long polling. |
50467 | Framework » Web | Web applications will now show an error and quit if the network interface specified on the command line is greater than the number of available interfaces. |
50474 | Framework » Web | Internet Explorer 9 support has been removed. |
50524 | Framework » Web | HandleURL and HandleSpecialURL now have their Date headers set by default. |
50774 | Framework » Web | WebMoviePlayer no longer uses the Flash player to play videos in browsers that do not support HTML5 video. |
49860 | Framework » Windows | Updated to support per monitor awareness v2 that was introduced in the Creators Update. This fixes many of the Win32 control issues on a per-monitor setup, but even on a single monitor setup where the user would switch DPIs without logging out. Some highlights: - All menus create in Per Monitor v2 contexts will be scaling on a per-monitor fashion - Win32 dialogs now automatically respond to DPI changes - Various Win32 controls have improved DPI scaling behavior in Per Monitor v2 contexts - Theme handles opened in the context of a Per Monitor v2 window will operate in terms of the DPI associated with that window |
50351 | Framework » iOS | iOSLabel now defaults to black. |
36745 | IDE » Code Editor | Read only projects display the "this project is read only" dialog when trying to edit code on a read only project. |
51484 | IDE » Code Editor | New installs on Windows will default to using Consolas instead of System for the coding font. |
12659 | IDE » Constant Editor | macOS now uses a sheet window for the multiline editor for individual constant instance values. Windows and Linux use a modal dialog that restores its position. |
49417 | IDE » Debugger | Both the IP address and name of the remote are now shown when transferring to a remote debugger stub. |
50178 | IDE » Icon Editor | Updated ICNS support. This also removes some restrictions so that ICNS files can be partially imported on Windows and Linux where the elements use PNG and JPEG2000. |
49903 | IDE » Inspector | Can use a constant once again to set a boolean property. |
11617 | IDE » Miscellaneous | Open Existing File and Recent Items are in the Windows tray item menu. |
49751 | IDE » Miscellaneous | Old projects load with controls transparent (unless it was set otherwise). Newly added controls will default to not being transparent. |
50443 | IDE » Miscellaneous | Updated autosave to not do another save if the project has not changed since the last time it was autosaved. |
50709 | IDE » Miscellaneous | N/A |
50425 | IDE » Navigator | External non-Xojo items will always open in the default external editor (using FolderItem.Launch). |
50835 | IDE » Navigator | Control rows in the Navigator that are plugins will use the correct icons. |
51589 | IDE » Preferences | Drag and drop of a theme file to preferences pane now works, but only on macOS at the moment. Related Case #51629. |
51630 | IDE » Preferences | An error in how the IDE was writing filetype sets made this not work as expected on Windows. That has been corrected in another case. |
51773 | Plugin SDK | Added an example to the Plugins SDK to demonstrate how to host WPF controls in Xojo. |
51312 | Remote Debugger Stub | Desktop Remote Debugger's default computer name is now set using the hostname. |
34 Changes |
New Items
31055 | Framework » All | SQLiteDatabase now has support for AES-256 encryption. |
49565 | Framework » All | Added Transparent property to RectControl. This property is mainly useful on Windows to avoid additional overhead if you know your layout does not require Transparency. |
50090 | Framework » All | Enabling DoubleBuffer on a ContainerControl now composites the control on Windows, allowing for moving/scrolling controls to appear less flickery. |
50120 | Framework » Linux | Updates to support Wayland backend, and others besides X11. As with any backends (in combination with differing versions of GTK+), mileage may vary in what works and what doesn't. Currently the major differences noticeable in the Wayland backend are: - Cannot restrict to a maximum size of a resizable window - Getting the Window left/top will return 0, conversely setting the Left/Top will not move the window |
14484 | Framework » Web | Added UploadProgress event to WebFileUploader. |
15374 | Framework » Web | WebFileUploader now supports drag and drop. |
15375 | Framework » Web | Added boolean MultiSelect property to WebFileUploader to allow users to select more than one file at a time. |
18541 | Framework » Web | WebMoviePlayer now has a separate Stop command. Instead of having to use the Play command to toggle the playing state. |
19753 | Framework » Web | Added CancelUpload method to WebFileUploader. |
22287 | Framework » Web | WebMoviePlayer now has Played, Stopped, VolumeChanged, PositionChanged and DurationChanged events. |
29983 | Framework » Web | WebMoviePlayer now has a separate Stop method instead of having to use the Play command to toggle the playing state. |
32040 | Framework » Web | Added Filter property to WebFileUploader to allow filtering on specific Mime Types. |
41401 | Framework » Web | Added a Filter property to the WebFileUploader for specifying accepted mime types. |
51101 | Framework » Web | WebFileUploader now has an UploadTimeout property. |
13468 | Framework » Windows | All UI controls now have the possibility to be Transparent, see the new RectControl.Transparent property. |
47001 | Framework » Windows | Reduced flicker on Windows by moving to a Psuedo-Transparency model (much like MS WinForms does). Please avoid partially overlapped controls with this new model. |
51213 | IDE | Creating a new project when running the IDE on macOS will default to setting the macOS Build Architecture to 64-bit. |
51578 | IDE » Build Automation | The list of constants available in a build script is now the following: CurrentBuildLocation - string, CurrentBuildLocationNative - string, CurrentBuildTarget - integer, CurrentBuildAppName - string, CurrentBuildTargetIs32Bit - boolean, CurrentBuildTargetIs64Bit - boolean, CurrentBuildTargetIsIntel - boolean, CurrentBuildTargetIsARM - boolean, CurrentBuildTargetIsWindows - boolean, CurrentBuildTargetIsMacOS - boolean, CurrentBuildTargetIsLinux - boolean, CurrentBuildTargetIsXojoCloud - boolean, CurrentBuildTargetIsDesktop - boolean, CurrentBuildTargetIsConsole - boolean, CurrentBuildTargetIsWeb - boolean, CurrentBuildTargetIsIOS - boolean, PreBuild - boolean, DebugBuild - boolean |
27328 | IDE » Code Editor | Find in selection works once again. |
51682 | IDE » Code Editor | Made it so users can, as part of a Xojo color theme, override the system selected text highlight color and inactive text color. |
51173 | IDE » FileIO | For Text projects a warning is given if the manifest is missing critical information or has been edited in a way that its malformed in a way it can’t be opened properly. |
51238 | IDE » Layout Editor | Internal plugin controls properly inherit their properties from their supers meaning that things like Transparent is now generally available on RectControl subclasses |
51290 | IDE » Miscellaneous | If you try to run a 32 bit app on a 64 bit linux distro that does not have required 32 bit libs the IDE detects this and tells you why the debug run failed to start. |
51299 | IDE » Miscellaneous | New projects default to being 64 bit for Linux. |
50652 | IDE » Navigator | Made it so that when you click on an item contained by another (such as a code item like a method, constant, property, etc contained by a class, layout, etc.) one of the contextual men items is to open the container in a new tab. This is particularly handy when you’ve applied a filter and want top open the item in a new editor. |
51447 | IDE » Scripting | Export of localizable values is scriptable using IDE scripting syntax like this: If ExportLocalizableValues("english", "/Users/username/Desktop/untitled folder/english.xojo_locale") Then |
51622 | IDE » Scripting | CloseProject now has two forms: CloseProject with no parameters behaves just as always and will prompt for saving if the project has changed. CloseProject(true) also behaves this way. CloseProject(False) closes all windows that the project has open but does not prompt to save any changes. |
40124 | IDE » Xojo Cloud » Statistics | Xojo Cloud Statistics are now available in the IDE. |
28 New Items |
Docs and Examples
40065 | Documentation | Improved Operator_Convert notes and sample code: http://developer.xojo.com/operator-overloading$Operator_Convert |
50735 | Documentation | Updated comment and formatting for String.LTrim sample code. |
50784 | Documentation | Updated ComboBox docs to indicate the height on Windows is controlled by the font size. |
50829 | Documentation | Updated TextArea.Styled and StyledText properties to better note that Windows/Mac are always styled. |
51013 | Documentation | Fixed sample code usage of RandomInt on While…Wend page. |
51295 | Documentation | Added clarification to pages for Window.SetFocus and ClearFocus. |
51334 | Documentation | System Requirements now note that OS X 10.9 is deprecated. |
51375 | Documentation | Updated Serial doc pages to note that you have to call Reset/Open after changing properties in order for them to take effect. |
51454 | Documentation | Equals doc page now has a related link to StrComp. |
51466 | Documentation | Fixed typo on TargetConsole entry. |
50760 | Documentation » Miscellaneous | Updated iOS device and App Store deployment docs for Xcode 9. |
50607 | Examples | Reporting examples now properly find the database when run before saving the project. |
51031 | Examples | Added missing localization string for SearchLabel to Eddie’s Electronics desktop project. |
12357 | Language Reference » Documentation | Added several new ListBox pages to the User Guide: * http://developer.xojo.com/userguide/list-box-usage * http://developer.xojo.com/userguide/listbox-drag-and-drop * http://developer.xojo.com/userguide/list-box-hierarchical * http://developer.xojo.com/userguide/listbox-sourcelist |
25102 | Language Reference » Documentation | Added several new ListBox pages to the User Guide: * http://developer.xojo.com/userguide/list-box-usage * http://developer.xojo.com/userguide/listbox-drag-and-drop * http://developer.xojo.com/userguide/list-box-hierarchical * http://developer.xojo.com/userguide/listbox-sourcelist |
49619 | Language Reference » Documentation | Changed parameter on Writeable page to “text As String” to match what the IDE creates for you when you add the interface to a class. |
50161 | Language Reference » Documentation | Removed duplicate line of code in RecordSet page example. Changed Dev Center page name to http://developer.xojo.com/recordset. |
50179 | Language Reference » Documentation | OpenDialog.MultiSelect property no longer shows unnecessary platform limitations. |
50267 | Language Reference » Documentation | IOException page now shows correct Xojo.IO.IOException name in the class summary. |
50506 | Language Reference » Documentation | Classic TextInputStream sample code now has “t.Close” in a more useful place. |
50544 | Language Reference » Documentation | On Conditional Compilation page Syntax section, #Else now appears after #ElseIf. |
50546 | Language Reference » Documentation | Compiler Constants page (http://developer.xojo.com/compiler-constants) now groups things by type to make them easier to find. |
50547 | Language Reference » Documentation | Fixed typo on Variant page. |
50609 | Language Reference » Documentation | ReDim docs now use Redim to match IDE standardize format syntax. |
50898 | Language Reference » Documentation | Fixed a typo in an example on the Redim page. |
51015 | Language Reference » Documentation | StringShape.Text page now indicates you can display multiple lines. |
51268 | Language Reference » Documentation | Added missing WebListBox.DataSource property and pages for DataSource and DataCell to Dev Center. |
51407 | Language Reference » Documentation | Split page updated to remove out-of-date bug note. |
51469 | Language Reference » Documentation | DragOverRow, and many others, no longer have duplicate entries. |
51477 | Language Reference » Documentation | If operator link works as expected. |
51518 | Language Reference » Documentation | Removed duplicate SelLength and SelStart properties on TextArea page. |
51594 | Language Reference » Documentation | Thread.DebugIdentifier is now documented. |
51745 | Language Reference » Documentation | Updated delegate page to point to Dev Center as intended. |
33 Docs and Examples |