-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Audit experimental APIs for WP 6.3 #51315
Comments
Hi! __experimentalInteractivityAPI Should not go into WP 6.3, as we are planning to remove that experimental setting from Gutenberg. __experimentalInjectInteractivityRuntime Should not go into WP 6.3 too, as is an option to bundle the interactivity API in Gutenberg. It is a temporary fix that should be updated when the Interactivity API is moved to its own package. |
Unfortunately, the block.json and theme.json can't use private APIs, so experimental/internal prefixes are still useful for these. |
We will most likely revert this, so won't be going into 6.3. |
I wonder if it'd be helpful for future versions of the script generating this list to split out already deprecated APIs (such as __experimentalUseEntityRecord) into a separate section? That might help speed up the triage a bit? |
That would be helpful, but is there any way we can tell for sure an API has been deprecated? Even if we check that it appears within a Relatedly, do we have any policy for removing deprecated APIs altogether? So, if we work out a way of splitting the deprecated APIs out, would it still be useful to output them as a separate list? |
The point you made about reliable detection is valid - it would be tricky.
I think even without the policy, there's some value in being able to parse the list and know at a glance that certain APIs have already been triaged and have stable counterparts. In those cases (for now) the deprecation is just a back-compat accommodation. There could even be argument that those APIs shouldn't be included in this post if they've already been "handled". |
Update:
(See #51434) |
Hi, I'd like to raise that we could potentially stabilize components from These components seem stable as they don't change for the last couple of versions and the Inspector Controls and we don't see issues or limitations in regards to them. Components that we rely on:
Note: for some reason in the API list above, they're listed under |
Thanks @kmanijak ! As we're fast approaching Beta 3 it might be a bit late in the cycle to get these done, but perhaps we can start work on them for 6.4. @mirka what do you think?
It's a very simple script that generates these entries, and it picks the first package it finds mention of the API in 🙂 |
Sure. We've recently started to consider versioning components in order to introduce major breaking changes in a sustainable way. So it's looking hopeful! |
Closing this issue as RC1 is next week; we're past the time for stabilising further APIs for 6.3 😅 Thanks everyone! |
New APIs since 6.2
Here are all the non-private uses of
__experimental
that are new since 6.4 (for reference, the previous API audit was in #47196):__experimentalDisableBlockOverlay
@youknowriad__experimentalHasContentRoleAttribute
@jorgefilipecosta (this refers to the one in theblocks
package; the more recent one inblock-editor
is already marked private)__experimentalInteractivityAPI
@c4rl0sbr4v0 (this is a Gutenberg experiment)__experimentalEnableGroupGridVariation
@tellthemachines (also a Gutenberg experiment)__experimentalEnablePatternEnhancements
@glendaviesnz (also a Gutenberg experiment)__experimentalAutoSelectFirstMatch
@dinhtungdu (components package)__experimentalNavigatorToParentButton
@youknowriad__experimentalInjectInteractivityRuntime
@gziolo (webpack related)Could you folks take a look at these and see if they're ready for stabilisation, if they should go into 6.3 at all, or if they can be marked private?
New private APIs since 6.2
For these there's no action needed for now, unless they are ready to be stabilised!
__experimentalPopoverLegacyPositionToPlacement
__experimentalUpdateSettings
If I missed anything in the lists above please feel free to add to them as needed.
All experimental APis
Generated using @noisysocks' script from #28157Edit: I updated the list below to remove duplicate entries with the aid of #51341 (thanks @mcsf!)
Cc @WordPress/gutenberg-core is there anything in the list below that can be stabilised, marked private or removed?
Complete list of experimental APIs
lib
__experimentalBorder
__experimentalDefault
__experimentalDuotone
__experimentalEnableColorRandomizer
__experimentalEnableGroupGridVariation
__experimentalEnableListBlockV2
__experimentalEnablePatternEnhancements
__experimentalEnableQuoteBlockV2
__experimentalEnableZoomedOutView
__experimentalFeatures
__experimentalFontFamily
__experimentalFontStyle
__experimentalFontWeight
__experimentalInteractivityAPI
__experimentalLayout
__experimentalLetterSpacing
__experimentalSelector
__experimentalSettings
__experimentalStyle
__experimentalStyles
__experimentalTextDecoration
__experimentalTextTransform
packages/annotations
__experimentalAddAnnotation
__experimentalCreateOnChangeEditableValue
__experimentalCreatePrepareEditableTree
__experimentalGetAllAnnotationsForBlock
__experimentalGetAnnotations
__experimentalGetAnnotationsForBlock
__experimentalGetAnnotationsForRichText
__experimentalGetPropsForEditableTreeChangeHandler
__experimentalGetPropsForEditableTreePreparation
__experimentalRemoveAnnotation
__experimentalRemoveAnnotationsBySource
__experimentalUpdateAnnotationRange
packages/block-directory
__experimentalIsFocusable
packages/block-editor
__experimentalAlignmentMatrixControl
__experimentalAppenderTagName
__experimentalBlockAlignmentMatrixControl
__experimentalBlockDirectory
__experimentalBlockFullHeightAligmentControl
__experimentalBlockPatternCategories
__experimentalBlockPatternSetup
__experimentalBlockPatterns
__experimentalBlockPatternsList
__experimentalBlockVariationPicker
__experimentalBlockVariationTransforms
__experimentalBorderBoxControl
__experimentalBorderRadiusControl
__experimentalBoxControl
__experimentalCanUserUseUnfilteredHTML
__experimentalCaptureToolbars
__experimentalCloneSanitizedBlock
__experimentalColorGradientControl
__experimentalColorGradientSettingsDropdown
__experimentalConvertBlockToStatic
__experimentalDateFormatPicker
__experimentalDefaultBlock
__experimentalDefaultControls
__experimentalDirectInsert
__experimentalDisableBlockOverlay
__experimentalDragComponent
__experimentalDropdownContentWrapper
__experimentalDuotoneControl
__experimentalExposeControlsToChildren
__experimentalFetchLinkSuggestions
__experimentalFetchReusableBlocks
__experimentalFetchRichUrlData
__experimentalFilterValue
__experimentalFirstVisibleItemClass
__experimentalFontAppearanceControl
__experimentalFontFamilyControl
__experimentalGetAccessibleBlockLabel
__experimentalGetActiveBlockIdByBlockNames
__experimentalGetAllowedBlocks
__experimentalGetAllowedPatterns
__experimentalGetBlockAttributesNamesByRole
__experimentalGetBlockLabel
__experimentalGetBlockListSettingsForBlocks
__experimentalGetBorderClassesAndStyles
__experimentalGetColorClassesAndStyles
__experimentalGetDirectInsertBlock
__experimentalGetElementClassName
__experimentalGetGapCSSValue
__experimentalGetGlobalBlocksByName
__experimentalGetGradientClass
__experimentalGetGradientObjectByGradientValue
__experimentalGetLastBlockAttributeChanges
__experimentalGetMatchingVariation
__experimentalGetParsedPattern
__experimentalGetPatternTransformItems
__experimentalGetPatternsByBlockTypes
__experimentalGetReusableBlockTitle
__experimentalGetSpacingClassesAndStyles
__experimentalGlobalStylesBaseStyles
__experimentalGrid
__experimentalGroup
__experimentalHStack
__experimentalHandleURLSuggestions
__experimentalHasContentRoleAttribute
__experimentalHasSplitBorders
__experimentalHeading
__experimentalHideChildBlockControls
__experimentalHint
__experimentalImageEditor
__experimentalImageSizeControl
__experimentalImageURLInputUI
__experimentalInitialIndex
__experimentalInitialPosition
__experimentalInsertionIndex
__experimentalInspectorPopoverHeader
__experimentalIsDefinedBorder
__experimentalIsQuick
__experimentalIsRenderedInSidebar
__experimentalItem
__experimentalItemGroup
__experimentalLabel
__experimentalLastVisibleItemClass
__experimentalLayoutStyle
__experimentalLetterSpacingControl
__experimentalLibrary
__experimentalLinkControl
__experimentalLinkControlSearchInput
__experimentalLinkControlSearchItem
__experimentalLinkControlSearchResults
__experimentalListView
__experimentalMetadata
__experimentalMinHeight
__experimentalNavigatorBackButton
__experimentalNavigatorButton
__experimentalNavigatorProvider
__experimentalNavigatorScreen
__experimentalNumberControl
__experimentalOnIndexChange
__experimentalOnlyMediaLibrary
__experimentalPadding
__experimentalPanelColorGradientSettings
__experimentalParentSelector
__experimentalParseQuantityAndUnitFromRawValue
__experimentalPopoverLegacyPositionToPlacement
__experimentalPreferPatternsOnRoot
__experimentalPreferredStyleVariations
__experimentalPreviewOptions
__experimentalPublishDateTimePicker
__experimentalRecursionProvider
__experimentalRenderControl
__experimentalRenderSuggestions
__experimentalResponsiveBlockControl
__experimentalReusableBlocks
__experimentalRichText
__experimentalRole
__experimentalSelectBlock
__experimentalSetIsInserterOpened
__experimentalShareWithChildBlocks
__experimentalShouldInsertAtTheTop
__experimentalShowInitialSuggestions
__experimentalShowSelectedHint
__experimentalSkipSerialization
__experimentalSlashInserter
__experimentalSpacer
__experimentalSpacingSizesControl
__experimentalStyleProvider
__experimentalText
__experimentalTextDecorationControl
__experimentalTextTransformControl
__experimentalToggleGroupControl
__experimentalToggleGroupControlOption
__experimentalToggleGroupControlOptionIcon
__experimentalToolbar
__experimentalToolbarContext
__experimentalToolsPanel
__experimentalToolsPanelContext
__experimentalToolsPanelItem
__experimentalTransferDataType
__experimentalTreeGrid
__experimentalTreeGridCell
__experimentalTreeGridItem
__experimentalTreeGridRow
__experimentalTruncate
__experimentalUndo
__experimentalUnitControl
__experimentalUpdateSelection
__experimentalUpdateSettings
__experimentalUseBlockOverlayActive
__experimentalUseBlockPreview
__experimentalUseBorderProps
__experimentalUseColorProps
__experimentalUseCustomSides
__experimentalUseCustomUnits
__experimentalUseDropZone
__experimentalUseFixedWindowList
__experimentalUseGradient
__experimentalUseHasRecursion
__experimentalUseMultipleOriginColorsAndGradients
__experimentalUseResizeCanvas
__experimentalUseSlotFills
__experimentalVStack
__experimentalVersion
__experimentalView
__experimentalZStack
__experimentaluseLayoutClasses
__experimentaluseLayoutStyles
packages/block-library
__experimentalConvert
__experimentalDiscussionSettings
__experimentalGetCoreBlocks
__experimentalGetDefaultTemplatePartAreas
__experimentalInputControl
__experimentalIsEditingReusableBlock
__experimentalOnEnter
__experimentalRegisterExperimentalCoreBlocks
__experimentalShowHowTo
__experimentalShowTooltip
__experimentalTooltipProps
packages/blocks
__experimentalGetUnprocessedBlockTypes
__experimentalReapplyBlockTypeFilters
__experimentalRegisterBlockType
__experimentalSanitizeBlockAttributes
packages/commands
__experimentalHideHeader
packages/components
__experimentalApplyValueToSides
__experimentalAutoSelectFirstMatch
__experimentalBorderControl
__experimentalConfirmDialog
__experimentalDimensionControl
__experimentalDivider
__experimentalElevation
__experimentalExpandOnFocus
__experimentalInputControlPrefixWrapper
__experimentalInputControlSuffixWrapper
__experimentalInvalid
__experimentalIsEmptyBorder
__experimentalNavigation
__experimentalNavigationBackButton
__experimentalNavigationGroup
__experimentalNavigationItem
__experimentalNavigationMenu
__experimentalNavigatorToParentButton
__experimentalPaletteEdit
__experimentalRadio
__experimentalRadioGroup
__experimentalRenderItem
__experimentalScrollable
__experimentalSurface
__experimentalTheme
__experimentalToggleGroupControlOptionBase
__experimentalUseDialog
__experimentalUseDragging
__experimentalUseFocusOutside
__experimentalUseNavigator
__experimentalUseSlot
__experimentalValidateInput
packages/compose
__experimentalWidthProvider
packages/core-data
__experimentalBatch
__experimentalFetchUrlData
__experimentalGetCurrentGlobalStylesId
__experimentalGetCurrentThemeBaseGlobalStyles
__experimentalGetCurrentThemeGlobalStylesVariations
__experimentalGetDirtyEntityRecords
__experimentalGetEntitiesBeingSaved
__experimentalGetEntityRecordNoResolver
__experimentalGetTemplateForLink
__experimentalNoFetch
__experimentalReceiveCurrentGlobalStylesId
__experimentalReceiveThemeBaseGlobalStyles
__experimentalReceiveThemeGlobalStyleVariations
__experimentalSaveSpecifiedEntityEdits
__experimentalUseEntityRecord
__experimentalUseEntityRecords
__experimentalUseResourcePermissions
packages/customize-widgets
__experimentalGetInsertionPoint
packages/date
__experimentalGetSettings
packages/dependency-extraction-webpack-plugin
__experimentalInjectInteractivityRuntime
packages/e2e-test-utils
__experimentalActivatePlugin
__experimentalDeactivatePlugin
__experimentalRest
packages/edit-post
__experimentalFullscreenModeClose
__experimentalGetPreviewDeviceType
__experimentalMainDashboardButton
__experimentalSetPreviewDeviceType
packages/edit-site
__experimentalAdditionalBlockPatternCategories
__experimentalAdditionalBlockPatterns
__experimentalDashboardLink
__experimentalGetDefaultTemplateTypes
__experimentalGetTemplateInfo
packages/editor
__experimentalCreatePageEntity
__experimentalGetDefaultTemplateType
__experimentalTearDownEditor
__experimentalUserCanCreatePages
packages/reusable-blocks
__experimentalConvertBlocksToReusable
__experimentalDeleteReusableBlock
__experimentalSetEditingReusableBlock
The text was updated successfully, but these errors were encountered: