New features

  • Greatly improved Cocoa support

  • Greatly improved web framework

  • WebKit supported for HTMLViewer on Windows

  • BLOB support for SQLite/RealSQLDatabase


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.

20313 Mac: CStr now respects custom decimal separators.

21963 MacCarbon: TextFields and TextAreas display the correct border on Mountain Lion (10.8) instead of a black border.

19675 MacCocoa: altering Window.Height no longer adjusts the window’s position.

13735 MacCocoa: ApplicationMenuItem is now treated the same as AppleMenuItem and appears in the correct place at runtime.

21985 MacCocoa: applications now reliably quit without having to wiggle the mouse or send some other sort of event to the application.

22054 MacCocoa: drawing to a Picture that has already been drawn somewhere itself is no longer excessively slow.

21362 MacCocoa: Graphics.Clip with a negative offset works correctly.

21795 MacCocoa: MoviePlayer no longer crashes when setting the Movie property a second time

21478 MacCocoa: now has basic HiDPI support.

21509 MacCocoa: the Paint event fires less often now, leading to increased performance during window resizing.

17723 MacCocoa: the Resized event now only fires after the Window has been resized, not during the resize itself.

18662 Compiler: ‘#pragma warning’ and ‘#pragma error’ now require message strings. Previously the compiler allowed you to use the pragmas without the messages, but would silently ignore the pragma.

3531 Compiler: Applications no longer crash inside of a catch block without a type clause under some circumstances.

20364 Compiler: Compiled applications no longer crash if they return a structure with an odd length in some circumstances.

20737 Compiler: Defining a structure, enum or delegate type on a window will now work in methods and declarations that are not part of that window.

9867 Compiler: Delegates with a single string parameter can no longer be invoked when passing in no arguments. The compiler now correctly raises an error, saying that the method requires more parameters than were passed.

19544 Compiler: During application shutdown, partially destructed objects can no longer be accessed (and will instead be set to Nil).

19785 Compiler: External methods in classes now work correctly.

18981 Compiler: Inline68k is now formally deprecated and will be removed in 2013r1.

11463 Compiler: No longer causes crashes if you access RuntimeException.Stack from within a catch block with no type clause.

19694 Compiler: No longer crashes if you use WeakAddressOf with a method in a module.

18951 Compiler: No longers warns about shadowing constants if the superclass’ constant’s scope is private.

18699 Compiler: RBScript upgraded to LLVM 3.0.

19650 Compiler: Structures now work with RBScript.

20198 Compiler: The compiler now generates correct code for structure returns on Linux and OS X. This could have caused crashes if the method was invoked from non-RB code (like a system callback).

5187 Compiler: When reporting that the value parameter of a computed property’s setter is unused, the compiler now correctly refers to it as an unused method parameter (instead of an unused local variable).

20761 Database: Added two new methods to the REALSQLDatabase class to more efficiently deal with BLOBs by allowing you to incrementally read/write to a BLOB and added a new BLOB class: OpenBlob]], CreateBlob and RealSQLBlob.

22099 Database: DB plugins are no longer compatible with older versions of Real Studio; they simply will not load.

19587 Database: Enabled ability to group expressions by parentheses using RealSQLDatabase.

22071 Database: It is now possible to call stmt.SQLSelect multiple times, as long as the previous record set is closed with rs.Close.

19365 Database: ODBC: Fixed problem with “bit” data type.

18664 Database: PostgreSQLDatabase.Prepare now takes a statement parameter.

19917 Database: REALSQLDatabase has been updated to SQLite 3.7.11.

21146 Database: REALSQLDatabase now retrieves strings from a non-UTF8 encoded database properly.

17552 Database: REALSQLDatabase: blob data returned from a query now has a Nil string encoding instead of UTF8.

18814 Database: REALSQLDatabase: setting the ThreadYieldInterval now works properly (previous it would always set it 0 no matter what you assigned it).

20377 Database: Removed Version property from RealSQLDatabase as it duplicates LibraryVersion.

20733 Database: With ODBC, Null values in recordset fields did not work with StringValue when dealing with blank text and next fields.

20076 Desktop: Added functions LocalPoint and LocalRect to REALbasic.Rect. These functions return a new object whose coordinates are local to the calling Rect.

19691 Desktop: Added new Bounds As REALbasic.Rect property to the Window class. Use this property to Get/Set the true bounds of a window (i.e. including frame/title decorations).

20688 Desktop: Added new DragItem constructor that takes a RectControl and X, Y parameters which are relative to that control. Subsequent calls to AddItem also accept coordinates that are relative to that control (notes: moving the control after calling the constructor does not change the relative location of calls to AddItem, in other words the control’s left/top at the time the constructor was called becomes the relative offset and does not change if the control moves in the interim).

21022 Desktop: Added OpenGLSurface.ContextHandle property that lets you get at the underlying OpenGL context. At the same time, we’ve deprecated the existing Handle method that shadowed the RectControl Handle property.

16099 Desktop: ContainerControl.Handle now returns a valid control handle instead of always 0.

21247 Desktop: No longer crashes when changing Listbox.ColumnCount multiple times.

18166 Desktop: QuickTime classes now support long file names and Unicode characters.

8969 Desktop: RB3D no longer throws an error on OS X about the Quesa framework if it cannot be found.

20624 Desktop: Removed ContextualMenu class.

20689 Desktop: Removed Window.NewDragItem and RectControl.NewDragItem. Use the DragItem constructor(s) instead.

20306 Desktop: Replaced deprecated Quickdraw Rect functions with our own internal versions.

19039 Desktop: Report field contents no longer overlap when text contains line endings.

8358 Desktop: Resizing the columns of a Listbox now properly adjusts the width of end cap column (assuming there is one).

19113 Desktop: Rotating a PixmapShape that contains a picture with alpha channel now rotates with transparency.

19437 Desktop: System.Pixel is now deprecated. On Mac OS 10.7 and higher, it raises a PlatformNotSupportedException.

19415 Desktop: You can now use a SegmentedControl in control arrays.

19969 DocLangRef: Added AddressOf and WeakAddressOf to Language Reference Index.

13452 DocLangRef: Added And/Or example to If-Then-Else.

17705 DocLangRef: Added clarification for Listbox.DeleteAllRows.

14270 DocLangRef: Added documentation for PostgreSQLDatabase.SSL property.

18542 DocLangRef: Added entry for SegmentedControlItem.

19966 DocLangRef: Added Enumeration to Language Reference index.

18879 DocLangRef: Added example from SelectionChanged event demonstrating SelectedCell to WebRadioButton examples.

18121 DocLangRef: Added Google Maps usage limits link to WebMapViewer.

14658 DocLangRef: Added HTMLViewerException.

12623 DocLangRef: Added IDE definition.

18853 DocLangRef: Added information about how to handle Session.JavaScriptError events.

18859 DocLangRef: Added missing WebListBox.ListIndex page and link to WebListBox page.

17597 DocLangRef: Added note to TextEdit.UseFocusRing about focus rings not appearing in Cocoa.

16208 DocLangRef: Added note to Window.Show about bring the window to the front.

9880 DocLangRef: Added TextOutpuStream.Create examples.

5744 DocLangRef: Added UserName and Password properties to SMTPSocket.

13937 DocLangRef: Added UTI as a design-time property of the File Types Set Editor.

19522 DocLangRef: Added WebApplication.Timeout

16067 DocLangRef: Added WebControl.Resized event, which should now appear for all subclasses.

20032 DocLangRef: Added WebCursors to the System page.

18382 DocLangRef: Alpha channel information has been added to Picture docs.

11352 DocLangRef: Clarified Database.Close, Commit and Rollback.

18966 DocLangRef: Clarified different versions of HTTPSecureSocket.GetHeaders and HTTPSocket.GetHeaders.

16555 DocLangRef: Clarified that only external strings can contain Nil.

21525 DocLangRef: Clarified use of New with Static keyword.

13062 DocLangRef: Consolidated data type values to FieldSchema property.

19393 DocLangRef: Corrected Range.LessThan description.

15089 DocLangRef: Corrected WebListBox.ColumnWidth parameter type.

20808 DocLangRef: Fixed an example for Dim.

22059 DocLangRef: Fixed platform info for docs for CMY.

19994 DocLangRef: Fixed type in TextOutputStream example.

20634 DocLangRef: Fixes typo in example for RGBSurface.Transform.

17303 DocLangRef: JSONItem docs are now up to date

20560 DocLangRef: Marked ResourceFork as deprecated.

14995 DocLangRef: More clearly described HTTPSecureSocket.Get methods.

20561 DocLangRef: Mutex name must be different than the Application Identifier for web applications.

19379 DocLangRef: No longer lists WebSession.StatusMessage as read only.

15813 DocLangRef: OpenDialog.MultiSelect indicates it works on Windows, Linux and OS X Cocoa (not Carbon).

16707 DocLangRef: Removed Group2D properties from method area.

15387 DocLangRef: Removed incorrect note about IsPrimary in PostgreSQLDatabase.

19213 DocLangRef: Rewrote HttpSocket.Get, HttpSocket.Post, HttpSecureSocket.Get and HttpSecureSocket.Post to clarify the various method calls.

14473 DocLangRef: Significantly cleaned up docs for Database and RealSQLDatabase.

20308 DocLangRef: SOAPResult.ErrorMessage replaces incorrect SOAPResult.ErrorString.

18987 DocLangRef: Soft Declares has been updated to note that “soft” is not required for Cocoa declares.

10412 DocLangRef: SpecialFolder.Temporary returns /tmp/ on Linux.

19684 DocLangRef: Update MySQLServerCommunityServer properties and methods.

19685 DocLangRef: Update MySQLServerCommunityServer properties and methods.

19523 DocLangRef: Updated Color, Picture and Graphics with information about Alpha Channel support.

6256 DocLangRef: Updated ConsoleApplication.Args to better describe its values.

19870 DocLangRef: Updated ContainerControl.Parent documentation to show that it is read-only.

21107 DocLangRef: Updated example code for WebToolBar.

19652 DocLangRef: Updated HTTPSocket.SendRequest and HTTPSecureSocket.SendRequest to include all method variations.

18799 DocLangRef: Updated IsContextualClick description.

20268 DocLangRef: Updated Ptr to show available properties for conversion.

19125 DocLangRef: Updated RadioButton example.

19413 DocLangRef: Updated RecordSet to indicate database support for MovePrevious, MoveFirst, MoveLast and MoveNext.

20799 DocLangRef: Updated ServiceApplication to refer to Resume event instead of nonexistent Continue event.

20177 DocLangRef: Updated Structure docs regarding use of Len function.

18052 DocLangRef: Updated ToolTip for WebApplication.Mode property.

18010 DocLangRef: Updated WebApplication.DisconnectMessage to reflect that it is a design-time property only.

18393 DocLangRef: WebControl.MouseExit no longer links to MouseMove.

14347 DocLangRef: WebSession.Cookies.Value - Documented the behavior if the requested cookie does not exist.

21993 DocLangRef: Windows requires XP SP2 or newer, OS X Carbon requires 10.5 or newer, OS X Cocoa requires 10.6 or newer.

20974 DocPluginSDK: Added RBInteger, RBBoolean, and RBUInt64 to the plugins SDK. Due to the nature of the changes, code that uses ‘unsigned RBInt64’ will need to be replaced with ‘RBUInt64’.

19282 DocPluginSDK: REALLockPictureDescription no longer leaks (this occurred if the lock failed).

8722 DocUserGuide: Fixed example for Last_Insert_RowID in database reference.

19991 DocUserGuide: Updated RealSqlDatabase documentation to remove references to Universal Binary.

12487 Fixed a hang or crash that would occur when calling Replace with an empty search string.

20068 Framework, Compiler: Fewer _VariantStrings are now created which helps to reduce memory usage for both your apps and Real Studio itself.

18366 Framework: Assigning a Folderitem to the SSLSocket.CertificateFile property now works on Windows.

20568 Framework: Chr(n) now returns a string with its encoding set, and containing Unicode code point n, when n > 127. The behavior of Chr with such values was previously undefined.

20323 Framework: Console graphics drawn with transparency now blend the graphics properly.

5832 Framework: creating a MemoryBlock via its constructor or NewMemoryBlock no longer performs a wasteful memset.

10165 Framework: Fixed a race condition that allowed multiple threads to enter a single CriticalSection.

21439 Framework: fixed a regression where EncodeHex would leak memory.

20285 Framework: HTTPSocket and HTTPSecureSocket now use a MemoryBlock for their internal buffer instead of a String.

11498 Framework: HTTPSocket now has a “Connection:close” header by default so that it disconnects properly from an HTTP/1.1 server.

8520 Framework: HTTPSocket, HTTPSecureSocket: Deprecated SetPostContent and replaced it with SetRequestContent. Content set with either of these methods will now be sent for all request methods other than “HEAD”.

19055 Framework: HTTPSocket, HTTPSecureSocket: Now allows sending request content for “GET” requests.

2985 Framework: HTTPSocket: All HTTP Verbs other than HEAD can now contain request content using the new SetRequestContent method.

21781 Framework: HTTPSocket, HTTPSecureSocket: Fixed an exception caused by a received page having a length < 1.

17910 Framework: JSONItem now defines strings as UTF8 if encoding is Nil.

19769 Framework: JSONItem now has a boolean property (EscapeSlashes) which allows you to determine if forward slashes (solidus) will be escaped.

18831 Framework: JSONItem now parses scientific notation numbers with negative exponents properly.

18806 Framework: JSONItem now uses a Memoryblock instead of a String when parsing a JSON String.

21015 Framework: JSONItem now uses a Memoryblock instead of a String when parsing a JSON String.

6628 Framework: No longer leaks a small amount of memory on application startup.

20623 Framework: Removed deprecated binding interfaces namely: BooleanProvider, ListInterface, StringInterface, StringProvider, DataAvailableProvider, BindingInterface, BindPartInterface, ListDataProvider, ListDataNotifier, ListDataNotificationReceiver, TupleInterface, EnablingBinder, ActionBinder, StringBinder, and ListBinder.

20262 Framework: Removed HandleTypeMacFileRefNum and HandleTypeMacFileSpecPointer as valid types for BinaryStream, TextInputStream, and TextOutputStream.

17179 Framework: WeakRefs perform significantly better when there are a large number of them.

21962 IDE no longer quits when you have a modal dialog open and won’t throw an NOE if you try

21556 IDE: enabling Profile Code no longer causes an error when running/building

11101 IDE: Fixed Unhandled OutOfBoundsException when trying to use Extract Interface.

21936 IDE: no longer crashes if the REALSQLDatabase project item has a bad path

21902 IDE: no longer crashes when editing reports.

21088 IDE: On Windows, debugging code in a class destructor (as the app is quitting) no longer crashes.

21518 Linux IDE: building/running no longer throws an unhanded IOException

20805 Linux: Added new Graphics.HandleTypeCairoContext to obtain the Cairo Context from the Graphics. Removed HandleTypeGdkDrawablePtr and HandleTypeGdkGCPtr as these are no longer relevant to Picture Graphics. If you were using these types for Graphics that came from RectControls (i.e. GTK Widgets) you will need to update your code to use declares to get them instead.

19402 Linux: Can now print again at > 72 DPI.

19363 Linux: Drawing on a Graphics when the control/window isn’t yet visible no longer asserts.

20803 Linux: DrawInto with a Plug-in base control (like BevelButton) no longer crashes when drawing into a clipped graphics.

19487 Linux: Fixed line drawing, this affects various components, such as Listbox gridlines and Object2Ds.

19411 Linux: GetTemporaryFolderItem no longer leaks a file handle which could lead to the app running out of available file handles. This affected the Linux IDE, especially if a project had many picture items

20605 Linux: HTMLViewer.Handle now returns the WebKitWebView control (please refer to http://webkitgtk.org/reference/webkitgtk-webkitwebview.html on how to use this control)

21053 Linux: Linux builds now work better with the single app menubar feature of some distributions.

19692 Linux: MenuItem.Close now works.

20888 Linux: No longer generate an NilObjectException on Windows or Linux when resolving issues.

20705 Linux: Removed some duplicate code to find the executable path, our loader will pass this into our framework instead.

12034 Linux: Returning true from ConstructContextualMenu now suppresses the default ContextualMenu for that control.

19307 Linux: SpecialFolder.UserHome now tries to locate the user’s home directory a different way if the HOME environment variable isn’t set.

18882 Linux: The EnableMenuItems event now gets called properly when using the new Gnome global menubar (i.e. Ubuntu 11 or greater).

19034 Linux: The Graphics.LastPage property is now setup properly from the printer dialog.

20513 Mac Console/Web app builds now prefix the Libs folder with the Application name like other platforms

19629 MacCarbon: Graphics.DrawPicture now respects Graphics.Transparency.

17480 MacCarbon: No longer builds any PowerPC dylibs.

18984 MacCarbon: The minimum supported OS X version is now 10.5 (Leopard).

19452 MacCocoa, Linux: The default thread stack size is now 512KB.

20045 MacCocoa, MacCarbon, Linux: The EnableMenu event now fires for items in a dropdown ToolButton.

18923 MacCocoa, MacCarbon: All projects now build against the 10.6 SDK.

20313 MacCocoa, MacCarbon: CStr now respects custom decimal separators.

19564 MacCocoa, MacCarbon: FolderItem iteration no longer keeps the underlying FSIterator open until the FolderItem is destroyed. Instead, it is now closed when you reach the end of iteration. This fixes an issue where performing iteration over many directories can cause error -42.

19796 MacCocoa, MacCarbon: FolderItem.Child now raises an UnsupportedFormatException if you pass in an empty string.

19551 MacCocoa, MacCarbon: Repeated calls to FolderItem.Item with the same index no longer results in extra overhead.

19585 MacCocoa, MacCarbon: ShowURL no longer fails with URLs that contain spaces.

16253 MacCocoa: A single PushButton can now be set to both Default and Cancel.

17313 MacCocoa: Canvas controls can receive focus by tabbing or when the window opens (if appropriate).

19801 MacCocoa: Canvas.Scroll no longer causes drawing on top of the window’s toolbar.

17468 MacCocoa: changing the window size programmatically no longer stops MouseEnter/MouseMove/MouseExit events from firing.

12481 MacCocoa: ComboBox autocomplete is now case insensitive, but preserves the case of the text the user entered.

17789 MacCocoa: ComboBox.Text is now correct during its Change event.

17763 MacCocoa: dragging a file onto a save or open dialog now works correctly.

17075 MacCocoa: Dragging text into and inside a TextArea now works correctly.

11207 MacCocoa: DragItem.Action is now correct and the mouse cursor updates appropriately.

18864 MacCocoa: DrawString now draws at the right location for all fonts.

21229 MacCocoa: Dylibs in Plugins folder can now be built into Cocoa apps

20090 MacCocoa: Fixed Dock icon display problems.

19614 MacCocoa: Graphics.FirstPage, Graphics.LastPage, and Graphics.Copies now work correctly.

14938 MacCocoa: Implemented MoviePlayer.

16448 MacCocoa: Implemented StyledTextPrinter.

19092 MacCocoa: Japanese text now properly appears when editing a TextField.

17902 MacCocoa: ListBox now shows feedback when during a drag/drop operation.

17081 MacCocoa: ListBox.EnableDragReorder now works.

20895 MacCocoa: ListBoxes can get focus when the window opens (if appropriate).

18374 MacCocoa: MenuBars now work with PlainBox windows.

18765 MacCocoa: MenuItem.Visible is now respected for items in the application menu.

19818 MacCocoa: Modal dialogs can now accept file/data drops.

17777 MacCocoa: MouseDown event handlers for Placard controls are now called.

18216 MacCocoa: MouseDrag is not called after a call to DragItem.Drag that was performed from within the MouseDrag event handler.

19910 MacCocoa: MouseUp always fires, even if a menu was shown in MouseDown.

18128 MacCocoa: MouseUp is only called once when you show a MsgBox from within the MouseUp event handler.

21425 MacCocoa: MoviePlayer controls work on 10.6.

18199 MacCocoa: No longer crashes when running AppleScripts.

17224 MacCocoa: Now able to save Pictures with QTGraphicsExporter.

17787 MacCocoa: Now respects the value of a Window’s “MaximizeButton” property.

18225 MacCocoa: Now uses NSOpenGLContext.

21323 MacCocoa: Object2D.Fill now works when fill is below 50.

17555 MacCocoa: Pressing Command-Escape now uses completions from the ComboBox instead of a list of words.

17041 MacCocoa: pressing Shift-Tab in a TextArea now moves focus to the previous control.

19797 MacCocoa: RectControl.Close no longer leaves the underlying NSView in the view hierarchy (which could lead to performance problems).

20725 MacCocoa: saving a Picture as JPEG no longer ignores the quality parameter.

18056 MacCocoa: Setting App.MouseCursor back to the standard arrow cursor by assigning Nil now works correctly.

14081 MacCocoa: Setting Window.MouseCursor back to the standard arrow cursor by assigning Nil now works correctly.

16254 MacCocoa: TextField/TextArea EnableMenuItems events are called correctly.

19867 MacCocoa: The arrow cursors in System.Cursors behave correctly now instead of getting “stuck”.

20469 MacCocoa: The delete key now works as a keyboard shortcut for MenuItems.

18198 MacCocoa: The graphics returned in Listbox.CellbackgroundPaint when the Listbox does not have a border is now the correct width/height instead of being off by the border width.

16016 MacCocoa: The ListBox resize cursor now behaves correctly.

19868 MacCocoa: The Listbox.CellKeyDown event is now called as expected.

16369 MacCocoa: The menubar now changes when the main window changes.

19578 MacCocoa: The TextArea GotFocus event is now called reliably.

17247 MacCocoa: The TextArea LostFocus event is now called reliably.

14237 MacCocoa: The Titlebar is no longer visible when the window is fullscreen.

19713 MacCocoa: Updated Plugin Creator so it invokes the command line app correctly for Cocoa dylibs.

16069 MacCocoa: Window.MouseDrag coordinates are now correct when you move the window from within the MouseDrag event handler.

18189 MacCocoa: Windows can now be positioned offscreen instead of being constrained to the visible screen region.

17788 MacCocoa: Windows with the “Rounded Window” frame type now display with a title bar under Cocoa.

21941 Macintosh: all of the dylibs that ship with Real Studio are now code signed.

2718 Macintosh: FolderItem.IsReadable now returns False if the file (or folder) is not currently readable.

21510 Macintosh: Real Studio is now signed with a GateKeeper compatible certificate.

21303 Pictures embedded into web projects will have a correct mask if used as a Picture object at runtime.

21101 Plugins SDK: A function, REALGetPluginData, has been added to be able to safely access data defined in one plugin from another plugin.

14109 Plugins SDK: REALObjectIsA has been added to the plugins SDK to do an IsA check at runtime.

21027 Plugins: Attribute values are no longer ignored by the IDE.

19572 PostgreSQL Plugin: binding numeric types in prepared statements now works

21414 Revised code for cleaning up caches so it iterates forward through folder items instead of backwards to correct a potential nil object exception

19023 Shell: added new Canonical As Boolean property. By default the Shell operates in Non-Canonical mode, which means it does not wait on input for a new line to be received, and the reverse is true when in Canonical mode. This allows line editing capabilities (via control characters) when in Canonical mode.

21965 The case of menu handlers & properties can again be changed

21843 Web: .cgi files now have their permissions set to 755 on Mac and Linux

19488 Web: Added a client-side property to handle user inactivity. WebSession.Timeout specifies the number of seconds that the user is allowed to be idle. MouseMove and KeyUp events automatically reset this timer. Once the Timeout period is exceeded, the Session.TimeOut event handler is called.

20835 Web: Added a WebPage.ScrollTo method that allows you to scroll the window to a particular location.

12462 Web: Added WebDialog.MinWidth and WebDialog.MinHeight properties.

19478 Web: Added WebHTMLViewer.Print method.

19306 Web: Added WebSession.PrepareSession event to allow changing the HTMLHeader on a per Session basis

20305 Web: App.HandleSpecialURL no longer causes an internal server error in CGI deployments.

20273 Web: Building CGI apps for Windows now uses CRLF line endings for config.cfg, .htaccess and the application’s .cgi file.

18818 Web: Changing the case of a character within a WebTextField now updates the value of the field on the server correctly.

19378 Web: Changing WebPage.MinWidth and MinHeight now shows browser scrollbars when appropriate.

21599 Web: Clicking the Back button immediately after leaving a web app will now trigger a refresh instead of presenting an empty white screen.

17571 Web: Closing Web Controls no longer causes random JavaScript errors.

16368 Web: Controls contained in WebDialogs now draw properly when the dialog is resized.

16286 Web: Controls on a vertically scrolled WebContainer now receive clicks in the right location.

17474 Web: Controls on a WebDialog are now completely drawn when the dialog first appears.

21396 Web: Favicon.ico now uses “shortcut icon” instead of just “icon” for its rel attribute.

21592 Web: Fixed a bug where Drop Shadow styles did not work on Firefox 13

18911 Web: Fixed a bug which caused every control from every page to be refreshed every time data was sent from the server, even if they did not exist.

19064 Web: HandleSpecialURL no longer closes too soon after sending responses back to the client.

21195 Web: Horizontally scrolled WebListBoxes now report the correct column in the CellClick event.

19223 Web: IE users with ChromeFrame installed now have the browser and rendering engine set correctly.

20846 Web: Instances of WebPages, WebDialogs and WebContainers no longer overwrite each other’s CSS stylesheets.

14805 Web: iPod touch is no longer identified as an iPhone.

15628 Web: It is now possible to set all the values of a WebRadioGroup to False to indicate no selection.

18260 Web: Linear gradients now render in most places on Internet Explorer 7-9.

19459 Web: No longer causing JavaScript errors on Internet Explorer.

20903 Web: Now obeying the value returned from WebApplication.UnhandledException when dealing with WebApplication.HandleSpecialURL.

20083 Web: Optimized the redraw speed for WebListBox.

17154 Web: Pressing buttons on a WebToolbar will now dismiss all visible menus.

18851 Web: Subclassed web views with constructors should now work as expected and not raise compiler errors.

17993 Web: The Javascript Error Dialog now has a version that is small enough for handheld Android and iOS devices.

19682 Web: The screen that appears when a browser is disconnected from the web application now correctly shows the disconnect icon on all browsers.

19304 Web: Web applications no longer blindly send gzip compressed data regardless of browser settings.

21383 Web: Web Apps no longer appear to be continuously loading on desktop browsers

20904 Web: Web Apps no longer just crash without warning if an exception is raised somewhere in the WebApplication class.

17459 Web: WebButton: SetFocus works again.

15036 Web: WebButtons now have a background on Android devices.

16367 Web: WebContainer Shown event handler is now called when inside a WebDialog.

17566 Web: WebContainer Shown event handler is now called when using EmbedWithin.

19512 Web: WebContainers added at runtime using EmbedWithin now render their contents properly.

18097 Web: WebContainers can now be resized down to 32x32 pixels so they will fit within a WebToolbar instead of having to use the property inspector.

19047 Web: WebContainers no longer fire their Open and Shown events more than once.

17566 Web: WebContainers now fire the Shown event when added via the EmbedWithin method.

21278 Web: WebControls now consistently change appearance when enabled/disabled.

20554 Web: WebDeviceLocation no longer causes an OutOfBoundsException when requesting the location from IE8

21421 Web: WebDeviceLocation: The Error event now fires when an error occurs.

19873 Web: WebDialog.MinWidth and MinHeight are now set to 0 and 0 respectively for backward compatibility.

19860 Web: WebDialogs and WebContainers no longer call the Open event handler multple times.

19749 Web: WebDialogs containing TextFields no longer show artifacts on IE7 and IE8.

19861 Web: WebDialogs no longer call Shown and Resized event handlers multiple times when the dialog is first opened.

19248 Web: WebDialogs now appear in front of all other controls when the Show method is called; Pallete style can now be brought to the front of other palletes by clicking on the Titlebar. This is NOT supported on IE7.

20814 Web: WebDialogs now respect z-order properly

19258 Web: WebDialogs placed within a WebContainer now render relative to the WebPage instead of the WebContainer.

19511 Web: WebDialogs within WebContainers are now drawn properly.

19615 Web: WebFileUploader can now be created in a control array.

20680 Web: WebFileUploader control no longer breaks controls and events on other web pages.

18033 Web: WebFileUploader control now renders and functions correctly on IE9.

18285 Web: WebFileUploader now correctly changes appearance and disables buttons when Enabled = False.

21388 Web: WebFileUploader now correctly handles a file limit of -1 as infinite instead of as 1.

18515 Web: WebFileUploader now correctly handles files with ampersands (&) in the filename.

17410 Web: WebFileUploader now obeys the Limit property set at design time.

20408 Web: WebFileUploader: The Add button now works under IE8.

18767 Web: WebHTMLViewer now always send URLs to the browser.

19645 Web: WebImageView now has a PictureChanged event that fires when the image actually arrives at the browser.

19663 Web: WebImageView now sends the correct image URL to the page when it is set in the property inspector.

18992 Web: WebLinks no longer cause a JavaScript error if a URL set in code contained an apostrophe.

17959 Web: WebListbox no longer calls the SelectionChanged event handler twice.

19051 Web: WebListBox no longer causes a JS error on IE when refreshing.

19367 Web: WebListBox: Columns now render the correct size regardless of left and right border widths set in Cell or Columns styles.

19952 Web: WebListBox: Fixed a bug which caused the selection state to get out of sync between the server and the browser.

17293 Web: WebListbox: Fixed a JS error caused by changing the ColumnCount at runtime.

21803 Web: WebListBox: No longer uses # of headers to determine ColumnCount

20794 Web: WebPopupMenu: Now throws an OutOfBoundsException if ListIndex is set to an illegal value.

17901 Web: WebListBox: SelectionChanged event now fires if the row that was selected is removed.

15864 Web: WebListBoxes placed on WebDialogs no longer select the wrong row after they’ve been scrolled.

20654 Web: WebMapLocation no longer blocks when converting an address to Latitude/Longitude.

18109 Web: WebMapViewer now updates properly when placed on a WebDialog.

21673 Web: WebMoviePlayer - Fixed Firefox’s inability to play certain mp4 videos.

19531 Web: WebMoviePlayer no longer throws a JavaScript exception when the Reset method is called.

18195 Web: WebMoviePlayer now correctly loads movies assigned at runtime.

20813 Web: WebMoviePlayer now handles an empty string as an indication that a browser can’t handle a video.

20431 Web: WebMoviePlayer will now raise the Error event with an ErrorCode indicating that the movie is incompatible with the browser.

20811 Web: WebMoviePlayer: Setting boolean properties no longer causes JavaScript errors.

18747 Web: WebMoviePlayer: Webkit browsers now correctly position videos when they are changed to full screen.

17259 Web: WebPalettes can no longer be dragged completely off-screen by a user.

18905 Web: WebPicture constructor that takes a folderitem has been fixed.

19079 Web: WebPicture constructors now accept Picture data created in our framework.

18881 Web: WebPopupMenu now always obeys ListIndex = -1.

16975 Web: WebRadioButton captions now correctly appear disabled on IE8.

21191 Web: WebRadioButtons can no longer be selected by clicking the label if they are disabled.

20681 Web: WebRadioGroup .Rows and .Columns methods have been removed. Use the Cell methods instead.

14948 Web: WebRadioGroup CellTags are now Variants.

19972 Web: WebRadioGroup now raises an OutOfBoundsException instead of failing silently for bad values.

19973 Web: WebRadioGroup.CellValue and CellSelected setters now obey a value of False.

19664 Web: WebRectangle and WebImageView help tags now appear properly.

19681 Web: WebSession now has an AllowUnsupportedBrowser event. It is called when a browser that does not fit our criteria tries to connect to the web app. Also cleaned up the IE ChromeFrame page to make more sense and added a generic Unsupported Browser page for other browsers.

20411 Web: WebSession now has an OrientationChanged event which fires if the device has been turned.

14194 Web: WebSession: Added AllowUnsupportedBrowser event to allow developers to decide whether or not to allow an unsupported browser and alter the error page if necessary.

19154 Web: WebSession: Added an event called PrepareSession which allows users to customize the Web App page headers on a per-session basis

17933 Web: WebSession.PlatformType now includes AndroidTablet and AndroidPhone.

20477 Web: WebSliders now update correctly when values are set at design-time or in code.

20675 Web: Websockets have been disabled in 2012r1. The WebSocket protocol is scheduled to be updated and re-enabled for 2012r2.

17126 Web: WebStyle gradients now render for IE. Note: IE only supports 2 point gradients.

21412 Web: WebStyle: Firefox v7 and above now uses the CSS3 border radius property instead of the mozilla variant

19257 Web: WebTextArea now renders the correct height when inside a WebContainer.

18093 Web: WebTextField no longer needs TextChanged event to be implemented for Text property to update when field type = Number.

20054 Web: WebTextField now displays the correct height in IE7.

18058 Web: WebTimer browser components are now turned off if the application goes offline.

19723 Web: WebTimer: Setting the mode to 1 or 2 will now works without having to set back to zero first.

21444 Windows IDE: ActiveX controls can have properties that override our own RectControl properties, in this case we now suffix the ActiveX control property with an underscore, this fixes issues where the ActiveX control would not show up, like the Microsoft Web Browser control

21135 “Windows: Added new OLEObject constructor that takes a COM.IDispatch, i.e.

OLEObject.Constructor( disp As COM.IDispatch )

The dispatch interface is ref counted and released when the OLEObject is destroyed.”

19730 Windows: App.UseGDIPlus should work properly whether there is an App.Open Event handler or not and whether App is subclassed or the blessed app is a subclass of App.

18931 Windows: Drag Picture is now offset properly when a Toolbar is present.

17759 Windows: Dragging a picture with DragPicture no longer flickers (same fix for drag rectangles).

19130 Windows: Drawing a non-alpha Picture onto an alpha Picture no longer causes a failed assertion.

20080 Windows: DrawInto on a Graphics from a Picture with an alpha channel no longer causes a failed assertion.

20455 Windows: Embedding a hidden ContainerControl no longer causes the window to refresh (which causes a flash) where the ContainerControl is placed.

19465 Windows: Fixed drawing TabPanel offscreen (i.e. by using DrawInto) when Windows Classic Theme is enabled. This could also be seen in the IDE when a TabPanel control was on the Window Editor.

20952 Windows: Font changes on a GDI+ graphics obtained from an alpha picture now works.

19241 Windows: Graphics DrawCautionIcon/DrawNoteIcon/DrawStopIcon no longer causes graphics drawn after to be misplaced (when App.UseGDIPlus is enabled).

11711 Windows: HTMLViewer no longer displays a Javascript error dialog every time there’s a Javascript error.

8611 “Windows: HTMLViewer now optionally supports WebKit on Windows. Adding it increases your app size by 20MB. This new renderer is based off of Chromium Embedded and has a few limitations:

  1. Can’t prevent print dialog from showing

  2. Can’t zoom text (zooms everything instead)

  3. Can’t track document load progress”

    20498 Windows: Int64 to String conversion no longer gives different results on 32bit vs. 64bit Windows system.

    19479 Windows: No longer crashes when running an app with sounds that were dragged into the project (only MIDI and MP3s were affected, WAV files were OK).

    11794 “Windows: Pictures with mask now draw properly on printer graphics assuming the printer supports alpha blending. To find out if the printer supports alpha blending you can use this sample code:

Declare Function GetDeviceCaps Lib “”gdi32”” ( hdc As Integer, index As Int32 ) As Int32 Const SHADEBLENDCAPS = 120 Const SB_NONE = 0 Const SB_CONST_ALPHA = 1 Const SB_PIXEL_ALPHA = 2 Const SB_PREMULT_ALPHA = 4 Const SB_GRAD_RECT = &h10 Const SB_GRAD_TRI = &h20

Dim g As Graphics = OpenPrinterDialog(Nil, Nil) Dim hdc As Integer = g.Handle(Graphics.HandleTypeHDC)

If GetDeviceCaps(hdc, SHADEBLENDCAPS) = SB_NONE Then Msgbox “”This Printer does not support alpha blending”” Else Msgbox “”Yay! This Printer supports alpha blending”” End If”

19742 Windows: Playing sounds on a machine without a sound device no longer throws a failed assertion.

9078 Windows: Setting the default button for a YesNo or YesNoCancel MsgBox now works properly.

19185 Windows: Setting the text of a Clipboard no longer truncates the last character (for the CF_TEXT format, which is a non-unicode based format that older apps would support).

19738 Windows: Sounds now play properly without having to set an initial Volume.

20569 Windows: The Graphics context returned by OpenPrinter now initializes the Copies property to 1 instead of 0.

16534 Windows: Toolbar items no longer switch positions when items are enabled/disabled.

18980 Windows: Type Library Reader plugin has been removed.