Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
changelogs:r30 [2019/10/11 17:22]
agcyphers [Web]
changelogs:r30 [2019/10/27 00:26] (current)
agcyphers
Line 1: Line 1:
 ==== Date Released ==== ==== Date Released ====
 ^ Version ^ Release Date ^ ^ Version ^ Release Date ^
 +| Final | October 22, 2019 |
 | Release Candidate 4 | October 11, 2019 | | Release Candidate 4 | October 11, 2019 |
 | Release Candidate 3 ''​Desktop Only''​ | October 1, 2019 | | Release Candidate 3 ''​Desktop Only''​ | October 1, 2019 |
Line 29: Line 30:
 | ''​NEW''​ | GraffitiImmersiveWindow | | ''​NEW''​ | GraffitiImmersiveWindow |
 | ''​NEW''​ | GraffitiListbox | | ''​NEW''​ | GraffitiListbox |
 +| ''​NEW''​ | GraffitiNSImages |
 | ''​NEW''​ | GraffitiOptionBox | | ''​NEW''​ | GraffitiOptionBox |
 | ''​NEW''​ | GraffitiPagination | | ''​NEW''​ | GraffitiPagination |
Line 35: Line 37:
 | ''​ADD''​ | GraffitiActionBar now has a ButtonPosition property for drawing buttons on the left or right. | | ''​ADD''​ | GraffitiActionBar now has a ButtonPosition property for drawing buttons on the left or right. |
 | ''​ADD''​ | GraffitiActionBar now has an Alignments enumeration for ButtonPosition. | | ''​ADD''​ | GraffitiActionBar now has an Alignments enumeration for ButtonPosition. |
-| ''​ADD''​ | GraffitiDesktopControl components (Calendar, HTMLEditor, SyntaxEditor) now have a UseXHR property which defaults to false for using XmlHttpRequests to pass large data back to Xojo from JavaScript at vastly improved speeds. Falls back to viewer events on failure, and includes a lot of exception handling and content validation. This opens a port on the loopback interface to listen for the requests. USE AT YOUR OWN RISK. Must be set in the inspector. |+| ''​ADD''​ | GraffitiActionBar now has a new MinimumLeft property for determining the minimum value on the left. | 
 +| ''​ADD''​ | GraffitiActionBar now has a new MinimumRight property for determining the minimum value on the right. | 
 +| ''​ADD''​ | GraffitiButton no longer draws icons cut-off when using a font size for single-line text that is smaller than the icon's height. | 
 +| ''​ADD''​ | GraffitiColorPicker'​s window now supports click-to-reveal customization of color parts by clicking the value label to the left of the slider. | 
 +| ''​ADD''​ | GraffitiColorPicker now uses GraffitiColors to populate Named and System lists. | 
 +| ''​ADD''​ | GraffitiColorPicker now has a Color Wheel selector. | 
 +| ''​ADD''​ | GraffitiColorPicker now has a Color Spectrum selector. | 
 +| ''​ADD''​ | GraffitiColorPicker now supports click-to-reveal editing on RGBA labels. | 
 +| ''​ADD''​ | GraffitiDesktopControl components (Calendar, HTMLEditor, SyntaxEditor) now have a UseXHR property which defaults to false for using XmlHttpRequests to pass large data back to Xojo from JavaScript at vastly improved speeds. Falls back to viewer events on failure, and includes a lot of exception handling and content validation. This opens a port on the loopback interface to listen for the requests. USE AT YOUR OWN RISK. Must be set in the inspector. This will default to True in R31 and later. Test liberally. |
 | ''​ADD''​ | GraffitiDesktopControl components (Calendar, HTMLEditor, SyntaxEditor) now alert if they'​re using the Native renderer on Windows. | | ''​ADD''​ | GraffitiDesktopControl components (Calendar, HTMLEditor, SyntaxEditor) now alert if they'​re using the Native renderer on Windows. |
 +| ''​ADD''​ | GraffitiGradientSlider now supports transparency. |
 | ''​ADD''​ | GraffitiHTMLEditor now makes as many styles inline as possible by default. | | ''​ADD''​ | GraffitiHTMLEditor now makes as many styles inline as possible by default. |
 | ''​ADD''​ | GraffitiHTMLEditor now defers data transfer for a short period on TextChange and SelChange to reduce input lag. | | ''​ADD''​ | GraffitiHTMLEditor now defers data transfer for a short period on TextChange and SelChange to reduce input lag. |
Line 46: Line 57:
 | ''​ADD''​ | GraffitiHTMLEditor now exposes a jsTwitter_Preview constant for adding before the </​body>​ tag to generate full HTML documents with embedded tweets. | | ''​ADD''​ | GraffitiHTMLEditor now exposes a jsTwitter_Preview constant for adding before the </​body>​ tag to generate full HTML documents with embedded tweets. |
 | ''​ADD''​ | GraffitiHTMLEditor'​s EditorDefaults event now has an AllowNesting parameter. Setting this to False will disallow nesting of lists in the editor to be compliant with some email clients. | | ''​ADD''​ | GraffitiHTMLEditor'​s EditorDefaults event now has an AllowNesting parameter. Setting this to False will disallow nesting of lists in the editor to be compliant with some email clients. |
-| ''​ADD''​ | GraffitiHTMLExporter now has a new toInlineStyles method for converting HTML+CSS to HTML with inline style Attributes. Uses the Premailer API Beta 0.1. |+| ''​ADD''​ | GraffitiHTMLExporter now has a new toInlineStyles method for converting HTML+CSS to HTML with inline style Attributes. |
 | ''​ADD''​ | GraffitiHTMLLabel now has a CharacterSpacing as Double property. 1.0 = 100% of the character width. | | ''​ADD''​ | GraffitiHTMLLabel now has a CharacterSpacing as Double property. 1.0 = 100% of the character width. |
 | ''​ADD''​ | GraffitiHTMLLabel now has a LineSpacing as Double property. 1.0 = 100% of the line height. No value less than 1.0 is valid. | | ''​ADD''​ | GraffitiHTMLLabel now has a LineSpacing as Double property. 1.0 = 100% of the line height. No value less than 1.0 is valid. |
 | ''​ADD''​ | GraffitiHTMLLabel now has a LinkColor property for setting the global link color. | | ''​ADD''​ | GraffitiHTMLLabel now has a LinkColor property for setting the global link color. |
 | ''​ADD''​ | GraffitiFieldLabel now has a TextChanged event. | | ''​ADD''​ | GraffitiFieldLabel now has a TextChanged event. |
-| ''​ADD''​ | GraffitiFieldLabel now supports all controls types as the Field Property is now defined as ''​Field As RectControl''​. |+| ''​ADD''​ | GraffitiFieldLabel now supports all controls types as the Field Property is now defined as Field As RectControl. |
 | ''​ADD''​ | GraffitiFieldLabel now has a ResizeFieldWidth as Boolean = True property. | | ''​ADD''​ | GraffitiFieldLabel now has a ResizeFieldWidth as Boolean = True property. |
 | ''​ADD''​ | GraffitiFieldLabel now has a ResizeFieldHeight as Boolean = True property. | | ''​ADD''​ | GraffitiFieldLabel now has a ResizeFieldHeight as Boolean = True property. |
 +| ''​ADD''​ | GraffitiRadialProgress now has a TextSizeConstraint as Integer property for ensuring text size does not exceed the specified percentage of the progress area. |
 +| ''​ADD''​ | GraffitiTabBar has a new MinimumTabWidth as Integer property. |
 | ''​FIX''​ | GraffitiAccordion no longer renders changes based on mouse movement when Enabled = False | | ''​FIX''​ | GraffitiAccordion no longer renders changes based on mouse movement when Enabled = False |
 | ''​FIX''​ | GraffitiCard no longer strips empty lines from Content. | | ''​FIX''​ | GraffitiCard no longer strips empty lines from Content. |
 +| ''​FIX''​ | GraffitiColorPicker'​s Gradient Slider instances are now properly colored or, in the case of the alpha slider, show a transparent gradient. |
 | ''​FIX''​ | GraffitiColors no longer fails to link on macOS with regards to dwmapi.dll. | | ''​FIX''​ | GraffitiColors no longer fails to link on macOS with regards to dwmapi.dll. |
 | ''​FIX''​ | GraffitiDateTimePicker no longer improperly spaces day number rows vertically at small widths. | | ''​FIX''​ | GraffitiDateTimePicker no longer improperly spaces day number rows vertically at small widths. |
 +| ''​FIX''​ | GraffitiFieldLabel now fires ClearClicked regardless of content. |
 | ''​FIX''​ | GraffitiGrid now properly positions controls and containers when scrolled. | | ''​FIX''​ | GraffitiGrid now properly positions controls and containers when scrolled. |
 | ''​FIX''​ | GraffitiGrid now displays a single row when that's all that has been added instead of requiring multiple rows. | | ''​FIX''​ | GraffitiGrid now displays a single row when that's all that has been added instead of requiring multiple rows. |
Line 100: Line 115:
 | ''​FIX''​ | GraffitiHTMLExporter.toEmail once again properly numbers ordered lists. | | ''​FIX''​ | GraffitiHTMLExporter.toEmail once again properly numbers ordered lists. |
 | ''​FIX''​ | GraffitiHTMLExporter.FromEntity no longer strips ampersands. | | ''​FIX''​ | GraffitiHTMLExporter.FromEntity no longer strips ampersands. |
-| ''​FIX''​ | GraffitiHTMLExporter.CleanupHTML now removes blank paragraph tags. For new lines, these tags should be ''<​p><​br /></​p>''​. Blank paragraph tags are stripped out by QuillJS and appear to be ignored in most browsers. |+| ''​FIX''​ | GraffitiHTMLExporter.CleanupHTML now removes blank paragraph tags. Blank paragraph tags are stripped out by QuillJS and appear to be ignored in most browsers. |
 | ''​FIX''​ | GraffitiHTMLLabel now properly draws text on HiDPI displays. | | ''​FIX''​ | GraffitiHTMLLabel now properly draws text on HiDPI displays. |
 | ''​FIX''​ | GraffitiHTMLLabel can no longer rarely encounter OutOfBoundsExceptions when drawing under an overly-specific set of circumstances. | | ''​FIX''​ | GraffitiHTMLLabel can no longer rarely encounter OutOfBoundsExceptions when drawing under an overly-specific set of circumstances. |
Line 118: Line 133:
 | ''​FIX''​ | GraffitiSyntaxEditor Tab and Shift+Tab keys now indent and outdent properly once again on macOS. | | ''​FIX''​ | GraffitiSyntaxEditor Tab and Shift+Tab keys now indent and outdent properly once again on macOS. |
 | ''​FIX''​ | GraffitiSyntaxEditor now properly accepts focus on open. | | ''​FIX''​ | GraffitiSyntaxEditor now properly accepts focus on open. |
-| ''​FIX''​ | GraffitiFieldLabel ​now fires ClearClicked regardless of content. |+| ''​FIX''​ | GraffitiTabBar close icons now draw properly on the Y-axis. |
 | ''​FIX''​ | Changed to using Global.Tooltip for future compatibility. | | ''​FIX''​ | Changed to using Global.Tooltip for future compatibility. |
 | ''​FIX''​ | More analysis warnings. | | ''​FIX''​ | More analysis warnings. |
Line 129: Line 144:
 | ''​NOTE''​ | All classes now rely on the functionality in GraffitiColors for determining the system'​s appearance setting (Dark/​Light). | | ''​NOTE''​ | All classes now rely on the functionality in GraffitiColors for determining the system'​s appearance setting (Dark/​Light). |
 | ''​NOTE''​ | All calls to CType replaced with casting. | | ''​NOTE''​ | All calls to CType replaced with casting. |
-| ''​NOTE''​ | As of Release Candidate 1, methods in the Immersive module no longer begin with Immersive.+| ''​NOTE''​ | As of Release Candidate 1, methods in the Immersive module no longer begin with Immersive. ​|
 ===== Web ===== ===== Web =====
 ^ Type      ^ Change ​      ^ ^ Type      ^ Change ​      ^
Line 149: Line 164:
 | ''​ADD''​ | GraffitiWebGrid'​s CellDoubleClick event now has parameters for the cell's Left, Top, Width and Height relative to the page. | | ''​ADD''​ | GraffitiWebGrid'​s CellDoubleClick event now has parameters for the cell's Left, Top, Width and Height relative to the page. |
 | ''​ADD''​ | GraffitiWebGrid'​s ContextClick event now has parameters for the cell's Left, Top, Width and Height relative to the page. | | ''​ADD''​ | GraffitiWebGrid'​s ContextClick event now has parameters for the cell's Left, Top, Width and Height relative to the page. |
 +| ''​ADD''​ | GraffitiWebGrid has a new EditorText(Assigns newValue as String) method for setting the text value of the editor field while Editing = True. Should only be used on EditTypes.Text. |
 +| ''​ADD''​ | GraffitiWebGrid has a new EditKeyPress(Row as GraffitiWebGridRow,​ Column as GraffitiWebGridColumn,​ KeyCode as Integer, AltKey as Boolean, CtrlKey as Boolean, ShiftKey as Boolean, MetaKey as Boolean, EditorValue as String) event for catching key presses in the editor. Does not catch modifier keys alone. |
 | ''​ADD''​ | GraffitiWebHTMLEditor now has a DarkMode as Boolean property. | | ''​ADD''​ | GraffitiWebHTMLEditor now has a DarkMode as Boolean property. |
 | ''​ADD''​ | GraffitiWebPopupMenu now exposes GotFocus and LostFocus events. | | ''​ADD''​ | GraffitiWebPopupMenu now exposes GotFocus and LostFocus events. |
Line 161: Line 178:
 | ''​FIX''​ | Under certain scenarios, NilObjectExceptions could be encountered when executing code in Destructors of pages or Containers that caused a NilObjectException in GraffitiControlWrapper. These are now logged when not debugging to prevent unhandled exception issues in compiled apps. | | ''​FIX''​ | Under certain scenarios, NilObjectExceptions could be encountered when executing code in Destructors of pages or Containers that caused a NilObjectException in GraffitiControlWrapper. These are now logged when not debugging to prevent unhandled exception issues in compiled apps. |
 | ''​FIX''​ | Loading FontAwesome no longer causes a load slowdown and errors in the console. | | ''​FIX''​ | Loading FontAwesome no longer causes a load slowdown and errors in the console. |
 +| ''​FIX''​ | All classes that support embedding FontAwesome icons no longer improperly render when using non-English characters. |
 | ''​FIX''​ | GraffitiWebAlert now uses UUIDs from GraffitiWebAlertMessages and GraffitiWebAlertButtons rather than names internally. | | ''​FIX''​ | GraffitiWebAlert now uses UUIDs from GraffitiWebAlertMessages and GraffitiWebAlertButtons rather than names internally. |
 | ''​FIX''​ | GraffitiHTMLExporter now does a case sensitive compare when encoding and decoding HTML entities. | | ''​FIX''​ | GraffitiHTMLExporter now does a case sensitive compare when encoding and decoding HTML entities. |
Line 175: Line 193:
 | ''​FIX''​ | GraffitiWebCalendar now properly filters repeating events based on view. | | ''​FIX''​ | GraffitiWebCalendar now properly filters repeating events based on view. |
 | ''​FIX''​ | GraffitiWebCalendar no longer displays a start time for repeating All Day events. | | ''​FIX''​ | GraffitiWebCalendar no longer displays a start time for repeating All Day events. |
 +| ''​FIX''​ | GraffitiWebCalendar now properly applies StyleDayToday and StyleDayFuture after switching views. |
 | ''​FIX''​ | GraffitiWebCamera once again functions properly on iOS Safari. | | ''​FIX''​ | GraffitiWebCamera once again functions properly on iOS Safari. |
 | ''​FIX''​ | GraffitiWebDatePicker variants once again properly apply StartDate and EndDate without either failing or causing other issues. | | ''​FIX''​ | GraffitiWebDatePicker variants once again properly apply StartDate and EndDate without either failing or causing other issues. |
 +| ''​FIX''​ | GraffitiWebDatePicker no longer loses all default styling when a custom style is applied. This allows for additive styling of, for example, a border color to show invalid entry. |
 | ''​FIX''​ | GraffitiWebDatePicker variants once again properly disable and enable dates without throwing a JavaScript exception. | | ''​FIX''​ | GraffitiWebDatePicker variants once again properly disable and enable dates without throwing a JavaScript exception. |
 | ''​FIX''​ | GraffitiWebDatePicker variants have improved WebStyle handling. | | ''​FIX''​ | GraffitiWebDatePicker variants have improved WebStyle handling. |
 | ''​FIX''​ | GraffitiWebDatePicker variants now display Spanish Day/Month names in lowercase in accordance with rules set forth by the Royal Spanish Language Academy. | | ''​FIX''​ | GraffitiWebDatePicker variants now display Spanish Day/Month names in lowercase in accordance with rules set forth by the Royal Spanish Language Academy. |
 | ''​FIX''​ | GraffitiWebDatePicker variants now more appropriately position the popup when certain styles are applied to the ''<​body>''​ tag. | | ''​FIX''​ | GraffitiWebDatePicker variants now more appropriately position the popup when certain styles are applied to the ''<​body>''​ tag. |
-| ''​FIX''​ | GraffitiWebCalendar now properly applies StyleDayToday and StyleDayFuture after switching views. | 
 | ''​FIX''​ | GraffitiWebFavIcon will no longer throw a NilObjectException in some scenarios when calling SetIconCount. | | ''​FIX''​ | GraffitiWebFavIcon will no longer throw a NilObjectException in some scenarios when calling SetIconCount. |
 | ''​FIX''​ | GraffitiWebFavIcon will no longer throw a NilObjectException when flashing and the instance is destroyed. | | ''​FIX''​ | GraffitiWebFavIcon will no longer throw a NilObjectException when flashing and the instance is destroyed. |