Changes 2013r1
From Xojo Documentation
Xojo 2013r1 is the most significant release ever. This release features an all-new IDE with over 450 fixes, changes and new features. Some notable new features include:
- All new IDE, read the Upgrade Guide and User Guide for details
- Cocoa is the default for OS X apps
- SQLite backup support
- Performance optimizations for web apps
- Improved support for newer versions of Linux such as Ubuntu 12, 13 and OpenSuse 12
- All-new User Guide
- All-new QuickStarts and Tutorials
- Significantly updated Example projects
Refer to the full release notes below for a complete list of changes.
Contents
Bug Fixes
25797 Compiler: Fixed a bug that could cause incorrect code generation when reading/writing double values to a pointer with a non-zero offset.
15763 Compiler: The Hide, Hide Others and Quit menus no longer have multiple entries in localized strings files.
23801 Database: Calling PostgreSQLDatabase.Connect without specifying additional parameters no longer fails.
22858 Database: In order to use RecordSet.Edit or RecordSet.Update, the primary key (or identifying integer columns) must appear in the list of columns of the SELECT statement.
23602 Database: REALSQLDatabase.ShortColumnNames now returns the correct value instead of always returning false
17552 Database: REALSQLDatabase: BLOB data returned from a query now has a Nil string encoding instead of UTF8.
22861 Database: Removed Database.GetProperty (this was only used by the defunct 4D plugin).
14526 Database: Setting the Value of a DatabaseField to an empty string no longer saves a Null byte.
23892 Debugger: Enumeration values with non-ASCII names are now displayed correctly in the debugger.
15235 "Debugger: Using ""Step Out"" when debugging code running on a thread no longer behaves the same as single stepping."
18582 Desktop: A disabled Listbox now looks disabled (contents grayed and header grayed).
23869 Desktop: Child controls contained in several nested containers now properly reveal themselves when its ancestor(s) become visible. This was a bug mainly seen on Windows only.
19253 Desktop: Clipping an already clipped Graphics with negative X/Y now works properly.
21712 Desktop: Closing a window while editing a cell in a listbox no longer crashes.
22296 Desktop: Embedding a ContainerControl on another ContainerControl which has not been embedded on a window yet now throws an UnsupportedOperation exception instead of asserting.
22115 Desktop: HTMLViewer WebKit: Tabbing between controls now works on Windows.
26754 Desktop: HTMLViewer's Close event now fires.
23161 Desktop: Listbox no longer crashes when removing rows during a drag reorder event.
23430 Desktop: No longer raises an OutOfMemoryException when moving a Listbox off the side of a window.
18395 Desktop: Reports: Fixed a pair of bugs that prevented report footers from rendering in the right place.
21389 Desktop: SegmentedControl: On Windows and Linux setting the selected segment of a single mode SegmentedControl in code now resets the other segments properly instead of clearing the wrong selection.
23039 Desktop: Setting Checkbox.Value to True of an Indeterminate Checkbox now works as expected (i.e. the Checkbox state changes).
23418 DocLangRef: Fixed typo in Declare example.
20843 DocLangRef: Added Delegate constructor.
23387 DocLangRef: Added HashTag property to WebSession class.
23785 DocLangRef: Added missing properties to ConsoleApplication, ServiceApplication and WebApplication.
24205 DocLangRef: Added Target32Bit and TargetLinux to the Compiler category.
23676 "DocLangRef: Added WebCanvas to the ""Web"" category."
25372 DocLangRef: Added WebPopupMenu.Text to LR.
23634 DocLangRef: Changed to indicate RecordSet is a method, not a property.
23331 DocLangRef: Clarified ConstructorInfo example text.
22399 DocLangRef: Fixed an issue preventing local help for MenuItem from displaying propely.
26425 DocLangRef: Fixed DataControl.Update event link.
26365 DocLangRef: Fixed operator formatting on MemoryBlock.Operator_Compare page.
24164 DocLangRef: Fixed typo in example for If…Then…Else.
23996 DocLangRef: Fixed typo in WebDialog example code.
25011 DocLangRef: Fixed WebHTMLViewer.LoadPage example for loading HTML from a file.
21669 DocLangRef: FolderItem.MacType marked as deprecated.
5501 DocLangRef: For XMLDocument, removed duplicate methods, cleaned up examples, added example for XMLDocument.CreateElement.
23686 DocLangRef: Local LR content has been updated.
17834 DocLangRef: PrinterSetup works on Linux.
23316 DocLangRef: Removed invalid Window.GetPID method from LR.
25366 DocLangRef: Removed PostgreSQLPreparedStatement.BindType.
23986 DocLangRef: Removed use of FileTypes from TextOutputStream examples to eliminate confusion.
25590 DocLangRef: Significant updates to all database-related topics.
25105 DocLangRef: TextInputStream.PositionB is now marked as read/write.
19152 DocLangRef: Updated Canvas.DoubleBuffer and Canvas.EraseBackground notes and example.
21477 DocLangRef: Updated ContainerControl events, removing CancelClose and adding GotFocus and LostFocus.
23756 DocLangRef: Updated DataAvailable page to indicate it is shared by several classes.
22085 DocLangRef: Updated docs for Clipboard to note usage of UTIs.
26117 DocLangRef: Updated example for RecordSet.ColumnType.
24004 DocLangRef: Updated examples for Exit command.
23361 DocLangRef: Updated LR to remove UCS4 and add UTF32 to Encodings.
23662 DocLangRef: Updated notes for SortWith.
26258 DocLangRef: Updated Picture.IsImportFormatSupported and Picture.Save to indicate formats not supported on console/web apps.
24128 DocLangRef: Updated WeakRef example.
18897 DocLangRef: Updates to AND regarding expression evaluation.
24919 DocLR: Fixed typo in RectControl.DrawInto example.
23757 Docs: Fixed a bug in the wiki example for HTTPSocket.Post.
23758 Docs: Fixed a grammar error in the Wiki for HTTPSocket.Post.
8749 DocTutorial: Tutorials have been rewritten.
16976 DocUserGuide: Added section on Control Sets.
23664 DocUserGuide: Fixed typo in Encoding example.
25642 Examples: Fixed typo in AddHandler example.
26099 Examples: Fixed YearPopup in Desktop/Custom Controls/CalendarWindow project.
24150 Examples: Updated EddiesElectronics example to properly use HashTagChanged event handler and to fix issues running on mobile phones.
19646 Framework: Dates created using the Copy constructor are copies including the GMT offset.
23168 Framework: In RBScript, the message passed to the CompilerError event no longer has a trailing NULL. However, it is still useless and should be ignored in favor of providing your own localized messages based off of the RBScript error codes in the documentation.
24224 Framework: JSONItem no longer takes the computer's number format into account when serializing.
24034 Framework: JSONItem now converts non-visual ASCII and unicode characters to their escaped unicode equivalents.
16517 Framework: RBVersion constant should not have slight errors & be testable against values like 2012.010 (2012r1 had been showing up as 2012.09999999).
26009 Framework: RTF parsing no longer treats the \u keyword as being dependent on the document's codepage and RTF writing no longer writes out an invalid codepage for the document.
23775 Framework: SSLSocket: Linux builds that use SSLSocket no longer crashes when built from Windows IDE.
15136 Framework: StyledText.RTFData now writes the file out with ANSI codepage 256 instead of an invalid codepage.
18808 Framework: TextArea.Open has been implemented under Cocoa in order to open existing documents. However, TextArea.Open and TextArea.Save have been deprecated in favor of TextArea.StyledText.RTFData.
19388 Framework: TextArea.SetTextAndStyle is now deprecated on all platforms and unavailable under Cocoa.
18761 Framework: TextArea.TextStyleData is now deprecated on all platforms and unavailable under Cocoa.
18944 Framework: The use of paramarrays no longer causes an error in plugin defined classes.
17658 Framework: When parsing RTF data, the framework now assigns the file's encoding to the generated StyleRuns instead of a bogus encoding that caused crashes.
25256 "IDE Scripting: TypeOfCurrentLocation now returns ""Constant"" for Constants instead of an empty string."
16827 IDE: The issue that caused projects to warn that data would be lost on save has been fixed. Some data is supposed to be skipped, as it is no longer required but is created by older IDEs.
18903 IDE: A NilObjectException in the templates window has been fixed.
21822 IDE: A silent exception is no longer raised when removing a report control preventing you from removing it.
19289 IDE: A situation that could lead to an IDE experiencing a nil object exception in the database editor has been corrected. Also the delete contextual menu item should be enabled & disabled in the same cases the command bar is so you can't get into a state where you can delete a column using the contextual menu but not the command bar.
22506 IDE: Adding columns using the DB Editor on Windows no longer raises a NilObjectException.
6789 IDE: An issue that could cause a NilObjectException when deleting project caches and checking for plugin changes has been fixed.
23729 IDE: An out of bounds error loading web projects that use subclassed controls has been fixed.
21241 IDE: Attribute names need to be legal identifiers or quoted strings and now we will enforce that when we load old projects and when we add new attributes.
21674 IDE: Attributes no longer mess up VCP projects.
19673 IDE: BuildMacCarbon and BuildMacCocoa both exist as a way to select which runtime to use via IDE Scripting.
24971 IDE: Builds folder now uses project name + extension.
22223 IDE: Can now edit ByRef parameter values in the debugger.
21372 IDE: Certain regular expressions no longer create infinite loops when searching.
16528 IDE: Classes with deprecated super classes now properly save in VCP format.
19242 IDE: Classes with the names of internal classes no longer get the internal class icon.
21898 IDE: Code editor properly aligns text when using a monospaced font like Courier.
26346 IDE: Code hints now work for items nested more than two levels deep.
14686 IDE: Color picker now starts with the color shown in the Style Editor instead of black.
12038 IDE: ContainerControls AcceptTabs property shows correctly in the Inspector.
21189 IDE: Control Arrays are now called Control Sets.
25303 IDE: Controls on windows should no longer have changes to their property values in Text project files.
19084 IDE: Delegates will no longer incorrectly appear to allow being made shared. As a datatype, it makes no sense to share them.
24267 IDE: EULA adjusted.
16627 IDE: Export Localization Dialog resizes better to handle long strings that occur in German.
26100 IDE: External modules refuse to allow you to drag items into them as they cannot contain anything anyways.
18972 IDE: Extract Interface window is no longer resizable.
23526 IDE: Faster start-up time by delaying loading of Language Reference data.
21231 "IDE: Fixed a ""Saving will lose data"" issue."
20849 IDE: Fixed a bug where a missing image, if not fixed at project opening time, could cause a report that used the image to cause a NilObjectException.
23600 IDE: Fixed a bug where PopUpMenus could stick around in the inspector and cause all sorts of display problems.
19191 IDE: Fixed a sporadic NilObjectException that could happen when cleaning out auto saved projects and plugins.
19836 IDE: Fixed an error in reading the scope of a VCP class that had attributes attached to it.
10698 IDE: Icon editor has been completely revamped.
25528 IDE: Icon editor is no longer resizable.
25406 IDE: Icon Editor: 48 x 48 has both 32 and 8-bit editors again and ICNS files import on OS X again.
22775 IDE: If a picture item fails to render, the IDE now reports the errors instead of throwing an unhandled exception.
22968 IDE: If you have non standard background colors the color literals attempt to draw in a way they will still be visible.
24456 IDE: Importing certain ActiveX controls on Windows (mainly those that depend on other DLLs being in the current directory) no longer causes the IDE to crash.
23499 IDE: Importing RBO / XML files that are modules with classes etc in them are now imported properly.
14251 IDE: Improved ability to set compatibility flags.
19048 "IDE: Initial build setting for web projects defaults to ""current platform""."
23189 IDE: Internal properties are marked as {Internal} in the Property Behavior window.
23382 IDE: Issues where the LR could end up in an infinite loop have been resolved.
19674 IDE: Line numbers reported for errors in IDE scripts are now correct. They had been off by one.
20629 IDE: Loading a project can now be cancelled.
24967 "IDE: Local LR no longer causes an assertion on the """" page for literals."
19474 IDE: Missing UI state file (*.rbuistate) in rbvcp projects no longer can cause an unhandled IOException.
23475 IDE: No longer crashes when debug app quits/stops on Linux (and possibly Windows).
23701 IDE: No longer get an exception removing a report control.
23971 IDE: Norwegian Bokmal and Norwegian Nynorsk localization codes to the IDE.
21641 IDE: Now provides a compile time error for windows with the drawer frame type instead of asserting at runtime.
23736 IDE: Plugin load failures again appear in the Debug Log.
23357 IDE: Plugins that register methods or events with fully qualified type names (like REALbasic.Rect) for parameters or return types now work correctly.
8531 IDE: Property list behaviors for ContainerControls (web & desktop) are saved and restored.
22685 IDE: Quitting from the dock on OS X with the issue resolution sheet open no longer raises an exception.
22461 IDE: Reduced disk access to improve performance.
23825 IDE: Relocating items when loading a Text project file DOES dirty the project again.
21155 IDE: Saving will lose data message no longer displays for old projects with Mac Classic app names.
19407 "IDE: Searches using regex that indicates ""line start"" and ""line end"" anchors will behave as users expect on declarations (even though the declaration really isn't the way they think it is)."
24131 IDE: Selecting an IDE script from the Scripts menu now edits it if you hold down the option key (OS X) or the shift key (Windows, Linux). Previously all modifiers performed this action.
18593 IDE: The IDE no longer forces users to use a fully qualified class name as the super when the compiler will reject it.
17325 "IDE: The last change rbbf tag, which is no longer used, is now ignored properly and will not cause ""loss of data"" warnings."
22465 IDE: The preferences system on OS X now avoids more variant conversions and is generally more efficient.
21433 IDE: The user can no longer set WebApplication.Port to an invalid value.
25891 "IDE: Using the ""Define missing method"" entry in the contextual menu in the code editor no longer causes an issue when you use it in a method in a module."
14024 IDE: VCP and RBP projects that contain absolute paths now load properly.
26173 IDE: Web Controls whose text is defined with a dynamic constant now update properly when the Language is changed in Shared Settings.
18141 IDE: Web project layouts perform significantly faster.
18798 IDE: Web styles can be placed in a module and will compile as expected.
19231 IDE: Web toolbars retain their icons when saved in RBVCP format.
25188 IDE: WebApplication.HandleSpecialURL page has been adjusted manually in the local documentation.
17341 IDE: WebPage controls no longer draw on top of the tray controls.
24796 IDE: You can no longer drag, cut or copy the Build item in the build step list.
23582 JSONItem: Now correctly encodes chars with ASCII values < 31 and 127.
23076 JSONItem: Now uses the formatted version of Str instead of Format for converting numbers.
24087 Linux IDE: No longer requires WebKit to be installed to run.
26565 Linux: Changing menu item to separator (or vice verse, after the menu has already been appended) now works properly instead of being removed from the menu.
25813 Linux: IDE no longer crashes on OpenSuSE 12.3.
23150 Linux: MenuItems no longer leaks memory, especially if a Tag was assigned.
24093 Linux: MessageDialog can no longer get into a state where it shows up behind other windows.
26629 Linux: Setting Graphics.Pixel now works properly (depending on the version of Cairo, i.e. in Ubuntu 6.10 it does work, but in Ubuntu 12.04 nothing showed).
23323 MacCarbon: Fixed a bug that could cause some movies not to load.
23599 MacCocoa, Linux: HTMLViewer's Error event now fires.
19006 MacCocoa: A BevelButton's caption no longer disappears if the width of the control is less than the width of the icon.
18636 MacCocoa: A TextArea's insertion point is now adjusted to be the inverse of the background color.
22353 MacCocoa: Adding and removing tabs to a TabPanel at runtime now works correctly.
24805 MacCocoa: Applications no longer get warnings in console about the use of userSpaceScaleFactor.
17925 MacCocoa: Applications with no menubar specified now have a minimal application menu that includes the standard items (Services, Hide, Hide Others, Show All, and Quit).
19005 MacCocoa: BevelButton CaptionPlacement values are no longer treated incorrectly.
23570 MacCocoa: BevelButton menus now appear at the correct location when the button is on a secondary display.
16040 MacCocoa: BevelButton no longer asserts with 'invalid' font names and is no longer case sensitive in how it treats font names.
20348 MacCocoa: BevelButton now draws its caption disabled if the control is disabled.
23796 MacCocoa: BevelButton now invalidates properly when its properties are changed.
23569 MacCocoa: BevelButton properly refreshes after changing its properties.
19799 MacCocoa: BevelButton's MouseDown event now fires.
24791 "MacCocoa: BevelButtons now respect the user's ""full keyboard access"" setting."
23254 MacCocoa: Canvas controls that set UseFocusRing no longer cause excessive drawing when focus is gained/lost. Additionally, Listboxes that set UseFocusRing no longer refresh the entire window when focus is gained/lost.
11396 MacCocoa: Canvas controls that set UseFocusRing no longer leave artifacts when the window they are on deactivates.
21865 MacCocoa: Canvas controls that set UseFocusRing no longer leave artifacts when they lose focus.
21570 MacCocoa: Changing a control's MouseCursor property now works during a mouse drag.
24935 MacCocoa: Changing the background color of a TextField that has keyboard focus now works.
19823 MacCocoa: Changing the text of a top-level menu item now works correctly.
18168 MacCocoa: Checking an ImageWell's Image against nil no longer raises an OutOfBoundsException.
23284 MacCocoa: Clicking an item in a ComboBox's drop down list now triggers the ComboBox's Changed event.
17144 MacCocoa: Clicking on a BevelButton that's on an inactive floating window no longer makes the floating window have focus.
21698 MacCocoa: Clicking on a selectable label no longer turns the text color to black.
25171 MacCocoa: Clicks on a ListBox's scrollbars now trigger the ListBox's MouseDown event.
22819 MacCocoa: ComboBox.SelStart and SelLength now work correctly.
23397 MacCocoa: ComboBox.UseFocusRing now works.
23277 MacCocoa: CueText is now preserved when toggling a TextField's Password property.
17056 MacCocoa: Disabling MenuItems from a sheet's EnableMenuItems event now works correctly.
17237 MacCocoa: DisclosureTriangle's Action event now fires when changing the Value property programatically.
23782 MacCocoa: Drop down toolbar buttons now draw at the correct size when running in HiDPI mode.
20326 MacCocoa: Drop down toolbar items can now be disabled.
23110 MacCocoa: ExportPicture now provides output format options.
26748 MacCocoa: Fixed a crash with that could occur when closing an HTMLViewer that had loaded a page.
26516 MacCocoa: Fixed an Objective-C exception that would occur when pressing a dead key that has no modifiers.
26191 MacCocoa: Fixed the MouseDown event on a Window not firing.
26470 MacCocoa: Fixed ToolbarItems not stripping ampersands from their captions.
24830 MacCocoa: Focus rings are no longer put on plugin controls that don't specify REALcontrolFocusRing.
23159 MacCocoa: For an inactive floating window, clicking on a Canvas, a ContainerControl, or the window itself no longer forces the window to become active.
20303 MacCocoa: Getting/setting TextArea.SelOutline no longer causes assertions.
17854 MacCocoa: Graphics.DrawPicture no longer crashes if the source rectangle is out of bounds.
19160 MacCocoa: HTMLViewers now work on windows that were shown via Window.ShowModal.
17146 MacCocoa: ImageWell no longer constrains the image size to the available size of the control.
21485 MacCocoa: ImageWell's MouseDown/MouseDrag/MouseUp events now fire correctly.
18117 MacCocoa: ImageWells now accept drops.
23613 MacCocoa: Keyboard.Async*Key no longer returns false positives.
16017 MacCocoa: Listbox column headers no longer remain highlighted when the window is disabled (i.e. lost focus).
18665 MacCocoa: ListBox headers now draw correctly instead of having strange lines or no lines at all.
16082 MacCocoa: Listbox.CellBackgroundPaint's graphics context is no longer offset by the top border amount which would lead to the selection highlight being off a pixel.
16870 MacCocoa: Listbox.CellHelpTag works correctly now.
13438 MacCocoa: ListBoxes that are inside of a TabPanel now draw their headers correctly.
17461 MacCocoa: MenuItem Action event handler are now working.
17223 MacCocoa: MessageDialog.GraphicCaution now matches the Carbon appearance.
16904 MacCocoa: Metal windows no longer change appearance when being resized.
25655 MacCocoa: Movable modal dialogs no longer have incorrectly drawn corners.
22186 MacCocoa: No longer 'leaks' four CFStrings when switching applications.
19640 MacCocoa: No longer crashes if you present a FolderItemDialog that has no file extensions specified. It now falls back to the Mac type from the filter.
19043 MacCocoa: No longer crashes when assigning an empty string to PrinterSetup.SetupString.
23194 MacCocoa: No longer crashes when getting BevelButton's Icon property and using it for anything.
17491 MacCocoa: No longer has unbounded memory growth when using Graphics from a thread or timer.
26182 MacCocoa: NotePlayer's gunshot instrument (128) now works correctly.
24202 MacCocoa: OpenURLMovie now works correctly.
18173 MacCocoa: Password text fields now send KeyDown/KeyUp events.
23445 MacCocoa: Picture.FromData now releases its memory immediately instead of waiting until the event loop iteration is over.
18572 MacCocoa: Picture.Open now releases its memory immediately instead of waiting until the event loop iteration is over.
24794 MacCocoa: PopupMenu now honors its TextFont property.
17074 MacCocoa: PopupMenu now honors its TextSize property. The underlying NSPopUpButton still only draws at fixed sizes however, so this does not fix case #16698.
18514 MacCocoa: Printing is no longer limited to 72DPI.
23420 "MacCocoa: PushButton's ""Rescessed"" button style has been renamed to ""Recessed"", which is spelled properly."
19389 MacCocoa: RadioButton's Action event no longer fires before its Open event if its Value property was set to True in the IDE.
18319 MacCocoa: RadioButton, Checkbox, and PopupMenu now respect the chosen text size.
23593 MacCocoa: REALSetMovieMovie now works correctly.
23685 MacCocoa: RectControl.DragOver now only fires when the mouse moves, instead of firing continuously.
23545 MacCocoa: RectControl.MouseX and RectControl.MouseY are now relative to the window and not the control.
26571 MacCocoa: RuntimeException.Stack detects when symbol names would be 'incorrect' and creates a placeholder function name instead. For example, 'RBGUIKit.xojo_plugin_0.dylib$235' instead of 'PluginMain'.
23706 MacCocoa: Scaling the printer setup no longer results in the printing drawing origin being incorrect.
23696 MacCocoa: SelectAll now triggers TextArea's selection changed event.
22470 MacCocoa: Setting a MessageDialog's alternate button to be default no longer results in two buttons showing the default button 'pulsing blue' status.
26462 MacCocoa: Setting a RadioButton's Text property now strips ampersands correctly.
21126 MacCocoa: Setting ComboBox.ListIndex to -1 now actually sets it to -1 instead of just clearing the text.
25879 MacCocoa: Setting ComboBox.Text programmatically now triggers the TextChanged event.
16257 MacCocoa: Setting the text or selected text of a TextField/TextArea/ComboBox now resets the undo manager, preventing the undo menu item changing the text or causing assertions.
19294 MacCocoa: Setting Underline to False on a Label now works properly.
21866 MacCocoa: Simply clicking on a canvas that accepts focus and has a focus ring no longer moves the focus.
26546 MacCocoa: Slider values no longer change when using the mouse wheel.
22921 MacCocoa: Slider.LiveScroll's initial value is now respected.
23087 MacCocoa: Sliders can have negative values now.
17409 MacCocoa: Sliders can now have their value set to zero.
22853 MacCocoa: Sliders with ticks and a page step that is less the range of the slider now always shows two ticks.
16880 MacCocoa: Small progress wheels no longer log a message to console at runtime.
20704 MacCocoa: TabPanel's Change event no longer fires before its Open event.
10678 MacCocoa: TextArea now ignores enter/return if the TextArea's MultiLine property is False.
8913 MacCocoa: TextArea now respects its MouseCursor property.
25627 MacCocoa: TextArea's SelTextFont, SelTextSize, SelBold, SelItalic, SelUnderline, SelTextColor, and SelTextAlignment properties now affect the TextArea's typing attributes so that any text the user types will have the correct style.
15839 MacCocoa: TextArea's SelTextFont, SelTextSize, SelBold, SelItalic, SelUnderline, SelTextColor, and SelTextAlignment properties now work correctly when the selection length is 0.
23710 MacCocoa: TextArea.CharPosAtXY now returns the correct value in a scrolled TextArea.
20201 MacCocoa: TextArea.LineNumAtCharPos is now always zero based.
24958 MacCocoa: TextAreas that have their Styled property set to False can no longer be manipulated by the font panel or the color picker.
24166 MacCocoa: TextField no longer crashes in some situations where a TextField's text was set after the user typed.
20996 MacCocoa: TextField.AppendText now works.
13190 MacCocoa: TextField.Text is now read back correctly even if it contains a NUL. However, this is still a bad idea and should be avoided.
24045 MacCocoa: The 'Help' menu now shows the 'Spotlight for Help' field when its text is localized.
25509 MacCocoa: The application menu now gets localized for applications that set the build language but don't provide any dynamic constants for that language.
26407 MacCocoa: The application's dock icon now displays the list of open windows.
11172 MacCocoa: The IconDX and IconDY BevelButton properties now work in the Cocoa framework.
24055 MacCocoa: The ListBox lower right corner is no longer transparent when a border doesn't exist.
22401 MacCocoa: The non-asynchronous keyboard modifier getters are now more reliable. For example, they are accurately reported during the EnableMenuItems event.
17554 MacCocoa: The print job's title is now based off of the front window, matching the Carbon behavior.
18164 MacCocoa: The UserCancelled function now resets itself properly after being called.
23281 MacCocoa: The Window Maximize/Restore events now work under Cocoa.
22272 MacCocoa: Threads that raise exceptions that aren't caught no longer cause the application to deadlock.
22196 MacCocoa: Timer set to mode 1 now resets its mode back to 0 on completion.
24238 MacCocoa: Toggling a TextField's Password property no longer makes the field become editable.
23337 MacCocoa: Toggling the TextField Password property no longer resets the UseFocusRing property.
19244 MacCocoa: Toolbar items no longer get out of sync with their enabled property when the overflow menu is present.
22243 MacCocoa: ToolButton drop down menus appear in the correct place. Also, MenuItem's action is now triggered before the Toolbar's DropDownMenuAction event.
15662 MacCocoa: ToolButtons that are set to Toggle now properly toggle.
17200 MacCocoa: ToolButtons with style ToolStyleDropDown now show their drop down menu in the overflow menu.
21681 MacCocoa: UpDownArrows' KeyDown event now fires correctly.
24132 MacCocoa: When a sheet is open, menu item actions no longer go to the parent window.
22504 MacCocoa: When Quit is called when there are windows with sheets on them, including MessageDialogs, the program now beeps and stops the quit process. This matches the Carbon behavior.
17996 MacCocoa: When using MenuItem.PopUp from a modal window, all of the menu items are no longer disabled.
23694 MacCocoa: Window's Resized event now fires when resizing from the top or left edges.
23457 MacCocoa: Window.ContexutalMenuAction now fires correctly.
23340 MacCocoa: Window.UpdateNow now flushes the window contents instead of causing an entire refresh of the window.
18670 MacCocoa: Windows can be set to move by their window background via declares to -[NSWindow setMovableByWindowBackground:] now.
17206 Macintosh: Accepting promised file drags under Carbon has been fixed. An example has been added to demonstrate accepting promised files under Cocoa.
25206 Profiler: Fixed a bug that could cause a crash if two threads tried to record profile data at the same time.
11076 Remote Debugger: Remote Debugging no longer fails for applications with Unicode characters in their name.
22868 Web: Build process no longer includes hidden files in framework.
25880 Web: Calling WebPage.Close removes the page from the browser again.
23671 Web: Cursor assignment can now be overridden on a control by control basis.
24966 Web: Fixed a bug where sending a request to /framework/ and an invalid filename would result in a file being downloaded which contains the filename itself.
23816 Web: Fixed a bug which caused an OutOfBoundsException in the internal session/thread map.
26384 Web: Fixed a bug which could select an incorrect session if the current session suddenly disappeared in the middle of a call to Session.
23223 Web: Framework Code sections that are locked behind a CriticalSection will now automatically release if an exception occurs so other threads can continue.
24727 Web: Framework no longer crashes inside WaitingForSync method.
23538 Web: Framework: Changed eval to JSON.parse for security purposes (This is for information only, this was implemented in 2012r2 already).
21975 Web: Framework: Fixed a bug which could result in all session threads waiting for one another and the app appearing to hang.
23745 Web: Framework: Fixed a subtle bug in how the parent folder of a CGI script is calculated.
23008 Web: iOS devices no longer disconnect prematurely.
22816 Web: Showing a contextual menu that hasn't been rendered on the browser yet no longer causes a Javascript error.
21956 Web: Showing a WebDialog now scrolls the page back to the top.
20366 Web: Speed optimizations for CSS code rendering.
16494 Web: Stepping over Session objects in the debugger should no longer more than one click.
26386 Web: Using the global Session method from within the Session class now returns Self instead of going and looking it up in the master table. A message is also written to the messages panel asking the user to use Self instead.
15899 Web: WebButton: Setting the cursor property for now works properly.
23721 Web: WebContainers and WebDialogs now only fire their Open and Shown events once whether they are created at design time or runtime.
19328 Web: WebPopupMenu no longer sends duplicate lines to the browser when some are added in the Open event.
25667 Web: WebPopupMenu: AddRow and InsertRow RowTags now default to Nil
23737 Web: WebRadioGroup: Single quotes can be used in the design-time caption again.
25557 Web: WebRequests no longer have the Entity appended to the querystring unless the mime-type is application/x-www-form-urlencoded or multipart/form-data.
25539 Web: WebSDK control icons are no longer cropped when the control is smaller than the icon itself.
26350 Web: WebSegmentedControl now initially positions captions correctly when the captions have spaces in them.
21204 Web: You cannot define a class with the same name as a web framework item nor can you use web framework classes in a desktop or console project.
17964 Web: Z-Index and Layering set up in the Web Page editor are now obeyed.
23607 WebCanvas: Added and implemented EraseBackground property to Refresh and Invalidate to match desktop behavior.
23668 WebCanvas: Fixed a bug which caused the graphics object to be invalid when the canvas object was created at runtime.
23734 WebCanvas: IE8 Text baseline calculations have been updated.
23665 WebCanvas: Now resizes correctly when the size is set in code.
23733 WebCanvas: On Internet Explorer 8, DrawString now uses Arial as the fallback font if the specified font does not exist.
16274 WebCheckbox: Setting the cursor now affects the entire control.
25538 WebControlWrapper: Fixed a bug that could prevent custom icons from rendering in the IDE.
16662 WebFile: The URL property now appears in the debugger.
18179 WebListBox: No longer throws an OutOfBounds exception when the number of defined columns is less than the number of defined headers.
18238 WebListbox: Now responds correctly to changes in the cursor property.
23666 WebSDK: Custom web controls can now be subclassed.
23437 WebSDK: EventIsImplemented method now autocompletes.
23436 WebSDK: Fixed a place where Xojo was changed back to RS and was causing JS errors.
25652 WebSlider: Fixed a bug where setting the Maximum at runtime would not refresh the slider.
23669 WebStyle: Hid the undocumented methods and properties.
25229 Windows IDE: Wndow title in the form editor now displays unicode text properly.
12079 Windows: App.Close now fires on Windows Logout/Shutdown.
25135 Windows: Application no longer fails to launch if the name contains an ampersand character in it.
21709 Windows: Builds no longer uses the LongVersion build setting for its Copyright field, instead we use the Company Name value.
24022 Windows: Converting a UTF16LE string to another encoding no longer raises an assertion.
24008 Windows: Dragging a file onto a TextArea control no longer crashes.
21677 Windows: DragItem.DragPicture now works properly for alpha pictures with colored transparent gradients.
16636 Windows: Exceptions now work in service applications. Note that this does introduce a behavior change: the Pause, Stop, and Resume events now only fire when DoEvents is called.
11266 Windows: Fixed a strange background redrawing bug which manifests itself with certain controls on a TabPanel.
26076 Windows: Fixed some clipboard issues with inverted pictures.
25970 Windows: Format function no longer returns bad values in cases where a 3rd party has set a default locale (Some ActiveX/COM components were doing this).
23229 Windows: Printing a styled text block no longer mangles the rest of the printing process.
10573 Windows: Redundant exponential value is now stripped off when a Variant double is converted to a string.
23479 Windows: WebKit based HTMLViewer no longer displays a dialog when you press the space bar.
New Features
20451 Database: DB editor improved.
23060 Database: SQLiteDatabase/REALSQLDatabase: updated to SQLite 3.7.14.1.
23643 Desktop: Canvas/ContainerControl: added Transparent property, whose default value is True, this maintains current compatibility. If set the False then the Canvas/ContainerControl will become opaque (i.e. background will not show through). On Linux this has particularly special meaning in that child controls on an Opaque Canvas/ContainerControl can be clipped.
23741 DocLangRef: Clarified notes for ByVal and ByRef.
25233 DocLangRef: Noted that array.Pop raises an OutOfBoundsException if the array has no values.
21792 DocLangRef: Updated OLEObject with note and example using dot notation to access properties.
21431 "DocLangRef: Updated System.EnvironmentVariable to mention ""ROOT"" and ""DOCUMENT_ROOT"" that might be useful for web apps."
26188 DocLangRef: Updated topic for Static variables in LR and User Guide.
5314 Framework: Added a PrintingCancelled property to the Graphics class that can be used to detect when the user has cancelled a print job. For non-print Graphics contexts, this property always returns False.
15958 Framework: FolderItem has gained a NativePath property. On Windows and Linux, this is the same as the current AbsolutePath. On OS X, this returns the POSIX path instead of AbsolutePath's HFS path. Since HFS paths are obsolete, AbsolutePath has been deprecated in favor of NativePath. Also added is FolderItem.PathTypeNative, which can be passed to the FolderItem's Constructor or GetFolderItem. This must be explicitly passed if you wish to use it, as the two functions continue to default to FolderItem.PathTypeAbsolute for compatibility reasons.
25864 IDE: Added a Xojo forums entry to the Help menu.
14286 IDE: Added a contextual menu to allow you to see the locations of its menu handlers in the project. Selecting a location from the list takes you to the handler.
19729 IDE: Added the comment tool button for Built Steps IDE scripts.
20014 IDE: All-new splash screen.
20448 IDE: All-new text input based code editor.
19977 IDE: Can now select multiple project items (such as folders) and choose Insert to add a project item to each of the selected items.
19949 "IDE: Code editor and debugger implement a new ""floating help tag"" style to show help information and debugger status that used to appear in the status bar of the old UI."
25691 IDE: Constant instance editor now automatically sets focus on the text after selecting a language.
19442 IDE: Controls have default events and event descriptions from Language Reference appear when the event name is selected.
7605 IDE: Cut, copy and paste now function in the menu editor.
22069 IDE: Debugger looks more like the rest of the new IDE. No functional changes.
26573 IDE: External tools using IPC to drive IDE scripts can now receive data back from the script. To do this, the tool should send a NULL when it has finished sending the IDE script's source code (instead of terminating the connection). The IDE script can send data back to the external tool by calling the Print method.
4251 IDE: Holding down the Alt/Option while selecting Project->Run Remotely now appends the IP Address to the machine name.
19690 IDE: IDE scripts have command bar with comment item.
19859 IDE: Improved handling of build steps.
23615 IDE: Improved startup time by limiting indexing of internal docs at startup.
23614 IDE: Improved startup time.
21225 IDE: It is possible to drag controls between layouts using the Navigator.
22550 IDE: Navigator size is stored in preferences, synced between tabs, and has a much greater maximum width of 65% of the window width.
22630 IDE: New licensing model in use.
1777 "IDE: No longer adds debug applications to the ""Recent Applications"" list on OS X."
25290 IDE: Now shows raised exceptions in the variables pane with the other local variables.
20376 IDE: Office classes (i.e. WordApplication, ExcelApplication, and PowerPointApplication) are no longer loaded automatically. You can find the MSOfficeAutomation.rbx plugin in the Extras folder.
17722 IDE: Project Chooser window only loads recents, templates and examples when those items are selected in the source list.
21230 IDE: Run in GDB will be enabled for ALL users on OS X if they have a Debug Plugins directory next to the IDE.
19545 IDE: Search results and filters have updated user interface to present results more clearly.
22701 "IDE: Selecting ""Open In Tab"" from the navigator contextual menu will drill the navigator in the new tab to the selected item."
25522 IDE: Show / Hide toolbar pill no longer shows on OS X in versions where it should not.
19791 IDE: Showing the find pane automatically moves the focus to the search field.
19500 IDE: System.DebugLog output is now visible from the debugger.
23067 IDE: Tabs have a lock icon that when clicked will prevent you from accidentally switching the contents of that tab to another item.
19547 IDE: The debugger now shows System.DebugLog console output using the Messages pane.
25719 IDE: The Interface Editor window is now resizable.
26403 IDE: Updates to License Agreement.
21306 IDE: Users can now optionally send anonymous system specs to Xojo.
20873 IDE: What used to be known as control arrays are now referred to as control sets.
22498 IDE: Without an appropriate build license you can only save as Binary whether you start with a new project or an existing on in XML or Text format.
20438 IDE: You can add an event to multiple controls at the same time by selecting the controls then choosing Add Event Handler.
20018 IDE: You can now choose to sort the Library alphabetically.
24104 MacCocoa: An exception is now raised when manipulating user interface elements from a non-main thread.
23784 MacCocoa: DragItem.Handle now returns the underlying NSDraggingInfo object for received DragItems.
23874 "MacCocoa: EndOfLine has changed from being a carriage return to a linefeed. EndOfLine.OSX has been added, which returns the linefeed.
This change will break applications which rely on EndOfLine being a carriage return. Those applications should switch to explicitly specifying EndOfLine.Macintosh or Chr(13)."
8538 MacCocoa: Valid Bundle ID's are required for Cocoa. The bundle ID string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters. The string should also be in reverse-DNS format (but this is NOT required).
22810 Moved to more appropriate places in the project menu and the profile code item to the shared settings
10962 Plugins SDK: Added a way to forward events from a plugin's NSView to the framework. An example project, HostedPluginExample, has been added to demonstrate how to do this.
25234 Plugins SDK: Enums inside of classes are now supported.
23513 Profiler: Number columns are now right justified and widths are determined by the column titles.
24820 Remote Debugger Desktop: Destination Select dialog now defaults to SpecialFolder.Desktop.
24818 Remote Debugger Desktop: Missing download directory dialog now shows Use Temporary/Change instead of No/Yes.
24804 "Web: Added ""/api/"" as an alias to ""/special/"" for directing requests to App.HandleSpecialURL."
23897 "Web: Error pages no longer say ""Powered By Real Studio Integrated Web Server"" on them."
23588 Web: WebMapViewer: Added APIKey property so users can add their developer key for better access.
19883 WebContainer: Added ScrollTo method to set the scrolled content position; added ContentScrolled Event which fires when the content is scrolled.
23853 WebFile: Added a property UseCompression which determines if the web framework should compress a file before sending it to browsers that support compression.
23149 WebGraphics: Added a TextAlignment property for drawing Center and Right Aligned text.
25929 WebSDK: Added a constant IncludeInTabOrder which when set to True includes the control in the tab order.
23759 WebSDK: Added a mechanism to allow a WebSDK control to know if a particular shared library has already been loaded for a particular session.
Changes
23483 Compiler: The DisableAutoWaitCursor pragma has been deprecated. There is no replacement because this pragma doesn't actually do anything at runtime (and hasn't in quite some time).
24843 Debugger Stub: Updates for 2013 Release.
23598 Desktop: BevelButton's AcceptFocus property now is set to True when BevelButtons are added to a layout.
20771 Doc: Added QuickStart for web apps (PDF and iBooks).
20772 Doc: Added Tutorial for web apps (PDF and iBooks).
20829 Doc: All-new User Guide in 4 books: Fundamentals, User Interface, Framework and Development (PDF and iBooks).
23464 Doc: Cleaned up docs in Readme folder (for release packaging).
20774 Doc: Created testing guide (PDF and iBooks).
24313 Doc: Local Language Reference updated from wiki as of Feb 18, 2013.
20773 Doc: QuickStarts and Tutorials are now available in PDF and iBooks formats.
23250 DocLangRef: Added note about Dictionary key values and case.
20877 DocLangRef: Clarified App method and Application class.
10687 DocLangRef: Expat version is now listed on XMLDocument page.
21733 DocLangRef: Marked Graphics.UseOldRenderer as deprecated (since 2012r1).
23574 DocLangRef: Updated examples for TextEdit.LineNumAtCharPos.
23976 Documentation: WebSDK docs have been updated for 2013r1.
14422 DocUserGuide: All-new screenshots.
24134 Framework: Deprecated RealSQLDatabase, RealSQLBlob, and RealSQLPreparedStatement in favor of the replacements SQLiteDatabase, SQLiteBlob, and SQLitePreparedStatement respectively. Note that these new classes may not be completely compatible with the old RealSQLDatabase databases. For example, the new SQLiteDatabase class no longer supports the AutoCommit property, transactions must be started explicitly. A rowid is no longer implicitly injected into the result set, you should always select a primary key if you plan on using the RecordSet update/delete functions.
18100 Framework: Removed deprecated binding interfaces namely: BooleanProvider, ListInterface, StringInterface, StringProvider, DataAvailableProvider, BindingInterface, BindPartInterface, ListDataProvider, ListDataNotifier, ListDataNotificationReceiver, TupleInterface, EnablingBinder, ActionBinder, StringBinder, and ListBinder.
24903 Framework: The XojoScript class has been added, which supersedes the RBScript class. The language remains unchanged, but the XojoScript class provides more information from the compiler about errors and warnings.
21163 IDE: A toolbar that is dragged to a Window now appears on the shelf.
23500 IDE: Accept files types is a sheet on OS X.
20008 IDE: Add Event Handler dialog supports typeahead.
20184 IDE: Added inline editing support for most desktop controls.
22347 IDE: All rebranding issues are completed.
26618 IDE: All URLs have been updated to point to Xojo.com.
26586 IDE: All-new dialog for changing tab order.
26662 IDE: App.IncludeFunctionNames is now enabled by default for newly created projects.
25957 IDE: Code and Project item names can no longer be created starting with an underscore.
25085 IDE: Constant Editor Platform menu now only allows users to select a supported target.
26194 IDE: Control instances with missing supers are now shown with a ? instead of a generic RB icon (or nothing at all).
20901 IDE: GUI / Desktop projects default to using Cocoa if you build for OS X.
24184 IDE: HTML help can be loaded from ZIP plugins.
25698 IDE: Implemented a Tooltip for project items in the Navigator to show SuperClass and Interface information.
23373 IDE: Improved speed of checking for duplicate plugin classes.
22776 IDE: License agreement is now displayed in a third pane in the about box.
10029 IDE: Modules only show disclosure triangles when they have objects in them.
25958 IDE: Naming errors are now shown in a dialog on Linux/Windows and a special warning pane on OS X.
14088 IDE: New VCP projects will default to using Unix line endings on OS X. Current line endings will be preserved in existing projects.
24735 IDE: Now supports proxy servers.
10673 "IDE: Profile runs now show a ""run number"" as part of the title in the listings."
26267 IDE: Profiling now tracks per thread activity better by segregating out each thread by its thread id.
3959 IDE: Save Project uses Sheet window on OS X.
20115 "IDE: ServerSocket now has a sockets group in the Inspector showing ""Minimum"" and ""Maximum"" rather than ""MinimumSocketsAvailable"" and ""MaximumSocketsConnected""."
22083 IDE: The Debugger stack list box now lists most recently called to least recently called methods (a true stack).
18436 IDE: The default menu bar name is now MainMenuBar instead of MenuBar1. Subsequent MenuBars will be numbered MenuBar2 and so on.
25773 IDE: The inline editor (pencil) icon scales up to a maximum of 18 x 18 but is never more than 50% of the width or height. Below 6 x 6 its not shown at all as its so tiny as to be unhittable and a control that size won't have a useful caption. And if you do need to edit the caption you can still use the Inspector.
25842 IDE: The Interface Aggregates property inspector now uses the Interface editor for editing aggregates.
22003 IDE: The preference to only show one error at a time while compiling has been removed.
20518 "IDE: The splash screen now consistently uses ""Loading"" when describing the items being loaded."
19027 "IDE: Updated the ""Load Intrinsics"" message on the splash screen to say ""Loading Frameworks""."
24048 "IDE: User objects can no longer be called ""Xojo""."
23338 IDE: Window position is now stored in preferences instead of the project UI state. Default position now intelligently avoid overlapping with floating palettes.
24662 IDE: Xojo plugins must be in ZIP format.
26664 IDE: xojo_plugin files now have the right icon.
23474 Linux: Picture.FromData now loads the picture from memory instead of creating a temporary file (this requires GTK+ 2.14, otherwise we fallback on creating a temporary file).
23378 Mac: The compiler now ignores the 'Mac SDK' user default for Cocoa builds, but still respects it for Carbon.
23738 MacCocoa: The application's Open event and the default window's Open event now trigger once the NSApplication has finished launching instead of before. The application's Constructor still fires before then, if you need to modify things early on in the process (but don't open any windows from there).
24955 MacCocoa: The menubar is no longer constantly being rebuilt. This results in better performance and the ability to use declares on the underlying NSMenu/NSMenuItem objects.
23770 Macintosh: The minimum system version for all applications is now 10.6.
25205 Profiler: Added color highlights to expanded rows and the row that the mouse is currently hovering over to make reading on large screens easier.
23512 Profiler: Times are now shown in milliseconds.
20778 RBScript: Now uses LLVM 3.2 internally.
24200 SpecialFolder: AppleMenu has been deprecated.
22986 Web: Deprecated the WebFile FileDownloaded delegate and replaced with the Downloaded event handler.
26398 Web: Optimized a few of the images in the default framework.
25255 WebListbox: Optimized the routine for changing the data size when inserting, appending or removing rows.
23392 WebSDK: Controls created using RS namespace now work in the new Xojo namespace.
21500 Windows/Linux: With the Use Build Folder setting unchecked, a debug build no longer creates a build folder.