Release 54

Release Information #

Recommended Xojo Version: 2024 Release 1

PlatformNewAddedFixedChangedRemovedRelease Date
Desktop112650February 20, 2024
Mobile for iOS20911February 20, 2024
Web5132540February 20, 2024
82540101

Desktop Changes #

TypeTicket NumberDescriptionDate
NewNoneGraffitiPagePanelDec 26, 2023
AddedNoneGraffitiEditor.InsertHTML has a new selectContent as Boolean = False parameter for selecting inserted content.Jan 19, 2024
AddedNoneGraffitiModalInstance.Placements enumeration. LeftTop, LeftMiddle, LeftBottom, CenterTop, CenterMiddle, CenterBottom, RightTop, RightMiddle, RightBottomFeb 18, 2024
AddedNoneGraffitiModalInstance.Placement = GraffitiModalInstance.Placements.CenterMiddle property.Feb 18, 2024
AddedNoneGraffitiModalInstance.PlacementBoundaryMargin as Integer = 10 property. Determines distance from the window’s edge when using an outside placement.Feb 18, 2024
Added244GraffitiScrollableArea has a new read only MaximumX as Integer property.Dec 20, 2023
Added244GraffitiScrollableArea has a new read only MaximumY as Integer property.Dec 20, 2023
Added244GraffitiScrollableArea has a new PositionX as Integer property.Dec 20, 2023
Added244GraffitiScrollableArea has a new PositionY as Integer property.Dec 20, 2023
AddedNoneGraffitiSyntaxEditor.ShowGutter as Boolean = True property.Feb 1, 2024
AddedNoneGraffitiTagField.IndexOf( item as GraffitiTagFieldItem ) as Integer function.Dec 29, 2023
Added254GraffitiTagField.SelectedItems() as GraffitiTagFieldItem() function.Dec 29, 2023
AddedNoneGraffitiTagField.Remove( item as GraffitiTagFieldItem ) method.Dec 29, 2023
Fixed257GraffitiCalendar will now honor the Language property when set from the Opening event. Due to a timing issue on iOS with MobileHTMLViewer, there may be a brief delay where English language is visible.Jan 2, 2024
Fixed266GraffitiEditor now supports changing fonts and defaults after initialization.Jan 5, 2024
Fixed288GraffitiEditor should now preserve empty lines when passing HTML content to InsertHTML.Jan 19, 2024
Fixed259GraffitiKanban now applies a minimum height to column drop areas to allow dragging items to empty columns.Jan 3, 2024
FixedNoneGraffitiModal no longer applies the OverlayColor of GraffitiModalInstance’s twice since a Xojo bug was fixed.Feb 18, 2024
Fixed254GraffitiTagField now resets scroll position to zero if calculated value is greater than maximum.Dec 29, 2023
ChangedNoneGraffitiTagField now sets the background color of the embedded field to the same color as the component’s backdrop on Windows.Dec 29, 2023
ChangedNoneGraffitiTagField.AddItem is renamed to Add.Dec 29, 2023
ChangedNoneGraffitiTagField.Item is renamed to ItemAt.Dec 29, 2023
ChangedNoneGraffitiTagField.RemoveItem is renamed to RemoveAt.Dec 29, 2023
ChangedNoneGraffitiSplitView is now based on DesktopContainer rather than GraffitiControlCanvas to alleviate positioning issues.Dec 26, 2023

Mobile Changes #

TypeTicket NumberDescriptionDate
Added270GraffitiGrid has a new CellPressed( column as GraffitiGridColumn, row as GraffitiGridRow ) event.Jan 11, 2024
AddedNoneGraffitiGrid will now draw a red indicator during drag operations if the drag operation will fail.Jan 18, 2024
AddedNoneGraffitiGridRow has a new Cell( columnName as String, assigns value as Variant ) method overload.Jan 4, 2024
AddedNoneGraffitiGridRow has a new Cell( columnName as String ) as Variant function overload.Jan 4, 2024
AddedNoneGraffitiGridRow has a new Path() as GraffitiGridRow() method for returning the top-down location of the row when IsTreeView = True.Jan 11, 2024
Added287GraffitiPopupMenu has a new ParentScreen as MobileScreen property that should be set in Opening and controls the display of the popover.Jan 19, 2024
Added303GraffitiSyntaxEditor.ShowGutter as Boolean = True property.Feb 1, 2024
Fixed266GraffitiEditor now supports changing fonts and defaults after initialization.Jan 5, 2024
Fixed262GraffitiGrid now properly refreshes after setting row selection programmatically.Jan 3, 2024
FixedNoneGraffitiGrid.Formatters.TimeWithSeconds now properly displays the NilDateOverride.Jan 16, 2024
FixedNoneGraffitiGrid should no longer throw internally generated InvalidArgumentExceptions when reparenting rows during drag operations while IsTreeView = True.Jan 16, 2024
Fixed280GraffitiGrid should no longer encounter a NilObjectException in GraffitiGridRow.Destroy when calling RemoveAllRows.Jan 16, 2024
Fixed280GraffitiGrid should no longer encounter a NilObjectException in GraffitiGrid.Paint under some circumstances.Jan 16, 2024
Fixed262GraffitiGrid should once again expose properties to the inspector whose values are enumerations.Jan 3, 2024
Fixed279GraffitiGrid will no longer allow drag reordering of rows in to their own children when IsTreeView = True, fixing a StackOverflowException.Jan 16, 2024
Fixed262GraffitiGrid will now report the correct selected rows when using IsTreeView = True and child rows are selected.Jan 3, 2024
Fixed259GraffitiKanban now applies a minimum height to column drop areas to allow dragging items to empty columns.Jan 3, 2024
Fixed277GraffitiPagePanel should no longer enounter an InvalidArgumentException in Remove.Jan 15, 2024
Fixed277GraffitiPagePanel should no longer enounter an InvalidArgumentException in RemoveAll.Jan 15, 2024
Fixed277GraffitiPagePanel should no longer enounter an InvalidArgumentException in RemoveAt.Jan 15, 2024
Fixed277GraffitiPagePanel should now show the first panel in the array when all previous panels have been removed and new panels added.Jan 15, 2024
Fixed286GraffitiPopupMenu.Enabled now properly refreshes the display.Jan 18, 2024
FixedNoneGraffitiTabPanel should no longer enounter an InvalidArgumentException in Remove.Jan 15, 2024
FixedNoneGraffitiTabPanel should no longer enounter an InvalidArgumentException in RemoveAll.Jan 15, 2024
FixedNoneGraffitiTabPanel should no longer enounter an InvalidArgumentException in RemoveAt.Jan 15, 2024
FixedNoneGraffitiTabPanel should now show the first panel in the array when all previous panels have been removed and new panels added.Jan 15, 2024
Fixed269GraffitiWall will no longer encounter an InvalidArgumentException in RemoveAll.Jan 8, 2024
Fixed269GraffitiWall will no longer encounter an InvalidArgumentException in RemoveAt.Jan 8, 2024
FixedNoneGraffitiWall will now properly refresh on changes in Xojo 2023R4.Jan 8, 2024

Web Changes #

TypeTicket NumberDescriptionDate
NewNoneGraffitiControlGroupFeb 12, 2024
NewNoneGraffitiCSSAnimatorFeb 17, 2024
NewNoneGraffitiGridColumnGroupFeb 16, 2024
NewNoneGraffitiUploaderSingleFeb 12, 2024
NewNoneGraffitiWebControlFeb 17, 2024
AddedNoneGraffitiGrid.Columns() as GraffitiGridColumn() method.Jan 16, 2024
AddedNoneGraffitiGrid.Rows() as GraffitiGridRow() method.Jan 16, 2024
Added311GraffitiGrid now supports changing column editors after they have been added to the Grid instance.Feb 13, 2024
AddedNoneGraffitiGrid now supports column grouping.Feb 16, 2024
Added312GraffitiGrid has a new EnabledColumnGrouping as Boolean = False property.Feb 16, 2024
AddedNoneGraffitiGrid now supports the Iterable interface for row data.Jan 16, 2024
Added312GraffitiGridColumn has a new Group as GraffitiGridColumnGroup property.Feb 16, 2024
Added242GraffitiProgressRadial has a new UnfilledWidth as Double property which determines the size of the progress area that is currently incomplete as a percentage of the display size.Dec 20, 2023
Added242GraffitiProgressRadial has a new UnfilledColor as Color property which determines the color of the progress area that is currently incomplete.Dec 20, 2023
Added242GraffitiProgressSemicircle has a new UnfilledWidth as Double property which determines the size of the progress area that is currently incomplete as a percentage of the display size.Dec 20, 2023
Added242GraffitiProgressSemicircle has a new UnfilledColor as Color property which determines the color of the progress area that is currently incomplete.Dec 20, 2023
AddedNoneGraffitiToolbarItem has a new Constructor( container as WebContainer, width as Integer = -1 ) method.Jan 4, 2024
AddedNoneGraffitiToolbarItem has a new read-only Container as WebContainer property.Jan 4, 2024
Fixed249GraffitiAvatar no longer contains invalid Nil checking in UserImage methods.Dec 25, 2023
Fixed308GraffitiAccordion should no longer encounter a JavaScript Exception for an undefined variable in some scenarios.Feb 8, 2024
Fixed268GraffitiButton now properly raises other events when GotFocus is implemented.Jan 6, 2024
Fixed243GraffitiDateTimePickerRange now supports reverse order selection.Jan 22, 2024
Fixed241GraffitiDateTimePickerRange should no longer encounter a NilObjectException when setting StyleButton without setting Style.Dec 19, 2023
Fixed260GraffitiDateTimePickerRange should no longer encounter a browser hang due to errant JavaScript when repeatedly setting the ValueStart and ValueEnd properties.Jan 3, 2024
Fixed243GraffitiDateTimePickerRange should no longer raise ValueChanged twice when selecting the first date in the range.Jan 22, 2024
Fixed243GraffitiDateTimePickerRange should now raise the ValueChanged event only when one of the values is actually changed by one second or more.Jan 22, 2024
Fixed250GraffitiDateTime components should no longer encounter a JavaScript exception in the underlying library when changing time values that results in server data being stale.Dec 27, 2023
FixedNoneGraffitiDateTime components should no longer show then immediately hide the dropdown when focusing the field.Dec 27, 2023
Fixed266GraffitiEditor now supports changing fonts and defaults after initialization.Jan 5, 2024
Fixed245GraffitiGrid once again displays badges.Dec 20, 2023
Fixed300GraffitiGrid should no longer return rows whose column value is empty when searching regardless of the value being searched.Jan 29, 2024
Fixed237GraffitiKanban once again properly applies changes to various column Indicator and Style properties.Dec 15, 2023
Fixed259GraffitiKanban now applies a minimum height to column drop areas to allow dragging items to empty columns.Jan 3, 2024
FixedNoneGraffitiLikert now properly calculates answer width for Bootstrap 5.Feb 8, 2024
Fixed232GraffitiPDF.LoadInViewer now functions correctly in Xojo 2023 Release 4 and later.Dec 14, 2023
Fixed238GraffitiPopupMenu.AdaptiveHeight can no longer encounter a breaking JavaScript exception when AllowAdd = True.Dec 17, 2023
Fixed236GraffitiRectangle.ColorBorder once again functions properly.Dec 15, 2023
Fixed306GraffitiResponsive no longer duplicates content on subsequent page shows.Feb 7, 2024
Fixed289GraffitiTabPanel once again draws a consistent border around the content area using theme values.Jan 20, 2024
Fixed252GraffitiTextField now uses a different mode of hiding the label portion when LabelVisible = False. Border radius should be maintained from theme.Dec 28, 2023
Fixed267GraffitiTextField should now ensure data is up-to-date when losing focus.Jan 5, 2024
Fixed285GraffitiTextField will no longer improperly replace underscores with space in Value.Jan 18, 2024
FixedNoneGraffitiWall once again applies GutterWidth and GutterHeight to the outside edges of the control.Feb 12, 2024
Changed260GraffitiDateTimePickerRange now sets the ValueEnd property value to Nil upon setting ValueStart as an added form of validation and to avoid JavaScript exceptions in the utilized library under some conditions.Jan 3, 2024
ChangedNoneGraffitiToolbarButton has been renamed to GraffitiToolbarItem.Jan 6, 2024
ChangedNoneGraffitiToolbar.ToolbarStyle property is now of type WebSDKUIControl.Indicators.Jan 6, 2024
ChangedNoneGraffitiToolbar.TextStyles has a new Default = 0 value.Jan 6, 2024
DeprecatedNoneGraffitiGrid.ColumnCount method. Use GraffitiGrid.LastColumnIndex.Jan 16, 2024
DeprecatedNoneGraffitiGrid.RowCount method. Use GraffitiGrid.LastRowIndex.Jan 16, 2024
DeprecatedNoneCDNSecure Session Attribute has been deprecated in favor of “GraffitiSuite.CDN.Address”.Feb 16, 2024
DeprecatedNoneCDNUnsecure Session Attribute has been deprecated in favor of “GraffitiSuite.CDN.Address”.Feb 16, 2024
DeprecatedNoneDebugRemote Session Attribute has been deprecated in favor of “GraffitiSuite.CDN.Debug”.Feb 16, 2024
DeprecatedNoneDeployRemote Session Attribute has been deprecated in favor of “GraffitiSuite.CDN.Deployed”.Feb 16, 2024
DeprecatedNoneCombined Session Attribute has been deprecated in favor of “GraffitiSuite.Files.Combined”.Feb 16, 2024
DeprecatedNoneLoadFA Session Attribute has been deprecated in favor of “GraffitiSuite.Files.FontAwesome”.Feb 16, 2024
NoteNoneGraffitiToolbar now supports embedding containers.Jan 4, 2024
NoteNoneGraffitiControlWrapper is now GraffitiWebUIControlFeb 17, 2024