The goal of the block editor is to make adding rich content to WordPress simple and enjoyable.
Warning: This is beta software, do not run on production sites!
The new post and page building experience will make writing rich posts effortless, making it easy to do what today might take shortcodes, custom HTML, or “mystery meat” embed discovery.
WordPress already supports a large amount of “blocks”, but doesn’t surface them very well, nor does it give them much in the way of layout options. By embracing the blocky nature of rich post content, we will surface the blocks that already exist, as well as provide more advanced layout options for each of them. This will allow you to easily compose beautiful posts like this example.
We’d love to hear your bug reports, feature suggestions and any other feedback! Please head over to the GitHub issues page to search for existing issues or open a new one. While we’ll try to triage issues reported here on the plugin forum, you’ll get a faster response (and reduce duplication of effort) by keeping everything centralized in the GitHub repository.
I have thoroughly tested each version of the plugin and review open issues on Github daily. The rating given here is as a developer, not as a user.
I have spent 3+ months closely tracking development of this plugin, yet still have no idea which elements (of the 100+ legacy client sites I am responsible for) will need some level of redevelopment to be Gutenberg-friendly.
I also strongly feel it is currently unconscionable to develop new WordPress-driven sites/projects because it is impossible to know what will need to be scrapped and rebuilt when WordPress 5.0 is released (presuming the inclusion of Gutenberg in core at this point).
Redesigned the header area of the editor for clarity—groups content actions in the left, and post action in the right.
Initial REST API infrastructure for reusable global blocks.
Group block settings (delete, inspector, edit HTML) on an ellipsis button.
Added new reusable Dropdown component.
Show frequently used blocks in the inserter shortcuts (at the bottom of the post).
Offer option for the button block to clear content.
Refactor block toolbar component in preparation for some iterations (docked toolbar, for example).
Allow partial URLs in link input.
Avoid using state for tracking arrow key navigation in WritingFlow to prevent re-renders.
Improve mobile header after design cleanup.
Add focusReturn for Dropdown component.
Updated Audio block markup to use figure element.
Removed transition on multi-select affecting the perception of speed of the interaction.
Show Gallery block description even if there are no images.
Persist custom class names.
Merge initialization actions into a single action.
Fix scroll position when reordering blocks.
Fix case where the responsive treatment of the header area was hiding valuable actions.
Fix focus styles on the inserter.
Fix submenu visibility issue for certain users.
Cleanup no longer used code.
Document useOnce block API feature.
Add an opacity range slider to the cover image block.
Offer the option to convert a single block to an HTML block when conflicting content is detected.
Persist recently used blocks through sessions.
Added support for pasting plain text markdown content and converting to blocks.
The block inspector groups features and settings in expandable panels.
Accessibility improvements to the color palette component.
Added a “feedback” link in the Gutenberg side menu.
Use expandable panels for advanced block features (class name and anchor).
Removed touch listeners from multi select.
Added block descriptions to blocks that didn’t have them.
Allow stored values to be updated with new defaults.
Refactor image block to use withApiData and fix issues with .tiff images.
Clean up non inline elements when pasting inline content.
Remove unused code in BlockList component.
Added “transform into” text to block switcher.
Fixed sidebar overflow causing extra scrollbars.
Fixed multi-select inside new scroll container.
Fixed image block error with .tiff image.
Fixed the content overflowing outside the verse block container.
Fixed issues with sticky quick toolbar position.
Fixed hitting enter when a block is selected creating a default block after selected block.
Fixed teaser markup in demo content.
Clean working directory before packaging plugin.
Updated Webpack dependencies.
Updated Jest and React.
Fix issue where invalid block resolution options were not clickable.
Resolve block conflicts when editing a block post in the classic editor. Gutenberg’s strict content validation has helped identify formatting incompatibilities, and continued improvements are planned for future releases.
Add word and block count to table of contents.
Add support for meta attributes (custom fields) in block attributes. This allows block authors to specify attributes to live outside of post_content entirely.
Allow Gutenberg to be the default editor for posts with blocks and add links to classic editor.
Accessibility: add landmark regions.
Add metabox placeholder shell.
Add crash recovery for blocks which error while saving.
Hide Sidebar panels if the user doesn’t have the right capabilities.
Refactor PostTaxonomies to use ‘withApiData’.
Create ‘withApiData’ higher order component for managing API data.
Make casing consistent.
Allow toolbar wrapper to be clicked through.
Support and bootstrap server-registered block attribute schemas.
Shift focus into popover when opened.
Reuse the tabbable utility to retrieve the tabbables elements in WritingFlow.
Change placeholder text on button.
Persist the sate of the sidebar across refresh.
Use a small multiselect buffer zone, improving multiple block selection.
Close popover by escape keypress.
Improve dropzone contrast ratio.
Improve search message to add context.
Improve string extraction for localized strings.
Fixed z-index issue of gallery image inline menu.
Fixed image block resizing to set the figure wrapper.
Fixed column widths in gallery block.
Fixed parsing in do_blocks() and rendering of blocks on frontend in the_content.
Fixed position of upload svg on mobile.
Add blocks “slash” autocomplete—shortcut to continue adding new block without leaving the keyboard.
Add ability to remove an image from a gallery from within the block (selecting image).
Add option to open a created link in a new window.
Support and bootstrap server-registered block attribute schemas.
Improve accessibility of add-new-category form.
Documentation gets an updated design and content improvements.
Adjust column width calculation in gallery block to properly respect column count.
Move pending review control together with sticky toggle at the bottom.
Add caption styling for video block.
Allow removing a “classic text” block with backspaces.
Allow Button block to show placeholder text.
Drop the deprecated button-secondary class name.
Fix link dialog not showing in Safari when caret is in the middle of the word.
Fix adding new categories and position newly added term at the top.
Fix the resetting of drop-zone states after dropping a file.
Fix embed saving “undefined” text when URL is not set.
Fix placeholder styling on Text when background color is set.
Update Composer + PHPCS.
Rename default block handlers.
Update code syntax tabs in docutron.
Link to plugin download and github repo from docutron.
Added block API document.
Add “Edit and Save” document.
Restored keyboard navigation with more robust implementation, addressing previous browser issues.
Added drag and drop for media with pointer to create new blocks.
Merged paragraph and cover text blocks (includes the colors and font size options).
Reworked color palette picker with a “clear” and a “custom color” option.
Further improvements to inline pasting and fixing errant empty blocks.
Added thumbnail size selector to image blocks.
Added support for url input and align and edit buttons to audio block.
Persist the state of the sidebar across page refresh.
Persist state of sidebar panels on page refresh.
Persist editor mode on page refresh.
New withAPIData higher-order component for making it easier to manage data needs.
Preserve unknown block and remove “freeform” comment delimiters (unrecognized HTML is handled without comment delimiters).
Show “add new term” in hierarchical taxonomies (including categories).
Show tooltip only after mouseover delay.
Show post formats only if the post type supports them.
Added align and edit buttons to video block.
Preload data in withApiData to improve perceived performance.
Improve accessibility of sidebar modes.
Allow changing cover-image settings before uploading an image.
Improve validation leniency around non-meaningful differences.
Take into account capabilities for publishing action.
Update author selector to show only users capable of authoring posts.
Normalize pasted blockquote contents.
Refactored featured image, page attributes to use withApiData
Added a fix to avoid cloning nodes by passing pasted HTML string.
Added a fix to avoid re-encoding on encoded posts.
Fixed resetting the focus config when block already selected.
Allowing adding of plain text after insert link at the end of a paragraph.
Update to latest TinyMCE version.
Show only users capable of authoring posts.
Add submit for review to publish for contributor.
Delete or backspace in an empty “classic text” block now removes it.
Check for type in block transformations logic.
Fixed drop-down menu issue on classic text.
Added filter to allow post types to disable “edit in gutenberg” links.
Made UrlInput and UrlInputButton available as reusable components.
Use wordpress/a11y package instead of global.
Added npm5 package-lock.
We welcome all your feedback and contributions on the project repository, or ping us in #core-editor. Follow the “gutenberg” tag for past updates.
Added ability to change font-size in cover text using slider and number input.
Added support for custom anchors (ids) on blocks, allowing to link directly to a section of the post.
Updated pull-quote design.
Created custom color palette component with “clear” option and “custom color” option. (And better markup and accessibility.)
Improve pasting: recognizing more elements, adding tests, stripping non-semantic markup, etc.
Improve gallery visual design and fix cropping in Safari.
Allow selecting a heading block from the table-of-contents panel directly.
Make toolbar slide horizontally for mobile.
Improve range-input control with a number input.
Fix pasting problems (handling of block attributes).
More stripping of unhandled elements during paste.
Show post format selector only for posts.
Display nicer URLs when editing links.
More compact save indicator.
Disabled arrow key navigation between blocks as we refine implementation.
Removed blank target from “view post” in notices.
Fix empty links still rendering ont he front-end.
Fix shadow on inline toolbars.
Fix problem with inserting pull-quotes.
Fix drag and drop on image block.
Removed warning when publishing.
Don’t provide version for vendor scripts.
Clean category code in block registration.
Added history and resources docs.
New Categories Block (based on existing widget).
New Text Columns Block (initial exploration of text-only multiple columns).
New Video Block.
New Shortcode Block.
New Audio Block.
Added resizing handlers to Image Block.
Added direct image upload button to Image Block and Gallery Block.
Give option to transform a block to Classic when it encounters problems.
Give option to Overwrite changes on a block detected as invalid.
Added “link to” option in galleries.
Added support for custom taxonomies.
Added post formats selector to post settings.
Added keywords support (aliases) to various blocks to improve search discovery.
Significant improvements to the way attributes are specified in the Block API and its clarity (handles defaults and types).
Added Tooltip component displaying aria-labels from buttons.
Removed stats tracking code.
Updated design document.
Capture and recover from block rendering runtime errors.
Handle enter when focusing on outer boundary of a block.
Reduce galleries json attributes data to a minimum.
Added caption styles to the front-end for images and embeds.
Added missing front-end alignment classes for table and cover-text blocks.
Only reset blocks on initial load to prevent state fluctuations.
Improve calculation of dirty state by making a diff against saved post.
Improve visual weight of toolbar by reducing its silhouette.