| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| cmb2-2.13.5.zip | 2026-10-27 | 906.6 kB | |
| README.md | 2026-10-26 | 3.5 kB | |
| v2.13.5 source code.tar.gz | 2026-10-26 | 450.5 kB | |
| v2.13.5 source code.zip | 2026-10-26 | 922.4 kB | |
| Totals: 4 Items | 2.3 MB | 0 | |
Enhancements
- [Development] Fixed the PHPUnit CI legs that test against the latest WordPress: they now use the test suite tagged for the latest stable release instead of wordpress-develop trunk, which can require core APIs a stable release does not have yet.
Bug Fixes
- Fixed
multicheckandmulticheck_inlinefields (including inside a group) not saving when the only checked option has the value0. Non-repeatable array values that hold only0or'0', such as from custom field types, are no longer treated as empty and deleted on save. Such a field now storesarray( '0' ), sometadata_exists()returns true,cmb2_save_fieldreportsupdatedinstead ofremoved, and a field with adefaultno longer falls back to that default when only0is checked. Props @faisalahammad. Fixes #1535 (#1572). - Fixed repeatable fields (including repeatable fields in a group) dropping a
0or'0'entry on save and not showing a saved0row on the edit screen, so the next save removed it. A0entry is now kept and passed to the field type's sanitizer like any other entry: repeatabletext_urlstores the fielddefault(orfalse),text_emailstores'',text_date_timestampstores timestamp0, and atext_datetime_timestamprow that parses to epoch0is kept (the edit screen still shows a0timestamp as empty, so re-saving the form removes that row). Customsanitization_cbcallbacks andcmb2_sanitize_{$type}filters now receive'0'entries in repeatable arrays, andsanitization_cb => falsestores them. A repeatabletext_moneyentry of0now saves as0.00instead of being removed. Props @faisalahammad (#1574). - Fixed a repeatable field saving its hidden "empty row" template as an extra row on every save. This happened when the template had a value, such as a repeatable
selectwithoutshow_option_none(its first option was saved) or a field with adefault. The template row's inputs are now rendered withdisabledand adata-cmb2-templateattribute, so the browser does not submit them, and the Add Row button enables them. Custom JavaScript that copies.empty-rowitself, instead of using the Add Row button, must removedisabledfrom inputs that havedata-cmb2-template. Props @faisalahammad (#1574). - Fixed
wysiwygfields inside a group not escaping their saved value in the editor. The editor now loads the content exactly as saved: entities such as&are no longer decoded on load (and then saved decoded), and saved markup such as a</textarea>tag stays inside the editor. Props Jakub Herman (via Wordfence). - Fixed removing the only row of a repeatable field inside a group adding an empty row to the other repeatable fields in that group and its other entries. The reset now fires
cmb2_add_rowonce, on the clicked field's table, instead of once per repeatable table in the group, and removing the last row while the field's Add Row button isdisablednow does nothing instead of throwingMaximum call stack size exceeded. Props @faisalahammad. Fixes #1515 (#1573).