PluginProbe
Code Snippets / trunk
Code Snippets vtrunk
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 +205 -473 2.10.1 → trunk View file →
@@ -1,56 +1,61 @@
1 1 === Code Snippets ===
2 -Contributors: bungeshea
3 -Donate link: https://bungeshea.com/donate/
4 -Tags: code-snippets, snippets, code, php, network, multisite
5 -Requires at least: 3.6
6 -Tested up to: 4.9.4
7 -Stable tag: 2.10.1.1
8 -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
9 6 License URI: license.txt
7 +Stable tag: 3.10.2
8 +Requires at least: 5.5
9 +Tested up to: 7.1
10 +Requires PHP: 7.4
10 11
11 -An easy, clean and simple way to add code snippets to your site.
12 +An easy, clean, and simple way to enhance your site with code snippets.
12 13
13 14 == Description ==
14 15
15 -Code Snippets is an easy, clean and simple way to add code snippets to your site. It removes the need to add custom snippets to your theme theme's `functions.php` file.
16 +**✂ Code Snippets** provides an effortless way to enhance your WordPress site.
16 17
17 -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.
18 -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.
19 -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)**
20 19
21 -Code Snippets provides graphical interface, similar to the Plugins menu, for managing snippets. Snippets can 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 side, either in XML 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!
22 21
23 -If you have any feedback, issues, or suggestions for improvements please leave a topic in the [Support Forum](http://wordpress.org/support/plugin/code-snippets). If you like this plugin, or it is useful to you in any way, please review it on [WordPress.org](http://wordpress.org/support/view/plugin-reviews/code-snippets). If you'd like to contribute to the plugin's code or translate it into another language, please [fork the plugin on GitHub](https://github.com/sheabunge/code-snippets).
22 +A snippet is like a mini-plugin for your WordPress site, providing added functionality without the clutter.
24 23
25 -= Translations =
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.
26 25
27 -Code Snippets can be used in these different languages thanks to the following translators:
26 +**🎥 Watch a quick overview by Imran Siddiq:**
28 27
29 -* Brazilian Portuguese – [Bruno Borges](http://brunoborges.info)
30 -* French (Canada) - [Dominic Desbiens](http://www.dominicdesbiens.com/)
31 -* Indonesian - [Jordan Silaen from ChameleonJohn.com](https://www.chameleonjohn.com/)
32 -* German - [Mario Siegmann](http://web-alltag.de/), [Joerg Knoerchen](http://www.sensorgrafie.de/), and [David Decker](http://deckerweb.de)
33 -* Dutch - [Sander Spies](https://github.com/sander1)
34 -* Slovak - [Ján Fajčák](http://wp.sk)
35 -* Russian - [Alexander Samsonov](http://www.wordpressplugins.ru/administration/code-snippets.html)
36 -* Chinese - [Jincheng Shan](http://shanjincheng.com)
37 -* Serbo-Croatian - [Borisa Djuraskovic from Web Hosting Hub](http://www.webhostinghub.com/)
38 -* Japanese - [mt8](http://mt8.biz/)
39 -* French - [oWEB](http://office-web.net)
28 +https://youtu.be/uzND-wdSCMQ
40 29
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 +
32 +**🌐 Connect with us:**
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 +
41 43 == Installation ==
42 44
43 -= Automatic installation =
45 += Automatic Installation =
44 46
45 47 1. Log into your WordPress admin
46 48 2. Click __Plugins__
49 +
47 50 3. Click __Add New__
51 +
48 52 4. Search for __Code Snippets__
53 +
49 54 5. Click __Install Now__ under "Code Snippets"
50 55 6. Activate the plugin
51 56
52 -= Manual installation =
57 += Manual Installation =
53 58
54 59 1. Download the plugin
55 60 2. Extract the contents of the zip file
56 61 3. Upload the contents of the zip file to the `wp-content/plugins/` folder of your WordPress installation
@@ -59,33 +64,20 @@
59 64 Network Activating Code Snippets through the Network Dashboard will enable a special interface for running snippets across the entire network.
60 65
61 66 == Frequently Asked Questions ==
62 67
63 -= How can I insert my snippet into the post text editor? =
64 -Snippets that you add to this plugin are not meant to be inserted into the text editor. Instead, they are run on your site just as if they were added to your functions.php file.
68 +A full list of our Frequently Asked Questions can be found at [codesnippets.pro](https://codesnippets.pro/docs/faq/).
65 69
66 -= Do I need to include the <?php, <? or ?> tags in my snippet? =
67 -No, just copy all the content inside those tags. If you accidentally forget (or just like being lazy), the tags will be stripped from the beginning and end of the snippet when you save it. You can, however, use those tags *inside* your snippets to start and end HTML sections
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/>.
68 72
69 -= Help! I just activated a snippet, and my whole site broke! =
70 -You can try activating 'safe mode'. All snippets will not execute while safe mode is active, allowing you to access your site and deactivate the snippet that is causing the error. To activate safe mode, add the following line to your wp-config.php file, just before the line that reads `/* That's all, stop editing! Happy blogging. */`:
71 -
72 - define('CODE_SNIPPETS_SAFE_MODE', true);
73 -
74 - To turn safe mode off, either [comment out](http://php.net/manual/language.basic-syntax.comments.php) this line or delete it.
75 -
76 - You can also activate safe mode on a per-page basis by appending `?snippets-safe-mode=true` to the URL.
77 -
78 -= Is there a way to add a snippet but not run it right away? =
79 -Yes. Just add it but do not activate it yet.
80 -
81 73 = Will I lose my snippets if I change the theme or upgrade WordPress? =
82 -No, the snippets are stored in the WordPress database and are independent of the theme and unaffected by WordPress upgrades.
74 +No, the snippets are stored in the WordPress database, independent of the theme and unaffected by WordPress upgrades.
83 75
84 76 = Can the plugin be completely uninstalled? =
85 -Yes, when you delete Code Snippets using the 'Plugins' menu in WordPress it will clean up the database table and a few other bits of data. Be careful not to remove Code Snippets by deleting it from the Plugins menu unless you want this to happen.
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.
86 78
87 -= Can I copy any snippets I've created to another WordPress site? =
79 += Can I copy snippets that I have created to another WordPress site? =
88 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.
89 81
90 82 = Can I export my snippets to PHP for a site where I'm not using the Code Snippets plugin? =
91 83 Yes. Click the checkboxes next to the snippets you want to export, and then choose **Export to PHP** from the Bulk Actions menu and click Apply. The generated PHP file will contain the exported snippets' code, as well as their name and description in comments.
@@ -95,522 +87,262 @@
95 87
96 88 = Where are the snippets stored in my WordPress database? =
97 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.
98 90
99 -= I need help with Code Snippets / I have an idea for a new feature for Code Snippets =
100 -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)
91 += Where can I go for help or suggest new features? =
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).
101 93
102 -= I want to contribute to and help develop the Code Snippets plugin! =
103 -That's fantastic! Fork the [repository on GitHub](http://github.com/sheabunge/code-snippets) and send me a pull request.
94 += How can I help contribute to the development of the Code Snippets plugin? =
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.
104 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 +
105 100 == Screenshots ==
106 101
107 102 1. Managing existing snippets
108 103 2. Adding a new snippet
109 104 3. Editing a snippet
110 -4. Importing snippets from an XML file
105 +4. Importing snippets from an export file
111 106
112 107 == Changelog ==
113 108
114 -= 2.10.1 (10 Feb 2018) =
115 -* Fixed: Prevent errors when trying to export no snippets
116 -* Fixed: Use wp_json_encode() to encode export data
117 -* Fixed: Check both the file extension and MIME type of uploaded import files
109 += 3.10.2 (2026-09-01) =
118 110
119 -= 2.10.0 (18 Jan 2018) =
120 -* Improved: Added support for importing from multiple export files at once
121 -* Improved: Unbold the titles of inactive snippets for greater visual distinction
122 -* Added: New scope for single-use snippets
123 -* Improved: Don't show network snippets on subsites by default, and only to super admins
124 -* Improved: Export snippets to JSON instead of XML
125 -* Improved: More options for importing duplicate snippets
126 -* Improved: Use strings for representing scopes internally instead of numbers
127 -* Added: Allowed plugin settings to be unified on multisite through Network Settings option
128 -* Fixed: Issue with incorrectly treating network snippets as site-wide for code validation
129 -* Improved: Rename 'Export to PHP' to 'Download', and add button to edit snippet page
111 +__Added__
130 112
131 -= 2.9.6 (14 Jan 2018) =
132 -* Added Brazilian Portuguese translation by [Bruno Borges](http://brunoborges.info)
133 -* Fixed: Use standard WordPress capabilities instead of custom capabilities to prevent lockouts
134 -* Fixed: Multisite issue with retrieving active shared snippets from the wrong table causing duplicate snippet execution
135 -* Moved scope and other settings on single snippet page to below code area
113 +* Added a confirmation flow for run-once snippet execution and hardened the handler to prevent failed or confusing actions.
136 114
137 -= 2.9.5 (13 Jan 2018) =
138 -* Fixed: Undefined function error when accessing the database on multisite
139 -* Fixed: Ensured all admin headings are hierarchical for accessibility
140 -* Made the "Activate By Default" setting enabled by default for new installs
141 -* Updated CodeMirror to version 5.33
115 +__Changed__
142 116
143 -= 2.9.4 (19 Sep 2017) =
144 -* Fixed: Prevented PHP error from occurring when saving a snippet
145 -* Minor improvements to database creation function
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.
146 119
147 -= 2.9.3 (11 Sep 2017) =
148 -* Fixed: Prevent snippets from being executed twice when saving due to invalid ID being passed to allow_execute_snippet filter
149 -* Fixed: Re-enabled output suppression when executing snippets
120 +__Fixed__
150 121
151 -= 2.9.2 (8 Sep 2017) =
152 -* Fixed: Do not attempt to combine queries for fetching local and multisite snippets
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.
153 128
154 -= 2.9.1 (7 Sep 2017) =
155 -* Fixed: Prevent illegal mix of collations errors when fetching snippets from database tables with different collations [[#](https://wordpress.org/support/topic/issue-on-multisite-with-wpml/)]
129 += 3.10.1 (2026-08-28) =
156 130
157 -= 2.9.0 (6 Sep 2017) =
158 -* Fixed: Prevented invalid properties from being set when saving a snippet
159 -* Fixed: Use the correct protocol when saving a snippet
160 -* Improved: Moved code to disable snippet execution into a filter hook
161 -* Fixed: Active shared snippets not being updated correctly
162 -* Improved: execute_active_snippets() function updated with improved efficiency
163 -* Improved: Renamed Snippet class to avoid name collisions with other plugins
164 -* Improved: Don't hide output when executing a snippet
165 -* Updated CodeMirror to version 5.28.0
131 +__Changed__
166 132
167 -= 2.8.6 (14 May 2017) =
168 -* Ensure that get_snippets() function retrieves snippets with the correct 'network' setting. Fixes snippet edit links in network admin.
169 -* Fix snippet description field alias not mapping correctly
133 +* Enhanced active-link visibility in the toolbar with border-based styling.
170 134
171 -= 2.8.5 (13 May 2017) =
172 -* Ensured HTML in snippet titles is escaped in snippets table
173 -* Added Indonesian translation by Jordan Silaen from ChameleonJohn.com
174 -* Disallowed undefined fields to be set on the Snippets class
175 -* Prevented shared network snippets from being included twice in snippets table on multisite
176 -* Added setting to hide network snippets on subsites
135 +__Fixed__
177 136
178 -= 2.8.4 (29 April 2017) =
179 -* Fixed all snippets being treated as network snippets on non-multisite sites
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.
180 146
181 -= 2.8.3 (29 April 2017) =
182 -* Updated CodeMirror to version 5.25.0
183 -* Show network active snippets as read-only on multisite subsites
184 -* Added more compete output escaping to prevent XSS errors
147 += 3.10.0 (2026-08-24) =
185 148
186 -= 2.8.2 (27 Feb 2017) =
187 -* Fix bug introduced in 2.8.1 that broke code verification functionality by executing code twice
149 +__Added__
188 150
189 -= 2.8.1 (25 Feb 2017) =
190 -* Updated German translation
191 -* Fixed admin menu items not translating
192 -* Removed possible conflict between Debug Bar Console plugin ([#](https://github.com/sheabunge/code-snippets/issues/52))
193 -* Corrected editor alignment on RTL sites ([#](https://wordpress.org/support/topic/suggestion-css-fix-for-rtl-sites/))
194 -* Fixed bulk actions running when Filter button is clicked ([#](https://wordpress.org/support/topic/bug-with-filtering-action-buttons/))
195 -* Updated CodeMirror to version 5.24.0
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.
196 162
197 -= 2.8.0 (14 Dec 2016) =
198 -* Fixed Italian translation errors. Props to @arsenalemusica
199 -* Renamed 'Manage' admin menu label to 'All Snippets' to keep in line with other admin menu labels
200 -* Renamed placeholder on snippet name field to 'Enter title here'
201 -* Removed CodeMirror search functionality
202 -* Moved 'Edit Snippet' admin menu above 'Add New' menu
203 -* Made pressing Ctrl-Enter in the code editor save the snippet
204 -* Updated CodeMirror to version 5.21.0
163 +__Changed__
205 164
206 -= 2.7.3 (24 Oct 2016) =
207 -* Updated CodeMirror to version 5.10.0
208 -* Fixed a few strings not being translated
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.
209 173
210 -= 2.7.2 (1 Oct 2016) =
211 -* Updated German translation by [Mario Siegmann](http://web-alltag.de)
174 +__Fixed__
212 175
213 -= 2.7.1 (30 Sep 2016) =
214 -* Added Dutch translation by Sander Spies
215 -* Ensured that the editor theme setting is properly validated. Thanks to [Netsparker](https://www.netsparker.com) for reporting.
216 -* Ensured that snippet tags are properly escaped. Thanks to [Netsparker](https://www.netsparker.com) for reporting.
217 -* Updated CodeMirror to version 5.19.0
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.
218 184
219 -= 2.7.0 (23 July 2016) =
220 -* Fixed plugin translations being loaded
221 -* Increase default snippets per page so that all are usually shown
222 -* Fixed description field not being imported
223 -* Updated German translation by [Mario Siegmann](http://web-alltag.de)
224 -* Fixed issue with CodeMirror rubyblue theme [[#](https://wordpress.org/support/topic/a-problem-with-the-cursor-color-and-the-fix-that-worked-for-me)]
225 -* Added query var to disable snippet execution. To use, add `?snippets-safe-mode=true` to the URL
226 -* Fixed snippet fields not importing
227 -* Updated CodeMirror to version 5.17.0
228 -* Fixed a minor XSS vulnerability discovered by Burak Kelebek [[#](https://wordpress.org/support/topic/security-vulnerability-20)]
185 += 3.9.6 (2026-04-28) =
229 186
230 -= 2.6.1 (10 Feb 2016) =
231 -* Updated German translation by [Mario Siegmann](http://web-alltag.de)
232 -* Fixed error catching not working correctly
233 -* Updated error catching to work with snippets including functions and classes
234 -* Fixed editor autoresizing
187 +__Fixed__
235 188
236 -= 2.6.0 (31 Dec 2015) =
237 -* Reconfigured plugin to use classloader and converted a lot of functional code into OOP code
238 -* Updated CodeMirror to version 5.10.0
239 -* Added `[code_snippets]` shortcode for embedding snippet code in a post
240 -* Fixed broken snippet search feature [[#](https://wordpress.org/support/topic/search-is-not-working-6)]
241 -* Added front-end syntax highlighting for shortcode using [PrismJS](http://prismjs.com)
189 +* Improved permissions handling with snippets REST API.
190 +* Site admin cannot toggle shared network snippets status.
242 191
243 -= 2.5.1 (11 Oct 2016) =
244 -* Fixed: Ensure errors are fatal before catching them during error checking
245 -* Fixed: Escape the snippet name on the edit page to ensure it displays correctly
246 -* Fixed: Exclude snippets with named functions from error checking so they do not run twice
192 += 3.9.5 (2026-02-05) =
247 193
248 -= 2.5.0 (8 Oct 2015) =
249 -* Added: Detect parse and fatal errors in code when saving a snippet, and display a user-friendly message
250 -* Fixed: Updated access of some methods in Code_Snippets_List_Table class to match updated WP_List_Table class
194 +__Fixed__
251 195
252 -= 2.4.2 (27 Sep 2015) =
253 -* Added query variable to activate safe mode
254 -* Fixed settings not saving
255 -* Fixed snippet descriptions not displaying on manage menu
256 -* Added settings to disable description and tag editors
257 -* Fixed: Load CodeMirror after plugin styles to fix error with Zenburn theme
258 -* Fixed: Hide snippet scope icons when the scope selector is disabled
259 -* Fixed description heading on edt snippet menu being hidden when visual editor disabled
260 -* Updated editor preview updating code to use vanilla JavaScript instead of jQuery
261 -* Fixed: Deactivate a shared network snippet on all subsites when it looses its sharing status
196 +* Improved security when handling actions for downloading and updating cloud snippets.
262 197
263 -= 2.4.1 (17 Sep 2015) =
264 -* Fixed CodeMirror themes not being detected on settings page [[#](https://wordpress.org/support/topic/updated-to-240-now-i-cant-switch-theme)]
198 += 3.9.4 (2026-01-14) =
265 199
266 -= 2.4.0 (17 Sep 2015) =
267 -* Added ability to share network snippets to individual sites on WordPress multisite
268 -* Improved code directory and class structure
269 -* Remove legacy code for pre-3.6 compatibility
270 -* Improved code for printing admin messages
271 -* Updated German translation (Joerg Knoerchen)
272 -* Added `code_snippets/after_execute_snippet` filter
273 -* Added class for individual snippets
274 -* Updated `get_snippets()` function to retrieve individual snippets
275 -* Removed scope statuses and added fixed tags to indicate scope
276 -* Changed admin page headers to use `<h1>` tags instead of `<h2>` tags
277 -* Updated CodeMirror to version 5.6
278 -* Removed snippet settings page from network admin
200 +__Added__
279 201
280 -= 2.3.0 (20 May 2015) =
281 -* Removed nested functions
282 -* Added icons for admin and front-end snippets to manage table
283 -* Improved settings retrieval by caching settings
284 -* Updated Russian translation by [Alexey Chumakov](http://chumakov.ru/)
285 -* Added filter switch to prevent a snippet from executing ([#25](https://github.com/sheabunge/code-snippets/issues/25))
286 -* Fixed errors in string translation
287 -* Fixed bug in import process ([#32](https://github.com/sheabunge/code-snippets/issues/32))
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.
288 205
289 -= 2.2.3 (13 May 2015) =
290 -* Fixed broken call to `export_snippet()` function
291 -* Added support for importing and exporting snippet scope
292 -* Fixed duplicate primary key database error
293 -* Improved database table structure
206 +__Fixed__
294 207
295 -= 2.2.2 (11 May 2015) =
296 -* Polyfilled array_replace_recursive() function for PHP 5.2
297 -* Updated references to old plugin site
298 -* Resolved JavaScript error on edit snippet pages
299 -* Made minor updates to French translation file
300 -* Added statuses for snippet scopes on manage snippets table
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.
301 211
302 -= 2.2.1 (10 May 2015) =
303 -* Fixed the default values of new setting not being applied
304 -* Fixed missing background of tags input
212 += 3.9.3 (2025-12-03) =
305 213
306 -= 2.2.0 (10 May 2015) =
307 -* Introduced CodeSniffer testing on code
308 -* Fixed description heading disappearing when media buttons enabled
309 -* Added snippet scope selector
310 -* Minified all CSS and JS in plugin
311 -* Made CodeMirror theme names more readable
312 -* Fixed bug causing translations to not be loaded
214 +__Added__
313 215
314 -= 2.1.0 (09 May 2015) =
315 -* Added additional setting descriptions
316 -* Added settings for code and description editor height
317 -* Updated CodeMirror to version 5.2
318 -* Fixed not escaping the request URL when using query arg functions
319 -* Improved efficiency of settings component
216 +* End-to-end tests to verify the toggle visual state in the snippets list page, improving UI verification and test reliability.
320 217
321 -= 2.0.3 (17 Mar 2015) =
322 -* Updated German translation by [Joerg Knoerchen](http://www.sensorgrafie.de/)
218 +__Fixed__
323 219
324 -= 2.0.2 (05 Mar 2015) =
325 -* Fix error in table creation code
326 -* Remove settings database option when plugin is uninstalled
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.
327 222
328 -= 2.0.1 (25 Feb 2015) =
329 -* Fixed table creation code not running on upgrade
330 -* Fixed snippets per page option not saving
223 += 3.9.2 (2025-11-17) =
331 224
332 -= 2.0 (24 Feb 2015) =
333 -* __Highlights:__
334 -* Better import/export functionality
335 -* New settings page with code editor settings
336 -* Code rewritten for cleaner and more efficient code
337 -* Lots of new translations
338 -* __Added:__
339 -* Added link to Code Snippets importer under Snippets admin menu
340 -* Added settings component and admin page
341 -* Added support for different CodeMirror themes
342 -* Integrated tags component into main plugin. Current users of the Code Snippets Tags plugin can safely uninstall it.
343 -* Added Auto Close Brackets CodeMirror addon (props to TronicLabs)
344 -* Added Serbo-Croatian translation by Borisa Djuraskovic from [Web Hosting Hub](http://www.webhostinghub.com)
345 -* Added Highlight Selection Matches CodeMirror addon (props to TronicLabs)
346 -* Added Chinese translation thanks to Jincheng Shan
347 -* Added Russian translation by Alexander Samsonov
348 -* Added Slovak translation by [Ján Fajčák] from [WordPress Slovakia](http://wp.sk)
349 -* Added setting to always save and activate snippets by default
350 -* __Changed:__
351 -* Added braces to single-line conditionals in line with [new coding standards](https://make.wordpress.org/core/2013/11/13/proposed-coding-standards-change-always-require-braces/)
352 -* Split up large classes into separate functions
353 -* Improved plugin file structure
354 -* Replaced uninstall hook with single file method
355 -* Updated CodeMirror library to version 5.0
356 -* Rewritten import/export functionality to use DOMDocument
357 -* Merged Code_Snippets_Export_PHP class into Code_Snippets_Export class
358 -* __Deprecated:__
359 -* Removed old admin style support
360 -* Removed backwards-compatible support
361 -* __Fixed:__
362 -* Fixed incompatibility errors with PHP 5.2
363 -* Fixed empty MO translation files
364 -* Removed duplicate MySQL primary key indexing
225 +__Changed__
365 226
366 -= 1.9.1.1 (3 Jan 2014) =
367 -* Add capability check to site snippets importer
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.
368 233
369 -= 1.9.1 (2 Jan 2014) =
370 -* Use an icon font for menu icon instead of embedded SVG
371 -* Use Sass (libsass) instead of Compass
372 -* Unminify CodeMirror scripts
373 -* Fixes for the WP 3.8 interface
374 -* Fix 'enable snippets menu for site admins' multisite setting
234 +__Fixed__
375 235
376 -= 1.9 (11 Nov 2013) =
377 -* Add and remove network capabilities as super admins are added and removed
378 -* Updated MP6 icon implementation
379 -* Replaced buggy trim `<?php` and `?>` functionality with a much more reliable regex method ([#](http://wordpress.org/support/topic/character-gets-cut))
380 -* Added French translation thanks to translator [oWEB](http://office-web.net)
381 -* Fixed snippet failing to save when code contains `%` character, props to [nikan06](http://wordpress.org/support/profile/nikan06) ([#](http://wordpress.org/support/topic/percent-sign-bug))
382 -* Added 'Save & Deactivate' button to the edit snippet page ([#](http://wordpress.org/support/topic/deactivate-button-in-edit-snippet-page))
383 -* Removed edit and install capabilities (now only uses the manage capability)
384 -* Fixed HTML breaking in export files ([#](http://wordpress.org/support/topic/import-problem-7))
385 -* Make the title of each snippet on the manage page a clickable link to edit the snippet ([#](http://wordpress.org/support/topic/deactivate-button-in-edit-snippet-page?replies=9#post-4682757))
386 -* Added nonce to edit snippet page
387 -* Hide row actions on manage snippet page by default
388 -* Removed screenshots from plugin
389 -* Improved CodeMirror implementation
390 -* Added a fallback MP6 icon
391 -* Use the proper WordPress database APIs all of the time
392 -* Rewritten export functionality
393 -* Fixed incorrect export filename
394 -* Updated CodeMirror to version 3.19
395 -* Removed CodeMirror bundled with plugin
396 -* Updated WordPress.org plugin banner
397 -* Fixed CodeMirror incompatibility with the WP Editor plugin
398 -* Fixed CodeMirror incompatibility with the Debug Bar Console plugin
236 +* Improved sanitization and normalization across Cloud API and pagination outputs.
237 +* Resolved various TinyMCE issues reported in the WordPress support forum.
399 238
400 -= 1.8.1.1 (18 Aug 2013) =
239 += 3.9.1 (2025-11-14) =
401 240
402 -= 1.8.1 (29 July 2013) =
403 -* Compiled all CodeMirror scripts into a single file
404 -* Use Sass + Compass for CSS
405 -* Use Grunt for build automation
406 -* Minify CSS
407 -* Fixed code typo that was breaking export files
408 -* Updated CodeMirror to 3.15
241 +__Changed__
409 242
410 -= 1.8 (9 July 2013) =
411 -* Allow no snippet name or code to be set
412 -* Prevented an error on fresh multisite installations
413 -* Refactored code to use best practices
414 -* Improved database table creation method: on a single-site install, the snippets table will always be created. On a multisite install, the network snippets table will always be created; the site-specific table will always be created for the main site; for sub-sites the snippets table will only be created on a visit to a snippets admin page.
415 -* Updated to CodeMirror 3.14
416 -* Changes to filter and action hook API
417 -* Added error message handling for import snippets page
418 -* Don't encode HTML entities in database
243 +* Migrated to native CSS direction handling (RTL/LTR) for improved compatibility and simpler styling
244 +* Updated dependencies to the latest compatible versions
419 245
420 -= 1.7.1.2 (3 May 2013) =
421 -* Correct path to admin menu icon. Fixes [#8](https://github.com/sheabunge/code-snippets/issues/8)
246 +__Fixed__
422 247
423 -= 1.7.1.1 (29 April 2013) =
424 -* Fixed a bug with custom capabilities and admin menus
248 +* Fixed TinyMCE menu button registration to prevent initialization failure
249 +* Fixed the position of the 'code direction' control in the editor
425 250
426 -= 1.7.1 (22 April 2013) =
427 -* Fix a bug with snippet being set as deactivated when saved
428 -* Updated PHP Documentation completely. [[View online](http://bungeshea.github.io/code-snippets/api)]
429 -* Only load admin functions when viewing dashboard
430 -* Added German translation thanks to [David Decker](http://deckerweb.de)
431 -* Allow or deny site administrators access to snippet admin menus. Set your preference in the **Enable Administration Menus** setting under the *Settings > Network Settings* network admin menu.
432 -* Improve database table creation and upgrade process
433 -* Optimized to use less database queries
251 += 3.9.0 (2025-11-13) =
434 252
435 -= 1.7 (26 Mar 2013) =
436 -* Improved plugin API
437 -* Fixed a bug with saving snippets per page option ([#](http://wordpress.org/support/topic/plugin-code-snippets-snippets-per-page-does-not-work#post-3710991))
438 -* Updated CodeMirror to version 3.11
439 -* Allow plugin to be activated on individual sites on multisite ([#](http://wordpress.org/support/topic/dont-work-at-multisite))
440 -* Slimmed down the description visual editor
441 -* Added icon for the new MP6 admin UI ([#](http://wordpress.org/support/topic/icon-disappears-with-mp6))
442 -* Strip PHP tags from the beginning and end of a snippet on save ([#](http://wordpress.org/support/topic/php-tags))
443 -* Changed to [MIT license](http://opensource.org/licenses/mit-license.php)
444 -* Removed HTML, CSS and JavaScript CodeMirror modes that were messing things up
445 -* Change label in admin menu when editing a snippet
446 -* Improved admin styling
447 -* Made everything leaner, faster, and better
253 +__Added__
448 254
449 -= 1.6.1 (29 Dec 2012) =
450 -* Fixed a bug with permissions not being applied on install ([#](http://wordpress.org/support/topic/permissions-problem-after-install))
451 -* Fixed a bug in the uninstall method ([#](http://wordpress.org/support/topic/bug-in-delete-script))
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
452 257
453 -= 1.6 (22 Dec 2012) =
454 -* Updated code editor to use CodeMirror 3
455 -* Improved compatibility with Clean Options plugin
456 -* Code improvements and optimization
457 -* Changed namespace from `cs` to `code_snippets`
458 -* Move css and js under assets
459 -* Organized CodeMirror scripts
460 -* Improved updating process
461 -* Current line of code editor is now highlighted
462 -* Highlight matches of selected text in code editor
463 -* Only create snippet tables when needed
464 -* Store multisite only options in site options table
465 -* Fixed compatibility bugs with WordPress 3.5
258 +__Changed__
466 259
467 -= 1.5 (18 Sep 2012) =
468 -* Updated CodeMirror to version 2.33
469 -* Updated the 'Manage Snippets' page to use the WP_List_Table class
470 - * Added 'Screen Options' tab to 'Manage Snippets' page
471 - * Added search capability to 'Manage Snippets' page
472 - * Added views to easily filter activated, deactivated and recently activated snippets
473 - * Added ID column to 'Manage Snippets' page
474 - * Added sortable name and ID column on 'Manage Snippets' page ([#](http://wordpress.org/support/topic/plugin-code-snippets-suggestion-sort-by-snippet-name))
475 -* Added custom capabilities
476 -* Improved API
477 -* Added 'Export to PHP' feature ([#](http://wordpress.org/support/topic/plugin-code-snippets-suggestion-bulk-export-to-php))
478 -* Lengthened snippet name field to 64 characters ([#](http://wordpress.org/support/topic/plugin-code-snippets-snippet-title-limited-to-36-characters))
479 -* Added i18n
260 +* Modernized browser support targets and polished admin UI (clearer row-action badges, improved Pro badge hover, refined active snippet name styling)
480 261
481 -= 1.4 (20 Aug 2012) =
482 -* Added interface to Network Dashboard
483 -* Updated uninstall to support multisite
484 -* Replaced EditArea with [CodeMirror](http://codemirror.net)
485 -* Small improvements
262 +__Fixed__
486 263
487 -= 1.3.2 (17 Aug 2012) =
488 -* Fixed a bug with version 1.3.1
264 +* Fixed REST API pagination to return correct results and page counts
265 +* Resolved styling selector so the active snippet name highlights reliably
489 266
490 -= 1.3.1 (17 Aug 2012) =
491 -* Changed plugin website URI
492 -* Cleaned up some code
267 += 3.8.2 (2025-10-31) =
493 268
494 -= 1.3 (1 Aug 2012) =
495 -* Added export option to 'Manage Snippets' page
496 -* Added 'Import Snippets' page
269 +__Fixed__
497 270
498 -= 1.2 (29 July 2012) =
499 -* Minor improvements
500 -* Added code highlighting
501 -* Removed 'Uninstall Plugin' page
502 -* Data will now be cleaned up when plugin is deleted through WordPress admin
271 +* Improved namespaced PHP snippet handling with file based execution.
503 272
504 -= 1.1 (24 June 2012) =
505 -* Fixed a permissions bug with `DISALLOW_FILE_EDIT` being set to true ([#](http://wordpress.org/support/topic/plugin-code-snippets-cant-add-new))
506 -* Fixed a bug with the page title reading 'Add New Snippet' on the 'Edit Snippets' page
507 -* Fixed a bug not allowing the plugin to be Network Activated ([#](http://wordpress.org/support/topic/plugin-code-snippets-network-activate-does-not-create-snippets-tables))
273 += 3.8.1 (2025-10-28) =
508 274
509 -= 1.0 (13 June 2012) =
510 -* Stable version released.
275 +__Added__
511 276
512 -== Upgrade Notice ==
277 +* Code line explanation widget with apply and remove actions for AI-generated comments. (PRO)
513 278
514 -= 2.10.0 =
515 -Improvements for multisite and new single-use snippet scope
279 +__Changed__
516 280
517 -= 2.9.5 =
518 -Fixed issue with saving snippets on multisite
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)
519 283
520 -= 2.8.5 =
521 -Prevents snippets from displaying twice in snippets table on multisite
284 +__Removed__
522 285
523 -= 2.8.4 =
524 -Fixes error with previous version on non-multisite
286 +* Removed `guzzlehttp/guzzle` dependency to reduce package conflicts. (PRO)
525 287
526 -= 2.8.3 =
527 -Fixes potential security exploit; please update immediately
288 +__Fixed__
528 289
529 -= 2.8.2 =
530 -Fixed fatal error preventing activated snippets from saving
290 +* Improved file-based snippet handling for multisite installations.
531 291
532 -= 2.8.0 =
533 -Interface tweaks
292 += 3.8.0 (2025-10-24) =
534 293
535 -= 2.7.2 =
536 -Update to German translation by Mario Siegmann
294 +__Added__
537 295
538 -= 2.7.0 =
539 -Fix translation loading and description importing
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.
540 300
541 -= 2.5.1 =
542 -Prevent Don't Panic message from being triggered accidentally
301 +__Changed__
543 302
544 -= 2.5.0 =
545 -Now detects errors in snippet code when saving
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.
546 306
547 -= 2.4.1 =
548 -Fixed CodeMirror themes not being detected on settings page
307 +__Fixed__
549 308
550 -= 2.4.0 =
551 -New snippet sharing feature for multisite networks; new Snippet class
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)
552 313
553 -= 2.3.0 =
554 -Numerous fixes and Russian translation update. Props to @signo and @achumakov.
314 += 3.7.0 (2025-08-29) =
555 315
556 -= 2.2.3 =
557 -Fixed error when exporting; snippet scopes can now be imported
316 +__Added__
558 317
559 -= 2.2.2 =
560 -Fix error with PHP 5.2 added statuses for scopes to manage snippets table
318 +* New 'conditions' feature: control where and when snippets execute with a powerful logic builder. (PRO)
561 319
562 -= 2.2.1 =
563 -New snippet scope feature; fixed bug with translations not loading; minified all css and js
320 +__Changed__
564 321
565 -= 2.1.0 =
566 -Minor improvements to settings component; added description editor settings; minor security fixes
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.
567 329
568 -= 2.0.2 =
569 -Fix snippets not saving
330 +__Fixed__
570 331
571 -= 2.0 =
572 -Improved import/export; new settings page; improved core code; more translations
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.
573 335
574 -= 1.9.1.1 =
575 -Add capability check to snippets importer
336 += 3.6.9 (2025-02-17) =
576 337
577 -= 1.9.1 =
578 -UI improvements for WordPress 3.8
338 +__Changed__
579 339
580 -= 1.8.1 =
581 -Minimize CSS and JS; updated CodeMirror; fixed export files
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.
582 343
583 -= 1.8 =
584 -Setting a snippet name and code are now optional; better table creation method; changes to API; bug fixes
344 +__Fixed__
585 345
586 -= 1.7.1.2 =
587 -Fixes the admin menu icon not loading
346 +* Fixed errors in bundle iteration by adding a check for the bundles array before iterating.
588 347
589 -= 1.7.1.1 =
590 -Fixes a minor bug with custom capabilities and admin menus
591 -
592 -= 1.7.1 =
593 -Added German translation thanks to David Decker; bug fixes and improvements
594 -
595 -= 1.7 =
596 -Many improvements and optimization. Download "Code Snippets Tags" plugin to add tags to snippets
597 -
598 -= 1.6 =
599 -Improvements and optimization with WordPress 3.5
600 -
601 -= 1.5 =
602 -Improvements on the 'Manage Snippets' page and localization
603 -
604 -= 1.4 =
605 -Better code highlighting and improved multisite support
606 -
607 -= 1.3 =
608 -Added import/export feature
609 -
610 -= 1.2 =
611 -Minor improvements |
612 -Added code highlighting |
613 -Plugin data will now be cleaned up when you delete the plugin.
614 -
615 -= 1.1 =
616 -Minor bug fixes and improvements on the the 'Edit Snippet' page
348 +**[The full changelog is available on GitHub](https://github.com/codesnippetspro/code-snippets/blob/core/CHANGELOG.md)**