Download Latest Version v2.13.5 source code.zip (922.4 kB) Google Add to Preferred Sources
Home / v2.13.5
Name Modified Size InfoDownloads / 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 multicheck and multicheck_inline fields (including inside a group) not saving when the only checked option has the value 0. Non-repeatable array values that hold only 0 or '0', such as from custom field types, are no longer treated as empty and deleted on save. Such a field now stores array( '0' ), so metadata_exists() returns true, cmb2_save_field reports updated instead of removed, and a field with a default no longer falls back to that default when only 0 is checked. Props @faisalahammad. Fixes #1535 (#1572).
  • Fixed repeatable fields (including repeatable fields in a group) dropping a 0 or '0' entry on save and not showing a saved 0 row on the edit screen, so the next save removed it. A 0 entry is now kept and passed to the field type's sanitizer like any other entry: repeatable text_url stores the field default (or false), text_email stores '', text_date_timestamp stores timestamp 0, and a text_datetime_timestamp row that parses to epoch 0 is kept (the edit screen still shows a 0 timestamp as empty, so re-saving the form removes that row). Custom sanitization_cb callbacks and cmb2_sanitize_{$type} filters now receive '0' entries in repeatable arrays, and sanitization_cb => false stores them. A repeatable text_money entry of 0 now saves as 0.00 instead 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 select without show_option_none (its first option was saved) or a field with a default. The template row's inputs are now rendered with disabled and a data-cmb2-template attribute, so the browser does not submit them, and the Add Row button enables them. Custom JavaScript that copies .empty-row itself, instead of using the Add Row button, must remove disabled from inputs that have data-cmb2-template. Props @faisalahammad (#1574).
  • Fixed wysiwyg fields inside a group not escaping their saved value in the editor. The editor now loads the content exactly as saved: entities such as &amp; 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_row once, 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 is disabled now does nothing instead of throwing Maximum call stack size exceeded. Props @faisalahammad. Fixes #1515 (#1573).
Source: README.md, updated 2026-10-26