Xojo 2015 Release 1 contains about 150 changes. Some of the more notable new features and changes include:
- 64-bit iOS Builds
- iOS builds are now created as Universal Binaries containing both 32-bit and 64-bit parts as required to meet Apple’s new App Store submission requirements
- A new TargetARM constant for conditional compilation
- IDE improvements, including
- Preference for Searching
- 1024x1024 icon sizes
- Better display of debugger values for pictures and arrays
- Language improvements
- Added Parse method to Integer, Double and Single data types
- SQLite updated to 3.8.8
19863 All: Fixed a crash when passing a structure array into SortWith.
37833 All: Fixed a memory leak with Xojo.Core.MemoryBlock.
37835 All: Fixed a regression where assigning empty strings to a MemoryBlock would crash.
37674 All: Fixed Array.IndexOf's handling of Auto arrays.
37664 All: Fixed Array.IndexOf's handling of delegate objects.
37093 All: Fixed RuntimeException's CallStack property having an extra Nil element at the end of the array.
32325 All: Fixed shuffling of structure arrays.
33905 All: Optimized sorting an array that is already mostly sorted.
37363 All: String.ToText no longer raises an exception on Windows/Linux if the string is empty.
37811 All: Text.Split no longer raises an assertion if the Text to split is empty. It now returns an empty Array instead.
17059 All: Using IndexOf on a string array where a string starts with NUL byte now works correctly.
37611 All: Xojo.Core.Timer.CancelCall no longer raises an IteratorException.
37871 Cocoa: Fixed a crash with ComboBox.DeleteAllRows.
37201 Cocoa: The ArrowAllDirections mouse cursor now resembles the old Carbon appearance instead of a simple crosshair.
37351 Compiler: Fixed a bug that made ByRef arguments count for overload resolution, which incorrectly marked function calls as ambiguous.
37629 Compiler: Fixed a bug with incremental compilation that resulted in global functions or variables not being counted as a dependency that should force a recompile if they change.
37981 Compiler: Fixed a bug with unsigned integer comparison on iOS and XojoScript.
37616 Compiler: Fixed a crash when trying to get or set a structure property's value via introspection.
37663 Compiler: Fixed a crash with exception handlers when building for iOS devices.
37508 Compiler: Fixed a failed assertion triggered by calling an invalid function.
37567 Compiler: Fixed a failed assertion when compiling a class that has a property that is a large structure.
37500 Debugger: Date values stored in a Variant now show correctly in the debugger.
34555 IDE: A change to a project item name is validated before the contextual menu is shown to you cannot create a class with no name.
28114 IDE: Added missing Help tags for the file types command bar items.
37576 IDE: Added Variant.TypeText to autocomplete.
37041 IDE: Adding a new sqlite database to a project no longer permits using the name “Database”.
13259 IDE: Alt-Shift-Click inserts the name of the item selected in the navigator to the current insertion point in the active code editor.
37581 IDE: Altered reloading an iOSControl so it reloads all saved properties.
37406 IDE: An event that has been implemented can be removed and re-added to a control.
36823 IDE: Auto-layout baselines guides now result in baseline constraints.
21281 IDE: Changed from using JPEG 2000 to PNG for the elements of the ICNS file so that OS X builds done on Windows and Linux properly create the ICNS file.
37564 IDE: Clicking the help item in the toolbar no longer results in a help window with no toolbar configured.
25894 IDE: Closing the last project window will, if set, close the IDE down or simply leave the tray item (as set in preferences).
37570 IDE: COM help reference entries wont be shown on platforms that don’t support COM controls.
29017 IDE: Commands like Stop Debugging work even when the Debugger is not the current active tab.
17852 IDE: Copy file steps now directly supports the use of partial paths for the copy file steps subdirectory property.
Note : Partial paths still behave platform specific in some respects. On OS X if you use the colon (:) it will be treated as a /. On Windows if you use / it will be treated as a \.
31436 IDE: Copy paste and drag drop of methods, constants, etc. into external classes now works properly.
37454 IDE: Copy/copy/paste now work with the IDE Script Editor window.
37601 IDE: Copying a group of lines no longer causes an exception when trying to create the backing image.
29272 IDE: Creating a new control set from a selected group of similar controls now works properly.
37613 IDE: Custom controls names in the Library update when changed.
19639 IDE: Custom supers for reports saved in plain text format are restored properly.
14434 IDE: Desktop containers draw better in the IDE (back color and backdrop) in their editor and in a disabled form on a window layout.
37194 IDE: Don’t raise an NilObjectException if you start a search in the LangRef window before the response has been received from one of the online sites.
37507 IDE: Dropping a method on a class interface behaves like a Copy not a Move.
21258 IDE: Ellipsis to indicate further interaction required have been added to menus.
37188 IDE: Event definition editor pane parses a single entry in the name into component parts as the method editor pane does.
37037 IDE: Event handlers that are added to a control instance but have no code in them are now correctly hooked up so add handler will properly report an error if you try to add a handler to it again.
9808 IDE: External project items no longer show property editors differently than internal project items.
33217 IDE: External script references no longer get lost.
19099 IDE: Extract Interface and Extract Superclass both order their lists alphabetically.
37232 IDE: Fixed a NilObjectException that could occur when trying to add attributes to a NON-UI class in an iOS project.
37684 IDE: Fixed issue where right click would incorrectly position the insertion point in the Code Editor.
37577 IDE: Fixed the displayed type of Variant.TextValue in autocomplete.
32736 IDE: Floating properties palette has the advanced icon and panels.
37687 IDE: Grab handles for lines appear regardless of setting of X1, X2, Y1, and Y2.
23591 IDE: ICNS files are now written out with the Apple recommended set of images as PNG which do NOT include any 48 x 48 images.
38035 IDE: Icon editor no longer beeps when you press the delete key.
36968 IDE: Icon editor no longer behaves likes its compositing icons together. It now replaces the existing icon with a new one when dropped into the editor.
37727 IDE: If a plugin is misconfigured and claims to have properties, events, methods, etc. but really doesn't then the error message in Feedback will identify this better.
37699 IDE: If there is no default value for a constant or property no equal sign is shown in the Navigator.
36800 IDE: In Auto-layout, controls constrained to the baselines of other controls move as expected.
17739 IDE: In the Code Editor, AddHandler and RemoveHandler now display syntax help and are highlighted as keywords.
37072 IDE: In the Code Editor, clicking in the gutter below the last visible line no longer toggles the last line’s break point.
36980 IDE: In the File Type Set Editor, pressing forward delete when a field is being edited simply edits the field. When no field is being edited and a row is selected pressing forward delete removes the row.
15132 IDE: In the Style Editor, typing in a value in the text field for colors now works.
25704 IDE: Inspector Behavior sheet is resizable. Lists resize to fit width and columns are resizable.
21393 IDE: Make it so when a web segment has an icon assigned that it actually draws it whether its been copied and pasted or saved and the project reloaded.
22116 IDE: Menu handlers now get numeric suffixes like enums, properties, etc. do when you duplicate them.
37099 IDE: Method editor now says “Delegate name” instead of “method name” when you edit a delegate.
37403 IDE: No longer causes an exception when using a script command to build a console or web app.
37401 IDE: No longer causes an exception when using a script command to build a console or web app.
19115 IDE: No longer get an error when a toolbar button icon image has the same name as the button.
19340 IDE: No longer repeatedly ask if a person wants to update a projects minimum load version as they alter it and save.
37060 IDE: Opening new tabs uses the current Find panel size (if open).
37700 IDE: Plugin super classes are not shown in the super class browser for iOS projects.
14913 IDE: Pressing the Enter key completes inline editing same as the return key does.
28654 IDE: Project chooser panel no longer gets spurious line artifacts when resizing.
37656 IDE: Removed extra space in build dialog.
25046 IDE: Renaming Report controls in the Inspector also changes the name in the Navigator.
37285 IDE: Resizing a control by the corner drag handles snaps to guides just like dragging any of the side handles does.
17862 IDE: Segmented control with no segments no longer generates an error when you analyze a project.
37381 IDE: The Export dialog when making a folder external has a more sensible caption. Folders properly check all contents recursively for whether they can be exported.
35005 IDE: The Insert menu rebuilds properly depending on what project you have front most.
25580 IDE: The Library no longer appears to be a drop target when you are dragging a control out of the library.
33190 IDE: The ListBox popover editor permits shift tab to go backwards (just as it uses tab to go forwards).
27967 IDE: The small progress wheel control in web projects no longer slowly creeps across the layout as you save and reopen the project.
26354 IDE: The web style border editor can tab from the Size field to the container with the color selector fields.
35367 IDE: The “Define missing method” function now works even when you select a text fragment thats starts with “me.”.
28092 IDE: Using Cut, Copy, Paste, Delete in the Font name combobox in the Inspector doesn’t cause the control to be deleted.
37615 IDE: When a base class name for an iOS custom control changes, any views with instances of that control also get the super updated for those instances.
30622 IDE: When using floating palettes and the last workspace for a project is closed the floating properties palette also clears so that you cannot modify something that no longer exists.
37692 IDE: When you change the default value of a constant or property value they change in the Navigator right away so you no longer need to close then open the group of constants or properties to see the change.
23263 IDE: You can now do a discontiguous select of project items in the Navigator on Windows and Linux (this already worked on OS X).
37326 iOS: An empty iOS project no longer generates an warning about an unused variable.
37008 iOS: Controls that are visually parented in the IDE are now properly parented at run time.
35555 iOS: Dynamic constants are now working.
37919 iOS: Fixed a crash with invalid JSON.
37449 iOS: Fixed a failed assertion triggered by dereferencing a pointer with no offset.
37669 iOS: Removed File Types from the Build Settings.
37071 iOS: The Sign project step name (in Build Settings) is no longer editable.
37678 Linux: IDE no longer crashes at launch on Ubuntu 14.10.
34626 Linux: The IDE no longer crashes in certain instances when clicking on the button to change a class' super.
20370 OS X: Because of a bug in Launch Services names with special characters don’t work for the icon file name. Now always using App.icns as the name.
37777 OS X: Fixed a crash with Xojo.Core.Date when used as a property.
37672 OS X: Fixed Xojo.Math.RandomInt crashing.
15019 Plugins: REALLoadObjectMethod no longer fails with DrawPicture in Console apps.
33896 Remote Debugger: Changing the “launch after receiving” check box no longer takes several seconds for the UI to update.
17882 Serial: Retrieving Bits, Stop, Parity, and Port properties now work properly instead of incorrectly retrieving its high word (i.e upper 16-bits did not contain the correct data). This was seen mainly on Windows.
37123 Web: A WebControlWrapper Style property no longer appears if the developer has indicated that it shouldn't.
37085 Web: Fixed a bug which caused WebLabels to be invisible when included in a dynamically created WebContainer.
37748 Web: Fixed a regression in the WebSDK which caused ControlAvailableInBrowser to return True too early. Increased WebControlWrapper.APIVersion to 5 so the only version that has this issue will be version 4.
37670 Web: Removed unused ChromeFrame code from the framework.
37164 Web: WebCheckboxes again respond to touches when their MouseDown event is implemented.
37435 Web: WebContainer mouse event handlers no longer interfere with scrolling.
37205 Web: WebLabels in a WebContainer in a Control Array draw properly again.
37760 Web: WebListbox no longer offsets the selection if placed inside a WebContainer and accessed from a touch device.
37691 Web: WebMoviePlayer and WebMapViewer no longer incorrectly send Mouse movement events to the server.
17126 Web: WebStyle gradients now render for IE. Note: IE only supports 2 point gradients.
34341 Web: Webstyles with borders no longer cause controls to change size at runtime.
37745 WebSDK: Updated documentation to reflect the APIVersion 4 and 5.
37562 Windows: Deleting a menu in the Menu Editor on Windows no longer causes an exception.
21685 Windows: Graphics.DrawPolygon now draws smoother edges when using GDI+
37413 Windows: Xojo.Core.Date subtraction now works properly.
37390 Windows: Xojo.Core.Timer now works for Desktop apps.
37756 XojoScript: Fixed a bug that prevented CompilerWarning from firing when there were warnings on consecutive lines.
31641 XojoScript: The compiler now gives an error when a script declares its own RuntimeException class. Total: 127
37510 Compiler: Added a TargetARM constant that is set to true when building for ARM devices.
37930 Compiler: The 'StructureAlignment' attribute on a structure can now be set to 0, which indicates that the compiler should perform natural alignment. Natural alignment ensures that the structure will be laid out correctly for a given platform's ABI rules.
28073 IDE: Added a new preference for controlling whether searches and filtering happen immediately or wait until enter/return are pressed.
21947 IDE: Added support for 1024 x 1024 icon size. Total: 4
37439 All: Added Parse function to Integer, Double, and Single. This function acts more like Val/CDbl did, in that it's more lenient at parsing and will not raise exceptions.
37757 Compiler: TargetHasGUI, TargetPPC, TargetPowerPC, TargetMacOSClassic, and Target68K have formally be marked as deprecated.
37156 Compiler: The compiler now preserves type information better when dealing with "Integer" and "UInteger". As such, error messages will reflect what the user types instead of "Int32" or "UInt32".
37709 IDE: Added Icons for autocomplete purposes for Auto, Text and Ptr.
35791 IDE: Auto-layout baselines guides now result in baseline constraints.
35950 IDE: Auto-layout baselines guides now result in baseline constraints.
36318 IDE: Certain deprecated items have been removed from file formats and print outs of projects.
36644 IDE: Debugger Viewer now is labelled with “View as “ instead of “view”.
17995 IDE: It is possible to paste multiline text into the constant editor listbox on Windows and Linux (it already worked on OS X).
16569 IDE: Revised project printing to not repeat the note name, group things better and add in delegates and using clauses.
12874 IDE: The Debugger shows headers for 1D arrays as Row and Value. For 2D arrays it shows row, column and value. For a 2D array sorting by rows puts data in Row / Column order.
17234 IDE: The picture in the debugger view now scrolls as you move the mouse wheel.
37614 IDE: There is now a Project Controls section in the Library for iOS projects.
12574 IDE: Trying to place an instance of a Container Control or EmbeddedWindowControl directly on a window is not permitted. You can no longer drag out a control, like a canvas, change its super to Container Control or EmbeddedWindowControl.
37929 IDE: Updated structures to support natural alignment. This means now you can set the StructureAlignment attribute to 0 to use natural alignment.
36648 IDE: Viewing a window in the debugger shows “Controls” instead of “Contents” in the debugger.
8287 IDE: When you use Run Paused, the Resume toolbar item, resume menu item and pause items will be disabled until such time the app to be debugged has been started and communicated with the IDE.
29995 OS X: ICNS files written use up to date internal image formats (PNGs instead of JPEG 2000) and only use currently documented formats.
37329 PluginSDK: Updated Plugins SDK with new function to handle the Text datatype. Please review the Plugins SDK for details.
36218 SQLiteDatabase: Updated to SQLite 3.8.8.
37681 Web: Removed the "Xojo HTTP Server" header from the list of headers returned for a standalone web app.
37741 Web: Updated standalone HTTP response headers to more closely match existing behavior.
26807 Web: Web Apps no longer request that ChromeFrame be activated if it's installed on the user's computer. Total: 23
Docs and Examples
37947 DocLangRef: Added Crypto and Introspection to list of Themes in Language Reference.
37274 DocLangRef: Added information for WebApplication.Security.
30413 DocLangRef: Added note to array.Sort to indicate how items are sorted.
37374 DocLangRef: Added page for REALbasic module as an alternate way to access some global items.
37813 DocLangRef: Corrected “REALSQLDatabase” to “SQLiteDatabase” in Record Navigation section of RecordSet page.
36666 DocLangRef: Removed System.KeyScript, which is no longer an available method.
36308 DocLangRef: Simplified wording for description of FolderItem.GetSaveInfo.
37517 DocRefGuide: Added exceptions raised by Xojo.IO.SpecialFolder.GetResource.
37738 DocRefGuide: Fixed sample code for iOSImage.FromFile.
37884 DocRefGuide: Removed incorrect information from iOSView.Activate and Deactivate.
37148 DocRefGuide: Removed SelChange from the events for iOSTextField.
37151 DocRefGuide: Removed usage of Math.Pi from sample code.
37779 Examples: Added iOS/Declares/Base64Encoding project.
37780 Examples: Added iOS/Declares/Pasteboard to show how to add text to the pasteboard.
37932 Examples: Added XojoDoodle example for iOS.
37647 Examples: Fixed iOS/Database/SQLiteInMemory example so that it can be properly code-signed when built.
37778 Examples: In iOSAlerts, changed declare lib to /usr/lib/libobjc.dylib so that it builds for device.
37737 Examples: Updated IDECommunicator example to work with current version of Xojo.
37931 Examples: Updated XojoNotes to use SplitView on iPad.
37159 Examples: Updates to error messages for XojoScript example project. Total: 20 Release Total: 174