PluginProbe
Code Snippets / 4.0.0-beta.2
Code Snippets v4.0.0-beta.2
4.0.0-beta.2 3.10.2 3.10.1 3.10.0 3.10.0-beta.2 3.10.0-beta.1 4.0.0-beta.1 3.9.6 trunk 2.10.0 2.10.1 2.12.0 2.12.1 2.13.0 2.13.1 2.13.2 2.13.3 2.14.0 2.14.1 2.14.2 2.14.3 2.14.4 2.14.5 2.14.6 3.0.0 All 65 releases
← All changes | readme.txt +258 -187 2.14.5 → 4.0.0-beta.2 View file →
@@ -1,74 +1,61 @@
1 1 === Code Snippets ===
2 -Contributors: bungeshea, ver3
3 -Donate link: https://sheabunge.com/donate
4 -Tags: snippets, functions, code, php, multisite
5 -License: MIT
2 +Contributors: bungeshea, ver3, lightbulbman, 0aksmith, johnpixle, carolinaop, tallblokeuk
3 +Donate link: https://codesnippets.pro
4 +Tags: code, snippets, multisite, php, css
5 +License: GPL-2.0-or-later
6 6 License URI: license.txt
7 -Stable tag: 2.14.5
8 -Tested up to: 6.0
7 +Stable tag: 3.10.2
8 +Requires at least: 5.5
9 +Tested up to: 7.1
10 +Requires PHP: 7.4
9 11
10 -An easy, clean and simple way to run code snippets on your site.
12 +An easy, clean, and simple way to enhance your site with code snippets.
11 13
12 14 == Description ==
13 15
14 -Code Snippets is an easy, clean and simple way to run code snippets on your site. It removes the need to add custom snippets to your theme's `functions.php` file.
16 +**✂ Code Snippets** provides an effortless way to enhance your WordPress site.
15 17
16 -A snippet is a small chunk of PHP code that you can use to extend the functionality of a WordPress-powered website; essentially a mini-plugin with less load on your site.
17 -Most snippet-hosting sites tell you to add snippet code to your active theme's `functions.php` file, which can get rather long and messy after a while.
18 -Code Snippets changes that by providing a GUI interface for adding snippets and **actually running them on your site** just as if they were in your theme's `functions.php` file.
18 +**🚀 Upgrade to Code Snippets Pro** for complete CSS, JavaScript, Gutenberg, Elementor and cloud synchronisation integrations. **[Elevate your snippets experience now!](https://codesnippets.pro/pricing)**
19 19
20 -Code Snippets provides graphical interface, similar to the Plugins menu, for managing snippets. Snippets can be activated and deactivated, just like plugins. The snippet editor includes fields for a name, a visual editor-enabled description, tags to allow you to categorize snippets, and a full-featured code editor. Snippets can be exported for transfer to another site, either in JSON for later importing by the Code Snippets plugin, or in PHP for creating your own plugin or theme.
20 +Say goodbye to the hassle of tweaking your theme's `functions.php` file and downloading endless plugins – Code Snippets simplifies the process!
21 21
22 -If you have any feedback, issues, or suggestions for improvements please leave a topic in the [Support Forum](https://wordpress.org/support/plugin/code-snippets), or [join the community on Facebook](https://facebook.com/groups/codesnippetsplugin).
22 +A snippet is like a mini-plugin for your WordPress site, providing added functionality without the clutter.
23 23
24 -If you like this plugin, or it is useful to you in some way, please consider reviewing it on [WordPress.org](https://wordpress.org/support/view/plugin-reviews/code-snippets).
24 +Unlike other solutions that involve dumping code into your `functions.php` file, Code Snippets offers an intuitive graphical interface for seamless integration and real-time execution. Managing snippets is as easy as activating and deactivating plugins, only without the bloat and overhead.
25 25
26 -If you'd like to contribute to the plugin's code or translate it into another language, you can [fork the plugin on GitHub](https://github.com/sheabunge/code-snippets).
26 +**🎥 Watch a quick overview by Imran Siddiq:**
27 27
28 -== Translations ==
28 +https://youtu.be/uzND-wdSCMQ
29 29
30 -Code Snippets can be used in these different languages thanks to the following translators:
30 +☁️ Each copy of Code Snippets includes full integration with the community-powered [Code Snippets Cloud](https://codesnippets.cloud/) platform, providing easy access to hundreds of tweaks and enhancements ready to power-up any WordPress site.
31 31
32 -* Belarusian – [Hrank.com](https://www.hrank.com)
33 -* Brazilian Portuguese – [Bruno Borges](http://brunoborges.info)
34 -* Chinese – [Jincheng Shan](http://shanjincheng.com) and [诗语](https://profiles.wordpress.org/f2010525/)
35 -* Chinese (Taiwan) – [Alex Lion](https://www.alexclassroom.com/) and [Chun-Chih Cheng](https://profiles.wordpress.org/alex1114/)
36 -* Croatian – [Borisa Djuraskovic from Web Hosting Hub](https://www.webhostinghub.com/)
37 -* Czech – [Lukáš Tesař](mailto:[email protected]) and [Jakub Humpolec](https://profiles.wordpress.org/jumphy/)
38 -* Danish – [Finn Sommer Jensen](https://profiles.wordpress.org/finnsommer/)
39 -* Dutch – [Sander Spies](https://github.com/sander1), [Peter Smits](https://psmits.com) and [mother.of.code.a11n](https://profiles.wordpress.org/imazed/)
40 -* English (New Zealand) and English (UK) – [webaware](https://profiles.wordpress.org/webaware/)
41 -* English (South Africa) – [webaware](https://profiles.wordpress.org/webaware/) and [Ian Barnes](https://profiles.wordpress.org/ianbarnes/)
42 -* French – [momo-fr](https://www.momofr.net/), [Didier Demory](https://www.wptrads.com/), [Cyrille Sanson](https://100son.net/) and [Shea Bunge](https://sheabunge.com)
43 -* French (Canada) – [Dominic Desbiens](https://www.dominicdesbiens.com/)
44 -* German – [Mario Siegmann](https://web-alltag.de/), [Joerg Knoerchen](https://www.sensorgrafie.de/), [David Decker](https://deckerweb.de) and [Andreas](https://profiles.wordpress.org/perryzelda/)
45 -* Greek – [Konstantinos Megas](https://profiles.wordpress.org/nextdoorpanda/) and [Toni Bishop from Jrop](https://www.jrop.com/)
46 -* Indonesian – [Jordan Silaen from ChameleonJohn.com](https://www.chameleonjohn.com/)
47 -* Italian – [Usman Wagan](https://coupontoaster.com/), [Luisa Ravelli](https://profiles.wordpress.org/darkavenger/) and [ElectricFeet](https://profiles.wordpress.org/electricfeet/)
48 -* Japanese – [mt8](https://mt8.biz/), [Takakazu Nagaya](https://profiles.wordpress.org/tanagaya/), [Naoko Takano](https://naoko.blog/) and [melvas](https://profiles.wordpress.org/melvas/)
49 -* Persian – [Mohammad Novintanon](http://mnovintan.ir/)
50 -* Russian – [Alexander Samsonov](http://www.wordpressplugins.ru/administration/code-snippets.html), [Yui](https://profiles.wordpress.org/fierevere/), [Denis Yanchevskiy](https://denisco.pro/) and [krioteh](https://profiles.wordpress.org/krioteh/)
51 -* Slovak – [Ján Fajčák](https://wp.sk)
52 -* Spanish (Colombia) and Spanish (Ecuador) – [Javier Esteban](https://javieresteban.org/)
53 -* Spanish (Spain) – [Ibidem Group](https://www.ibidemgroup.com), [Javier Esteban](https://javieresteban.org/), [Fernando Tellado](https://ayudawp.com/) and [Juanma Aranda](https://juanmaaranda.com/)
54 -* Spanish (Venezuela) – [Yordan Soares](https://yordansoar.es/)
55 -* Swedish – [Argentum](https://profiles.wordpress.org/argentum/), [Fredrik](https://profiles.wordpress.org/elbogen/) and [Tor-Bjorn Fjellner](https://profiles.wordpress.org/tobifjellner/)
56 -* Urdu – [Samuel Badree](https://mobilemall.pk/)
57 -* Vietnamese – [Tuan Phan](https://profiles.wordpress.org/khunglong/)
32 +**🌐 Connect with us:**
58 33
34 +* [Support Forum](https://wordpress.org/support/plugin/code-snippets)
35 +* [Facebook Community](https://facebook.com/groups/codesnippetsplugin)
36 +* [Discord Community](https://snipco.de/discord)
37 +* [GitHub Repository](https://github.com/codesnippetspro/code-snippets)
38 +
39 +🌟 Like our plugin? Find it useful? Please consider sharing your experience by [leaving a review on WordPress.org](https://wordpress.org/support/view/plugin-reviews/code-snippets). Your feedback is instrumental to shaping our future growth!
40 +
41 +🌍 We'd like to thank the wonderful people who have helped contribute translations to allow Code Snippets to be used in different languages. [You can find a full list here](https://github.com/codesnippetspro/code-snippets/blob/core/CREDITS.md#translators).
42 +
59 43 == Installation ==
60 44
61 -= Automatic installation =
45 += Automatic Installation =
62 46
63 47 1. Log into your WordPress admin
64 48 2. Click __Plugins__
49 +
65 50 3. Click __Add New__
51 +
66 52 4. Search for __Code Snippets__
53 +
67 54 5. Click __Install Now__ under "Code Snippets"
68 55 6. Activate the plugin
69 56
70 -= Manual installation =
57 += Manual Installation =
71 58
72 59 1. Download the plugin
73 60 2. Extract the contents of the zip file
74 61 3. Upload the contents of the zip file to the `wp-content/plugins/` folder of your WordPress installation
@@ -77,24 +64,18 @@
77 64 Network Activating Code Snippets through the Network Dashboard will enable a special interface for running snippets across the entire network.
78 65
79 66 == Frequently Asked Questions ==
80 67
81 -A full list of our Frequently Asked Questions can be found at [help.codesnippets.pro](https://help.codesnippets.pro/collection/3-faq).
68 +A full list of our Frequently Asked Questions can be found at [codesnippets.pro](https://codesnippets.pro/docs/faq/).
82 69
83 -= How do I insert snippets into the post text editor? =
84 -Code Snippets v2 is designed to be used with PHP Function Snippets, which are not intended to be inserted as content, but instead persistently on your site as if they were part of a plugin or your theme's functions.php file.
85 -
86 -Code Snippets v3 will bring a new type of snippet, Content Snippets, which are designed to be included in the content of a post or page. Stay tuned for the release!
87 -
88 70 = How can I recover my site if it is crashed by a buggy snippet? =
71 +You can recover your site by enabling the Code Snippets safe mode feature. Instructions for how to turn it on are available here: <https://codesnippets.pro/doc/safe-mode/>.
89 72
90 -You can recover your site by enabling the Code Snippets safe mode feature. Instructions for how to turn it on are available here: <https://help.codesnippets.pro/article/12-safe-mode>.
91 -
92 73 = Will I lose my snippets if I change the theme or upgrade WordPress? =
93 74 No, the snippets are stored in the WordPress database, independent of the theme and unaffected by WordPress upgrades.
94 75
95 76 = Can the plugin be completely uninstalled? =
96 -If you enable the 'Complete Uninstall' option on the plugin settings page, Code Snippets will clean up all of its data when deleted through the WordPress 'Plugins' menu. This includes all of the stored snippets. If you would like to preserve the snippets, ensure they are exported first.
77 +If you enable the 'Complete Uninstall' option on the plugin settings page, Code Snippets will clean up all of its data when deleted through the WordPress 'Plugins' menu. This includes all stored snippets. If you would like to preserve the snippets, ensure they are exported first.
97 78
98 79 = Can I copy snippets that I have created to another WordPress site? =
99 80 Yes! You can individually export a single snippet using the link below the snippet name on the 'Manage Snippets' page or bulk export multiple snippets using the 'Bulk Actions' feature. Snippets can later be imported using the 'Import Snippets' page by uploading the export file.
100 81
@@ -107,13 +88,16 @@
107 88 = Where are the snippets stored in my WordPress database? =
108 89 Snippets are stored in the `wp_snippets` table in the WordPress database. The table name may differ depending on what your table prefix is set to.
109 90
110 91 = Where can I go for help or suggest new features? =
111 -You can get help with Code Snippets, report bugs or errors, and suggest new features and improvements either on the [WordPress Support Forums](https://wordpress.org/support/plugin/code-snippets) or on [GitHub](https://github.com/sheabunge/code-snippets)
92 +You can get help with Code Snippets, report bugs or errors, and suggest new features and improvements either on the [WordPress Support Forums](https://wordpress.org/support/plugin/code-snippets) or on [GitHub](https://github.com/codesnippetspro/code-snippets).
112 93
113 94 = How can I help contribute to the development of the Code Snippets plugin? =
114 -The best way to do this is to fork the [repository on GitHub](https://github.com/sheabunge/code-snippets) and send a pull request.
95 +The best way to do this is to fork the [repository on GitHub](https://github.com/codesnippetspro/code-snippets) and send a pull request.
115 96
97 += How can I report security bugs found in this plugin? =
98 +You can report security bugs found in the source code of this plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/code-snippets). The Patchstack team will assist with verification, triage, and notification of security vulnerabilities.
99 +
116 100 == Screenshots ==
117 101
118 102 1. Managing existing snippets
119 103 2. Adding a new snippet
@@ -121,157 +105,244 @@
121 105 4. Importing snippets from an export file
122 106
123 107 == Changelog ==
124 108
125 -= 2.14.5 (10 May 2022) =
126 -* Fixed: Incompatibility issue with older versions of PHP.
109 += 3.10.2 (2026-09-01) =
127 110
128 -= 2.14.4 (5 May 2022) =
129 -* Fixed: Prevent array key errors when loading the snippet table with unknown order values.
111 +__Added__
130 112
131 -= 2.14.3 (10 Dec 2021) =
132 -* Fixed: Potential security issue outputting snippets-safe-mode query variable value as-is. Thanks to Krzysztof Zając for reporting.
113 +* Added a confirmation flow for run-once snippet execution and hardened the handler to prevent failed or confusing actions.
133 114
134 -= 2.14.2 (9 Sep 2021) =
135 -* Fixed: Prevent network snippets table from being created on single-site installs.
136 -* Added translations:
137 - - Spanish by [Ibidem Group](https://www.ibidemgroup.com)
138 - - Urdu by [Samuel Badree](https://mobilemall.pk/)
139 - - Greek by [Toni Bishop from Jrop](https://www.jrop.com/)
140 -* Added: Support for `:class` syntax to the code validator.
141 -* Added: PHP8 support to the code linter.
142 -* Added: Color picker feature to the code editor.
143 -* Added: Failsafe to prevent multiple versions of Code Snippets from running simultaneously.
115 +__Changed__
144 116
145 -= 2.14.1 (10 Mar 2021) =
146 -* Added: Czech translation by [Lukáš Tesař](https://github.com/atomicf4ll).
147 -* Fixed: Code validator now supports `function_exists` and `class_exists` checks.
148 -* Fixed: Code validator now supports anonymous functions.
149 -* Fixed: Issue with saving the hidden columns setting.
150 -* Fixed: Replaced the outdated tag-it library with [tagger](https://github.com/jcubic/tagger) for powering the snippet tags editor.
151 -* Added: Code direction setting for RTL users.
152 -* Updated CodeMirror to version 5.59.4.
153 -* Added: Additional action hooks and search API thanks to [@Spreeuw](https://github.com/Spreeuw).
117 +* Snippet names now respect the row truncation Screen Option in the admin list for better readability.
118 +* Version switching AJAX requests now validate the correct nonce, improving reliability when updating snippet versions.
154 119
155 -= 2.14.0 (26 Jan 2020) =
156 -* Updated CodeMirror to version 5.50.2.
157 -* Added: Basic error checking for duplicate functions and classes.
158 -* Updated Italian translations to fix display issues – thanks to [Francesco Marino](https://360fun.net).
159 -* Fixed: Ordering snippets in the table by name will now be case-insensitive.
160 -* Added: Additional API options for retrieving snippets.
161 -* Fixed: Code editor will now properly highlight embedded HTML, CSS and JavaScript code.
162 -* Changed the indicator color for inactive snippets from red to grey.
163 -* Fixed a bug preventing the editor theme from being set to default.
164 -* Added: Store the time and date when each snippet was last modified.
165 -* Added: Basic error checking when activating snippets.
166 -* Fixed: Ensure that imported snippets are always inactive.
167 -* Fixed: Check the referer on the import menu to prevent CSRF attacks. Thanks to [Chloe with the Wordfence Threat Intelligence team](https://www.wordfence.com/blog/author/wfchloe/) for reporting.
168 -* Fixed: Ensure that individual snippet action links use proper verification.
120 +__Fixed__
169 121
170 -= 2.13.3 (13 Mar 2019) =
171 -* Added: Hover effect to activation switches.
172 -* Added: Additional save buttons above snippet editor.
173 -* Added: List save keyboard shortcuts to the help tooltip.
174 -* Added: Change "no items found" message when search filters match nothing.
175 -* Fixed: Calling deprecated code in database upgrade process.
176 -* Fixed: Include snippet priority in export files.
177 -* Fixed: Use Unix newlines in code export file.
178 -* Updated CodeMirror to version 5.44.0.
179 -* Fixed: Correctly register snippet tables with WordPress to prevent database repair errors [[#](https://wordpress.org/support/topic/database-corrupted-4/)]
180 -* Fixed: CodeMirror indentation settings being applied incorrectly
122 +* Fixed safe mode fatal errors caused by an undefined wp_get_current_user() call.
123 +* Fixed PHP validation being triggered incorrectly when activating snippets in bulk.
124 +* Fixed saving issues after a user session expires.
125 +* Fixed warnings caused by aliased field names when reading modified snippet fields.
126 +* Fixed vendor autoloader issues by stripping unprefixed namespace references.
127 +* Resolved issues where snippet names and version switches could behave inconsistently in the admin UI.
181 128
182 -= 2.13.2 (25 Jan 2019) =
183 -* Removed potentially problematic cursor position saving feature
129 += 3.10.1 (2026-08-28) =
184 130
185 -= 2.13.1 (22 Jan 2019) =
186 -* Added: Add menu buttons to settings page for compact menu
187 -* Updated: French translation updated thanks to momo-fr
188 -* Fixed: Split code editor and tag editor scripts into their own files to prevent dependency errors
189 -* Fixed: Handling of single-use shared network snippets
190 -* Fixed: Minor translation template issues
191 -* Added: Help tooltop to snippet editor for keyboard shortcuts, thanks to Michael DeWitt
192 -* Improved: Added button for executing single-use snippets to snippets table
193 -* Added: Sample snippet for ordering snippets table by name by default
194 -* Updated CodeMirror to version 5.43.0
131 +__Changed__
195 132
196 -= 2.13.0 (17 Dec 2018) =
197 -* Added: Search/replace functionality to the snippet editor. [See here for a list of keyboard shortcuts.](https://codemirror.net/demo/search.html) [[#](https://wordpress.org/support/topic/feature-request-codemirror-search-and-replace/)]
198 -* Updated CodeMirror to version 5.42.0
199 -* Added: Option to make admin menu more compact
200 -* Fixed: Problem clearing recently active snippet list
201 -* Improved: Integration between plugin and the CodeMirror library, to prevent collisions
202 -* Improved: Added additional styles to editor settings preview
203 -* Added: PHP linter to code editor
204 -* Improved: Use external scripts instead of inline scripts
205 -* Fixed: Missing functionality for 'Auto Close Brackets' and 'Highlight Selection Matches' settings
133 +* Enhanced active-link visibility in the toolbar with border-based styling.
206 134
207 -= 2.12.1 (15 Nov 2018) =
208 -* Improved: CodeMirror updated to version 5.41.0
209 -* Improved: Attempt to create database columns that might be missing after a table upgrade
210 -* Improved: Streamlined upgrade process
211 -* Fixed: Interface layout on sites using right-to-left languages
212 -* Improved: Made search box appear at top of page on mobile [[#](https://wordpress.org/support/topic/small-modification-for-mobile-ux/)]
213 -* Updated screenshots
135 +__Fixed__
214 136
215 -= 2.12.0 (23 Sep 2018) =
216 -* Fixed: Prevented hidden columns setting from reverting to default
217 -* Improved: Updated import page to improve usability
218 -* Improved: Added Import button next to page title on manage page
219 -* Improved: Added coloured banner indicating whether a snippet is active when editing
220 -* Update CodeMirror to 5.40.0
137 +* Fixed a fatal error affecting snippets that use a `namespace` or `declare` statement.
138 +* Fixed the snippets page rendering blank when another plugin's screen settings filter returned an invalid value.
139 +* Fixed snippet saving on hosts that block REST API `PUT` and `PATCH` requests, by sending writes as `POST` with a method override.
140 +* Fixed the Snippets List Order setting not being applied to the snippets list.
141 +* Fixed admin bar snippet scripts failing to load on the free version, including on the site front end.
142 +* Fixed snippet modified dates being sent without the correct UTC offset.
143 +* Fixed the row truncation screen option not persisting across sessions.
144 +* Fixed inconsistent sidebar label sizes.
145 +* Fixed the sticky editor sidebar showing an unwanted horizontal scrollbar.
221 146
222 -= 2.11.0 (24 Jul 2018) =
223 -* Added: Ability to assign a priority to snippets, to determine the order in which they are executed
224 -* Improvement: The editor cursor position will be preserved when saving a snippet
225 -* Added: Pressing Ctrl/Cmd + S while writing a snippet will save it
226 -* Added: Shadow opening PHP tag above the code editor
227 -* Improved: Updated the message shown when there are no snippets
228 -* Added: Install sample snippets when the plugin is installed
229 -* Improved: Show all available tags when selecting the tag field
230 -* Added: Filter hook for controlling the default list table view
231 -* Added: Action for cloning snippets
147 += 3.10.0 (2026-08-24) =
232 148
233 -= 2.10.2 (21 Jul 2018) =
234 -* Added: Button to reset settings to their default values
235 -* Improved: Made uninstall cleanup optional through a plugin setting
236 -* Fixed: Applied formatting filters to snippet descriptions in the table
237 -* Improved: Ordered tags by name in the filter dropdown menu
238 -* Fixed: Incorrectly translated strings
239 -* Added: Belarusian translation by Hrank.com
240 -* Improved: Enabled sorting snippets table by tags
241 -* Updated CodeMirror to version 5.39.0
149 +__Added__
242 150
243 -= 2.10.1 (10 Feb 2018) =
244 -* Fixed: Prevent errors when trying to export no snippets
245 -* Fixed: Use wp_json_encode() to encode export data
246 -* Fixed: Check both the file extension and MIME type of uploaded import files
151 +* New admin interface for managing snippets, with a cleaner layout, faster interactions, and a more consistent experience across plugin screens.
152 +* Card view for browsing snippets, with a view switcher on the snippets table and Community Cloud.
153 +* Snippet preview modal for viewing snippet code from the snippets table without opening the editor.
154 +* Automatic hiding of unrelated admin notices from other plugins on Code Snippets screens.
155 +* Admin bar snippet drawer, based on the Deckerweb Snippets workflow, for quick access to snippets and Safe Mode from the WordPress admin bar.
156 +* Snippet locking to help prevent accidental edits or deletion of important snippets. Props to https://github.com/mgiannopoulos24.
157 +* Improved screen options on the main snippets table, including controls for visible columns and truncating long snippet names or descriptions.
158 +* Bulk actions and bulk code download support in the redesigned snippets table.
159 +* Featured snippets and improved browsing in Community Cloud.
160 +* WordPress modern theme admin styling compatibility.
161 +* Clearer accessibility labels, headings, tab markup, table checkboxes, sort buttons, copy buttons, and drag-and-drop upload controls.
247 162
248 -= 2.10.0 (18 Jan 2018) =
249 -* Improved: Added support for importing from multiple export files at once
250 -* Improved: Unbold the titles of inactive snippets for greater visual distinction
251 -* Added: New scope for single-use snippets
252 -* Improved: Don't show network snippets on subsites by default, and only to super admins
253 -* Improved: Export snippets to JSON instead of XML
254 -* Improved: More options for importing duplicate snippets
255 -* Improved: Use strings for representing scopes internally instead of numbers
256 -* Added: Allowed plugin settings to be unified on multisite through Network Settings option
257 -* Fixed: Issue with incorrectly treating network snippets as site-wide for code validation
258 -* Improved: Rename 'Export to PHP' to 'Download', and add button to edit snippet page
163 +__Changed__
259 164
260 -**[The full changelog is available on GitHub](https://github.com/sheabunge/code-snippets/blob/master/CHANGELOG.md)**
165 +* Redesigned the main snippets table with improved search, filtering, sorting, pagination, row actions, and bulk selection.
166 +* Improved the snippet import and migration experience, including clearer file upload handling and third-party plugin migration flows.
167 +* Improved snippet error handling so activation failures, validation errors, and stack traces are easier to understand.
168 +* Improved Community Cloud search and filtering, including server-side filters, better result loading, and clearer empty states.
169 +* Updated the welcome screen, toolbar, import screen, and cloud screens to match the new admin experience.
170 +* Updated internal plugin architecture to a cleaner PSR-4 structure for better long-term maintainability.
171 +* Improved accessibility across the snippets table, import screen, migration flow, Community Cloud, welcome screen, toolbar, dialogs, tooltips, and code editor.
172 +* Improved colour contrast and reduced-motion support across admin screens.
261 173
262 -== Upgrade Notice ==
174 +__Fixed__
263 175
264 -= 2.14.2 =
265 -New color picker and code validator improvements.
176 +* Fixed REST API server error responses on missing snippets.
177 +* Fixed redundant frontend logic, improving overall performance.
178 +* Fixed Community Cloud search results and pagination to respect WordPress screen options.
179 +* Fixed snippet saving and activation feedback to improve validation and runtime error display.
180 +* Fixed downloaded Community Cloud snippets appearing as not downloaded after a page reload.
181 +* Fixed network snippet lookups using the wrong database table on multisite.
182 +* Fixed the inactive snippets count including trashed snippets.
183 +* Fixed featured Community Cloud snippets failing to load with some cloud API responses.
266 184
267 -= 2.14.0 =
268 -Security update, last modified dates, and other improvements
185 += 3.9.6 (2026-04-28) =
269 186
270 -= 2.13.1 =
271 -Fixes for single-use snippets and French translation
187 +__Fixed__
272 188
273 -= 2.11.0 =
274 -Snippet priorities and other small features
189 +* Improved permissions handling with snippets REST API.
190 +* Site admin cannot toggle shared network snippets status.
275 191
276 -= 2.10.0 =
277 -Improvements for multisite and new single-use snippet scope
192 += 3.9.5 (2026-02-05) =
193 +
194 +__Fixed__
195 +
196 +* Improved security when handling actions for downloading and updating cloud snippets.
197 +
198 += 3.9.4 (2026-01-14) =
199 +
200 +__Added__
201 +
202 +* New import functionality to migrate snippets from file uploads with drag-and-drop interface.
203 +* Support for importing snippets from other popular plugins (Header Footer Code Manager, Insert Headers and Footers, Insert PHP Code Snippet).
204 +* Enhanced file based execution support with improved multisite mode compatibility.
205 +
206 +__Fixed__
207 +
208 +* Fixed multisite capability checks in Plugin class.
209 +* Fixed snippet execution logic for multisite support by centralizing trashed snippet handling.
210 +* Fixed multisite snippet handling to ensure local snippets use correct table and filter out trashed snippets.
211 +
212 += 3.9.3 (2025-12-03) =
213 +
214 +__Added__
215 +
216 +* End-to-end tests to verify the toggle visual state in the snippets list page, improving UI verification and test reliability.
217 +
218 +__Fixed__
219 +
220 +* Restored missing styles styling and direction-aware layout from Manage menu.
221 +* Ensure correct transformation value is used when detecting state of activation toggle.
222 +
223 += 3.9.2 (2025-11-17) =
224 +
225 +__Changed__
226 +
227 +* Introduced a custom scissors icon and updated button title for the TinyMCE extension.
228 +* Improved back-navigation styling on the edit page.
229 +* Refined layout for column names and action buttons in the Cloud Snippets list.
230 +* Enhanced overall styling of cloud-related UI components.
231 +* Optimized cloud search with more efficient pagination and snippet retrieval.
232 +* Introduced groundwork to prevent Composer dependency collisions with other plugins.
233 +
234 +__Fixed__
235 +
236 +* Improved sanitization and normalization across Cloud API and pagination outputs.
237 +* Resolved various TinyMCE issues reported in the WordPress support forum.
238 +
239 += 3.9.1 (2025-11-14) =
240 +
241 +__Changed__
242 +
243 +* Migrated to native CSS direction handling (RTL/LTR) for improved compatibility and simpler styling
244 +* Updated dependencies to the latest compatible versions
245 +
246 +__Fixed__
247 +
248 +* Fixed TinyMCE menu button registration to prevent initialization failure
249 +* Fixed the position of the 'code direction' control in the editor
250 +
251 += 3.9.0 (2025-11-13) =
252 +
253 +__Added__
254 +
255 +* Added contextual notices in the Snippets list table to surface action results and warnings in the UI
256 +* Expanded Multisite Sharing settings for clearer control over network-wide snippet sharing
257 +
258 +__Changed__
259 +
260 +* Modernized browser support targets and polished admin UI (clearer row-action badges, improved Pro badge hover, refined active snippet name styling)
261 +
262 +__Fixed__
263 +
264 +* Fixed REST API pagination to return correct results and page counts
265 +* Resolved styling selector so the active snippet name highlights reliably
266 +
267 += 3.8.2 (2025-10-31) =
268 +
269 +__Fixed__
270 +
271 +* Improved namespaced PHP snippet handling with file based execution.
272 +
273 += 3.8.1 (2025-10-28) =
274 +
275 +__Added__
276 +
277 +* Code line explanation widget with apply and remove actions for AI-generated comments. (PRO)
278 +
279 +__Changed__
280 +
281 +* Improved pagination handling and display structure for cloud search results. (PRO)
282 +* Enhanced styling for codevault rows and inactive tabs in cloud interface. (PRO)
283 +
284 +__Removed__
285 +
286 +* Removed `guzzlehttp/guzzle` dependency to reduce package conflicts. (PRO)
287 +
288 +__Fixed__
289 +
290 +* Improved file-based snippet handling for multisite installations.
291 +
292 += 3.8.0 (2025-10-24) =
293 +
294 +__Added__
295 +
296 +* @CarolinaOP and @louiswol94 join the team as plugin contributors.
297 +* File-based execution mode for snippets (Optional in Plugin Settings).
298 +* Version switch option, to help easily rollback the plugin to an earlier release.
299 +* Minor UI improvements to the editor and sidebar.
300 +
301 +__Changed__
302 +
303 +* Prefixed Composer packages to reduce collisions with other plugins.
304 +* Snippets REST API now supports pagination via page and per_page query parameters.
305 +* Improved editor preview behavior.
306 +
307 +__Fixed__
308 +
309 +* Fixed issues with snippet evaluation and front-end initialization in edge cases.
310 +* Improved reliability of snippet evaluation.
311 +* JavaScript and CSS snippets loading twice due to a conditions bug. (PRO)
312 +* Fixed issue where some conditions didn’t work due to loading before the loop. (PRO)
313 +
314 += 3.7.0 (2025-08-29) =
315 +
316 +__Added__
317 +
318 +* New 'conditions' feature: control where and when snippets execute with a powerful logic builder. (PRO)
319 +
320 +__Changed__
321 +
322 +* Redesigned edit menu with refreshed look and functionality.
323 +* Updated snippet type badges to be more visually distinct.
324 +* Redesigned tooltips used throughout the plugin.
325 +* Moved content snippet shortcode options into separate modal window.
326 +* Updated snippet tag editor to use built-in WordPress tag editor.
327 +* Created proper form for sharing beta feedback.
328 +* Improved UX of snippet activation toggle.
329 +
330 +__Fixed__
331 +
332 +* Fetching active snippets on a multisite network now respects the 'priority' field above all else when ordering snippets.
333 +* Cloud search appears correctly and allows downloading snippets in the free version of Code Snippets.
334 +* Improved performance of loading admin menu icon.
335 +
336 += 3.6.9 (2025-02-17) =
337 +
338 +__Changed__
339 +
340 +* Updated `Cloud_API::get_bundles()` to properly check bundle data and return an empty array if no valid bundles are present.
341 +* Refactored `Cloud_List_Table::fetch_snippets()` to always return a valid `Cloud_Snippets` instance.
342 +* Cleaned up bundle iteration code and improved translation handling in the bundles view.
343 +
344 +__Fixed__
345 +
346 +* Fixed errors in bundle iteration by adding a check for the bundles array before iterating.
347 +
348 +**[The full changelog is available on GitHub](https://github.com/codesnippetspro/code-snippets/blob/core/CHANGELOG.md)**