What's Changed
- Fix: add missing translators comments by @ramiy in #306
- internal: add phpunit tests by @louiswol94 in #309
- Add promotions by @ramiy in #307
- fix: add missing gap to what's new screen by @ramiy in #315
- chore: Update supported WordPress versions by @ramiy in #316
- feat: Implement Snippet Lock Feature by @mgiannopoulos24 in #323
- Refresh manage menu UI by @sheabunge in #249
- feat: import snippets by @louiswol94 in #308
- [CWA-744] feat: Update promotions for Elementor One & add promotions to additional plugins by @rami-elementor in #329
- fix: snippet error reporting by @CarolinaOP in #325
- chore: satisfy plugin checks for WP core 6.9 by @imantsk in #319
- Fix a warning in promotions by @rami-elementor in #333
- Update readme with version requirements by @ramiy in #334
- [CWA-269] feat: Native Admin Bar QuickNav (Snippets) by DECKERWEB by @imantsk in #328
- chore: add pre-commit hooks + readme/changelog linters, dependency overrides, doc fixes by @imantsk in #335
- Update browsers list db by @rami-elementor in #336
- fix: beta issues by @imantsk in #337
- Rewrite
AGENTS.mdas tool-agnostic single source of truth by @rami-elementor in #338 - Fix: accessible import snippets tabs by @rami-elementor in #344
- Fix: accessible code snippets toolbar by @rami-elementor in #345
- Fix: add semantics to snippets search box by @rami-elementor in #347
- Fix: improve code-mirror accessibility (tab trap) by @rami-elementor in #349
- Fix: visually hide decorative icons for cleaner accessibility tree by @rami-elementor in #350
- Fix: accessible "Run Once" link to run the code by @rami-elementor in #351
- Fix: accessible navigation tab wrappers by @rami-elementor in #348
- Fix: hide empty cloud snippet description paragraph by @rami-elementor in #352
- fix: extract sortable column headings in ListTable component by @rami-elementor in #340
- Fix: accessible title in cloud snippet search results by @rami-elementor in #343
- Fix: cloud snippets results by @rami-elementor in #353
- Fix: enhance react integration by @rami-elementor in #354
- Fix: remove Enter key handling from ConfirmDialog component by @rami-elementor in #357
- Fix: update "what's new" page markup & headings structure by @rami-elementor in #356
- Fix: improve tooltips accessibility by @rami-elementor in #358
- Fix: add reduced motion support for users with motion sensitivity by @rami-elementor in #359
- Fix: update snippet add/edit screen markup & headings structure by @rami-elementor in #360
- Fix: accessible color contrast by @rami-elementor in #361
- Fix: consistent heading structure across all admin screens by @rami-elementor in #362
- Rest api improvements by @louiswol94 in #367
- Fix: consistent heading structure across all admin screens by @rami-elementor in #365
- Fix: additional accessibility improvements by @rami-elementor in #370
- Fix: use correct label on modal close button by @rami-elementor in #371
- Fix: improve accessibility in welcome screen by @rami-elementor in #375
- Fix: add PHPCS ignore for direct database query caching in REST API test by @rami-elementor in #379
- Fix: enhance accessibility in code editor component by @rami-elementor in #378
- Fix: accessible copy to clipboard button by @rami-elementor in #376
- Fix: accessible snippets pagination by @rami-elementor in #372
- Fix: accessible migrate form by @rami-elementor in #373
- Fix: accessible community cloud screen by @rami-elementor in #374
- Fix: keyboard accessible snippet import (drag and drop zone) by @rami-elementor in #381
- Fix: accessible table checkbox - select row & select all by @rami-elementor in #384
- Fix: accessible sort button in a list table by @rami-elementor in #382
- Fix lint issue - max-lines-per-function by @rami-elementor in #385
- Fix: improve performance by loading Promotion only on WordPress admin by @rami-elementor in #386
- Fix: improve performance by not loading REST controllers on frontend by @rami-elementor in #387
- Bulk actions handlers by @louiswol94 in #388
- Fix: improve performance by loading snippets only on manage screen by @rami-elementor in #389
- Fix: accessible upsell modal by @rami-elementor in #390
- Tooling: install the jsx-a11y plugin by @rami-elementor in #377
- feat: Featured Snippets, search and filtering for Community page by @code-snippets-bot in #383
- feat(new): insert code at the start of the body tag by @rami-elementor in #391
- Revert part of PR #391 by @rami-elementor in #395
- Tested up to WordPress 7.0 by @rami-elementor in #396
- fix: broken wordpress notices inside the toolbar by @rami-elementor in #397
- fix: address PR #383 post-merge review feedback by @imantsk in #399
- fix: remove redundant padding from promotion notices by @rami-elementor in #398
- Fix get_item() returning HTTP 500 for a not-found snippet by @thisismyurl in #400
- Bulk and single action handlers for Trash tab by @louiswol94 in #392
- fix: WordPress 7.0 admin UI compatibility by @imantsk in #401
- fix: refine community cloud search results by @imantsk in #402
- docs: codify commit message and code comment conventions by @imantsk in #405
- fix: parse the full cloud API response envelope by @imantsk in #406
- fix: accept an uppercase status token in changelog release headers by @imantsk in #408
- fix: featured snippets retrieval against the snippets-only cloud response by @imantsk in #409
- fix: exclude trashed snippets from the inactive status count by @imantsk in #410
- Release: v4.0.0-beta.1 by @imantsk in #407
New Contributors
- @thisismyurl made their first contribution in #400
Full Changelog: v3.9.6...v4.0.0-beta.1