January 24th, 2013
· Debugger Stub: Now checks to make sure the destination folder Exists and isWritable before trying to write to it.
· Debugger Stub: Spaces in the app path are now escaped when launching console apps on Linux.
· Desktop: Toolbar items (ToolItem) can be usefully subclassed now.
· Framework: SSLSocket events no longer fire on a non-main thread (unless Poll is called from that thread).
· IDE: An issue where changes to web projects saved in vcp format were not being saved has been corrected.
· IDE: default.lproj localization files are no longer generated.
· IDE: Notes in properties no longer get leading or trailing blank lines stripped when saved in VCP format.
· IDE: Profiler times are now properly reported in seconds (not milliseconds).
· MacCocoa: KeyDown events no longer forces the key to be ASCII and instead passes it through in its full Unicode glory.
· Remote Debugger Stub: Now identifies itself as "Remote Debugger Stub" instead of "Real Studio" to Windows.
· Remote Debugger Stub: Transfer speed to Windows has been greatly improved.
· Web: Fixed a bug where an empty string sent to the browser could cause a JSON error.
· Web: Framework: Data no longer leaks between sessions.
· Web: WebPage.Title now correctly renders dynamic constants assigned in the IDE.
· WebCanvas: Fixed a bug on international systems that caused RoundRect corners to be drawn inverted.
· WebCanvas: Fixed a case where the Invalidate method could become unresponsive if no changes were made between Paint events.
· DocLangRef: Updated local LR for 2012r2.1.
December 11th, 2012Bug Fixes:
· FIX 22563 Compiler: Fixed a crash when parsing a method declaration that had a parameter with no name/type and just a default value. For example, "Sub Bar(=12)".
· FIX 22886 Compiler: No longer asserts when a class implements an invalid interface name.
· FIX 22266 Database: Binding an empty string using RealSQLDatabase now works.
· FIX 18347 Database: Extensive ODBC work done on text fields (and unicode text fields).
· FIX 13853 Database: Extensive ODBC work done to improve unicode support. To connect to MySQL you should be using the latest version of the driver available from the driver vendor.
· FIX 18026 Database: Extensive ODBC work was done to improve Unicode support.
· FIX 13368 Database: No longer keeps the REALSQLDatabase database file locked when the connection failed.
· FIX 19469 Database: ODBC plugin correctly identifies Boolean types.
· FIX 20555 Database: ODBC with MS SQL now returns TRUE for BIT columns.
· FIX 22858 Database: ODBCDatabase no longer fails on RecordSet.Update.
· FIX 22075 Database: ODBCDatabase.DatabaseName is now correct when used with MS SQL Server.
· FIX 22166 Database: PostgreSQLDatabase no longer crashes when binding an empty string.
· FIX 22860 Database: Removed unsupported REALSQLDatabase.DebugMode property.
· FIX 22654 Database: With PostgreSQLDatabase, accessing a RecordSet after it is closed (via RecordSet.Close or Database.Close) now raises an UnsupportedOperationException instead of crashing.
· FIX 19253 Desktop: Clipping an already clipped Graphics with negative X/Y now works properly.
· FIX 22913 Desktop: Instead of crashing when a closed window is used as the parent for ShowWithin/ShowModalWithin, the framework now raises an UnsupportedOperationException.
· FIX 2122 Desktop: Listbox vertical scrollbar is now updated properly when DefaultRowHeight is changed.
· FIX 22551 Desktop: Now raises an OutOfBoundsException if the rectangle passed into Window.Bounds' setter has a negative Width or Height.
· FIX 22604 Desktop: Scroll wheel deltas are correct when natural scrolling is disabled.
· FIX 22802 Desktop: When showing a modal window in a ContextualMenuAction event, the contextual menu now gets cleaned up properly instead of the Base menu item being reused on subsequent contextual clicks.
· FIX 22066 DocLangRef: Added CountFields and CountFieldsB to Text Strings category.
· FIX 21789 DocLangRef: Added info about when MemoryBlock.StringValue can raise an OutOfBoundsException.
· FIX 7748 DocLangRef: Added links to platform-specific error codes for Serial.LastErrorCode
· FIX 22763 DocLangRef: Added missing RemoteAddress parameter to WebApplication.SessionWithIdentifier.
· FIX 4487 DocLangRef: Added note about using ContainerControls with Window.Control property.
· FIX 18866 DocLangRef: Added Ptr declaration to MemoryBlock.Operator_Convert.
· FIX 22616 DocLangRef: Added Rect.LocalPoint and Rect.LocalRect.
· FIX 22421 DocLangRef: Clarified "All" property on FileType.
· FIX 20583 DocLangRef: Clarified all parameters for WebSession.Cookies.Set.
· FIX 21796 DocLangRef: Clarified Border property Double vs. Boolean usage.
· FIX 22637 DocLangRef: Clarified Me vs. Self.
· FIX 12896 DocLangRef: Clarified that arrays and object types are always passed ByRef.
· FIX 21790 DocLangRef: Clarified that Movie properties require QuickTime on Windows and are not available at all on Linux.
· FIX 22460 DocLangRef: Clarified that the Window function returns Nil for unavailable window numbers.
· FIX 14049 DocLangRef: Combined Invoke into one entry in the MethodInfo method table.
· FIX 22510 DocLangRef: Fixed examples for FileType to show Icon property is read-only.
· FIX 22566 DocLangRef: Fixed examples for MySQLPreparedStatement to use correct bind types.
· FIX 22678 DocLangRef: Fixed typo in BevelButton.List.
· FIX 22867 DocLangRef: MouseUp is called even if mouse is released outside the control.
· FIX 22983 DocLangRef: MySQLCommunityServer.GetInsertID and GetAffectedRows now indicate that UInt64 is used.
· FIX 22618 DocLangRef: Noted that Picture.Save will overwrite existing files.
· FIX 23320 DocLangRef: RecordSet.RecordCount is now identified as a method and not a property.
· FIX 23052 DocLangRef: Removed invalid ConstructorInfo.ReturnType property.
· FIX 18419 DocLangRef: Report.Units now redirects to Reports page where they are described.
· FIX 12862 DocLangRef: Searching for Build Automation brings up the IDE Script topic in the wiki which describes Build Automation, IDE Script and related features. The new User Guide also has a section on Build Automation.
· FIX 5453 DocLangRef: Specified timeout units for DoShellCommand (milliseconds) and ODBCDatabase (seconds).
· FIX 21735 DocLangRef: TabPanel Append method now links to correct page.
· FIX 20330 DocLangRef: Updated Canvas.Paint examples.
· FIX 22018 DocLangRef: Updated description of RegistrationAccessErrorException.
· FIX 17909 DocLangRef: Updated examples for PropertyInfo.Value to show how to set/get a value and how to access an array.
· FIX 22427 DocLangRef: Updated examples for RGBSurface.
· FIX 22406 DocLangRef: Updated ListBox.AddFolder reference to example project.
· FIX 11830 DocLangRef: Updated MouseCursor to indicate Control and Window MouseCursors only work when Application MouseCursor is Nil.
· FIX 22863 DocLangRef: Updated RectControl.Parent description.
· FIX 22700 DocLangRef: Updated Toolbar example.
· FIX 20586 DocLangRef: WebFile.Cached documented.
· FIX 18898 DocLangRef: WebPopupMenu methods now in docs.
· FIX 17501 DocPluginsSDK: Added new REALcontrolHandlesKeyboardNavigation flag. This flag only applies on Windows, use it to suppress the default keyboard focus navigation (i.e. suppress arrow keys and modifier-less keyboard mnemonics from switching control focus).
· FIX 12220 DocUserGuide: Added information about Accept File Types setting for OS X builds.
· FIX 3651 DocUserGuide: Documented Lock Position for controls.
· FIX 22595 DocUserGuide: Updated Obtaining Updates section.
· FIX 10105 Examples: Added GraphicsPrintingExample.rbp.
· FIX 9576 Examples: All included examples have been updated to latest version.
· FIX 9990 Examples: Duplicate examples removed.
· FIX 4471 Examples: Removed outdated ContextualMenu examples.
· FIX 9963 Examples: Updated Copy and Move Example.
· FIX 22302 Examples: Updated FluidsDemo.rbp.
· FIX 14447 Examples: Updated TrayExample.rbp.
· FIX 21321 Framework: Drawing Object2D objects with rotation now works in Console/Web apps.
· FIX 22376 Framework: HTTPSocket Content-Type and Content-Length headers are no longer dependent on the selected method.
· FIX 22839 Framework: HTTPSocket: Removed handling for HTTP 1.1 chunked responses.
· FIX 20587 Framework: IPCSockets no longer can hang trying to do DNS resolution when connecting.
· FIX 23078 Framework: Items in the REALbasic module that should have been marked as hidden now are actually hidden.
· FIX 22706 Framework: JSONItem no longer fails with an OutOfBoundsException when initialized with an empty string.
· FIX 22262 Framework: MemoryBlock no longer reads memory outside of the MemoryBlock's bounds when getting the value of a 24-bit color.
· FIX 22517 Framework: Renamed Encodings.UCS4 to UTF32, this encoding assumes the endianness of the machine and does not add a BOM to the string (this is inline with that Encodings.UTF16 does currently). UTF32 now works on Windows.
· FIX 22235 Framework: When a hidden container becomes visible its children are no longer hidden initially.
· FIX 15458 IDE: Constants now work for the Web Page Editor.
· FIX 22621 IDE: Copy files steps for Windows no longer create an additional folder named with the full name of the windows executable + libs.
· FIX 21775 IDE: Exported web pages, web dialogs & styles in vcp format can now be imported again.
· FIX 14781 IDE: Filetype Sets entries which contain a MacType or MacCreator which contain trailing spaces no longer get trimmed.
· FIX 23189 IDE: Hidden properties are not shown in the Property Behavior window.
· FIX 13944 IDE: Invalid xml will not cause an error in reading the multi item file but may still produce an XML error if you try to import it.
· FIX 22989 IDE: Project Template window now has an appropriate minimum size.
· FIX 21643 IDE: Properties for Major, Minor, Debug, Non-Release, and Stage should never print out in scientific notation.
· FIX 22612 IDE: Remote Debugging "Failed to connect properly." message is now a dynamic constant.
· FIX 8865 IDE: Report Editor controls whose height and/or width are zero or one are now selectable and draggable.
· FIX 19423 IDE: The IDE no longer takes a long time to start/quit due to temporary files accumulating.
· FIX 21998 IDE: The semicolon (;) is not allowed in folder names as it breaks VCP projects.
· FIX 20251 IDE: The text in the dialog that warns when a control that doesn't support composite windows is added to a composite window, has been updated. The updated text removes information such as versions of Mac OS that are no longer supported. The text was also rewritten to better conform with Apple's UI guidelines for dialog boxes.
· FIX 22948 IDE: The UTI column of a file type is also searched.
· FIX 23294 IDE: Using the Style Editor to edit the background of the style no longer throws an OutOfMemoryException on Windows.
· FIX 22932 IDE: We no longer require a tickle of the Finder to make the icon show & this fixes an issue on 10.8.2.
· FIX 22605 Linux TextArea/TextField: when the selection change is caused by a mouse event, the SelChange event now fires before the mouse is released like other platforms
· FIX 22952 Linux: calling the Keyboard Async key methods (i.e. AsyncKeyDown, AsyncShiftKey, etc.) in App.Open, or in a tight loop, now works
· FIX 22540 Linux: CanGoBack, GoBack, CanGoForward and GoForward now work properly with the WebKit based HTMLViewer.
· FIX 22476 Linux: Graphics DrawRect, DrawRoundRect, and Pixel now draw correctly instead of being off by 1.
· FIX 23150 Linux: MenuItems no longer leaks memory, especially if a Tag was assigned.
· FIX 17539 Linux: Picture.Open no longer crashes when called from a thread.
· FIX 22354 Linux: Plugins drawing pictures on a graphics from an Offscreen Paint event now offsets the picture properly.
· FIX 22584 Linux: Setting the Text on the Clipboard no longer wipes out the Picture that was on the clipboard, and vice versa.
· FIX 22576 Linux: ShowURL now works in newer distros (like Ubuntu 12.04) by using xdg-open to open the file or URL in the user's preferred application.
· FIX 22190 Mac: App.LongVersion string no longer has the wrong encoding set.
· FIX 22668 Mac: rbframework.dylib has been moved from Contents/MacOS/ to Contents/Frameworks/ in order to be compatible with XPC.
· FIX 19046 Mac: Variant.CFStringRefValue no longer leaks CFStrings.
· FIX 22494 MacCocoa: An ApplicationMenuItem instance no longer appears in both the application menu and the parent designated in the IDE at design time.
· FIX 21755 MacCocoa: Calling ShowWithin and then Show on a sheet window no longer causes the parent window to go away when the sheet is closed.
· FIX 22429 MacCocoa: DragItem.Drag now starts in the correct position if invoked during a MouseDrag event.
· FIX 22995 MacCocoa: Graphics.DrawString no longer crashes if the string contains invalid data for the specified encoding.
· FIX 23043 MacCocoa: Graphics.StringWidth no longer crashes if the string contains invalid data for the specified encoding.
· FIX 21937 MacCocoa: IsContextualMenu now returns true for control clicks.
· FIX 693 MacCocoa: Keyboard.KeyName now works with non-QWERTY keyboard layouts.
· FIX 9285 MacCocoa: KeyChain.Delete no longer causes crashes.
· FIX 18665 MacCocoa: ListBox headers left/right edge no longer overlap its border.
· FIX 22319 MacCocoa: Listbox no longer fires the ValueChanged event twice for the same value when scrolling with the scroll thumb.
· FIX 21756 MacCocoa: Listbox resizing with the scroll thumb at its max now scrolls the contents (on the left) into view properly instead of creating display artifacts.
· FIX 22471 MacCocoa: Listbox ScrollPosition is now correctly updated after the Listbox contents have changed.
· FIX 21795 MacCocoa: MoviePlayer no longer crashes when setting the Movie property a second time.
· FIX 21527 MacCocoa: MsgBox displays strings without encodings by replacing all 'invisible' characters with the Unicode replacement character.
· FIX 17944 MacCocoa: No longer crashes if a ListBox cell's string value contains invalid data for the specified encoding.
· FIX 22715 MacCocoa: No longer crashes when inside of obj_msgSend due to sending mouseMoved: to a deallocated object.
· FIX 22197 MacCocoa: No longer leaks memory when assigning to the Label.Text property.
· FIX 18601 MacCocoa: PrefsMenuItem automatically gets the Command-, keyboard shortcut.
· FIX 17221 MacCocoa: Pressing Shift-Tab now reports the key as character 9 instead of 25.
· FIX 18769 MacCocoa: Profiler now works with Cocoa builds.
· FIX 17587 MacCocoa: RefreshRect no longer clears the whole window/canvas.
· FIX 20183 MacCocoa: Setting TextArea.Text no longer causes bizarre behavior if the string contains invalid data for the specified encoding.
· FIX 16611 MacCocoa: Setting TextArea.Text no longer causes runtime errors if the string contains invalid data for the specified encoding.
· FIX 22374 MacCocoa: Showing a sheet window no longer makes the parent window look inactive.
· FIX 22835 MacCocoa: TextArea.AppendText no longer silently fails if the string contains invalid data for the specified encoding.
· FIX 21856 MacCocoa: TextField.Border is now preserved when toggling TextField.Password.
· FIX 19128 MacCocoa: TextField.Border now works correctly with password fields.
· FIX 16608 MacCocoa: TextField.Copy and TextField.Paste no longer cause assertions.
· FIX 22607 MacCocoa: TextField.SelectAll is now functional.
· FIX 10033 MacCocoa: TextField/TextArea masks now work.
· FIX 18771 MacCocoa: The EditCopy menu item now copies the contents of the ListBox cell being edited instead of the entire row.
· FIX 20928 MacCocoa: Tooltip.Show no longer crashes if the string contains invalid data for the specified encoding.
· FIX 11690 MacCocoa: Window.KeyDown now fires even if no control on the window has keyboard focus.
· FIX 23034 Remote Debugger: Stub no longer displays "Untitled Window" in the menubar in Ubuntu 12.
· FIX 23302 Web: Control Array "Add" function no longer takes multiple steps to move forward in the debugger.
· FIX 22487 Web: Controls that have been removed from the DOM will no longer be queried for their value.
· FIX 21897 Web: Dynamically created WebContainers are now destroyed when they are closed.
· FIX 22394 Web: Fixed a bug that could hide an exception behind a NilObjectException.
· FIX 22537 Web: Fixed a bug which caused server responses to get exponentially slower depending on their size.
· FIX 21764 Web: Framework: Fixed a bug that could cause commands to reach the browser in the wrong order.
· FIX 22964 Web: Gradients now work properly in Internet Explorer 10.
· FIX 21030 Web: HelpTag: Fixed a bug where help tags which contained quotes would not render completely.
· FIX 22259 Web: iOS no longer shows the loading progress indicator after the app has loaded.
· FIX 22177 Web: Rapidly fired user events no longer cause NilObjectExceptions in the WebControl event handler.
· FIX 23049 Web: Replaced AJAX push connection with HTML5 EventSource to work around a vendor bug on iOS.
· FIX 22371 Web: The error dialog no longer appears behind other controls.
· FIX 21437 Web: Threads no longer leak.
· FIX 22829 Web: Unsupported WebView.WaitingForSync is now hidden.
· FIX 22721 Web: WebContainers no longer leak.
· FIX 17256 Web: WebContainers now fire MouseUp events in IE7 and IE8.
· FIX 21487 Web: WebControl Destructors now fire properly.
· FIX 22273 Web: WebDialogs now show properly the second time on IE8.
· FIX 22719 Web: WebDialogs, Webpages and WebContainers no longer leak.
· FIX 18149 Web: WebPage Resize events are now sent to hidden WebPages.
· FIX 19418 Web: WebRadioGroup WebRadioButtons are now grouped separately when used in WebContainers.
· FIX 14425 Web: WebSegmentedControl now sends ListIndex changes to the browser.
· FIX 22609 Web: WebSession.Secure property now only autocompletes as a getter.
· FIX 20713 Web: WebSessions no longer leak memory.
· FIX 22848 Windows: Assigning an icon to a MenuItem no longer leaks memory (this could lead to an OutOfMemoryException at some point).
· FIX 8076 Windows: Date.ShortDate no longer returns a string without a known encoding.
· FIX 22435 Windows: DrawLine with the same coordinates, i.e. x1 = x2 = y1 = y2 now draws a pixel like it does on OS X and Linux.
· FIX 22106 Windows: HTMLViewer no longer crashes when calling IsAvailable.
· FIX 22822 Windows: HTMLViewer no longer crashes when calling LoadURL within the Constructor.
· FIX 22202 Windows: Listbox ThinDotted grid lines now draw correctly when App.UseGDIPlus is enabled.
· FIX 21769 Windows: No longer ignores the WCS/ICC color profile when loading images that have these profiles embedded in them.
· FIX 22126 Windows: Print method in Console apps no longer appends an extra carriage return on Windows.
FIX 22020 Windows: RegistryItem was not honoring some custom permission settings in the Registry and just assumed that if it couldn't do all of the things to that Registry item then all it could do is read/query it. This is the new logic:
· 1. Try to obtain all access rights 2. If denied then obtain read/write permission 3. If denied then just ask for read permission This is not a complete solution (since it doesn't completely cover all the variable/combination of permission settings) but for most purposes this will suffice.
· FIX 22696 Windows: Right mouse click now triggers MouseUp event when returning True in MouseDown.
· FIX 21720 Windows: Service apps no longer raises an assertion when calling DoEvents.
· FIX 21837 Windows: TextField/TextArea KeyDown event now reports the Key correctly for non-ASCII keys.
NEW 35 Database: PostgreSQL Plugin now supports SSL connections using the following properties:
· SSLMode As Integer -- can be one of the following constant values defined on the PostgreSQLDatabase class: SSLDisable (default) -- only try a non-SSL connection SSLAllow -- first try a non-SSL connection; if that fails, try an SSL connection SSLPrefer -- first try an SSL connection; if that fails, try a non-SSL connection SSLRequire -- only try an SSL connection. If a root CA file is present, verify the certificate in the same way as if verify-ca was specified SSLVerifyCA -- only try an SSL connection, and verify that the server certificate is issued by a trusted CA SSLVerifyFull -- only try an SSL connection, verify that the server certificate is issued by a trusted CA and that the server hostname matches that in the certificate
· SSLCertificate As FolderItem -- This property specifies the file name of the client SSL certificate, replacing the default ~/.postgresql/postgresql.crt. This parameter is ignored if an SSL connection is not made
· SSLKey As FolderItem -- This property specifies the location for the secret key used for the client certificate. It can specify a filename that will be used instead of the default ~/.postgresql/postgresql.key
· Connect also takes an optional additionalOptions As String parameter. Additional connection options can be found here: http://www.postgresql.org/docs/9.1/static/libpq-connect.html Note: the additional options are passed as is (i.e. not escaped in any way)
NEW 7269 Framework: Added Crypto module:
· Enumeration Crypto.Algorithm MD5 SHA1 SHA256 SHA512
· Crypto.Hash (Data As MemoryBlock, Algorithm As Cryto.Algorithm) As MemoryBlock Crypto.MD5 (Data As MemoryBlock) As MemoryBlock Crypto.SHA1 (Data As MemoryBlock) As MemoryBlock Crypto.SHA256 (Data As MemoryBlock) As MemoryBlock Crypto.SHA512 (Data As MemoryBlock) As MemoryBlock Crypto.HMAC (Salt As String, Data As MemoryBlock, Algorithm As Crypto.Algorithm) As MemoryBlock Crypto.PBKDF2 (Salt As String, Data As MemoryBlock, Iterations As Integer, desiredHashLength As Integer, Algorithm As Crypto.Algorithm) As MemoryBlock
· The MD5, SHA1, SHA256, and SHA512 functions are basically just convenience methods for Crypto.Hash.
· NEW 23093 Framework: Crypto.HMAC renamed salt parameter to key.
· NEW 21912 Framework: TextArea: Added LineHeight and LineSpacing properties.
· LineHeight As Double - Controls the height of each line in the TextArea control (it is global so the effect spans all paragraphs). A value of 0 maintains the default line height of the control, while any other value changes the height of each line. The value is tied to the TextUnit property, so if the TextUnit is in Inches then the LineHeight value specifies a height in Inches. LineSpacing As Double - This controls the spacing between lines. So if you wanted your lines to be double spaced, you would enter a value of 2. The default value is 1, or single spaced.
· NEW 22629 IDE Scripting: Added a ShowDialog method for showing a MessageDialog during execution of a script.
· NEW 16203 Linux: Speak method is now available (requires eSpeak which is installed by default on Ubuntu 10.04 or newer).
· NEW 19186 Web: Added a command-line argument to allow users to set the maximum number of simultaneous connections. The default is 200. Usage: --maxsockets=200
· NEW 14927 Web: Added WebCanvas control to manage graphics on web pages. WebCanvas works similarly to Canvas.
· NEW 13727 Web: Dynamic Constants now work in Web projects.
· NEW 23238 Web: Errors written to Errors.Log when App.UnhandledException does not return True now have a SQL Date/Time written with them.
· NEW 15251 Web: HTMLArea control included in the Web Custom Control SDK Examples.
· NEW 19123 Web: Implemented first version of the Web Control SDK.
· NEW 22344 Web: Right-left languages are now supported.
· CHANGE 21799 Compiler: Items that would be placed in the resource fork of a built application in a project are no longer supported.
· Projects that have these will no longer compile. A issue resolution dialog will be presented when such a project is opened. New resource fork items cannot be added to projects.
· CHANGE 22939 Compiler: The error message "method or property missing" has been changed to reflect the fact that its not always a method or property that's missing.
· CHANGE 21640 Database: DatabaseCursorField.MacPictValue and DatabaseRecord.MacPictColumn have been removed.
CHANGE 21906 Database: MySQLCommunityServer Plugin changes:
Deprecated ConnectSSL, use the following properties instead:
· SSLMode As Boolean (default False) -- Set to true to enable an SSL connection SSLKey As FolderItem -- the path to the key file SSLCertificate As FolderItem -- the path to the certificate file SSLAuthority As FolderItem -- the path to the certificate authority file SSLAuthorityDirectory As FolderItem -- the path to a directory that contains trusted SSL CA certificates in PEM format SSLCipher As String -- list of permissible ciphers to use for SSL encryption CHANGE 22107 Desktop: Removed RB3D class. CHANGE 22140 Desktop: Removed SpriteSurface and ToolbarItem classes. CHANGE 18256 Desktop: The Canvas.Paint event now has an additional parameter, areas() as REALbasic.Rect, that indicate what areas of the Canvas that need redrawing. If the array is empty, the entire control needs to be redrawn.
· CHANGE 22981 DocLangRef: Added Compiler category, and link in Theme section of LR.
· CHANGE 21842 DocLangRef: Added docs for Shell.Canonical.
· CHANGE 12885 DocLangRef: Added Signature for Reports.Run that takes a RecordSet.
· CHANGE 20828 DocLangRef: Clarified ContainerControl.EmbedWithin and added an example.
· CHANGE 21992 DocLangRef: Documented MSSQLServerPreparedStatement class.
· CHANGE 22543 DocLangRef: Removed duplicate LoadPage entry in Method list.
· CHANGE 14250 DocLangRef: Simplified example for Picture.Open.
· CHANGE 22973 DocLangRef: TextInputStream.PositionB is a read/write property.
· CHANGE 14413 DocLangRef: Updated deprecation messages for FolderItem.MacDirID and MacVRefNum.
· CHANGE 20611 DocLangRef: Updated docs to indicate that WebApplication.Icon is used as the FavIcon.
· CHANGE 23334 DocLR: Local Language Reference updated.
· CHANGE 7338 DocUserGuide: User Interface Guide has links to platform UI standards.
· CHANGE 20098 Framework: All exported functions now use RBInteger to prepare for 64-bit support.
· CHANGE 21636 Framework: MemoryBlock.MidB and MemoryBlock.LeftB now work with MemoryBlocks created from pointers.
· CHANGE 20369 IDE: Local Language Reference replacements should use more recent information.
· CHANGE 22404 IDE: Plugins can now be loaded from zip files, which should still have the RBX file extension. It also can now load plugins from ordinary directories. In both cases, the structure must match what has traditionally been inside of the VirtualVolume that the Plugin Converter created.
· Note that HTML help will only work with VirtualVolume-based plugins in this release.
· CHANGE 20698 Mac: the ResourceFork class has been removed.
· CHANGE 22764 MacCocoa: The Cocoa framework now builds against the 10.7 SDK.
· CHANGE 23033 Remote Debugger: Removed use of ResourceFork.
· CHANGE 2398 Remote Debugging: Starting with 2012r2 and Debugger Stub 1.9, debugged apps are now compressed with gzip to increase transfer speed.
· CHANGE 22080 Web: Internet Explorer 7 now requires the ChromeFrame plugin.
· CHANGE 22278 Web: Perl path for Windows builds is now c:\perl\bin\perl.exe
· CHANGE 19372 Web: Web Edition Standalone Apps are no longer required to have different Application Identifiers; running on different ports is sufficient.
· CHANGE 23356 WebSDK: Namespace declaration has been changed to a Constant from an event.
CHANGE 21298 Windows, Linux: TrayItem fixes:
· - Now throws a PlatformNotSupportedException when used on OS X - Assigning an empty help tag on Windows now works - App.AddTrayItem would return a false positive on Linux when it really did add the tray item so we'll now assume the tray was added successfully and let the user run their main event loop and use declares to determine the actual state of the tray (i.e. whether or not it was really added). See the TrayItem example which includes the declare to check this.
November 1st, 2012
· 22558: MacCocoa: No longer raises an ObjCException when viewing a ContainerControl in the debugger.
· 22658: Macintosh: Fixed an assertion that was triggered if FolderItem.Item was invoked with an index > 1 on a directory for which the process does not have read access.
· 21473: Web: Framework: Added a workaround for the iOS 6 Ajax bug.
November 1st, 2012
· 22397: Alpha check for r1.1 has been fixed
· 22326: Carbon: No longer crashes when calling GetData on a Picture loaded from a PICT
· 22536: Console: using OLEObject no longer fails with an assertion
· 22340: Console: Using the AppleEvent classes no longer causes a crash on startup.
· 22318: Debugger: Again works on Mac OS X 10.5.
· 22274: Framework: Fixed a bug in HTTPSocket and HTTPSecureSocket which caused the synchronous calls to GET, POST and SendRequest to include NULL characters.
· 22488: HTTPSocket, HTTPSecureSocket: Fixed a regression where synchronous requests could time out even if all of the data was received.
· 22246: HTTPSocket: Content-Length header is now being reset to zero before each request
· 22495: HTTPSocket: Headers are now written in the same order as they were in earlier versions
· 22363: IDE: Binary data written to an XML formatted project file is again properly encoded as hex bytes when needed
· 4476: IDE: FileAlias is no longer duplicated in saved projects
· 21876: MacCocoa: Custom tab orders are now respected.
· 22207: MacCocoa: No longer leaks memory after receiving a drop via DragItem.
· 18819: OS X: Application menus are now localized properly
· 22341: Web: Fixed a bug in our session cookie that caused Apache's Mod_Security module to complain.
· 16235: Web: WebPopupMenu: Fixed a bug where setting an illegal ListIndex did not get changed to -1
September 3rd, 2012Real Studio 2012 Release 1 includes over 350 improvements and 3 new features including:
· Support for OS X Mountain Lion
· Webkit Support for HTMLViewer on Windows
· Incremental Reading/Writing of BLOBs in SQLite/REALSQLDatabase
· Additionally, this release includes support for OS X Mountain Lion, numerous improvements to Cocoa support and 106 specific improvements to Real Studio Web Edition.
December 7th, 2011
· Greatly Improved Support for Cocoa: Significant improvements have been made in this release on Real Studio’s Cocoa-based Mac framework and many projects will now simply work when built with it. There are more than 60 Cocoa-specific bug fixes in this release.
· Alpha Channels: Graphics now have support for opacity allowing colors to be drawn that are anywhere from totally opaque to completely transparent.
· Improved Graphics on Linux: On Linux printing at a high resolution can now be done just as it would on Windows or Mac OS X.
· Improved Graphics on Linux: Graphics on Linux now supports smoother drawing, anti-aliasing, translucency, and hardware acceleration.
· Improved ODBC Support: Prepared Statements are now supported for ODBC which improves security.
· Portuguese Support: The Real Studio IDE has now been fully localized into Portuguese.
August 24th, 2011
· OS X 10.7 Lion Support: Several improvements have been made for Lion, Apple’s latest OS update, including support for high quality voices that are now used for text-to-speech capabilities.
· HTML5 GeoLocation Support: The WebDeviceLocation class now supports the following additional HTML5 GeoLocation features: Accuracy, Altitude, AltitudeAccuracy, Heading, Speed and TimeStamp. This significantly improves location-based capabilities within applications.
· Easier CGI Deployment: When building a web app, the CGI now has better file permissions to make it more likely they will be correct when the CGI is installed on the web server. This improves web app development efficiency and speeds the installation process.
June 21st, 2011
· WebSockets: WebSockets allow for a direct connection between the browser and the app in a way that is more efficient than HTTP/AJAX. Apps should scale better and be more responsive (especially on iOS and Android). Because WebSockets are only supported by Safari and Chrome, Real Studio created apps will still work with other browsers using HTTP/AJAX as they do today. Currently, WebSockets are only supported for stand-alone web apps, not CGI web apps.
· WebMapViewer control: The WebMapViewer control allows developers to create interactive mapping applications using Google Maps.
· GeoLocation: The WebDeviceLocation class accesses the HTML5 GeoLocation capabilities in compatible browsers. It allows a user to request a device's location and, if the user agrees, an event fires that returns the latitude and longitude of the device. The WebMapViewer control works great with the new GeoLocation feature.
· HTML5 Video: WebMoviePlayer is a control that will attempt to play a video file from a web server; the ability to do so is entirely up to the browser. Using the WebMoviePlayer, users can specify a H.264 video or a Mobile WIFI .M4V and the browser will choose which format is compatible and play it. If nothing is compatible, it will use Adobe® Flash® Player to play the video (version 9.0.32 or later).
· Cocoa Support: Though still a beta feature, support for Cocoa is nearly complete. Users can now choose to compile their applications with the Cocoa build option. Many users find their apps compile with few if any issues.
April 21st, 2011
· Fixed a bug in WebListBox where DeleteAllRows did not clear the selected rows
· Fixed a bug in the Web Framework which caused touch events to omit touch coordinates when converting to mouse events.
· Image Views now load & retain their size as set in the initial design when using VCP project types
· Linux: TextField.SelText now places the text cursor consistently with our other platforms (i.e. Mac/Windows)
· RbScript: no longer crashes on Core i7 MacBook Pros.
· KeyUp and KeyDown events now fire on WebPage for IE8
· Projects saved as VCP will properly reload & display web styles assigned to controls
· Compiler: the IDE no longer has a failed assertion if a project contains a database.
· Fixed a bug in WebDialog which caused the underlying WebPage to become unusable when a sheet was dismissed
· Linux: Picture.GetData now works in Desktop apps
March 8th, 2011
· Easier Deployment of Web Applications: This release removes the prior implementation for FastCGI deployment using REAL Studio Web Edition. The new CGI option outputs a Perl script that acts as a gateway between your web server and your application. The Perl script goes into the cgi-bin folder, allowing for easier hosting and supporting many more hosting services.
· Improved Web Application Exception Handling: The Session class now has an UnhandledException event to make it easier to trap exceptions that were not handled in code.
· Improved Web Application File Uploading: You can now limit the number of files the user can upload and new events have been added allowing you to determine when a file has been added or removed.
· Improved XML Support: XML Classes now use LibXML2, which is actively updated.
· Improved HTMLViewer: The HTMLViewer now supports getting and setting custom user agent strings and increasing/decreasing the font size.
· Multiuser Support for RealSQLDatabase: RealSQLDatabase now has a new MultiUser property. This allows web applications to permit multiple users access to a RealSQLDatabase file at the same time. This may eliminate the need, for some web applications, to require a database server.
· Improved WebListBox: This WebListBox now has a CellClick event, just like the desktop Listbox has. It also now has Cell and Column style properties allowing far greater control over the look and behavior of cells.
· Improved Drag and Drop: The new DragPicture property lets you use an image for dragging.
· Improved Mac OS X Clipboard Support: UTIs (Universal Type Identifiers) are now supported by the Clipboard class on Mac OS X.
· New Microsoft SQL Server Support: A new, native Microsoft SQL Server plugin has been added. This plugin supports Windows only.
· Improved Cocoa support: This release includes a huge number of improvements to our Cocoa framework. See the release notes for more details.
December 14th, 2010
· Includes 14 new features and 79 improvements. This release also introduces a new platform, REAL Studio Web Edition!
October 19th, 2010
· FIX12 FolderItem.Child now raises an exception on Mac OS if the path contains invalid characters.
· FIX80 Internal only
· FIX2241 Windows: HTMLViewer no longer disappears when HTMLViewer.Refresh is called (2010r4b1)
· FIX3526 The Cocoa MessageDialog now has proper keyboard shortcuts when used as a save dialog (matching other Cocoa applications).
· FIX8830 Checkboxes in Cocoa now support the indeterminate state. They also respect their initial values.
· FIX9639 MySQL Community Plugin: no longer depend on Intel libraries on Linux (i.e. fixes the undefined symbol _intel_fast_memcpy error)
· FIX10498 Linux: Multiline StaticTexts now centers and right justifies properly
· FIX10551 Checkboxes in Cocoa now respect their initial state. (2010r4a1)
· FIX10643 Cocoa: PagePanels no longer have a significant delay when switching items. (2010r4a1)
· FIX11431 StdIn.ReadLine/Read no longer block threads (2010r4b1).
· FIX11464 The debugger now stops more reliably under Cocoa. (2010r4a1)
· FIX11483 Controls in other controls no longer jump around wildly when parented in other controls.
· FIX11677 Cocoa: When a window with a PagePanel first opens, it no longer briefly displays the contents of every pane. (2010r4a1)
· FIX11733 Focus rings now appear in Canvases if the AcceptFocus and UseFocusRing properties are true in Cocoa (matches the Carbon behavior).
· FIX11771 MouseDrag event no longer fires continuously if the mouse is not moved.
· FIX11914 Simply switching tabs in a project does not mark it dirty
· FIX12044 Application Icon editor calculates correct data channel when accepting an image with translucency.
· FIX12060 Controls in the report editor now create properly when selecting them in the control list and dragging the bounds out on the report layout.
· FIX12156 The MessageDialog in Cocoa no longer has accessibility issues when presented as a sheet. Note: This was originally entered as a
· NEWfeature but was changed to a bug so this release note may appear twice.
· FIX12157 Under Cocoa, the Window.Activate event now fires after the Window.Open event.
· FIX12269 Listbox: setting Listbox.CellCheck in code now fires the CellAction event.
· FIX12360 The Cocoa framework now strips Windows/Linux keyboard accelerators from StaticTextControls.
· FIX12634 Fixed a bug in SMTPSecureSocket which would not reset the state after finishing sending mail. An SMTP server will usually forcefully disconnect the socket, causing the state to be reset on the next connection. Some servers will sometimes not forcefully disconnect the client. SMTPSecureSocket will now disconnect when asked by the server, allowing future calls to SendMail to function properly.
· FIX12640 Setting a TabPanel's Value property now works in Cocoa.
· FIX12672 IDE: hidden items are no longer revealed in Autocomplete list
· FIX12690 (2010r4b1)
· FIX12721 N/A
· FIX12758 Commands being dispatched with the build window as front most were not being handled properly which explains why this bug only manifested itself in builds and not runs. It has been fixed
· FIX12764 The "special/any" filetype works in Cocoa open dialogs.
· FIX12765 Bevel button subclasses can be added to window layouts again. This broke in a prior release (2010r4b2)
· FIX12803 The Cocoa framework now strips Windows/Linux keyboard accelerators from GroupBox, TabPanel, CheckBox, PushButton, and PopupMenu controls (2010r4b1).
· FIX12805 Local help db is versioned so each release, including separate beta releases, will check and update the db if necessary (2010r4b1).
· FIX12876 The table presented in Chapter 7 is no longer incorrectly formed. This was a general bug in the rendering code that mishandled the closing wiki table tag (2010r4b1).
· FIX12890 Default PushButtons that are placed on Canvases or ContainerControls no longer cause the application to deadlock under Cocoa (2010r4b1).
· FIX12969 The compiler no longer crashes if you specify that your class implements another class (instead of an interface) Instead, it gracefully errors (2010r4b1).
· FIX12980 Cocoa open and save dialogs now use extensions instead of HFS type codes.
· FIX12992 OpenGLSurface: the Render event is now called when the OpenGLSurface needs repainting on Windows (this change in behavior makes it consistent now with how it currently works on Mac/Linux)
· FIX12996 The Action event for DisclosureTriangles now fires in the Cocoa framework.
· FIX13021 A class that is defined outside a module and used as a moudle property properly autocompletes again (2010r4b1)
· FIX13038 You can once again get the Text property of a TextField in Cocoa.
· FIX13049 In the IDE when you uncheck the submenu item in the menu editor the sub menu items are actually removed. This did no happen previously. When you would run the sub menu would appear resulting in a surprising behavior.
· FIX13058 Lines now draw at the correct width in the Cocoa framework.
· FIX13059 Cocoa applications no longer crash if you add have a RectControl on the window.
· FIX13063 Masking now behaves the same in Cocoa as it did in Carbon.
· FIX13066 The Up and Down events of UpDownArrows now fire on the Cocoa framework. (2010r4a1)
· FIX13082 QuickTime MoviePlayer: no longer consumes more CPU usage than needed on Windows (probably cuts CPU usage by half)
· FIX13090 Windows: KeyDown event is now fired for read-only TextFields/TextAreas
· FIX13102 Sheets now get keyboard focus in the Cocoa framework, even if the maximize button is disabled.
· FIX13110 Windows: MouseWheel events no longer to to the wrong control (on Windows the MouseWheel events always go to the control that has the focus)
· FIX13114 Changing the size of a Window in the Cocoa framework no longer causes it to animate. (2010r4a1)
· FIX13127 RGBSurface: no longer has a public constructor since you cannot create a valid one anyway, and doing so leads to crashes
· FIX13136 Picture.Save now works with FolderItems with names longer than 28 characters. Note that this does not apply to PICTs, which still use FSSpecs.
· FIX13149 User MouseMove events now fire for plugin controls placed on windows, even if the plugin doesn't implement the MouseMove event internally.
· FIX13161 Console: creating an invalid sized picture no longer throws an assertion but an exception instead like we do in GUI apps
· FIX13163 A bug in the method editor that would occur if you used autocomplete to impelement an inherited method has been fixed.
· The inherited method would, if it had parameters, leave the parameters inthe method name position which resulted in a compilation error.
· FIX13202 Picture.Open on a Nil FolderItem no longer crashes but throws a NilObjectException instead
· FIX13206 Properties once again show up in the expected order
· FIX13322 Mac Mach-O is now clearly labelled as Mac Carbon Mach-O in the constant editors
· FIX13323 The SpotlightQuery class now works under Cocoa, instead of throwing a SpotlightException.
· FIX13324 The AddressBook classes now work under Cocoa.
· FIX13328 CocoaListboxes now support indeterminate checkboxes.
· FIX13329 PopupMenu.RowTag no longer leaks on the Mac (2010r4b1)
· FIX13352 Properties list should no longer sometimes be hidden when opening projects. This was particularly prevalent in the project list view
· FIX13409 Cocoa: GetOpenFolderItem no longer returns an invalid FolderItem.
· FIX13419 Layout of events, methods, properties are in alphabetical order in columns instead of across rows
· FIX13460 Windows: Timer no longer leaks memory
· FIX13474 Local reference update on major and minor releases as it should
· FIX13480 Fixed an assertion at runctl.cpp:2343.
· FIX13523 Several RBScript memory leaks have been fixed.
· FIX13557 Saving works as expected - web apps are still subject to demo mode restrictions for some editions
· FIX13560 RbScripts no longer crash the second time they are run if they contain classes (2010r4b3)
· FIX13593 REALSQLDatabase: SQLSelect with no results now returns a Nil RecordSet
· FIX13621 ContainerControls no longer crash under Cocoa (2010r4b3)
· FIX13717 Documentation for record set record count has been updated (2010r4b1)
· FIX13763 Windows: StaticText no longer leaks (2010r4b1)
· FIX13767 Cocoa: ListBoxes no longer crash trying to draw checkbox cells
· FIX13782 REALSQLDatabase: no longer raises an UnsupportedFormatException when retrieving dates/times that are NULL
· FIX13806 Segmented controls now show the mac style and selection type properties as expect and honor the settings at run time
· FIX13810 Console Graphics: Picture.GetData can now export JPEG data (2010r4b2)
· FIX13847 Cocoa: the framework no longer crashes if you attempt to draw a string with an invalid font (2010r4b2)
· FIX13854 UPdating data in the database editor no longer generates "Not an Error" messages when used with the REAL SQL database (2010r4b2)
· FIX13884 Hard crash on Mac OS X by dragging a few controls and set the build target to Cocoa fixed (2010r4b2)
· FIX13885 Cocoa: controls get MouseUp events again, which was broken in a previous beta.
· FIX13913 Resize handles for the segmented control are placed properly around the border of the control in the form editor not inset as they had been.
· FIX13961 Searches in the online documentation now include the user guide and real sql documentation namespaces by default
· FIX14058 Toolbar: removing an item from the Toolbar no longer crashes on Windows
· NEW2672 OpenDialog class now allows for multiple file selections.
· Added a MultiSelect As Boolean property on the OpenDialog class which is OFF (False) by default.
· ShowModal still returns a FolderItem, but in the case of a MultiSelect OpenDialog the FolderItem returned will be the first selection. To obtain a list of all the FolderItems selected we've added an Item(zeroBasedIndex As Integer) As FolderItem property along with a Count As Integer property.
NEW9765 A segmented control class has been added to the desktop framework. It is supported for all targets, but not all features are supported on other platforms:
· on Carbon, only an icon or text can be specified, not both
· MacControlStyle is only supported on Cocoa
· Class SegmentedControl
· dim selectionType as integer
· dim macControlStyle as integer
· dim items() as SegmentedControlSegment
· Event Sub Action(itemIndex as integer)
· Sub SizeToFit()
· End Class
· Class SegmentedControlSegment
· dim selected as boolean
· dim enabled as boolean
· dim title as string
· dim helpTag as string
· dim icon as picture
· dim width as integer
· End Class
· NEW11388 Listbox: added ColumnTag( column As Integer) As Variant property
· NEW12211 The search field on the language reference will search the online wiki
· NEW12731 RBScript optimization is now done on a background thread, so that REALbasic threads will continue to be responsive.
· NEW12760 Dialogs have been updated to indicate that the minimum versions is now Windows XP and higher
· NEW12877 Make External has an ellipsis as it should
· NEW12961 Console apps on the Mac no longer require QuickTime (i.e. we no longer link against the QuickTime framework)
· NEW13069 ObjCExceptions now populate the message property based off of the NSException's reason (if it's an NSException).
· NEW13148 Listbox: Addrow now takes additional parameters, these are used to populate the cells for that row
· NEW13169 Added WebImageView.ProtectImage property. When true, the user will be unable to drag the image. This is a design-time only property.
· NEW13193 Graphics: Added an AntiAlias As Boolean property used to draw smooth lines and shapes, including text where applicable. This property is true by default and works for Mac (Carbon and Cocoa), Windows (GDI+ must be enabled) and Console graphics. It has no effect on Linux currently (2010r4b2)
· NEW13201 The segmented control has been implemented and can be used in Carbon, Cocoa, Windows and Linux.
· NEW13232 Console apps: now supports loading/saving JPEGs
· NEW13269 "Build for current platform" builds for Mac OS Intel since the IDE is no longer available as UB or PPC
· NEW13296 A
· NEWfunction (REALCopyPictureCGImage) has been added to the plugins SDK to get the CGImageRef of a picture. Note that this function only works under the Cocoa target.
· NEW13300 Web projects obey intended restrictions based on edition of REAL Studio in use
· NEW13309 - this not should NOT be part of the release notes as its intended for internal use only -
· NEW13311 Database items now show the external badge
· NEW13339 A
· NEWtemplate has been created for the wiki called "Ctor" ( or constructor in many OO abbreviations)
· The template had to be called something not already in use.
· It may require additional tweaking as Dave works with it.
· NEW13372 The subscript operator can now be overloaded by classes. To use it, implement Operator_Subscript in your class.
· The ReDim statement can now be overloaded by a class. To use it, implement Operator_Redim in your class.
· NEW13402 The AddHandler and RemoveHandler statements have been added to the language. These allow you to add event handlers to objects at runtime.
· Note that you can only have one handler attached to an event at one time. Attempting to add more than one handler will result in a RuntimeException.
· NEW13434 Added Label class to replace StaticText class (which is now deprecated)
· NEW13740 The
· NEWproject dialog now has open recent and open existing buttons along with a revamped look (2010r4b2)
· NEW13776 The project list now has "show on disk" in the contextual menu when a REAL SQL database is selected (2010r4b2)
· NEW13785 Added Close method to WebControl to allow disposal of dynamically created controls.
· NEW13827 The
· NEWProject dialog responds to cmd-O (2010r4b2)
· Has updated buttons as well
· NEW13934 Added WebObject.Page property. Controls can use this to determine which page a control is on.
· NEW13958 The "Loading" progress dialog no longer tries to show the full path to the project being loaded as this path could easily exceed the dialogs width and not show anything useful. It now shows just the name of the project being loaded
· CHANGE 12715 Internal refactoring.
· CHANGE 12751 Internal refactoring.
· CHANGE 13048 Internal refactoring.
· CHANGE 14071 Issues with pre-rendered database pages have been corrected in this release of the database
September 28th, 2010
· Fixed various controls that were leaking memory, also affected how much memory the IDE would eat up causing crashes in out of memory situations
September 8th, 2010
· The Separator control now uses the size specified in the IDE, instead of only the default size in the Cocoa framework.
· The BevelButton control in the Cocoa framework now supports all button types that were supported in the Carbon framework. (2010r3.1fc1)
· REALSQLDatabase: DatabaseField.Value no longer returns a string for numeric types
· REALSQLDatabase: Queries with empty strings no longer comes back as NULL
· The Graphics objects passed into Window.Paint and Canvas.Paint now have valid CGContextRefs. Note that contexts obtained through RectControl.Graphics or Window.Graphics still will not. (2010r3.1fc2)
· MouseDown events are now sent to Cocoa plugins. (2010r3.1fc2)
· Users Guide is accessible on Windows as it should be (back and forward also mentioned in this case are in report 12609) (2010r3.1fc2)
· Switching between local and online references appropriately updates the toolbar (2010r3.1fc2)
· Pictures loaded from the project in Cocoa now have their mask set correctly. (2010r3.1fc2)
· Fixed a case where RBScripts that raise exceptions could get into a state where they would either crash or loop forever. (2010r3.1fc2)
· Linux console apps no longer depend on libfontconfig or libfreetype to be present on user's machine (2010r3.1fc1)
· Navigating from one chapter section to another works as expected again (2010r3.1fc2)
· ServerSocket.Listen now resumes listening again after StopListening is called (2010r3.1fc2)
· Demo features no longer disappear after initial launch of IDE (2010r3.1fc2)
· Graphics.Handle returns zero on images (2010r3.1fc2)
· The RBScript plugin now loads on 10.4 instead of causing a crash due to missing symbols.
· GoTos work in RBScript again. This was broken in fc2.
· The search field on the language reference will search the online wiki
· Searches are now saved as part of history and the results are much better presented for simple searches
· Online wiki has a search field on the top tool bar like the local wiki does (2010r3.1fc2)
· with tags preserves those tags
July 27th, 2010
· LLVM for RBScript: RBScripts now run up to 17 times faster than in previous releases. Using LLVM for RBScript is the first step towards the adoption of LLVM for building applications in REAL Studio.
· Cocoa (Beta): The option to build for Cocoa is now available, but is at the beta stage. There are some new features for Cocoa builds, such as Pushbutton now has a ButtonStyle property that gives access to nine new styles of pushbuttons.
· Documentation: The REAL Studio documentation is now locally stored and the user can choose between viewing the local version or the online documentation, http://docs.realsoftware.com.
· Reporting Improvements: To make reporting easier, reports can now take a RecordSet directly to report upon.
· Database Improvements: ODBC and REALSQLDatabase queries and updates no longer block the other threads while they are executing. This allows users to make their user interface more responsive.
· Graphics Improvements: All of the graphics classes are now supported in Console applications. Also, pictures can now be copied to and from MemoryBlocks using a variety of picture file formats. Since memoryblocks can be transformed into strings, this allows the user to store pictures without having to write them to the disk first.
· XML Classes: The XML classes have been updated to use libxml2, a modern, well-maintained XML library.
May 4th, 2010FIX 3531 Applications no longer crashes when catching an exception without declaring a variable, for example this would often lead to a crash:
· FIX 5809 [Mac] StyledTextPrinter now respects text alignment.
· FIX 6205 [Mac] App.ExecutableFile now reports correctly for console apps that have not yet been saved.
· FIX 6737 Controls on ContainerControls no longer bleed through Page/TabPanels.
· FIX 9035 Autocomplete causes window change in XP. Minor changes to the code editor _should_ correct this problem from appearing.
· (It's a hard bug to reproduce reliably so the fix may not prevent all occurrences)
· (Ranked #9 in Feedback at the time of fix).
· FIX 9163 XML Plugin: An invalid XPath syntax in XQL can now be caught by exception handler.
· FIX 9324 A bug in drawing the list of object 2d's to the printers graphics on windows has been fixed.
· FIX 9605 [Windows] Exceptions thrown in Console apps can now be caught properly.
· FIX 9608 [Windows] MoviePlayer now fires Play/Stop event.
· FIX 10184 [Mac] Movies created on the Mac (using FolderItem.CreateMovie) no longer contain a resource fork (this prevented the file from being opened on a PC).
· FIX 10399 [Windows] Graphics are no longer enlarged when printing with App.UseGDIPlus enabled.
· FIX 10542 [IDE] Debugger no longer crashes when inspecting property accessors that return strings (the crash usually occurred after Resuming and Breaking again).
· FIX 10623 App Icon editor behaves better. Right clicking on items now works regardless of whether you have clicked on other items or not. Add will add an image or mask depending on which item you right click on. Drag and drop support for ICNS files should be improved. Cut and paste also works better from one size to another.
· FIX 10664 Subclasses of report controls now image themselves in the report designer properly.
· FIX 10690 Build sheet no longer displays outdated information.
· FIX 10797 [Windows] Listbox headers now flicker less when columns are resized.
· FIX 10806 The Compiler no longer asserts when comparing non-objects with Is operator. It now reports an error.
· FIX 10807 [IDE] A potential unhandled KeyNotFoundException when dragging controls in the Window Editor has been fixed.
· FIX 10822 CFBundleVersion should NOT include letters and should just be a period separated list of integers.
· This fixes the issue and always writes CFBundleVersion as major . minor . bug . stage code . nonrelease
· Stage codes are 0 = development, 1 = alpha, 2 = beta, 3 = final
· FIX 10863 Updated the Compiler to find databases related to the Data Control.
· FIX 10878 Tabbing into a boolean property in a property list you can use F, 0 or False to set the boolean to false. Anything else will be considered true.
· FIX 10901 Fie type lists will properly concatenate with ; separators when using addition operators.
· FIX 10907 Most control properties can be set using constants again. This bug was introdued in a prior release.
· Some, like TabIndex, that are interdependent on other control tabindexes acannot be set using constants.
· FIX 10947 A crashing bug in REALSQLDatabase triggered by a MoveFirst method on an empty RecordSet is fixed.
· FIX 11071 [Language Reference] CurrentExecutingMethodName Referenced in Sub and Function. Should be CurrentMethodName. Fixed on the Wiki.
· FIX 11204 Bolding of notes now works properly even if you have only 1 line with no end of line.
· FIX 11239 [Windows] TextField.CharPosAtXY now works properly instead of always returning 0.
· FIX 11289 [Windows] FolderItem constructor no longer fails when the path provided is in UTF-16.
· FIX 11326 [Mac] Text files dropped into a project can now be accessed in Console apps.
· FIX 11331 [Mac] Calling ContainerControl.Close from an Event within the ContainerControl that is being closed no longer crashes.
· FIX 11363 [Windows] Listbox.CellTextChange event now fires properly.
· FIX 11374 The PostgreSQL Plugin now quotes the host string if needed (mainly to support domain sockets which are paths).
· FIX 11419 Added support for importing ActiveX controls that do not expose a dual interface (i.e. ones that only support the IDispatch interface like Modbus and Adobe Photoshop CS4).
· FIX 11429 TextInputStream.ReadLine now reads UTF16BE encoded text properly.
· FIX 11430 [Windows] Toolbar no longer overlaps client area when toolbar buttons (other than the first one) have icons assigned.
· FIX 11440 Windows: the TaskBar now reappears when running a project through the debugger and stopping it with MenuBarVisible disabled
· FIX 11458 [Windows] LineControl is now properly offset when a Toolbar is present.
· FIX 11477 Switching from the Window Editor to the Code Editor while changing a property will properly commit the edit.
· FIX 11493 PagePanel: Removing the current page now triggers the Change event.
· FIX 11506 [Linux IDE] Typing Shift+W in the code editor no longer triggers the Close Window menu item.
· FIX 11512 [Linux] FolderItem.Length now correctly reports the file length when the file is an alias file, instead of incorrectly reporting the length of the file it's aliased to.
· FIX 11520 Typo in reporting example that set one reoslution to -300 when it should have been 300 has been corrected.
· FIX 11532 Breakpoints set in report control events now clear properly when you choose Clear All Breakpoints.
· FIX 11538 The IDE will now disallow an empty type field for a property.
· FIX 11548 Compiler no longer throws a failed assertion and crashes when declaring invalid syntax like Window.EndOfLine (an error is thrown instead now).
· FIX 11588 [Linux] Toolbar captions are now visible.
· FIX 11610 Val now returns the correct value for large hexadecimal numbers (like &hADDD3000).
· FIX 11618 [Compiler] #pragma Unused no longer crashes the compiler if no variable name is specified.
· FIX 11625 [Date] Date constructor no longer fails with ambiguous compile error when Int64s are used as parameters.
· FIX 11667 [StaticText] Added Transparent As Boolean property. Use this property to set the transparency of this control. For example if you overlay a StaticText on top of a Canvas/Image then if Transparent is true, the text will overlay transparently (i.e. the background shows through). This property only applies to Windows (a non-Transparent StaticText control will not cause any flicker), on Mac OS X and Linux, the StaticText will always render transparently regardless of this property value.
· FIX 11675 [Canvas] Backdrop now draws properly when DoubleBuffer is enabled (and the user doesn't have any code in their Paint event).
· FIX 11700 [Windows] Closing a ContainerControl that has a Default PushButton no longer crashes when you press Enter/Return afterwards.
· FIX 11709 Showing the method editor fields no longer automatically selects a new name.
· FIX 11723 [Windows] GroupBox contents no longer flickers when GroupBox is resized.
· FIX 11727 [Windows] The flicker for Oval and RoundRectangle controls when resized/moved hasbeen reduced.
· FIX 11737 [Windows] Reduced flicker of Tabpanel contents when Tabpanel is resized.
· FIX 11772 Notes can no longer be entered without a name.
· Reading in a project that has a note like this will no longer cause an exception.
· FIX 11808 Reports will, when saved by the new IDE, reload as created from VCP projects.
· FIX 11840 New Window once again opens a new window on a project. This was broken in a previous release.
· FIX 11842 [Linux] System.SerialPort and SerialPortCount now include USB-to-Serial adapters.
· FIX 11848 Reports and all their contained items can now be searched.
· FIX 11854 [Linux] The drag rectangle displayed while dragging now properly updates when dragging over plug-in controls.
· FIX 11874 A bug in saving recent menu items that could result in an out of bounds exception has been fixed.
· FIX 11911 [Mac] PopupMenu no longer leaks RowTags when Closed or DeleteAllRows is called.
· FIX 11920 UI elements that do not function with the wiki have been removed.
· This includes the larger / smaller controls and the location item which is redundant with the Wiki
· FIX 12000 [Windows] Graphics.DrawPicture now scales the picture properly when UseGDIPlus is enabled.
· FIX 12006 The build progress window shows the actual application icon if there is one, or it shows a generic application icon if one is not there.
· FIX 12057 Redundant page removed
· NEW 3 Added StaticText.Selectable As Boolean.
· Use this property to allow the StaticText caption to be selectable. You can use the default menu shortcuts to copy the selected text. At this time only Cocoa and Linux is supported.
· NEW 1396 The entire REAL Studio documentation set is now available on the Wiki (http://docs.realsoftware.com/)!
· NEW 4994 A new preference for printing allows you to select whether an image of the the layout of a window is included as part of the printing.
· NEW 9713 The splash screen and about box will say the specific development, alpha or beta version once bug 11533 is fixed.
· NEW 10674 The IDE now goes to the specific items on the Wiki if it can. If not it will try and show the PDF.
NEW 10697 [Windows] Built apps that use plugins (compiled out as DLLs to your "My Application Libs" folder) can now find the DLLs in one of 3 locations:
· 1. By default we build a "My Application Libs" folder and the built app can find the DLLs in there
· 2. You can also move the DLLs into a "Libs" folder
· 3. Or you can move the DLLs next to the built app
· NEW 10699 Small icon sizes should appear better (Fixed as part of report #10623)
· NEW 10932 Report groups have a new property, StartNewPageAtEndOfGroup that will, if set, start a new page after the group footer has been rendered (Ranked #13 in Feedback at the time of fix).
· NEW 11253 The IDE now saves the setting of the use 2006r3 encryption from use to use and run to run.
· NEW 11414 [Linux] System.Network.IsConnected now works.
· NEW 11428 Canvas.DoubleClick event now fires even if you return true from the MouseDown event.
· NEW 11472 REAL Studio has a new preference for how many recent items to track and show. If you set this value to 0 no recent items will be shown.
· NEW 11620 New Function IsValidData (s As String) As Boolean has been implemented.
NEW 11620 Added IsValidData function to TextEncoding class to check if a string is valid for that encoding:
· NEW 11707 [PostgreSQL Plug-in] SQLSelect and SQLExecute no longer block REALbasic threads.
· NEW 11931 SSLSockets and the subclasses of it default to SSLv3.
· NEW 11971 MySQL Community Plugin no longer blocks REALbasic threads when calling SQLSelect or SQLExecute.
· NOTE 9174 Report fields and labels that have their Italic and / or property set no longer clip when aligned left.
· NOTE 11073 The IDE will attempt to access the Wiki if you are connected to the internet.
· If you are not it will attempt to show the PDF version of the Language Refererence.
· If it cannot do either a message saying it cannot connect and cannot find the PDF will be shown.
· CHANGE 11681 The IDE now uses the corect URL's for all of the Wiki items.
· They go to a redirect page on the site that can direct them to the correct final location.
February 10th, 2010
· FIX 1444 Listbox: UTF-16 strings now display properly.
· FIX 6184 Fixed an endian issue with QTTrack.MediaType on OS X (Intel) and Windows
· FIX 6681 Fixed a weird bug where after opening a VCP project the first time you changed the text in a menu item it would also rename the item. It would not do that after you had changed it once.
· FIX 7062 Fixed a bug that occurs when the path of the attached database contains an apostrophe character.
· FIX 8950 Report variables show in the debugger
· FIX 9068 A bug in autocomplete where it would not present the named items of an enumeration in a framework class / module has been fixed
· FIX 9074 Lines can be added to reports as expected and they no longer disappear from view
· FIX 9605 Windows: exceptions thrown in Console apps can now be caught properly
· FIX 9689 Reports.Document.Save now takes an optional "base page name" parameter. It defaults to "Page"
· Pages saved will be named using the base name + page number.
· The SaveFile parameter must be a directory.
· If you pass NIL you get a nil object exception (error 1)
· If you pass a file instead of a directory you will get an unsupported format exception (error 2)
· Both will have suitable error messages
· FIX 9729 Installing Feedback from Linux IDE now works properly
· FIX 9823 Copy file steps save and restore paths relative to the project file instead of absolute paths.
· FIX 9954 A Nil Object Exception in pre build Build Automation steps has been fixed.
· FIX 10125 Windows: Terminal Services ActiveX control now receives events.
· FIX 10152 IDE: Line control's X1, X2, Y1 and Y2 properties can now be edited.
· FIX 10221 Windows: the QuickTime MoviePlayer controller no longer takes up movie space (this made the movie resize and so it would look blurry).
· FIX 10258 Shell: the data/result returned back from the Shell now has an encoding set (it is UTF8 on Linux and OS X, and DOSLatinUS on Windows)
· FIX 10276 An issue in the compile process where console applications would not have their post build steps run has been fixed.
· FIX 10334 The Find dialog and Find All dialog will retain the value was last entered IF no text is selected in a code editor.
· A prior release broke this behavior.
· FIX 10358 Console apps: using IPCSocket no longer triggers a Failed Assertion.
· FIX 10389 Listbox.TypeEditableTextArea now works on Windows and Linux.
· FIX 10421 Fixed the case where if you slected the Build item in a target then added a new build automation step the new step would be added to the end of the project's list of items instead of to the end of the enclosing targets list of steps.
· FIX 10529 A bug where reading some preferences would convert values from integers to doubles has been fixed.
· FIX 10596 Compiler no longer throws a failed assertion when building Windows/Linux apps when a file of the same name already exists and a directory of the same name is required to be created.
· FIX 10677 Linux: TextField text no longer turns grey when moving/resizing the window.
· FIX 10696 A bug where items that should not be visible in the contextual menu of the form editor has been corrected
· FIX 10713 Closing a ContainerControl from a control that lives on the ContainerControl no longer causes random crashes (usually seen when resizing).
· FIX 10715 A memory leak in the Report class has been fixed. Reports had a circular reference which caused the leak.
· IMPORTANT - Reports now have a CLOSE method that should be called. Failing to call this when you are done with a report can result in leaking memory.
· FIX 10716 The documentation for the menubar property of the window class has been updated.
· FIX 10728 External items in the project editor list always had the Property List Behaviour item disabled. This is now enabled based on the type of the item and not just disabled becuase the item is external.
· FIX 10804 If a class has a deprecated attribute it will be displayed in the Code Editor with a red D indicator instead of the more generic red A which indicates the item has attributes.
· FIX 10810 Windows: setting TextArea.StyledText.RTFData no longer causes multiple SelChange events to fire
· FIX 10919 Shell.Execute with parameters now works again on Mac OS X.
· FIX 10948 Fixed a memory leak in the SQLSelect method.
· FIX 10981 This fix reverts the patching of the lock left lock top properties when a project is loaded.
· Controls will have lock left & lock top set by default but if the user turns that off they will remain that way when the project is reopened
· FIX 11006 If you have to relocate external items in a VCP project when it's loaded the project will be marked dirty
· FIX 11014 A nil object exception when building console apps has been fixed
· FIX 11035 Reports do not need to be specifically closed any more
· FIX 11045 When you cancel compiling the plugins for a project the compile will be cancelled
· FIX 11072 The contextual menu in the code editor has had one item's text corrected so it provides moree information (it used to say turn off / turn on) but now says Turn Breakpoint On (or Off appropriately)
· The Help item has been moved to the end of the contextual menu to match the form and report editors
· FIX 11087 Fixed an encoding bug that occurs when a numeric type is appended to a text type in a new string.
· FIX 11105 Mac: Console Apps no longer raises assertion failure, on case sensitive HFS+ filesystems, when plug-ins are used
· FIX 11108 Copy files steps use a relative path to files that is svn and cross platform
· FIX 11113 An issue where simply openeing an existing project that had tabs open could mark the project dirty has been fixed
· FIX 11164 Locking settings on the IDE Script Step editor have been adjusted so the editor behaves better.
· FIX 11205 Builds steps from projects created prior to 2010 r1 b2 will no longer cause nil object exceptions.
· There is the possibility that any files that cannot be located may be dropped from the build step.
· You are encouraged to check your steps or recreate them with this beta.
· NEW 29 The Filetypes Editor now has a new column for the entry of the filetype UTI.
· This information will be added to the the Mac OS X plist if present.
· NEW 46 Canvas: Added DoubleClick(X As Integer, Y As Integer) event.
NEW 53 Listbox.ActiveCell now returns a TextEdit base class which can either be a TextField or TextArea control. To specify which one the Listbox uses you can use the new TypeEditableTextArea constant. For example:
· Listbox1.CellType(0,0) = Listbox.TypeEditableTextArea
· Listbox1.CellType(1,0) = Listbox.TypeEditableTextField
· NEW 9806 Search results can now be printed.
NEW 10085 Added DragItem constructor:
· DragItem( w As Window, x As Integer, y As Integer, width As Integer, height As Integer )
· Where w = the window that the drag originates from, the x, and y coordinates are also relative to this window. It can also be a ContainerControl.
· x, y, width, and height are the size/bounds of the drag rectangle
· Also Deprecated RectControl.NewDragItem, and Window.NewDragItem
· NEW 10099 Canvas: added Activate and Deactivate events.
· NEW 10128 Two new controls have been added to the Report Editor. They are the Date control which allows you to drag a control onto a report that will show the current date the report is run and the page number control which will display the current page number.
· NEW 10147 All project types will present a dialog when they open projects that are saved in newer versions.
· VCP projects did not do this previously.
· NEW 10183 Windows: improved our ActiveX support, now generates support classes instead of just the main automation class and now imports additional type libraries that are referenced within another.
· NEW 10263 OLEObject: Added a Handle As Ptr property that returns a pointer to the IDispatch interface that is being used.
· NEW 10457 Compiler no longer adds an .exe extension to Windows builds if .scr (screen saver extension), or .com (command file extension) is present in the file name.
· NEW 10480 Shell Completed event and Close method are now better documented.
· NEW 10552 All changes required to update the name of the product to REAL Studio have been implemented.
· NEW 10631 Menu item arrays are now documented.
· NEW 10633 Syntax help that appears in the status bar no longer disappears while typing parameter names.
· NEW 10719 REALSQLServerDatabase is now documented in both the User's Guide and the Language Reference.
December 1st, 2009
· Windows IDE: having a lot of controls on the window no longer prevents the contextual menu from firing.
· The icon editor has been redesigned so that the icon , mask and preview panes resize proportionaly.
· Copying a script build step no longer causes an exception.
· Listbox: you can now properly set the DragItem object's drop position/size in the DragRow event (this was a fix for Mac OS X - Carbon).
· Report Editor: improved alignment guides especially when trying to align a control's left/top to another control.
· Performance when converting RTF to Styled Text has been improved and conversion from Styled Text to RTF should be much faster (as much as twice as fast on large blocks of text in our tests).
· Speed and correctness of RTF conversion has been improved
· Event pages in the Language Reference now have the class as a clickable link.
· Nulls are no longer inserted in the name of the font in RTF data on Mac OS X.
· Saving this data to a file and opening in Word will show the proper fonts for the various style runs.
· The conversion to RTF no longer inserts nulls in the font names
· Windows: Menu icons with masks now draw properly on Windows Vista and Windows 7.
· When viewing dictionaries you no longer have to click on them to view the contents. Refreshing should occur as you move your mouse. This is to keep overall processing requirements down and keep responsiveness up.
· Report objects can now be seen in the debugger.
· Escape and Enter keys now behave as expected to cancel / accept the IDE Script Step editor dialog box.
· Windows: MenuItem icons with white transparent pictures now draw transparently on Windows Vista and Windows 7.
· The Build Progess dialog box now refreshes better.
· Upgraded REALSQLDatabase to use sqlite version 3.6.17.
· The Select All menu item now works in the IDE Script Step editor.
· Windows: BevelButton's caption background now draws through transparently when placed on a GroupBox.
· Autocomplete now shows parameters on Windows and Linux.
· Windows: disabled BevelButtons now draw their border.
· Attributes now save and reload properly on all platforms.
· An issue with build automation where steps did not respect the Applies To setting has been resolved.
· An issue while loading projects on Windows that could result in an "Unknown project type" message has been fixed.
· The Wordwrap and Multiline propetrites of report fields and labels now work properly.
· An issue where an error loading a project could result in a build target outside of the Build Automation list has been fixed.
· File references in Build Automation have been revised to use SaveInfo that is NOT relative to the project file as this could cause exceptions in unsvaed projects. Any previously saved steps may need to be revised.
· You can no longer attempt to make external, export or encrypt build automation, build targets and the various steps.
· You cannot export, encrypt or make build automation items external at this time. Menus properly disable so you are not mislead to thinking you can.
· Windows IDE correctly detects that Feedback is installed on the first try, rather than only on subsequent tries.
· Windows: right clicking on a PushButton, Slider, RadioButton (and possibly others) that are embedded inside a GroupBox no longer crashes.
· Listbox.CompareRows no longer fires when no column is selected.
· An extraneous prebuild debug log message as been removed.
· Some items in the online Language Reference that were in the wrong category have been fixed.
· Compiling for PPC machines no longer generates a stack size error for the vast majority of projects. There may still be extreme cases where they will still occur.
· same notes as before
· Listbox: LastIndex is now updated properly when DeleteAllRows or RemoveRow is called.
· Windows: "Application" TextFont now maps to "Microsoft Sans Serif" when GDI+ is enabled.
· Linux IDE: methods parameter field no longer "turns black" when editing.
· Windows: BevelButtons now draw their border again when an icon assigned is larger than the button.
· StringShape's default text is now an empty string "" instead of "-".
· Windows now correctly detects the Feedback app is installed on the first try.
· Connecting COM events no longer crashes the application.
· Adding an old REALDatabase to a project and trying to edit it will not cause a failed assertion in the IDE.
· Buttons on the Database Query Dialog resize appropriately for longer captions in localized versions.
· Report Editor: control selection highlight now fits the control bounds instead of drawing a few pixels too big.
· Windows: Graphics.DrawPicture no longer draws Transparent-White as Black.
· Issues where clicking the the Find All button in the Find dialog would not search the last line of a method/event have been corrected.
· IDE: Edit Code contextual menu item is now displayed properly on non-English systems when clicking on a plug-in based control.
· The Build Automation string in the IDE should NOT have been set to be localizable. It is no longer.
· This _may_ cause a new build automation file to be written the next time a VCP file is saved in a non-English locale.
· The IDE Build Automation Script editor responds to Command-Return like it would for the Enter key. This causes the default buttons action to occur.
· Removing a tab from a TabPanel (with the removal being done by a control on that panel) no longer crashes.
· StyledText and StyleRun now support floating point font sizes.
· MySQLCommunityServer: GetInsertID and GetAffectedRows now return a UInt64.
· The bug that allowed the nil object exception to happen in the Calendar.rbp example has been fixed.
· Command-W and Command-Shift-W behave the same with only one tab open and will close the window.
· They still behave as "Close Window" and "Close Tab" when there is more than one tab open.
· An issue with autocomplete where it would not properly autocomplete a variable inside a constructor has been fixed.
· If a project somehow has no build automation list a nil object exception would be thrown. This has been fixed.
· An issue where certain types of new projects could end up with no build steps has been fixed.
· This fixes an eventual nil object exception when trying to build these projects.
· The LockCheck example has been updated.
· The Custom Drag example has been updated.
· Linux and Mac OS X: Shell class now returns the correct exit code when process is killed by signal.
· The Destination Property example has been updated.
· Shell: Mac OS X Shell now uses Linux implementation, which fixes a bug with Async shells not firing the DataAvailable event when child process doesn't yield sufficient time, and also calling Close now fires the Complete event.
· Copy steps in the prebuild path cannot operate correctly when copying to any meta location as they dont exist yet. The exception that was raised by doing this has been fixed.
· An issue where printing with very small point sizes could result in the text overlapping has been fixed.
· File > Exit properly quits the IDE even when you have the "Quit when last window closed" option unchecked.
· Linux: HTMLViewer no longer causes application to abort on Ubuntu 9.10
· Shell: no longer hangs when calling Close on an interactive shell on OS X 10.6.2.
· TextField and TextArea now have a common super class called TextEdit.
· IDE now has a feature to show all existing break points as search results.
· REALbasic is now code signed on Mac OS X.
· HTMLViewer: Added Print method to print the entire web page.
· TextOutputStream.Append( file As FolderItem) As TextOutputStream has been added replacing FolderItem.AppendToTextFile which is now deprecated.
· Added SelText property to TextEdit class.
· The IDE Script Step editor sheet is resizable on Mac OS X.
· Pressing Command-Delete in the Code Editor on Mac OS X behaves like a forward delete.
· Windows: Graphics.DrawPicture now uses GDI+ to draw the image (if App.UseGDIPlus is enabled).
· By default new controls will have lock left and top set.
· Existing controls will be altered ONLY if right and / or bottom are not set.
· Existing behaviour with no locks set is as though lock left and top are set so this makes that behavior explicit and obvious.
· The "dirty flag" and event have been implemented. Their name is ContentsChanged and the event and property have the same name. Setting the ContentsChanged property will set the property and raise the event. The event is raised whenever there is an assignment to the property.
· The "Modified" property has been renamed "Dirty" as it is more indicative of the purpose.
· A new event, DirtyStateChanged, has been added.
· The "dirty flag" and event have been implemented. Their name is ContentsChanged and the event and property have the same name.
· Setting the ContentsChanged property will set the property and raise the event. The event is raised whenever there is an assignment to the property,
· You can now construct a MouseCursor from a Picture.
Added a new constructor to MouseCursor class that takes an image and an x,y hotspot:
· MouseCursor( image As Picture, xHotSpot As Integer, yHotSpot As Integer )
September 29th, 200997 Bug Fixes:
· Method names/view properties are now saved in VCP projects in sorted order.
· Pasting text into the Code Editor strips low ascii characters that can cause issues.
· Some issues with the create missing method assistant should be resolved.
· Changing time zones no longer causes the IDE to need to be re-authenticated.
· Projects with attributes are now loaded properly instead of being deleted.
· An issue where the constant editor would not retain changes has been fixed.
· The REALbasic About box now closes when pressing CMD-W or ESC on Mac OS X and when using CTRL-W on Windows / Linux.
· A NilObjectException in Menus.AddToContainedMenu when the menu has no items in it has been fixed.
· Windows: A TextField on a ContainerControl now honors its textcolor and backcolor properties.
· Mac OS X: A disabled TextArea or TextField now hides its selection.
· An issue in the SMTPSocket and SMTPSecureSocket that could result in authentications being mishandled has been fixed.
· Windows: Setting the TextField.Password at runtime now updates the TextField properly instead of requiring a refresh before the change takes affect.
· Cloning controls in nested ContainerControls now works properly.
· A bug that occurred where copying and pasting a computed property would mistakenly add a default value which is syntactically invalid, has been fixed.
· BevelButtons with the No Bevel type no longer over draws on Vista.
· Windows: TextField Alignment property now works properly.
· Windows: The backspace/delete keys now function again in Method Name Combobox in the IDE.
· Compiler no longer throws an assertion when a name of a control is invalid, it now reports it as a compile error.
· Mac OS X: Debugger now shows listbox RowTag values in the IDE.
· Search Results editor now shows the name of the window for results involving icons and images that were searched for by name.
· Localization files (i.e. the .mo files in the Resources folder) are now recreated when building for Windows or Linux.
· An issue with the project item contextual menu not showing all possible sub menus has been resolved.
· An exception in the Search Results Editor when searching classes that had their super class adjusted via the Issue Resolution dialog has been fixed.
· Listbox.ActiveCell now returns TextField instead of an Editfield.
· Toolbars and toolitems are now part of search results.
· Mac OS X: ComboBox now auto scrolls to the left when it loses focus.
· Object2D.RoundRectShape now draws its border properly when the graphics context is clipped.
· Linux: ComboBox control autocomplete now works.
· SSLSocket no longer scrambles data or crashes randomly when reading data. This also affected HTTPSecureSocket which is based off of SSLSocket.
· A recoverable assertion has been disabled as the issue is being recovered from without user intervention.
· Windows: BevelButtons now draws using the Visual Theme, this makes the BevelType obsolete except for "No Bevel" which still draws like before.
· ActiveX controls now load properly for RBP/XML project formats, and is now supported properly in RBVCP project formats.
· Activation dialog buttons are now sized properly for localization.
· Linux: SelectColor now uses the color supplied as the default color instead of pure white.
· Windows: Calling MsgBox with Retry, Abort, or Ignore buttons and clicking on one of them no longer causes a failed assertion.
· Subclass constructors no longer add a call to Super.Constructor when duplicating the constructor.
· Print menu item now has the full name of the item being printed in the menu. It used to only have a partial path. Also the printed output now displays the full path to the item.
· Removed CancelClose event from ContainerControl since it's never triggered and was never supposed to be exposed.
· Linux: Listbox.CellHelpTag now works.
· Windows: Setting a progressbar to be indeterminant (i.e. setting the Maximum value to 0) now works even when the progressbar is not visible.
· Mac OS X: SpecialFolder.Cookies now maps to User:Library:Cookies.
· Object2Ds now draw properly in a clipped graphics context.
· VCP projects that have properties with attributes no longer lose their scope information.
· An occasional NilObjectException while cleaning up temporary files has been fixed.
· The REALbasic IDE no longer throws an OutofBoundsException when loading projects with corrupt Listbox properties.
· Plugin SDK: REALGetRBVersion now reports the correct version of REALbasic instead of always 2008.05.
· The Code Editor no longer thinks that any comment with a colon in it is a URI. The only valid URIs are: ftp(s)://, http(s)://, rb-feedback://, feedback://, mailto:emailaddress.
· When saving a project, an issue where the file extension and the value in the file type popup in the Save As dialog box could be different has been resolved. This corrects a problem where a project could be inadvertently overwritten with one of a different type.
· Windows: Object2D objects with a fill opacity less than 100 now render with translucency. This requires GDI+ be enabled, see the App.UseGDIPlus property.
· Windows: setting the TextField font and font size programmatically now works.
· White space at the end of a method name is stripped as it could cause a hard to find bug.
· Editing a destructor no longer shows parameters or return types as they would not compile anyway.
· IDE no longer crashes if you happen to drop a framework into the Project Editor.
· Removing a tab/page (from a TabPanel/PagePanel) in an event of a control that lives on that tab no longer crashes.
· An issue that was causing the REALbasic EULA to be presented too often upon launch has been fixed.
· Windows: Listbox.CellHelpTag no longer steals mouse clicks (i.e. clicks on a cell's HelpTag now fall through to the listbox instead of being handled by the HelpTag).
· Windows: setting the TextColor or BackColor of a TextField control now updates correctly instead of needing to trigger a Refresh.
· IDE scripts that build several projects and switch between them should no longer result in a hung IDE.
· VCP projects that have missing files will present a list of the missing files when the IDE finishes trying to load the project.
· The return value field is removed for when creating a method as a constructor.
· Windows: closing a ContainerControl in PushButton Action event no longer crashes.
· Fixing an editfield control array will correct the supers by considering all items in the control array. If one item is multiline then all items would need to be text areas to avoid casting errors at run time.
· Fixed a parsing bug that would trigger an unhandled exception when generating COM classes.
· Linux IDE: increased the height of the close button in the dialog that appears after the check for updates is finished.
· An issue that was causing ActiveX controls to crash on close has been fixed.
· Duplicating properties that have no default value will no longer set the default value of the new copy to 0.
· Running a project that is dirty no longer marks it as clean (not dirty).
· URI's that use schemes like mailto which do not require the :// work correctly now.
· Parenthesis matching in the Code Editor should be accurate now with a line of code like theResult = NthField(theResult, ")", 1)
· Linux: TextField.CueText now works.
· An issue with undoing changes while actively editing a textual property has been resolved.
· Windows: TextField now triggers MouseDown when clicking on non-client areas.
· An issue in the Build Settings dialog box that caused the default platform to be built when building a console application, has been fixed.
· Linux IDE: multiple copies of the IDE can now be run simultaneously.
· A nil object exception in the Window Editor has been fixed.
· IDE no longer gives a failed assertion when selecting "Define missing method" in the code editor's contextual menu.
· Fixed memory leaks related to object/string arrays in methods.
· Loading attributes for Window properties has been fixed.
· Properties that were supposed to be hidden that were being shown are now hidden again.
· Window width and height no longer show in scientific notation.
· Attributes are now copied when you duplicate a property.
· A cause of an out of bounds exception in the IDE tabs has been fixed.
· A cause of an OutOfMemoryException has been corrected in the Window Editor.
· Projects that contain localizable values are properly recognized when loading and the Export Localizable values menu item properly enables.
· Language reference now jumps to various block level statements correctly (For/ Next, Do/Loop etc).
· A nil object exception that could occur when checking for updates has been fixed.
· The missing file count reported when loading a VCP format file that has missing files is correct - it had been off by one previously.
· The Open Recent menu updates properly again.
· The IDE will no longer allow properties and controls to have the same name as this is an error.
· Linux: The Options (Preferences) dialog shows the proper title on each panel again.
· Backcolor property now works for TextField and TextArea controls.
· An issue with loading VCP projects that contained properties with attributes has been fixed.
· Renaming modules no longer leaves contained items in the wrong directory. Detection of out of date files should be better as well.
· Canceling the selection of a default build folder will now cancel the build.
· Default pushbuttons no longer flash in the Window editor when resizing the window.
· An exception when using the contextual menu while the mouse is over the close icon has been fixed.
· An issue where an untyped constant in the Constants Editor could cause a project item to be marked dirty when it wasn’t has been fixed.
39 New Features:
· The HTMLViewer on Linux now uses WebKit (if it’s installed) to provide superior HTML rendering.
· BinaryStream now has Open and Create methods, both of which take a folderitem as a parameter. This provides a better design than opening or creating a stream via the FolderItem class.
· TextInputStream now has an Open method, which takes a folderitem as a parameter. This provides a better design than opening a stream via the FolderItem class.
· TextOutputStream now has a Create method, which takes a folderitem as a parameter. This provides a better design than opening a stream via the FolderItem class.
· New IOException class that allows you to catch exceptions (errors) when using the new BinaryStream.Open, BinaryStream.Create, TextOutputStream.Create and TextInputStream.Open methods.
· New TrayItem.Handle As Ptr property that returns the window handle that the tray item belongs to on Windows, and the GtkStatusIcon widget on Linux.
· The Icon Editor now separates the image and mask when you drop an image that has both on either the image or mask portion of the icon editor.
· New Tooltip class that allows you to show tooltips in any location you wish.
· New Report Editor allows you to create layouts visually for the purpose of printing. These layouts can be used to print data from any source.
· On Windows, Object2D can now draw edges more smoothly and supports translucency via support for GDI+. To use it, set App.GDIPlus to true.
· The Declare method can now be used in conjunction with a new graphics class handle type (HandleTypeGDIPlusGraphics) allowing you use features of GDI+ on Windows that REALbasic does not yet support (such as anti-aliasing).
· Text size for controls can now be set in pixels, points, inches or millimeters via the new TextUnit property.
· You can now change the text color of the caption of a BevelButton on Windows and Linux via the TextColor property.
· When you do a contextual click on a control in the Window Editor that you have subclassed, there is now an “Edit Superclass” menu item that will take you right to the code for the parent class.
· Duplicate is an available option in the project item editor contextual menu.
· The Shell class nows allows you to indicate which language interpreter you wish to use.
· The BevelButton now has a BackColor property that allows you to set the background color and HasBackColor property for determining if a custom background color has been set. These properties are only support for Windows and Linux.
· HTTPSocket & HTTPSecureSocket now support proxy server authentication via the ProxyAuthenticationRequired event.
· HTTPSocket & HTTPSecureSocket now support Digest authentication for both proxy and www authentication.
· When a control on a window needs to have its super class updated the name of the containing window, not it's title, is shown in the Issue Resolution Window.
· Build progress now shows an additional message, Linking, when it has reached that point in the build process.
· The phase where the compiler strips out unused REALbasic code has been optimized so that it should run up to 300% faster. This is especially noticeable for projects with plugins with many functions where most are unused.
· The compiler now generates Objective-C exception handlers around Objective-C declares. If an Objective-C exception is raised due to the declare, it will be converted into a REALbasic ObjCException object and raised through the normal REALbasic exception system. ObjCException has a handle property, which allows you to get the underlying exception object (typically an instance of NSException).
· The Find Window now supports finding in a selection and find and replace all in a selection.
· A contextual click on the Stack popup menu in the Debugger now provides the option to copy the current position (the method name) in the stack or copy the entire stack (all method names) to the clipboard.
· The combobox in the method editor now shows the method name + parameters to make it more obvious you are selecting a full prototype and not just a name.
· Mac OS X: There is a new preference for how the Home and End keys should behave in the Code Editor.
· There is a new preference that allows you to choose which comment style the Comment button in the Code Editor should use.
· IDE search column widths are saved and restored. If you adjust the widths they will be preserved instead of being reset constantly.
· You can now automate the most common functions of building of your applications without having to write IDE scripts using the new Build Automation feature of the Project Editor. This feature is for the REAL Studio edition only.
· Find and Find All search value fields will be automatically be populated with the selected text from the front most Code Editor.
· It’s now optional on Windows whether the IDE quits when the last window is closed. If you set it to NOT quit when the last window closes a tray item will be present and you can start a new project from it.
· Subclasses of container controls now draw the controls on them instead of just an outline.
· The Remote Debugger stub allows you to toggle whether it should / should not immediately launch a program upon unpacking the files it receives.
· The Convert to Constant contextual menu item in the Code Editor now will select the entire string even if the cursor is only within the string with no part of the string selected.
· Mac OS X: You can now specify the role your application fulfills for an accepted file type. Possible roles are Editor, Viewer, Shell and None. None is the default.
· List of missing files is reported in the console using system.debuglog as they are encountered while loading a VCP project.
· A new Feedback application has been created for providing us with bug reports and feature requests. It is available via the Help menu.
· The following plug-in API calls are no longer deprecated: REALGetControlBounds, REALGetControlPosition, REALSetControlPosition, REALGetControlVisible, REALSetControlVisible, REALGetControlEnabled, REALSetControlEnabled, REALGetControlHandle, REALGetControlWindow.
· Windows/Linux: now looks in "MyApplication Resources" for language files (where "MyApplication" is the name of the executable) and falls back on "Resources" if that folder is not available. This allows users to share a common folder with multiple RB executables that require resources.
· The TextSize property of the Graphics class and various RectControls have been updated to take a Single instead of an Integer. See also the TextUnit property to take advantage of this change.
· App.AddTrayItem now returns a boolean value that lets you know whether or not the tray item was added successfully.
· The Language Reference window in the IDE now uses WebKit on Linux if WebKit is installed. If not, the PDF version of the Language Reference will be opened instead.
· Folderitem.OpenAsTextFile, Folderitem.CreateTextFile, Folderitem.OpenBinaryStream, and Folderitem.CreateBinaryStream are deprecated. Use the new methods (described in the New section) above instead.
· Projects are added to the File -> Recent menu as they are closed not as they are opened. The last closed project/IDE script will be at the top of the list.
· The “Extract Method” contextual menu has been renamed “Convert to Method”.
· The “Extract Constant” contextual menu has been renamed “Convert to Constant”.
July 7th, 2009Bug Fixes:
· The Bevelbutton.Icon property in the Properties pane now shows the currently selected image in its popupmenu.
· Listbox.Rowtag can now be viewed in the debugger.
· Many documentation bugs have been ﬁxed.
· The main toolbar Save button now disables/enables in sync with the File -> Save menu item.
· Projects that are restored after a crash now restore their project name rather than being untitled.
· The Warnings dialog box has been resized so that all items show by default.
· When printing a class, shared properties and methods are now printed separately from unshared properties and methods.
· VCP projects retain properties, methods, events and such in sorted order. Note that XML projects and project items are not affected by this.
· A bug in the loading of VCP projects that resulted in external XML items not being marked correctly has been ﬁxed. Editor tabs now are correctly badged for these items and Show On Disk will be available as an option in the contextual menu presented when right-clicking the tab.
· Opening a VCP project that has items missing no longer corrupts the project.
· Instead, REALbasic attempts to load as much of the project as possible and will warn you if it is unable to load the entire project.
· A bug that caused the compiler to report incorrectly when attempting to compile code in an event handler whose super class does not exist has been ﬁxed.
· CurrentMethodName now works in computed property event handlers.
· A bug when loading a RBBF project caused the IDE to display a message indicating that ﬁles had been changed externally has been ﬁxed.
· A bug that caused the IDE to erroneously warn that a ﬁle had been changed and needs to be reloaded when in fact it had not, has been ﬁxed.
· The Msgbox method on Windows displays icons again.
· The MySQL Community Edition plug-in no longer crashes REALbasic on Mac OS X 10.4.
· Copying/pasting pictures on Windows now supports masks.
· A sporadic nil object exception when loading the Recent menu items has been ﬁxed.
· Attributes are now saved and restored equally well in VCP, XML and RBP ﬁles.
· The Windows class now receives keydown events when using ShowModal to display a window whose Visible property was set to false at design time.
· A bug that caused the vertical scrollbar to lock in the Code Editor has been ﬁxed.
· The Edit menu in the Italian localization of REALbasic works again.
· Relaunching REALbasic after a hard crash no longer throws nil object exception.
· RBScript no longer leaks large chunks of memory.
· Loading pictures with alpha channels on the Mac no longer causes a crash.
· A bug that triggered some unhandled exceptions when parsing COM dispatch interfaces (such as when adding the Microsoft Outlook COM reference) has been ﬁxed.
· The IPCSocket class has been added to the Window Editorʼs controls list.
· The ODBC plug-in now requires glibc 2.3 on Linux (rather than 2.4) to be compatible with more Linux distributions.
· A bug that could cause an out of bounds exception in the Search Results editor has been ﬁxed.
· The Listbox cellʼs HelpTag is now correctly positioned on Windows.
· Assigning the menubar to the window after the toolbar is assigned no longer causes the toolbar to appear above the menubar on Linux.
· Changing a caption on a TabPanel that is on a PagePanel no longer makes the TabPanel disappear in the Window Editor.
· A bug that causes VCP projects to fail after being saved to XML format has been ﬁxed.
· Windows ActiveX controls wrapped in another ActiveX control no longer cause a crash on quit.
· An unhandled exception when canceling a build has been ﬁxed.
· Listbox header separators now better align with the vertical grid lines on Windows.
· Default values are no longer dropped when copying and pasting properties in the Code Editor.
· Keyboard shortcuts for adding constants, properties and methods function again.
· The Hide Empty Events item on the View menu is working again.
· 32 bit pictures that have no mask honor their Transparent property again on Linux.
· Invisible controls (such as the Timer) no longer show their Left and Top properties in scientiﬁc notation.
· Dragging a header row in the Property Behavior dialog box no longer causes a nil object exception.
· Windows ActiveX controls are now saved properly in XML projects.
· A bug that caused an out of bounds exception when enabling menu items in the IDE has been ﬁxed.
· A bug that caused the SMTPSocket to fail when sending mail has been ﬁxed.
· Closing the parent window of a Pushbutton in the Pushbuttonʼs Action event no longer causes the application to crash.
· Compiling code where the name of an Attribute contains spaces no longer causes a crash.
· Saving a project in VCP format to a read only volume no longer throws an exception.
· Now the user gets a friendly dialog informing them that they canʼt save to a read only volume.
· Setting the Progressbar.Maximum property no longer causes a bad refresh on Windows.
· Saving PNG ﬁles with Folderitem.SaveAsPNG and TIFF (using Folderitem.SaveAsTIFF) that have no mask now works.
· Using autocomplete in the Script Editor no longer causes a crash.
· The Keyboard class now correctly reports the state of modiﬁer keys (especially when simulating key presses using another application) on Linux.
· Project templates once again appear when using REALbasic with a language other than English.
· Classes can once again be exported using the version control format on Windows.
· Changing the contents of a Listbox (for example by adding rows) while there is a cell active for editing no longer causes a crash.
· Copying and pasting an array property no longer creates a new property with an invalid name.
· A bug that caused control array events to lose their index as integer parameter in text-based projects has been ﬁxed.
· Changing a color constant via the Color Picker now marks the project as changed.
· Creating a BinaryStream with a MemoryBlock that is nil no longer crashes but instead throws a nil object exception.
· Mutex locks are no longer lost after a Mutex with the same ID is created on Linux.
· Relocating missing ﬁles marks the project as changed.
· The Deﬁning Missing Method code assistant is working again.
· Saving images no longer leaks memory on Windows XP Professional Edition.
· Attribute information is no longer lost when loading a VCP project.
· The compiler no longer strips the executable bit off ﬁles copied into the built application.
· Dropping ICNS ﬁles on the project list no longer causes a nil object exception.
· Clicking the Reload button in the dialog that informs you that ﬁles on disk have been externally changed no longer crashes.
· Viewing the contents of a RecordSet in the Debugger no longer throws an out of bounds exception.
· A bug that made it appear you could add attributes to controls in the Code Editor has been ﬁxed.
· Warnings in the warnings list now include the message text as well as the location.
· REALbasic no longer crashes when viewing a window with many embedded controls.
· Saving an Excel spreadsheet using REALbasicʼs Excel automation classes no longer throws a type mismatch exception.
· Close Other Tabs an Close All Tabs no longer close the Debugger tab if itʼs open.
· The Clear Recent menu item now works on Windows.
· Duplicate callback methods are no longer generated for COM objects.
· REALbasic no longer fails to open if it is set to open the last used project and the path to that project is no longer valid.
· When REALbasic is already running , it can now open projects with non-ASCII characters in the project path.
· REALbasic now handles closing tabs properly in a window that was opened by choosing Open in New Window when right-clicking on a tab.
· REALbasic will now quit on Windows and Linux if you close the last project window even if the Language Reference window is still open.
· The Feedback window is now localized.
· Folderitem.LastErrorCode is now property set when trying to open a bundle/directory with OpenAsBinaryStream. This is also true for BinaryStream.Open as well.
· An unnecessary menu separator at the bottom of the Help menu on Windows and Linux has been removed.
· CStr now honors the system deﬁned decimal separator when converting currency type.
· #pragma warning now accepts the format described in the documentation (parentheses are no longer required).
· REALbasic now times out if there is no internet connection available during registration.
· A bug that caused the Code Editor to throw an exception when dragging a control in the left hand browser pane has been ﬁxed.
· A type mismatch error caused by making a string constant dynamic and then changing itʼs type to something else has been ﬁxed.
· The Language Reference once again shows read-only properties by displaying a lock icon.
· A bug that caused URLs in the Code Editor to stop responding to clicks after the editor was scrolled has been ﬁxed.
· When printing, events are now printed in alphabetical order.
· PixmapShape masking now works properly when the shape is rotated.
· Deleting a collapsed code block now deletes the entire code block and not just the ﬁrst line.
· An issue where a button in the Warnings was too short for German localization, has been ﬁxed.
· An issue where a statictext control was too short for French localization has been ﬁxed.
· The StringShape class now has HorizontalAlignment and VerticalAlignment properties that deﬁne how the string is aligned when drawn and affect the center of rotation. An Alignment enum has also been added to help make your code more readable. The values are Left=0, Top=1, Center=2, Baseline=3, Right=4 and Bottom=5. The default for HorizontalAlignment is Centered. The default for VerticalAlignment is Baseline.
· The VirtualVolume class now has a Flush method that forces data to be written rather than requiring you to close the ﬁle.
· BinaryStream now has Create and Open methods that can be used instead of the Folderitem class OpenAsBinaryFile and CreateBinaryFile methods. The new Create method allows you to determine if an existing ﬁle should be overwritten or not.
· An OpenGLSurface control has been added that lets you use OpenGL to create 3D images and animation in REALbasic. This requires a knowledge of the OpenGL language. However, there are some open source projects that are implementing an RB3D-compatible API on top of OpenGL for those of you that use RB3D.
· The new TextField control is essentially a single-styled, single line Editﬁeld. As a result, it also has a somewhat simpler set of methods and properties. See the notes about the TextField in the Changes section below for details on why we added this new control.
· The new TextArea control is essentially a multi-styled, multi-line Editﬁeld. See the notes about the TextArea in the Changes section below for details on why we added this new control.
· You now have the option to show tick marks on the Slider control. Using the new TickStyle property. Thereʼs a new TickStyles (plural) enum you can use to make your code more readable. Itʼs values are None=0, TopLeft=1 and BottomRight=2. Note that while this new feature is available for Windows and Linux, due to Carbon limitations it is not yet available for Mac OS X. It will be available for Mac OS X when we ship our Cocoa-based Mac OS X platform layer.
· You can now programmatically change the UI focus using two new methods: FocusNext and FocusPrevious.
· A call to a method that does not yet exist can easily be turned into a method by selecting the non-existing method in the Code Editor and choosing Deﬁne New Method from the contextual menu.
· Sublocations in IDE Scripts now include notes.
· When viewing arrays of classes in the Debugger, the Properties popup is now in sorted order.
· You can now use quoted strings as search phrases to search the Language Reference.
· The Icon Editor now supports dragging and dropping of image ﬁles (including icns ﬁles on Mac OS X).
· The Icon Editor now better supports copy and paste from programs like Preview on Mac OS X.
· The Code Editorʼs contextual menu now has an item that makes it easy to replace non-printing characters in the Code Editor (tabs for example) that might have been accidentally pasted from an outside source.
· You can now copy and paste groups of constants, properties, methods, etc., by selecting the group header before selecting File -> Copy.
· IDE Script editor windows now include “IDE Script” in their title to make them easier to identify in the Window menu.
· Feedback windows now appear in the Window menu. They also can now be minimized and maximized.
· Analyze Item now displays a dialog that informs you when it ﬁnds no errors rather than expecting you to notice this message in the status bar at the bottom of the main window.
· The Standardize Format item on the Code Editorʼs contextual menu now applies not just to keywords but also to REALbasic classes as well.
· IDE Scripts can now be executed via the Command-R keyboard shortcut.
· Command-Up and Command-Down arrow are now supported in the IDE Script Editor.
· You can now set the color that should be used for the insertion point in the Code Editor.
· If you start to edit a block of code that is folded, it will unfold automatically to allow editing.
· A progress bar has been added to the splash screen.
· REALSQLDatabase queries no longer return incorrect results when using an attached database on Linux.
· Transparent GIFs are now masked properly on Windows.
· Button heights in the Resolve Project Issues window have been adjusted to be appropriate for Linux.
· A bug that crashed REALbasic when attempting to open the Project tab in a new window has been ﬁxed.
· And illegal cast exception that sometimes occurred at app startup has been ﬁxed.
· A nil object exception that sometimes occurred while closing a project has been ﬁxed.
· The Editﬁeld control has been deprecated. It has been replaced by the new controls, TextField and TextArea. We did this because on all three platforms, two controls are provided for text editing and we can provide you with better controls if we have two that map to the two native controls on each platform. When you open your project in R3, REALbasic will ask you if you would like it to change your Editﬁeld controls into
· TextField or TextArea controls if the Multiline property is true. If you are setting the Multiline property to true or false at runtime, you will need to make some changes to your code to use TextField and TextArea.
· The Folderitem class OpenAsBinaryFile and CreateBinaryFile methods have been deprecated. Please begin replacing calls to these with the new Open and Create methods that have been added to the BinaryStream class.
· The Feedback window now sends us which REALbasic Edition (Studio, Professional or Personal) you are using and which type of license you have (commercial or academic) to help us resolve issues more quickly.
· If REALbasic encounters a compilation error while building, it now stops the build rather than continuing on to attempt to build for other platforms (if you are doing that) which would fail anyway.
· The MySQLCommunity plugin has been renamed. Itʼs now called MySQLCommunityServer.
· REALbasic now displays the Language Reference using the PDF ﬁle rather than HTMLViewer to provide a better user experience until we have better HTMLViewer support on Linux.
· The Build Settings dialog box has been simpliﬁed a bit. This was also done in preparation for adding the ability to choose Carbon or Cocoa for Mac OS X builds.
· REALbasicʼs main window is now centered on the main screen by default.
· The title of the Feedback window is now “Feedback” instead of “Bug Report”.
· Window.MacWindowPtr and Window.WinHWND have been deprecated. They are no longer supported in autocomplete and you will receive a warning if you use them.
· Use Window.Handle instead. These two deprecated properties will be removed in a future release.
April 14th, 2009New Features:
· You can now control whether or not the end user can sort columns in a listbox by clicking on the column header. See the Listbox.HeaderType property for details.
· Break points can now be toggled using the contextual menu. This was done to make it easier for users with non-US keyboards.
· Events can now be copied and pasted between classes provided that the target class can implement the event.
· The Listbox class now has RowTags which are like column tags but on rows.
· 256 x 256, 32-bit application icons are now supported for Windows Vista.
· You can now ask REALbasic to check for updates immediately using the shiny, new Check Now button in the Preference dialog box.
· The NotePlayer control is once again in the list of supported controls.
· Editing a new class now auto-expands the event handlers so they are visible.
· There is a new BreakOnExceptions pragma which can be used to override the Break On Exceptions menu item.
· Listbox cells can now have individual help tags. See the Listbox.CellHelpTag property for details.
· MySQL Enterprise Server is now ofﬁcially supported.
· You can now quit the REALbasic IDE from an IDE script via the QuitIDE command.
· You can now encrypt and decrypt project items from an IDE script via the EncryptItem and DecryptItem commands. Use the new SelectItem command to select an item to encrypt or decrypt. This is a security measure to defeat brute force attacks created using IDE scripting.
· Via the Preferences dialog box, you can now indicate what type of project ﬁle format you want your project to save in by default.
· Applications can now be localized into Scottish Gaelic. Enya will be so happy.
· The MsgBox command now uses the native OS message box on Windows which means that the native buttons will automatically be localized by the OS.
· The Date class now has a constructor so you can create an object with a speciﬁc date with a single line of code.
· COM is now much better supported for controlling applications and system libraries that support COM.
· A new search now immediately clears old results from the search results list.
· Properties in the Property Behaviors dialog box are now sorted in the same order as they appear in the Properties pane. The Feedback window is no longer modal.
· Command (Control on Windows and linux) - W now closes the frontmost tab instead of the window if more than one tab is open. It also now works with the Language Reference, About Box, etc.
· The toolbars for the IDE and Language Reference can now have different toolbar styles.
· An encrypted project item will now refuse to decrypt after 3 failed attempts and will respond more and more slowly until the project is closed and reopened.
· Oracle Server is once again supported for Mac OS X and has been updated to support the most recent release of Oracle.
· The ComboBox control on Windows no longer deletes user-entered text when showing/hiding choices without selecting one.
· MySQL Community Edition Server is once again ofﬁcially supported.
· The IDE no longer throws a NilObjectException when dragging a class from the browser list into the Code Editor.
· Lines of code no longer disappear when expanding and collapsing code blocks in the Code Editor.
· The IDE no longer crashes on Windows if you launch it, add a control and immediately choose Quit from the File menu.
· You can now create a ﬁle I/O stream from a ﬁle descriptor or ﬁle pointer on Mac OS X.
· You can now move controls more than one pixel at a time using the arrow keys.
· Building a project on Windows from a locked directory will now build to the temporary items directory instead of throwing a NilObjectException.
· Dates and Times are no longer getting corrupted when using ODBC.
· On Mac OS X, FolderItem.ShellPath now returns a valid shell path even if the path contains non-ASCII characters.
· Closing a large Virtual Volume is fast again (like it was in 2008r1 and earlier).
· Assigning a controlʼs parent property to itself no longer causes a hang.
· Plug-ins no longer leak memory when they are loaded by a built application running on Mac OS X.
· The StyleRun class no longer leaks memory.
· The Location and Search ﬁelds in the IDE can now be tabbed into and out of again.
· Calling Raise() without specifying an exception type no longer causes a failed assertion.
· GetTrueFolderItem with a root path no longer crashes.
· 8-bit toolbar icons now appear again on Mac OS X. This broke in 2009r1.
· System.EnvironmentVariable no longer leaks memory on Mac OS X.
· Choosing Close Other Tabs no longer closes the Debugger tab if itʼs open.
· The Code Editor no longer locks keyboard input when clicking away from the autocomplete popup window on Windows.
· A resize mouse cursor is no longer displayed over the content area if you have a listbox with resizable columns and have column 0 set to a width of 0 on Windows.
· Uncaught RBScript exceptions no longer cause a runtime failed assertion.
· The Serial.DataAvailable event is now triggered without the need to move the mouse.
· The Serial control no longer treats carriage returns (ASCII 13) as new lines (ASCII 10) on Linux.
· Closing a ContainerControl that contains an HTMLViewer no longer crashes.
· The text cursor in the Code Editor no longer randomly disappears on Windows.
· Custom mouse cursors are supported again.
· Loading pictures with alpha channels no longer crashes on Mac OS X.
· ConsoleApplication no longer displays nonsense properties in the IDE (like Index, Scope, Top and Left).
· The FolderItem.Launch method no longer launches the app in the foreground if parameters are included and Active is false.
· The XMLDocument.Transform method no longer crashes if your XML document is larger than 65K.
· The Preferences dialog box has been adjusted so that some text strings are no longer clipped.
· The IDE no longer hangs on launch if the most recent project is on a volume that is no longer available.
· Copying an event no longer occasionally pastes the event. Incorrect property declarations such as MyVar(19) As Integer() now result in a syntax error instead of a failed assertion.
· On Linux, Date.WeekOfYear is now consistent with Mac OS X and Windows.
· On Windows, Resizing a locked Groupbox in the IDEʼs Window Editor no longer crashes when the Groupboxʼs top and bottom meet.
· The Feedback window will no longer appear to already be in progress when you open it a second time.
· The Splash Screen text is now properly centered on Linux.
· The System.Network class no longer throws a failed assertion.
· Status messages on the Splash Screen are no longer truncated on Linux.
· Tab bars now respect the entire close icon (and not just half of it) when there are many tabs open.
· Dynamically localized strings no longer result in Console log errors on Mac OS X.
· Autocompleting Editﬁelds (like the Location ﬁeld in the IDE) no longer ignore menu selection.
· Code folding with nested folded code works better in the Code Editor.
· Issues where external items could result in a valid folderitem that speciﬁed a ﬁle that did not exist have been ﬁxed. This was frequently a result of moving and/or renaming external items like pictures.
· Relaunching the IDE after a hard crash no longer throws a NilObjectException.
· A bug that resulted in no results being returned when using DoShellCommand in an IDE script on Windows has been ﬁxed.
· Help tags for toolbar buttons no longer incorrectly display the “&” symbol.
· The pragma Unused now autocompletes.
· Lots of various bugs in the language reference content have been ﬁxed.
· Converting a property to a computed property no longer changes the name to title case.
· The IDEScript command Sublocations now returns a list delimited by chrb(9) allowing items with spaces in the name to be split in the list.
· Data is now properly sorted when a row is expanded in the Proﬁler results.
· If a checkbox is in an indeterminate state, setting the Value to true no longer clears it. You must use the State property. However, you can still set the Value to false and that will change the state.
· The Feedback window in the IDE now properly resizes along with all of its controls.
· Demo apps now quit properly on Linux.
· A bug has been ﬁxed that caused choosing Save As from the File menu to fail when saving a project in XML format.
· Building an application that contains plug-ins in a restricted directory no longer causes a failed assertion on Windows.
· Toolbar icons are now masked properly for screen depths less than 32-bit on Windows.
· The Listbox no longer copies column data in the wrong order.
· Windows can no longer be set to “Console Applications Only”.
· Plugin-Developers: REALLoadObjectMethod and REALLoadGlobalMethod no longer leak memory. REALbasic users: Nothing to see here. Move along.
· Customizing the toolbar for the Language Reference no longer misnames the Customization dialog box.
· Popupmenu controls no longer receive the focus when Full Keyboard Access is disabled on Mac OS X.
· System.Log no longer leaks memory on Mac OS X.
· Setting Help Tags to controls no longer leaks memory on Mac OS X.
· If the IDE cannot create the Resources folder while building your application, you will now get an error rather than a failed assertion.
· Finding items that had an ellipsis in the autocompletion in the Language Reference works again.
· Methods in subclasses whose parent class was in a namespace now autocomplete.
· Release notes now contain a ﬁnal note marking the end of the release notes.
March 3rd, 200926 New Features:
· You can now copy all menu handlers, methods, constants, and properties by selecting the code group heading and dragging while holding down the platform- speciﬁc copy key (Option key - Mac, Control key - Windows and Linux).
· The font size in the Language Reference window can now be increased and ecreased.
· REALbasic can now automatically reopen the last opened project. This can be enabled via the Preferences window.
· There is now a QuickStart window that opens when you launch REALbasic. This window provides resources to new users to help them get started.
· FolderItem.OpenAsPicture now supports loading 32-bit pictures with masks.
· FolderItem.SaveAsPicture now supports saving pictures with masks.
· Importing a picture into a project now includes the mask if there is one.
· The Canvas class now supports double-buffering on Windows via the DoubleBuffer
· property. Note that this requires extra memory and the loss of transparency. This
· property is not necessary on Mac OS X or Linux because those use double-buffering
· by default.
· Bug reports can now be entered from the Bug Report dialog box available from the
· Help menu.
· Errors reported by Analyze Project now are grouped more generically for better
· The Checkbox control how support a three states: checked, unchecked and
· The Listbox nows supports tri-state checkboxes. See the new Listbox.CellState
· method for details.
· The status bar now shows constructor parameters.
· The Listbox now has HeaderHeight and RowHeight properties. These are read-only.
· Cut, copy and paste can now be used with class attributes.
· Importing a ﬁle into a project while holding down Option/Alt will import a reference to the ﬁle ﬁle rather than important its contents making it an external item.
· CurrentMethodName is a new string constant that, as the name implies, contains the
· name of the method in which is was accessed. This is useful to anyone building their
· own error or bug reporting system.
· Both the Window and Rectcontrol class now have a new property called
· TrueWindow which returns a reference to the actual enclosing window. This can be
· useful when a window like a sheet or a control on a container control needs to know
· the window in which itʼs truly displayed.
· The Name property in the properties pane now gets the focus when a new project
· item is added so that you can immediately rename it.
· The built-in language reference window now supports command-left arrow and
· command-right arrow for navigating back and forth on the Mac.
· The Property List Behavior dialog for a container control can be accessed from both
· the Project Editor and the Code Editor.
· File I/O streams can now be created on the Mac using a File Descriptor or ﬁle
· The autocomplete popup menu now shows the icon of the project item if it's a
· Picture, Sound, MouseCursor, Movie, or Database item. This makes it easier to
· identify the objectʼs type.
· A new constant called CurrentBuildAppName is now available to IDE scripts.
· DebugBuild is a new constant that can be used in IDE scripts to determine that the
· application is running from the IDE rather than as a built application.
· You can now copy and paste constants and properties between REALbasic and a
· text editor. Currently this only supports one constant or property at a time.
· ArrowCursor, IBeamCursor and WaitCursor have been removed. These can now be
· accessed via System.Cursors.
· Windows added to a project are now resizable by default.
· Building a Windows application no longer deletes the content of the folder that the
· app was built in. This allows you to place additional resources next to the IDE
· without fear of it being deleted upon the next build.
· Some numeric warnings generated by the compiler are now available again via
· Analyze Project. However, you must enable these warnings via the Preferences
· dialog ﬁrst.
· The Listbox CellBackgroundPaint event now executes even if the cell is in a column
· that is unused but visible.
· Builds are now placed inside a folder titled “Builds” plus the name of the project.
· Inside this folder, builds are separated into subfolders for each target platform.
· Serial.Win32DriverHandle, Serial.MacInDriverRefNum and
· Serial.MacOutDriverRefNum have been removed. User Serial.Handle instead.
· When editing attributes on Mac OS X the sheet window now has a title that indicates
· which item to which you are adding attributes.
· Proﬁle report ﬁle are now comma-separated.
100 Bug Fixes:
· Mac resources are now copied into application bundles with the permissions set to
· 0644 (rw-r--r--) so it's not necessary to do this in a build script. REALbasic now
· builds Mac OS X applications with resource permissions set the same way as
· XCode does 0644 (rw-r--r--).
· FolderItem.AppendToTextFile no longer truncates an existing ﬁle that is currently
· opened. It now fails and reports an error instead.
· The Code Editor now indents code based on font size.
· Popup menus now show their current value in the Window Editor.
· A sporadic unhandled exception in the IDE tabs has been ﬁxed. This had to do with
· making the tabs properly highlight the close icon on tabs that were positioned behind
· other tabs.
· Dividing small currency values no longer crashes.
· Applications built for the Mac now properly respect the user's preference for
· language localization.
· Floating point literals no longer lose precision when compiled.
· The Movie class now reports the correct size of the movie on Windows.
· RegEx search now handles any newline endings again.
· Compiling structures that contain ﬁelds of other structures that contain ﬁelds of itself
· no longer causes a stackoverﬂow crash.
· Email messages with multiple attachments can now be received consistently with
· the POP3Socket.
· You can move controls more than one pixel at a time using the arrow keys.
· Links in the built-in language reference now work with Chinese language content.
· Properties panel will sort in correct order in all localized versions again.
· Pressing Control-Home now updates the cursor as expected in the Code Editor.
· You can now use the Folderitem class to open some ﬁles on the Mac that could not
· be opened before such as /dev/random.
· The 128 x 128 icon format is now better supported with tools such as Growl or
· Projects saved in version control format now now save attributes of event deﬁnitions.
· Methods missing from a class interface are no longer reported in duplicate.
· Modules containing external items now save and restore properly.
· The Project Editorʼs contextual menu no longer allows access to a deleting project
· Modules that contain nothing but external items now save and restore properly but
· cannot themselves be made external as an external item cannot contain external
· Illegal constant names now generate a syntax error instead of a failed assertion.
· REALbasic no longer gets in a state where you can't click on things which you
· should be able to.
· Mutex locking now works again on the Mac.
· Images containing transparency imported into a project using REALbasic on
· Windows now draw properly. This ﬁxes the “blue background” bug with these types
· of images on Windows XP.
· The Pushbutton action event is no longer triggered by a right or middle mouse
· button click on Linux.
· REALbasic no longer throws exceptions due to some icons that were missing.
· If the language reference window is the last window to close, REALbasic now quits
· properly on Windows and Linux.
· The language reference has been updated to ﬁx numerous issues.
· The compiler now displays an error rather than a failed assertion when a project item
· has more than one computed property with the same name.
· Setting the alignment of a paragraph in a built application no longer causes a failed
· Loading global bookmarks no longer causes a project to be treated as if itʼs new.
· Changing a PagePanel into a TabPanel and vice versa works again.
· Is it no longer possible to accidentally re-parent one control on to another when both
· are being dragged.
· Warnings that are not currently being generated can no longer be selected to be
· shown or hidden in the warning preference dialog.
· Computed properties properly indent their code when saved to RBVCP ﬁles.
· On the Mac, GetTrueFolderItem on a volume drive (with PathTypeShell or
· PathTypeURL), like /Volumes/MyDrive, now works like it did in 2008r4.2 and prior, so
· instead of returning Macintosh HD:Volumes:MyDrive as an AbsolutePath it now
· returns MyDrive: as it had before. Aside from the obvious AbsolutePath differences
· this also solves the problem with getting a Child item on the volume drive.
· Compiler no longer crashes when aggregating an interface with an unqualiﬁed
· Picture.Mask can now be set allowing you to set a new mask or to remove a mask
· from the picture.
· Icons on menu items in projects in version control format now save and restore as
· they do in XML and RBP ﬁles.
· Applications that use XML are now smaller by 300K.
· A memory leak in the IDE was ﬁxed.
· Large projects (especially those using the MBS plug-ins) no longer causes a failed
· assertion in SmartRef.h.
· When the Properties pane is displayed as a ﬂoating palette, it now restores to its last
· saved size and position.
· An IDE redraw issue when switching between editor only and normal views of a
· project has been ﬁxed.
· Localized strings in projects saved in version control format for different platforms
· and saved using different language versions of the IDE restore properly in IDE's
· using a different language.
· Programmer bygd på Windows med norsk lokalisering nå riktig viser lokaliserte
· strenger. (#5821)
· If the Code Editor item browser list has focus and you paste code with a new
· constant or new property, the constant or property will be created. This allows you to
· copy and paste constants and properties. This was broken in a previous release.
· Printing code now provides better support for code that wraps to the next line.
· REALbasic now does a better job of cleaning up temporary items associated with
· the language reference.
· Changing the super property of a Window no longer causes an exception.
· Menus can no longer be made external. The bug that appeared to let you do this has
· been ﬁxed.
· REALbasic can now load BMP ﬁles whose images are stored top-down on Linux.
· Using the XML classes no longer causes a crash on Mac OS X 10.3.9 PowerPC.
· A compiler bug with converting UInt32s of &hFFFFFFFF to UInt64s has been ﬁxed.
· Printing a project that has missing external items no longer raises a nil object
· exception error.
· The autocomplete popup menu is now wide enough to display constant values.
· The Forward and Backward buttons in the built-in Language Reference window now
· work properly when displaying content from plug-ins.
· The compiler now reports an error for missing conditions on For and While
· statements instead of throwing a failed assertion.
· The titles for groups of errors have been made more indicative of the type of error
· instead of being one speciﬁc error message. For example, you will now see "unused
· local variables" instead of "X is an unused local variable".
· A bug that caused some errors and warnings to be mixed into the same group has
· been ﬁxed.
· The debugger will now display computed properties of type Int16.
· Preferences are now saved when the Preferences dialog closes instead of just when
· the IDE quits.
· Proﬁler now reports the correct namespace for embedded items.
· Corrected a bug in the reporting of sublocations in an IDE script that would prevent
· scripts from properly working to add code to all items in a project.
· TextHeight and TextAscent properties of the graphics class now show in the
· Enums from plug-ins now autocomplete.
· The registration dialog box handles some localizations better.
· Tabbing in Preferences dialog now moves to the next logical control instead of
· Setting focus to another control in RadioButton.Action event now works properly on
· The HTMLViewer now displays a message if you donʼt have the necessary library
· installed on Linux rather than causing a failed assertion.
· Modal dialogs on Linux no longer include the minimize and close widgets and are no
· longer movable (please note that this is dependent on the Window manager, some
· may not honor these settings).
· PopupMenus can now gain keyboard focus on the Mac.
· An unhandled exception bug has been ﬁxed that was caused by deleting a lot of text
· with the backspace key in the Code Editor.
· Parent controls, like group boxes, canvases, etc, no longer incorrectly set the
· controls they own to be selected when you duplicate the parent control. This could
· result in the contained controls incorrectly being duplicated again when you
· duplicated the parent more than once.
· Images that were zoomed in would not scroll all the way right and down. This has
· been ﬁxed so the entire picture can be seen even when zoomed in.
· Bug that caused a crash as a result of the ﬂoating properties palette has been ﬁxed.
· Control-clicking on the Analyze project tab no longer throws an exception.
· REALbasic now better handles loading old projects where the parent of a control is
· corrupted. This occurred because older versions of REALbasic were not saving this
· information properly.
· The property list behavior can now be changed for container controls.
· The incremental compiler now properly recompiles subclasses of plugin classes
· when plugin changes.
· KeyDown/KeyUp event of ComboBox now ﬁres on Windows.
· Pressing the Tab key in the Window Editor should once again select the next visible
· control, even when using ListBoxes and ContainerControls.
· The behaviourIndex property is no longer duplicated in projects saved in version
· control format.
· The mode switcher no longer gets out of sync with the actual listing on the error and
· warnings list.
· Bin and Oct now works for negative numbers.
· Proﬁle data tab can now be dragged into separate window.
· You will no longer get rows showing locations with 0 warnings 0 errors when all
· types of warnings are hidden.
· The type ﬁlter dialog, used for selecting what ﬁlters to show / hide when checking a
· project for errors, is now resizable.
· You no longer need to re-select a control before it can be duplicated many times.
· The display list of errors and warnings is not refreshed when closing the
· conﬁguration dialog if no settings were changed.
· Entering a color value will be correctly reﬂected for editﬁelds, ovals, rectangles,
· round rectangles & statictext controls.
· The & character now displays in the summary of a declaration for a constant,
· method or property.
· REALSQLDatabase.LastRowID now returns an Int64.
· Changing the superclass of a control and then reverting the change redraws the
· affected control in the Window Editor correctly.
· The Code Editor no longer switches to the Window Editor (in some cases) after
· choosing Edit -> Undo.
· The order in which project items appear in the Project Editor is now saved so that it
· can be restored when the project is reopened.
· Build progress bar now shows up on Windows Vista.
December 16th, 2008
· Adding tabs to a TabPanel, or pages to a PagePanel, or changing the Super
· property of a control now updates the control to reflect those changes in the
· window editor.
· REALbasic no longer pauses for a long time when compiling on Mac OS X.
December 9th, 2008Framework improvements:
· The Regular Expressions classes now use the latest version of the PCRE library (7.7).
· There are three new warnings for unused local variables, unused method parameters, and unused event parameters.
· Added a new pragma to suppress unused variable warnings. The syntax for it is: #pragma Unused VariableName.
· RectControl class now has a KeyUp event which is triggered when a key is released on the control that has keyboard focus. Note that the "key" is not guaranteed to be the same "key" received in the KeyDown event.
· You can now use the &u modiﬁer to enter Unicode codepoints as string constants. For instance: &u02A4 would be Latin Small Letter Dezh Digraph(ʤ).
· Single and Double expressions may now use .Equals to perform ranged equality tests on ﬂoating point values. See the Language Reference for details.
· Added a SendRequest function, which allows the user to specify which HTTP method is used when sending the request. It is identical to the Get / Post APIs, except it has an additional "method" parameter.
· Added StructureAlignment attribute that allows you to set the natural alignment of a structure when compiling. If you donʼt know what that means, you probably donʼt need to know. :)
· DatabaseField.StringValue no longer returns the full date for a time column.
· Updated the authentication handling for the SMTP protocol to correct errors encountered with some servers (affects both the secure and non-secure socket).
· Converting strings from one encoding to another no longer leaks on Linux.
· Drawing Listbox offscreen (i.e. using DrawInto) now draws the contents of the listbox properly on the Mac OS X when there is code in the CellBackgroundPaint event.
· Exceptions thrown from event handlers ﬁred by DoEvents are now catchable.
· You can now create a ﬁle I/O stream from a ﬁle descriptor or ﬁle pointer on Mac OS X.
· Transparent images now appear correctly on Mac OS X when assigned to Canvas.Backdrop.
· XSLT transformations no longer returns inﬁnity (when it shouldn't) on Windows.
· An invalid constant value no longer causes a failed assertion, instead it generates a compile error.
· Removed the deprecated function ApplicationSupportFolder. You should use SpecialFolder.ApplicationData instead.
· Removed the deprecated function DesktopFolder. You should use SpecialFolder.Desktop instead.
· Removed the deprecated function DocumentsFolder. You should use SpecialFolder.Documents instead.
· Removed the deprecated function PreferencesFolder. You should use SpecialFolder.Preferences instead.
· Removed the deprecated function SystemFolder. You should use SpecialFolder.System instead.
· Removed the deprecated function TemporaryFolder. You should use SpecialFolder.Temporary instead.
· Removed the deprecated function TrashFolder. You should use SpecialFolder.Trash instead.
· Removed the deprecated function SpecialFolder.ShutdownItems. This API will have no replacement.
· Removed the deprecated function SpecialFolder.ControlPanels. This API will have no replacement.
· Images no longer fail to appear in a project that contained masked pictures when building for Mac OS X from Vista.
· Using the : operator in RBScript to create a Pair now generates a clear error message instead of a cryptic one about classes not being found.
· Date.GMTOffset now returns the correct offset instead of always 0 in Linux builds.
· Date.ModiﬁcationDate now returns the correct modiﬁcation date (when contents change) instead of the change date (when permissions on the ﬁle/ directory changed) on Linux.
· A failed assertion no longer occurs on Mac OS X when a RBScript attempts to make use of delegates.
· Using the GetTypeInfo operator from RBScript no longer results in failed assertions, but instead generates an appropriate error message.
· HTMLViewer embedded on a non-visible Tab/PagePanel now shows when Tab/PagePanel becomes visible on Windows.
· Setting the ColumnType to EditableCell now shows the IBeam cursor for that column on Mac OS X.
· Toolbars on Windows no longer stop the ConstructContextualMenu event from ﬁring.
· Dictionary.Lookup no longer returns inconsistent results for integer keys on Mac OS X PowerPC builds.
· Objective-C declares which return structures Duplicate can how be used to duplicate methods, properties, menu handlers, constants, etc.
· Source code now prints in color.
· Container controls can readily be changed at design time to windows and vice versa by changing the Super property. However, you cannot change the default window of a project to a container control.
· The Resolve dialog now has an obvious Check All button.
· Unused local variables, unused method parameters and unused event parameters are now reported by the Analyze Project command.
· You must now drag a control at least 5 pixels horizontally or vertically before it will generate a copy to avoid accidental copying of controls.
· Viewing a folderitem in debugger on Mac OS X no longer results in strange errors like not being able to write to a ﬁle.
· RaiseEvent no longer auto-completes bogus event handlers.
· Attributes no longer get split incorrectly when entering a comma in the name or value.
· Raise statement no longer auto-completes bogus objects that are nor subclasses of RuntimeException.
· Catch And Exception statements no longer auto-complete bogus objects that are not subclasses of RuntimeException.
· Results of analyze project can be grouped by type or location.
· Auto-complete popup window is now dismissed when the text is fully completed on Windows and Linux.
· The auto-complete popup in a Location ﬁeld now properly narrows the selection as you type.
· Structures and Enumerations now auto-complete when the full namespace used.
· Variables declared inside a block statement no longer auto-complete outside of it.
· Autocomplete no longer suggests events as completion of Me or Self Autocomplete now supports namespaces (i.e. classes/modules inside modules).
· IDE no longer allows you to create invalid enumerations Enumerations can only be integers.
· Loading a project that contain ActiveX controls no longer crashes on Windows if the ActiveX control could not be loaded.
· Variables declared after an Else clause now auto-complete.
· Warning preferences are now saved in XML projects.
· IDE on Windows now resizes at start up to the "default" size you set by opening a new empty project and resizing the IDE.
· Menu item array indexes can now be removed after items are renamed.
· Relocating a missing image will regenerate the row icon for display in the Project Editor.
· The Issue Resolution dialog now resolves all selected issues not just the ﬁrst one.
· Reparenting a ContainerControl, that contain disabled controls, no longer enables the controls.
· Command bar properly enables items based on the type of project being edited.
· Windows IDE no longer randomly disappears after running or building (commonly seen on Windows XP).
· The Lock/Unlock toolbar item now properly enables and disables if there is a selection.
· Applications on Linux are now revealed when a build is completed.
· Properties Dialog now uses the System font on Linux so the heading in the preferences dialog will appear properly.
· AddressOf now auto-completes local functions, shared methods, and public and protected methods in modules.
· Changes in constant values and build language are immediately reﬂected in the IDE's display.
· Changing the Super property of a control then undoing the change will retain all property values (custom and non-custom).
· Plugins that declare duplicate classes are ﬂagged as an error. Since there is no way to resolve this except by quitting the IDE and removing plugins this is the only option given if this situation arises.
· NilObject Exceptions no longer occur due to errors when setting up IDE scripting for use from the command line.
· Scope choices are now properly set for modules nested in modules and other contained items.
· Properties will now always show up grouped correctly.
· IDE status progressbar no longer ﬂickers on Windows.
· Bookmarks bar updates properly when editing bookmarks.
· Build toolbar command and Build Application menu items enable properly when "current platform" is selected as the build target.
· Debugger is now more intuitive when stepping on Do and While statements.
· Do statements no longer have to be stepped over. However, you will now have to step over a While expression on each pass through the loop.
· Debugging console applications whose location path contain spaces now works correctly on Linux.
· A variable declared in a For-Each statement now accounts for namespaces in its type. For example, “p” now auto-completes properly when typing the line: For Each p As Introspection.PropertyInfo In pi.
· Certain keywords such as GetTypeInfo, CType, AddressOf, Nil, True, False, now auto-complete when used on the same line as a Dim statement. This is just one speciﬁc case. The ﬁx was more general.
· Introspection class now auto-completes.
· When folding constants, integer division by zero (and modulus) no longer causes the compiler to crash. The behavior is the same as at runtime: the results are undeﬁned.
· Namespaces in folders that have an interface in them no longer cause illegal cast exceptions.
· Results of Analyze Project now show build errors. Warnings are now displayed hierarchically.
· Declaration ﬁelds now applies standard case with auto-complete.
· Setting locked positions on a mixed group will now always behave as the menu says.
· Positioning of edit ﬁelds for entering license information conforms to UI guidelines.
· A new project can now be created when only the IDE script window is open.
October 28th, 2008
· [Fix] Double to UInt64 conversion no longer crashes on Windows machines that do not have SSE3 CPU support.
October 14th, 2008
· [Fix] Mac: resizing a window with a hidden HTMLViewer no longer causes the HTMLViewer to redraw itself.
· [Fix] Pictures, Sounds, Movies and raw data resources that are dragged into the project are now copied directly from disk into the application's bundle when creating Mac applications instead of copying only the data fork over.
· [Fix] Str now displays up to 7 significant digits again.
· [Fix] Locked controls are read properly from VCP files.
· [Fix] Multiple resource files with the same name are now copied into the Mac bundle's Resources directory with unique names.
· [Fix] Declares using default parameter values (which are rare, except for auto-generated plugin code) no longer cause crashes when compiling.
· [Fix] Setting controls locked / unlocked properly dirties the document so it save correctly.
September 23rd, 2008
· Control Locking: Control Locking adds the ability to lock a control in the IDE so it's position and size cannot be edited. This is useful for positioning controls at design time on complex User Interface's to prevent accidentally modifying the control.
· Tab Stops:Tab Stops allow users to specify controls to be skipped over when tabbing through the user interface at runtime.
· Auto-adjust Tab Indexes: REALbasic can now automatically determine the tab order for all controls.
· Warning System Updates: REALbasic now includes several new warnings, as well as a new User Interface to set per-project preferences on what warnings to receive.
· Constants in Declarations: The REALbasic compiler now allows the use of constants and enumerations in declarations. For example, constants can now be used as part of a method's optional parameter declaration or to define enumeration values in terms of other constants.
· Codesign for Mac OS X Applications: Codesign enables developers to digitally sign REALbasic applications. Digitally signed applications provide greater security because the application can be traced back to the author. One way this is used on the Mac is with Mac OS X Leopard Server. Applications installed on Leopard Server must be authorized by the user each time they are launched. Digitally signed applications need only be authorized once.
July 22nd, 2008
· Version 2008r3.1 focuses on highly-targeted bug fixes, including an issue with accessing the Einhugur Plugin.
July 8th, 2008
· This version offers several new features, including a new Attributes language feature, an update to the project analyzer to include warnings of deprecated functionality and other code issues, and an integrated profiler that allows programmers to track down performance issues within their applications quickly and without any additional coding.
· Also included will be the ability to add types within classes and several improvements to the recently added introspection functionality.
· There are numerous fixes and improvements.
May 6th, 2008
· New release includes 200 improvements and adds Pairs as a new class.
February 12th, 2008
· [Dep] [All] SpriteSurface: The SpriteSurface is now deprecated. We suggest using Tinrocket's SuperSpriteSurface class instead. The SpriteSurface will be removed from a future version of REALbasic.
· 272: Compiler erroneously complains about old-syntax destructor methods. Compiler no longer reports a syntax error when it encounters the old, deprecated destructor syntax. (This syntax will be removed in 2008r2.)
· 127: Crash on Database Access[afakwmrh]: Fixed a crash bug that occurs when the IDE tries to connect to a local REALSQLDatabase data source saved with a previous RB version.
· 75: RBScript Causes Runtime Error #4 in Console Applications[cblkiarj]: RBScript no longer causes runtime error #4 in console applications.
· 140: Internal error on build -- Console Application no longer compiles[hbkdjbuh]: Compiler no longer fails with a nil object exception when compiling projects with certain types of syntax errors (a module named "Global", for example).
· [New] [OSX] AppleEvents: AppleEvent class now has a constructor which accepts a bundle id as the target application for the apple event.
· [Dep] [OSX] AppleEvents: NewAppleEvent function is being deprecated and the AppleEvent class constructor should be used instead.
· [Fix] [IDE] Build: Picture files no longer remain 'in use' by the IDE after a compile. (Feedback ID: xzgagwax)
· [Ref] [IDE] Code Editor: Refactored the code editor declaration functionality for easier maintenance.
· [Nte] [IDE] Code Editor: The declarations field no longer does error checking for your declarations as you enter them, by design. This feature may return at a future date in a more comprehensive and accurate form.
· [Fix] [IDE] Code Editor: The platform setting for a dynamic constant does not revert back to the 'Any' setting after modifying the value.
· [Fix] [IDE] Code Editor: When pasting methods into the code editor, the IDE no longer renames the method if it is a legal overload.
· [Nte] [IDE] Compiler: "Aggregates" is now a reserved word and cannot be used as an identifier.
· [Fix] [All] Compiler: Better reports unmatched #if/#endif blocks within a method. Note that this can still cause a cascading error effect where subsequent errors are seemingly nonsensical.
· [New] [All] Compiler: Can now put arrays into variants. Also, added new special Variant member functions: IsArray and ArrayElementType, as well as a constant TypeArray (&h1000).
· [Fix] [All] Compiler: Interfaces can be satisfied by superclass methods now.
· [Fix] [IDE] Compiler: Local declares can now use namespaces when specifying the lib string.
· [Fix] [All] Compiler: No longer reports an error when using the Call keyword in conjunction with the RaiseEvent keyword.
· [Fix] [All] Compiler: Now handles structures containing arrays of strings properly when working with the structure's StringValue property.
· [New] [IDE] Compiler: Now supports explicit interface method implementation. This means that ClassA.Foobar can implement InterfaceB.Wahoo so long as Foobar and Wahoo's signatures match.
· [Fix] [All] Compiler: Now using more helpful error messages when not using return values from function calls. Also, a more helpful error message appears when using the Call keyword on a function call but passing illegal parameters.
· [Fix] [IDE] Compiler: The bitwise And, Or and XOr operators now behave more reliably with 64-bit integers on PPC.
· [Fix] [Mac] Compiler: The bitwise Not operator now works on PPC compiles.
· [Chg] [Win] Compiler: Updated the manifest file used by built applications so that they run "asInvoker" on Vista. Note that this will disable the folder and registry virtualization provided by the OS for compatibility with broken applications.
· [Fix] [All] Compiler: Using the Super keyword now works with namespaces when the super class resides in a different module than the base class.
· [Fix] [IDE] Compiler: Using the bitwise not operator with a 64-bit integer no longer throws an assertion.
· [New] [All] Compiler: Variants can now hold the following datatypes: Ptr, CString, WString, PString, CFStringRef, WindowPtr and OSType.
· [New] [All] Compiler: You can now store structures into variants. Legal conversions from a variant holding a structure are: to a string, or to a structure. The current platform endianness is assumed when doing the conversions.
· [Ref] [All] Control Order: Removed the ControlOrder property. Control order is now parent-relative, and is the same as tab order currently. The z-order, or tab order, can be changed in the IDE.
· [New] [All] Controls: Added new TabIndex property for RectControls, this now separates the Z-Order from Tab Order.
· [Kis] [OSX] Controls: Controls that do not normally receive keyboard focus (i.e. without full keyboard access turned on) do not honor their TabIndex property but are tabbed into by their control order
· [Fix] [IDE] Debugger: No longer writes out empty variable viewer preferences for every variable. Instead, it only writes out preferences for the variable if you have modified it from the default.
· [Fix] [IDE] Debugger: Now passes command line arguments to debugged console apps on OS X
· [Fix] [IDE] Debugger: When displaying the string version of a variant in the debugger, the IDE no longer leaks the converted string reference.
· [Fix] [Win] FolderItem Dialogs: Now use the proper Vista-style dialogs on Vista and higher. Note that in Vista, you cannot modify the dialog's contents (such as button captions, etc).
· [Fix] [Win] FolderItem: IsReadable and IsWriteable now perform an access check instead of actually attempting the read and the write. This stops triggering spurious security audits, as well as provides a more accurate API.
· [Fix] [Lnx] FolderItem: Now resolves symbolic links properly
· [Fix] [Lnx] FolderItem: OpenAsBinaryFile no longer allows you to open directories
· [Fix] [Win] FolderItemDialog: No longer throws a failed assertion when selecting a different filter type
· [Dep] [All] Framework: The "IsCMMClick" global function has been removed. It was replaced long ago by "IsContextualClick".
· [Fix] [IDE] IDE Templates: External templates now behave similarly to internal templates with regards to build settings. Namely, the default platform and names are not gathered from the template.
· [Fix] [IDE] IDE Window: Opening the IDE that had a maximized window will no longer hide the title bar of the window under the menus, on Mac OS X.
· [Fix] [IDE] IDE: IDE no longer crashes when attempting to draw an intrinsic control instance in the form editor when no instance of that control appears anywhere in the IDE's own UI.