-
Notifications
You must be signed in to change notification settings - Fork 6
Comparing changes
Open a pull request
base repository: WebberZone/knowledgebase
base: v3.1.2
head repository: WebberZone/knowledgebase
compare: v3.1.3
- 17 commits
- 75 files changed
- 1 contributor
Commits on Aug 17, 2026
-
Sync from pro: fix default value resolution for settings read before …
…init get_defaults() returned raw booleans while settings_defaults() normalises checkbox defaults with (int) (bool). Since get_default_option() switched to the former, checkbox defaults resolved to true/false instead of 1/0, which breaks consumers that expect a numeric value (block attributes, REST schemas). Defaults are now stored pre-normalised. custom_css has no 'default' key in its field definition, so settings_defaults() assigned '' while get_defaults() had no entry at all, making the option resolve to false. Added an explicit entry. The wzkb_settings_defaults filter was also bypassed on the get_default_option() path. It is now applied by both consumers, keeping get_defaults() itself unfiltered so it runs exactly once per path. Settings::$prefix is initialised at declaration because it was only assigned in the constructor, which never runs outside the admin area, so settings_defaults() fired _settings_defaults rather than wzkb_settings_defaults on the frontend. Also picks up root file drift from the sync: composer.json and package.json versions catch up to 3.1.2, and CLAUDE.md/AGENTS.md links match pro.
Configuration menu - View commit details
-
Copy full SHA for 47b58a1 - Browse repository at this point
Copy the full SHA 47b58a1View commit details -
Fix settings wizard silently dropping repeater field rows on save
sanitize_setting_value() called each field's type-specific sanitizer with only the raw value, dropping the field config. sanitize_repeater_field() needs that config for its subfield schema, so every repeater row came back empty and was discarded before validation ever ran.
Configuration menu - View commit details
-
Copy full SHA for d5234cd - Browse repository at this point
Copy the full SHA d5234cdView commit details
Commits on Aug 18, 2026
-
Sync from knowledgebase-pro: fix settings cache leaking between sites…
… in the same request
Configuration menu - View commit details
-
Copy full SHA for c45485a - Browse repository at this point
Copy the full SHA c45485aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d840563 - Browse repository at this point
Copy the full SHA d840563View commit details -
Sync from knowledgebase-pro: changelog and admin docblock updates
Include the 3.1.3 wizard repeater-row fix note and pro-side admin comment cleanups.
Configuration menu - View commit details
-
Copy full SHA for d20eddc - Browse repository at this point
Copy the full SHA d20eddcView commit details
Commits on Aug 19, 2026
-
Rename WZ settings-API JS globals to Webber, fix referer/is_array han…
…dling Aligns with the WordPress.org plugin-review fix applied in webberzone-image-optimizer: renames the WZSettingsAdmin/WZTomSelectSettings/WZInitTomSelect JS globals to Webber-prefixed names, makes settings_sanitize() run its sanitizer loop even without a referer, guards $input with is_array() instead of a truthy check, and removes the dead freemkitTomSelectSettings fallback.
Configuration menu - View commit details
-
Copy full SHA for d2a9fd3 - Browse repository at this point
Copy the full SHA d2a9fd3View commit details
Commits on Aug 20, 2026
-
Sync settings framework: sanitize every field type
get_sanitize_callback() returned false for any field type without a matching sanitize_{type}_field() method, and settings_sanitize() then let array_merge() store the submitted value raw. radio, radiodesc, thumbsizes, select, wysiwyg, file, password, css and html all fell through that path. - Add the nine missing sanitizers. Choice fields (radio, radiodesc, select, thumbsizes) validate against the options the field actually renders and fall back to the field own default rather than blanking. - Generalise the repeater-only closure so every callback receives the field configuration, and make sanitize_missing() the fallback instead of false, so no type can store raw input. - sanitize_missing() now deep-sanitizes arrays instead of passing through. - Build the output array from stored settings rather than merging raw input, so submitted keys that are not registered settings are sanitized too instead of being written verbatim. register_setting() now declares type => object and an explicit default. show_in_rest is off: the value is an open-ended map with no REST schema, and settings_sanitize() expects a form submission. Settings_API VERSION 2.11.0 -> 3.0.0.Configuration menu - View commit details
-
Copy full SHA for 5b380b2 - Browse repository at this point
Copy the full SHA 5b380b2View commit details
Commits on Aug 23, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 0985c1a - Browse repository at this point
Copy the full SHA 0985c1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2fc175a - Browse repository at this point
Copy the full SHA 2fc175aView commit details -
Sync Options API and admin notices API with canonical copies
Adds get_settings_with_defaults(), get_blog_option() and aligns docblocks; notice API members switch from private to protected.
Configuration menu - View commit details
-
Copy full SHA for a40129f - Browse repository at this point
Copy the full SHA a40129fView commit details
Commits on Aug 25, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 855f291 - Browse repository at this point
Copy the full SHA 855f291View commit details
Commits on Aug 26, 2026
-
Escape documented [toc] references, and fix the escaping note
The note explaining the convention had it backwards: it said double brackets while showing single. Double brackets are the escaped form and render as the literal [toc]; single brackets trigger TOC insertion.
Configuration menu - View commit details
-
Copy full SHA for bf21e74 - Browse repository at this point
Copy the full SHA bf21e74View commit details -
Bump version to 3.1.3 and rewrite GitHub export wizard with chunked p…
…rocessing Replace two-phase bulk push with bounded chunk processing: preview articles, start job, process chunks, finalize commits per repo/branch. Add retry logic with exponential backoff, stale-job guards, and resume-from-pause support. Track tasks by key, render status updates incrementally, and show commit URLs in summary.
Configuration menu - View commit details
-
Copy full SHA for 1890b5c - Browse repository at this point
Copy the full SHA 1890b5cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e0f48d - Browse repository at this point
Copy the full SHA 5e0f48dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e26de78 - Browse repository at this point
Copy the full SHA e26de78View commit details -
Configuration menu - View commit details
-
Copy full SHA for f34c2f7 - Browse repository at this point
Copy the full SHA f34c2f7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 66a9d4c - Browse repository at this point
Copy the full SHA 66a9d4cView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3.1.2...v3.1.3