Xojo 2014 Release 3 adds the iOS build target. You can now create apps for iOS 7 and iOS 8!
Additionally, there are over 200 other changes, including:
Using statement for working with namespaces
Added UInteger type, which maps to UInt32
Constants can now have explicit data types
New Text data type and supporting methods for improved text handling
New Auto data type for storing any type or object
New Xojo.Core classes including:
Hierarchical ListBox enhancements
Improved compiler error messages
SSLSocket now supports TLS v1.1 and v1.2 and now defaults to TLS v1 instead of SSLv3
35523 All: ContainerControl.Close now fires all the control's Close events before firing control destructors. It used to interleave the two, meaning that you could not safely refer to any of the controls on the layout from the ContainerControl's Close event.
35189 All: Converting a Variant containing a String to a Currency no longer gives incorrect results.
20801 All: Dividing currency values now gives correct results and doesn't use floating point internally.
33416 All: Plugins calling REALYieldToRB on background threads no longer trigger socket polling.
34263 All: SSLSocket: Intermediate certificates are now properly read and relayed to the client.
21462 Compiler: "-Nil" now gives a compile error instead of a failed assertion.
33869 Compiler: Currency division and multiplication works correctly in XojoScript.
35645 Compiler: Fixed a bug that allowed arithmetic operations to be performed with enumeration values.
27792 Compiler: Fixed a failed assertion triggered by calling methods with certain broken prototypes. Specifically, it no longer mistakenly accepts methods which have multiple Assigns or ParamArray parameters as legal candidates for anything, and no longer accepts methods which have non-Assigns parameters following ParamArray as candidates for any call; this will never work anyway because such declarations are erroneous.
24671 Compiler: Fixed a failed assertion triggered by enumeration values larger or smaller than can be represented in an Int32.
23557 Compiler: Fixed a failed assertion triggered by enumerations that had an underlying type of Int64.
22813 Compiler: Fixed a failed assertion triggered by having a computed property that is an array.
31305 Compiler: Fixed a failed assertion triggered when an interface aggregates a non-interface type.
34710 Compiler: Fixed assertions related to zero-length structures.
36377 Compiler: Fixed file type icons not being put in the application bundle.
32292 Compiler: Fully qualified names can now be used to access private items in the same scope instead of incorrectly saying that the item is private.
21987 Compiler: Implicit calls to Operator_Convert now obey scope restrictions.
34920 Compiler: Improved error reporting and recovery when trying to instantiate a non-class type with New.
34986 Compiler: Improved the error given when an Operator_Convert function is needed for a type conversion but is marked as protected or private.
15581 Compiler: Improved the error message given when passing a type where a value of that type is required.
35024 Compiler: Improved the error message given when trying to invoke an instance method from a shared method.
4534 Compiler: It is now an error to have types and modules with the same name in the same scope.
18083 Compiler: It is now possible to dereference a pointer using a structure type declared as a public (not global) member of a module: import the module into the current scope via the Using statement, then dereference using the unqualified structure name.
1233 Compiler: Name lookup has been fixed so that global items cannot be accessed through arbitrary unrelated namespaces. For example, the expression 'REALbasic.REALbasic.REALbasic.Dictionary', which used to resolve to the global Dictionary class, now results in a compiler error.
22578 Compiler: Name lookups no longer work out of order upon reaching module scope, recursively searching for properties, then for constants, then for methods; instead, they follow the same name search process used everywhere else, searching from innermost to outermost scope.
31306 Compiler: No longer crashes when a class claims to inherit from an enum or a structure.
15755 Compiler: No longer crashes with circular Operator_Converts.
23326 Compiler: No longer erroneously considers shared methods as possible candidates for overriding when computing virtual method tables.
35022 Compiler: No longer fails to look for operator methods on interface types.
32450 Compiler: No longer generates incorrect code for functions returning structures in XojoScript.
21678 Compiler: No longer has a failed assertion when '#pragma warning' is misused.
8286 Compiler: The compiler no longer asserts when it runs into cycles with class inheritance and multiple classes with the same name.
22672 Compiler: The compiler no longer looks at private methods from a superclass when checking to see if a class has all of the methods required for the interfaces it implements.
35673 Compiler: The compiler now issues an error if there are multiple structures or enumerations in global scope with the same name.
28812 Compiler: The currency data type now converts between other numeric types correctly in XojoScript.
23383 Compiler: The scoping behavior for enumerations in a Window or a ContainerControl is now correct.
26576 Compiler: The scoping behavior for structures in a Window or a ContainerControl is now correct.
34479 Compiler: When invoking an extension method on an expression, the compiler now checks to see if the expression's type would require a conversion to be compatible with the extension method's first parameter.
36565 Console: Applications using SSLSocket.Poll and never calling App.DoEvents no longer leak memory.
30169 Debugger: Arrays of Object now show their content correctly.
35164 Debugger: Computed Int64 properties with negative values now display correctly in the debugger.
34531 Debugger: Debugger once again shows the Sub/End Sub (first and last lines) on a method.
35173 Debugger: Fixed an exception triggered when viewing structures and stepping.
13277 Debugger: ListBox contents display without having to click or mouse over the row.
21705 Debugger: Sorting the indices of an array now performs a numeric sort instead of a string sort.
33657 Debugger: Stepping in the debugger while viewing a DatabaseRecord's contents no longer results in rows being accumulated.
35174 Debugger: Structures passed ByRef show correctly in the debugger.
35441 Debugger: The background color of selected rows in the debugger is no longer incorrect.
34574 Debugger: The debugged application no longer crashes if a RecordSet whose contents are being viewed in the debugger goes out of scope.
7421 Debugger: The debugger can now show arrays stored inside of a Variant.
12066 Debugger: Variable values display without having to click on them or mouse over them.
8569 Debugger: Variant values in the debugger now display without mousing over, clicking, or otherwise forcing the list to redraw.
10738 Framework: Setting the Serial.Baud using the class constant values for 3600, 7200, 14400, or 22800 on OS X now works properly instead of always resulting in a 56700 baud rate.
34706 IDE: Fixed cursor positioning in the code editor with alternative code editor fonts.
20096 IDE: Added tooltips for Find, Errors and Messages icons at the bottom of the main IDE window.
35796 IDE: App.Cleanup no longer appears in the Messages pane when a web app quits.
35323 IDE: Autocomplete of new modules works as expected and properly aliases Integer to Int32 (with provisions for making it alias to int64 when required).
35150 IDE: Autocomplete on a control set (array) no longer offers items like Ubound, etc. which apply to arrays.
36445 IDE: Building for Xojo Cloud no longer requires having Use Builds Folder selected.
27717 IDE: Can type in a full method signature to the method name portion and it will be parsed apart correctly.
34888 IDE: Changes to compatibility flags now stick.
33556 IDE: Changing analysis warnings dirties the project.
36689 IDE: Changing the index of a control in a control set that had children parented on it no longer might end up with those children orphaned.
36636 IDE: Code editor is speedy regardless of the amount of text on the clipboard.
33253 IDE: Command lines arguments are passed to a debug run of the web app as expected.
35870 IDE: Compatibility flags (in Advanced Inspector) behave and stay set when changed.
4568 IDE: Constants no longer write the item name twice to Binary and XML projects.
36933 IDE: Controls no longer lose their supers when dragged.
34260 IDE: Creating an overloaded method is displayed properly.
32764 IDE: Delete key works in IDE script editor.
31468 IDE: Deleting a group on a layout or class, like "Methods", "Constants", "Properties" etc, no longer deletes the the layout or class and instead removes all the contained items.
27032 IDE: Double-clicking the warning that says "The bundle ID is required to build your application" now takes you to the OS X project item.
30370 IDE: Event handlers added to a custom class do show up when you go back to a window using an instance of the control.
35116 IDE: Extension methods for arrays are now displayed by auto-complete.
34699 IDE: Extension methods on arrays of items now autocomplete.
9591 IDE: External items can NOT be duplicated as it causes all sorts of havoc.
27249 IDE: Filtering no longer shows multiple entries for overloaded methods on a class or module. You get proper references to each overload as expected.
34577 IDE: Fixed an exception in the script editor window.
8165 IDE: Fixed ListBox highlighting for editors.
30828 IDE: Having a style open in several editors no longer causes issues and the displays of the style remain in sync as you edit them. To see this you'd have to have the same style open in several workspaces showing the same state (normal, hover, pressed, visited).
33563 IDE: Inspector Behavior dialog no longer shows Internal properties.
35802 IDE: Inspector behavior now works with custom enumerations that have negative values.
32557 IDE: License keys now show up properly in the License Key dialog.
35435 IDE: ListBox and PopupMenu popout window editors that are activated by pressing Return when the control is selected now remain on the screen instead of opening and closing immediately.
34760 IDE: Made it so loading a binary project that has an unsupported project type doesn't throw up exceptions but just quits trying to load more gracefully, similar to how Text projects are handled.
35945 IDE: Method editor no longer beeps when the name is changed.
36626 IDE: Navigator rows that have no sub rows no longer continue to show as expandable.
35237 IDE: Negative values in enums work.
35332 IDE: No longer shows TabStop and TabIndex properties for Desktop Segmented Controls.
34185 IDE: On Windows, Copy File Steps with a subdirectory specified will copy recursively in to the specified subdirectory.
34145 IDE: On Windows, the IDE no longer fails to load plugins after multiple (lots and lots) IDE crashes.
35311 IDE: Parameters and ReturnType autocomplete fields no longer have issues if there was more than one valid match.
11018 IDE: Pressing Stop when a build step dialog shows Stop or Cancel will cancel the build.
35679 IDE: Progress window no longer has thread or timer that starve the loading process.
35861 IDE: RBScript is no longer listed in the library for web projects.
8423 IDE: Recent menu items show the unique part of the path so you can better identify files.
8189 IDE: Renaming a property no longer drops existing view behavior settings.
14865 IDE: Selection of blocks in the Code Editor includes the top line (which the example show indicates it doesn't and hasn't for a VERY long time).
35947 IDE: Separator line extends all the way from left to right for Navigator.
34040 IDE: Shared methods can no longer be added to Modules.
30430 IDE: Tab order when creating a method behaves as expected and does not move focus to the main window away from the floating palette.
27308 IDE: Tab order when creating a method no longer jumps around.
7105 IDE: Tabs torn off from a Workspace retain their context much better.
35812 IDE: Text is no longer cut off in the update window on Windows.
12962 IDE: The Code Editor contextual "Switch To" menu now properly switches to the selected project item member.
35433 IDE: The entry in the navigator and the item name in the inspector update after you initially enter some text for the menu item title.
34256 IDE: The OK/Cancel buttons on the Project Chooser are now positioned properly on Windows and Linux.
14738 IDE: Two visual oddities in the layout editor fixed: 1) When you have a control selected and scroll the selection handles would not go off the layout area 2) If you add a subclass to a window by dragging an instance onto the window in the Navigator the window may not get a tray area drawn but it should
8281 IDE: Typing no longer leaves the editor in a state where it still thinks the shift key is down if you type a closing parenthesis ‘) ' and immediately scroll.
15195 IDE: WebStyles, WebPage, MenuBars and Movies all show their respective popups in the inspector sorted lexically.
34358 IDE: When jumping to a location via the contextual menu, "Goto Location .." should put focus in the Code Editor (where applicable) and NOT the combo box of choices.
34765 IDE: Workspaces windows no longer behave like they are connected together.
14564 IDE: You can now search a project for a style which displays the controls and pages that use that style in the search results.
18118 IDE: You can use a valid integer literal form for the values in the enum list. This includes &b, &h and &o as well as integer literals with no & prefix.
29374 IDE: You cannot open a project until the IDE has finished loading.
35062 JSONItem: Internal properties are now properly private.
30160 Linux: Applications that are paused in the debugger no longer eat 100% CPU.
36166 ListBox: The border now looks correct on Yosemite when the "increase contrast" accessibility option is enabled.
35955 MacCocoa: BevelButtons now use Yosemite's focus ring animations.
34665 MacCocoa: Calling the Font function with an out of bounds parameter now throws an exception instead of silently failing.
34321 MacCocoa: Checkboxes and other controls now have the expected animations when ran under 10.10 Yosemite.
31366 MacCocoa: Controls no longer show'stale' contextual menus if the ConstructContextualMenu returns False.
34378 MacCocoa: Fixed ListBox.DrawInto drawing things at the wrong location when the destination's y coordinate was non-zero.
25365 MacCocoa: Graphics.DrawPicture no longer interpolates the image if the AntiAlias property is set to False.
29734 MacCocoa: Mouse enter, move, and exit events now fire for global floating windows even if the application isn't active.
36736 MacCocoa: Picture.Open will now load PDFs like it used to in prior versions.
20823 MacCocoa: Setting a timer's Period property inside of the Action event no longer makes the timer fire continuously.
5120 MacCocoa: The disclosure triangle shown for a folder in a hierarchical ListBox now shows the proper color when the row is selected.
35341 MacCocoa: The underlying NSWindow for a Window is no longer marked as restorable.
33795 MacCocoa: Toolbars no longer overlap the window content on OS X Yosemite.
30432 MacCocoa: Window.Restore now functions correctly.
34501 Networking: HTTPSocket and HTTPSecureSocket no longer strip off user specified Content-Length or Content-Type headers if no post content was specified. POTENTIAL BEHAVIOR CHANGE.
35171 RecordSet: No longer crashes when retrieving columns where no data is available. This was happening specifically with MySQL, but could also occur with other databases.
33778 Reports: When saved in new versions, Reports correctly write colors in Text projects. Older versions would write them incorrectly as &cAARRGGBB (which is what would get restored) instead of as &cRRGGBBAA.
34199 Shell: The shell now polls more often than it did previously on Windows, now on par with the other platforms, so DataAvailable events should fire more frequently.
35524 Web: Apps no longer crash if Session.Quit is handled while a response to a browser is in progress.
36213 Web: Fixed a bug which could cause a NilObjectException in the web framework if a Session was being destroyed while a browser response for that Session was being created.
33172 Web: Fixed a bug which could cause WebContainers, WebDialogs and WebPages to lose the ability to respond to events if an item inside them was removed with the Close method.
16097 Web: MouseScrollWheel events no longer pass through other controls to scroll the items behind them.
32132 Web: MouseWheel scroll events now go to the correct control.
34682 Web: RGBA colors are now sent to Internet Explorer 9 and above.
18123 Web: Updated web framework to make sure all external resource requests match the protocol of the app itself (http vs https).
34282 Web: Updated WebYouTubeMovie embed code to latest API.
23837 Web: WebApplication: Removed Undocumented Quit method.
27173 Web: WebContainer.ContentsScrolled no longer fires if the browser doesn't have x and y scroll information available.
34544 Web: WebContextualMenus no longer get disabled when dialogs and containers are removed.
35577 Web: WebControl Lock properties can no longer be changed after the control has been sent to the browser.
23681 Web: WebControls now respond to touch events as if they were left-mouse clicks.
36667 Web: WebCursors no longer work (or autocomplete) in non-web projects.
24858 Web: WebDialog Palettes no longer have a broken close icon when they first open.
21684 Web: WebLabel backgrounds now have the proper transparency on IE9 and above. IE8 still does not support opacity.
34242 Web: WebLabel now supports underline, strikethrough, and overline styles.
27491 Web: WebLabels embedded in multiple levels of WebContainers or WebDialogs are no longer cut off.
19928 Web: WebListBox no longer confuses the backing data between rows after calling InsertRow, DeleteRow or setting the ColumnCount.
36787 Web: WebListBox. Fixed a bug which caused all WebListBox controls to share the same selected row style.
32330 Web: WebPopupMenu now fires its SelectionChanged event on key events.
36487 Web: WebRadioGroup now has proper error messages set when an exception is raised.
34546 Web: WebSegmentedControl no longer fires Action event for each segment when setting the ListIndex.
34345 Web: WebSession timeouts and WebApplication timeouts are now separated. WebApplication.SessionTimeout = The number of seconds after a browser disconnects that the session will actually be destroyed WebApplication.Timeout = The number of seconds after the last WebSession is destroyed that a CGI application will quit.
23820 Web: WebSession: Fixed a bug which could cause NilObjectExceptions if you refreshed the browser too quickly.
34335 Web: WebSession: Improved the efficiency of calling Quit in terms of how quickly the session gets released.
34787 Web: WebTextField no longer sends its contents to the server on lost focus if the contents have not changed.
30289 Web: WebTextField now works properly with password autofill mechanisms.
35602 Web: WebTextField.TextChanged event now only fires when the text actually changes.
34451 Web: Webtoolbar now responds to touch events on iOS and Android devices.
34639 Web: WebYouTubeMove works on iOS again.
33681 Windows: Combobox/PopupMenu MouseWheel event now fires even if the mouse cursor is not positioned over the control since this is what Windows expects anyway, this fixes issues in the IDE where the Method/Property Names could be changed by mistake
35178 Windows: Listbox content now updates properly when the user scrolls using mouse gestures (i.e. finger scrolling).
36357 XojoScript: The DebugBuild constant, which was always set to False, is no longer automatically added to all XojoScripts. Total: 169
34429 Compiler: 'Using' is now a reserved word in the language.
34414 Compiler: A new intrinsic namespace, "Global", provides access to the global namespace. This lets you treat the global namespace as though it were a module, referring to its members directly, which can be useful if you want to use a global symbol which is shadowed by some local declaration.
33438 Compiler: A new type, Text, has been added for dealing with textual data. This is intended to supersede the current String data type, which has the problem of representing both a bag of bytes and textual data.
34217 Compiler: Added a "Using" statement to the language. This allows for more compact code when dealing with nested modules.
The "Using" statement imports the public members of a module into the current scope, making them available for unqualified lookup as though they had been defined at the point where they were imported. Imported symbols may not redefine names which are already declared in the current scope, though they may shadow names defined in outer (containing) scopes. Methods are an exception, since they may be overloaded based on their parameters. A Using statement inside a method body may refer to modules imported by previous Using statements, but Using statements which belong to classes or modules have no defined evaluation order, and must each define their target modules independently.
32423 Compiler: Added the UInteger data type, which is an alias for UInt32 on 32-bit builds and UInt64 on 64-bit builds.
3317 Compiler: Locally scoped constants can now have an explicit type.
34613 Compiler: The language now supports explicitly typed constants in non-local scope.
34746 Desktop: Added a RowDepth function to ListBox that allows one to determine the nesting level of a row.
35817 Desktop: ListBox now has a getter/setter pair of functions, called RowIsFolder, to allow a row's "folder" status to be toggled after the row has been added to the ListBox.
31126 Framework: Added TLS v1.1 and v1.2 support and constants for SSLSocket.
30213 IDE: Added new General Preferences to show types and default values in the Navigator.
36661 IDE: Added Preferences to control how default values and types show in the Navigator.
36885 IDE: Failing to create or update the cache files for debug compiles no longer causes an exception but it will mean compiles for debugging are potentially slower without the cache.
35952 Language: Added String.ToText method. This function attempts to convert the String to Text assuming there's a known encoding and that those bytes are valid for that encoding, otherwise an exception is raised.
34309 Language: Added UInteger type.
19412 Web: Added App.HandleURL event which can be used to return content for Google's AJAX Indexer.
27156 Web: Added HandleURL event for handling any request which would normally result in a 404 Not Found error. This will allow using just about any url for program specific uses.
29283 Web: Exposed Windows Service events Pause, Resume and Stop in WebApplication.
34399 Web: WebApplication: Added HandleURL event to allow processing requests which would have resulted in a 404 Missing Page response.
31412 Web: WebApplications can now intercept 404 File Not Found errors.
31768 Web: WebButton now has an AutoDisable property which disables the button when it is clicked (assuming the Action event has been implemented).
17528 Web: WebSession: Added a property Connection as ConnectionType which indicates if the browser is connected via a WebSocket or AJAX. CGI apps will always have a value "AJAX". Total: 22
34949 All: RuntimeException has gained a Reason property, which is of type Text and supersedes the existing Message property. It has also gained CallStack method which returns an array of Xojo.Core.StackFrame objects.
34791 Compiler: Added a new type called Auto, which performs automatic boxing and unboxing of data. It's similar to Variant except that it does not perform any runtime conversions.
35064 Compiler: CType expressions can now be used as the left hand side of the . operator.
34932 Compiler: Improved the quality of errors reported when trying to call functions in an incorrect way.
35162 Compiler: Structures on iOS cannot contain inline strings.
19052 Compiler: When a class does not fully implement an interface, the error list now shows which methods are missing.
9890 Debugger: Items in arrays of String can now be inspected like any other string value.
8204 Debugger: The debugger now supports typing names in the variables pane to jump to items.
36336 Framework: SMTPSecureSocket: Added a property for specifying whether you want to use STARTTLS or SSL/TLS for connecting to an SMTP server.
36337 Framework: SSLSocket, HTTPSecureSocket, SMTPSecureSocket and POP3SecureSocket now default to use TLSv1 instead of SSLv3.
34698 IDE: About box licenses pane sorts descending and highlights keys that were valid when the build was made but have since expired. Note that downloading keys will ONLY put keys in the DB that were / are valid for this build based on the build date.
34512 IDE: Added Xojo Cloud to list of targets in the constant editor for dynamic constants.
36880 IDE: Attributes are pretty forgiving and will now simply use a quoted version of a keyword if you set one as the attribute name.
34268 IDE: Error reports now include error numbers as well as error messages if they are set to be non-zero.
19636 IDE: In the Code Editor, Shift-Return adds "Then" and "End If" when needed. Also, "#if" is closed properly with case matching "#endif".
36915 IDE: Locking controls no longer causes items to lose super.
34967 IDE: On Shared Inspector, changed text of the "auto increment version info" property to say "auto increment version". Note that this does NOT change the actual property name.
36331 IDE: Only usable resize handles show in layout editor.
2778 IDE: Properties defined as an Enum type will use the enumeration from the project for the source of the enumerated values it can take on in the Inspector.
33923 IDE: We now write the TOC to icns files and no longer write out lots of 8 byte icns files in the IDE resources directory.
33933 Mac: System.Gestalt is now deprecated as the underlying Gestalt function has been deprecated since OS X Lion.
31524 MacCocoa: Applications now link against the 10.9 SDK.
35161 Web: HTTP Responses now include a standard HTTP/1.1 response messages.
35491 Web: Standalone apps will now automatically quit if they could not bind to the requested port.
30101 Web: Web Applications now include an X-Frame-Options header by default with a value of SAMEORIGIN which gives most users the benefit of this header. Developers may change the value of this option by changing the value of the WebApplication.Security.FrameEmbedding property.
36245 Web: Web Framework now correctly recognizes Internet Explorer 11 on Windows Phones.
31352 Web: WebFile.URL no longer relies on the existence of a Session if its Session property is set to Nil.
34486 Web: WebTextfield now triggers a TextChanged event when text is pasted into the field for better compatibility with password managers.
36505 Web: WebToolbar.RemoveItem now sets the exception message when raising an OutOfBoundsException. Total: 29
Docs and examples
35027 DocLangRef: Added a note to RectControl.DrawInto to indicate that it does not work with HTMLViewer or OpenGLSurface.
35350 DocLangRef: Added information to User Guide Book 1 (section 10.6) on how to replace the default projects that are created when you select Desktop, Web or Console from the Project Chooser.
34195 DocLangRef: Added missing InNewWindow parameter to WebControl.ShowURL method.
35421 DocLangRef: Added pages for WebGraphics.Save and WebGraphics.Restore.
36991 DocLangRef: Added SMTPSecureSocket.SMTPConnectionMode.
34774 DocLangRef: Added WebListBox.ColumnHeaderStyle page.
35704 DocLangRef: Corrected note about Windows behavior for FolderItem.TrueItem.
36958 DocLangRef: Corrected sample code for RectShape.Height and Width.
36662 DocLangRef: Dictionary.Count now displays as read-only.
34812 DocLangRef: Fixed typo on Italic page.
36699 DocLangRef: IOException now links to NSError for a list of OS X error codes.
36433 DocLangRef: Noted that HTMLViewer.UserAgent works on Windows.
35051 DocLangRef: On Thread page, fixed Pragma link in "See Also" section.
36062 DocLangRef: PopupMenu.AddSeparator now notes that separators are selectable on Windows and Linux.
35335 DocLangRef: Removed incorrect quotes from Pragma Unused example.
35642 DocLangRef: Removed incorrect WebMapViewer image.
34714 DocLangRef: Removed out-of-date screenshots from OpenDialog page.
35474 DocLangRef: Removed reference to Real Database on DataControl.Database page.
35402 DocLangRef: Updated HTTPSocket (and HTTPSecureSocket) Get, GetHeaders, Post and SendRequest to indicate that the socket ErrorCode is set to -1 if the Timeout value is reached.
34521 DocLangRef: WebListBox.Cell cannot use -1 to get entire row/column values.
34711 Examples: Corrected path to graphics for Desktop/Controls/ListBox/SouceListExample and fixed compilation errors in Samples/SlideShow.
34965 Examples: Fixed layout and sizing for Add/Edit Invoice dialog in EEWeb.
35348 Examples: Fixed SSLTest instruction text to have correct command-line syntax for setting port.
35346 Examples: Set name of SSLTest app to SSLTest for Xojo Cloud.
35347 Examples: Set SSLTest port to 8081 in Shared Build Settings.
34837 Examples: Updated BinaryStream example to check for existing files and to use Encodings.
34761 Examples: XojoUnitConsole now has correct name for Windows app and test results output file. Total: 27
Release Total: 247