Kirki - Version 3.0.30

Version Description

May 15 2018

  • Fix: Fixed caching for locally-downloaded google-fonts (GDPR compliance helper).
Download this release

Release Info

Developer aristath
Plugin Icon 128x128 Kirki
Version 3.0.30
Comparing to
See all releases

Code changes from version 3.0.29 to 3.0.30

kirki.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: The ultimate WordPress Customizer Toolkit
6
  * Author: Aristeides Stathopoulos
7
  * Author URI: http://aristath.github.io
8
- * Version: 3.0.29
9
  * Text Domain: kirki
10
  *
11
  * GitHub Plugin URI: aristath/kirki
5
  * Description: The ultimate WordPress Customizer Toolkit
6
  * Author: Aristeides Stathopoulos
7
  * Author URI: http://aristath.github.io
8
+ * Version: 3.0.30
9
  * Text Domain: kirki
10
  *
11
  * GitHub Plugin URI: aristath/kirki
modules/webfonts/class-kirki-fonts-google-local.php CHANGED
@@ -115,7 +115,7 @@ final class Kirki_Fonts_Google_Local {
115
  if ( ! $this->files ) {
116
  return;
117
  }
118
- $key = md5( $this->files );
119
  $cached = get_transient( $key );
120
  if ( $cached ) {
121
  return $cached;
115
  if ( ! $this->files ) {
116
  return;
117
  }
118
+ $key = md5( json_encode( $this->files ) );
119
  $cached = get_transient( $key );
120
  if ( $cached ) {
121
  return $cached;
readme.txt CHANGED
@@ -1,1148 +1,1156 @@
1
- === Kirki ===
2
- Contributors: aristath, fovoc, igmoweb
3
- Tags: customizer,options framework, theme, mods, toolkit
4
- Donate link: https://aristath.github.io/donate
5
- Requires at least: 4.9
6
- Tested up to: 4.9.2
7
- Stable tag: 3.0.29
8
- License: MIT
9
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
-
11
- The ultimate framework for theme developers using the WordPress Customizer
12
-
13
-
14
- == Description ==
15
-
16
- [![Build Status](https://travis-ci.org/aristath/kirki.svg?branch=develop)](https://travis-ci.org/aristath/kirki) [![Code Climate](https://codeclimate.com/github/aristath/kirki/badges/gpa.svg)](https://codeclimate.com/github/aristath/kirki) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/66d6d8b6a4654cd18686ed1cd9f1bfb3)](https://www.codacy.com/app/aristath/kirki?utm_source=github.com&utm_medium=referral&utm_content=aristath/kirki&utm_campaign=Badge_Grade) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/aristath/kirki/badges/quality-score.png?b=develop)](https://scrutinizer-ci.com/g/aristath/kirki/?branch=develop)
17
-
18
- Using Kirki theme developers can create rich experiences for the WordPress Customizer using best coding practices.
19
-
20
- Included are more than 30 custom control types ranging from simple sliders to complex typography controls with Google-Fonts integration, automatic CSS generation, `postMessage` scripts automatically generated, tooltips and a lot of extras that make developing themes a lot faster for developers and meaningful for users.
21
-
22
- We advise you to familiarise yourself with the Customizer API before you start writing your theme using Kirki. An excellent handbook for the WordPress Customizer can be found on the [developer.wordpress.org](https://developer.wordpress.org/themes/customize-api/) website.
23
-
24
- You can find detailed documentation on how to use Kirki on [https://aristath.github.io/kirki/](https://aristath.github.io/kirki/)
25
-
26
- [Development and issues on github](https://github.com/aristath/kirki).
27
-
28
- == Installation ==
29
-
30
- Simply install as a normal WordPress plugin and activate.
31
-
32
- If you want to integrate Kirki in your theme or plugin, please read the instructions on [our documentation site](https://aristath.github.io/kirki/docs/integration).
33
-
34
- == Changelog ==
35
-
36
- = 3.0.29 =
37
-
38
- * Fix: PHP error in some PHP versions because of the "do" method-name.
39
-
40
- = 3.0.28 =
41
-
42
- May 15 2018, dev time: 12 hours.
43
-
44
- * Fix: Repeater control JS issue if saved value is malformatted [#1879](https://github.com/aristath/kirki/issues/1879) - props @asilcetin.
45
- * Fix: Preset control bug [#1882](https://github.com/aristath/kirki/issues/1882).
46
- * Fix: JS error if an SVG is uploaded to an image control [#1883](https://github.com/aristath/kirki/issues/1883) Props @seantjohnson-dev
47
- * New: GDPR-Compliance: Google-Fonts are now downloaded server-side bypassing the google-CDN which collects user's IP addresses and personal data without their consent.
48
- * New: Added support for css-variables.
49
-
50
- = 3.0.27 =
51
-
52
- April 30 2018, dev time: 1 hour.
53
-
54
- * Fix: multiselect in repeaters. Props @asilcetin [#1876](https://github.com/aristath/kirki/issues/1876).
55
- * Fix: CSS output on numeric values. [issue link](https://wordpress.org/support/topic/all-css-output-from-kirki-stop-working-on-version-3-0-26/).
56
-
57
- = 3.0.26
58
-
59
- April 27 2018, dev time: 43 hours.
60
-
61
- * Fix: Color Palette: material colors 'light-blue' doesn't work [#1783](https://github.com/aristath/kirki/issues/1783).
62
- * Fix: Google Fonts switch error [#1791](https://github.com/aristath/kirki/issues/1791).
63
- * Fix: FontAwesome JS is being loaded even if you don't need it on front end [#1786](https://github.com/aristath/kirki/issues/1786).
64
- * Fix: Color Palette: Active color before section title [#1782](https://github.com/aristath/kirki/issues/1782).
65
- * Fix: Removed version from the webfont script.
66
- * Fix: Validation error for dimension fields.
67
- * Fix: `button_label` argument for repeater fields (props @felipeelia).
68
- * Fix: Allow html on radio-buttonset choices [#1818](https://github.com/aristath/kirki/issues/1818).
69
- * Fix: `Kirki_Helper::compare_values` vs. `field-dependencies.js` boolean issue (props @CaptJiggly) [#1825](https://github.com/aristath/kirki/issues/1825).
70
- * Fix: `active_callback` not working for checkboxes [#1809](https://github.com/aristath/kirki/issues/1809).
71
- * Fix: Nested `active_callback` args not working properly (AND|OR relations) [#1809](https://github.com/aristath/kirki/issues/1809).
72
- * Fix: Updated google-fonts.
73
- * Fix: Display typography with no default values [#1797](https://github.com/aristath/kirki/issues/1797).
74
- * Fix: Define "normal" as a valid css-value for sanitizations [#1814](https://github.com/aristath/kirki/issues/1814).
75
- * Fix: `background` controls now output `background-color` as simply `background` if no `background-image` is defined in the value [#1808](https://github.com/aristath/kirki/issues/1808).
76
- * Fix: @media-queries fix due to minimized CSS. [#1787](https://github.com/aristath/kirki/issues/1787).
77
- * Fix: `Kirki_Helper::compare_values` contains/in PHP warning if value doesn't exist in array [#1828](https://github.com/aristath/kirki/issues/1828).
78
- * Fix: Invalid Value in the Dimension control [#1844](https://github.com/aristath/kirki/issues/1844).
79
- * Fix: Add `fr` to the array of valid units used in validations [
80
- 86adedb](https://github.com/aristath/kirki/pull/1784/commits/86adedb8cd4c06c7e6538c3087233a6840dee562)
81
- * Fix: Updated webfonts.
82
- * New: Migrated `number` control to new structure.
83
-
84
- = 3.0.25 =
85
-
86
- January 23 2018, dev time: 1 hour.
87
-
88
- Please note that the typography controls since v3.0.23 no longer require subsets. This is not a bug or omission, subsets are simply no longer necessary because there's an implementation now that loads them properly without requiring the user to define it.
89
-
90
- * Fix: partial reversion of webfontloader improvements in order to resolve an issue with incorect font-weights loading.
91
-
92
- = 3.0.24 =
93
-
94
- January 23 2018, dev time: 10 minutes.
95
-
96
- * Fix: Added back the `get_google_font_subsets()` method. Although it was always meant just to be used internally apparently a couple of themes out there use it and its removal caused a fatal error.
97
-
98
- = 3.0.23 =
99
-
100
- January 22 2018, dev time: 23 hours.
101
-
102
- * Fix: clear button on color controls [#1720](https://github.com/aristath/kirki/issues/1720)
103
- * Fix: PHP mode in code controls.
104
- * Fix: `active_callback` not working for upload fields [#1732](https://github.com/aristath/kirki/issues/1732)
105
- * Fix: accessibility issue on radio-buttonset controls [#1722](https://github.com/aristath/kirki/issues/1722)
106
- * Fix: `active_callback` not working for cropped-image controls [#1752](https://github.com/aristath/kirki/issues/1752)
107
- * Fix: added support for `button_labels` in image fields [#1173](https://github.com/aristath/kirki/issues/1173)
108
- * Fix: Support for adding inline CSS to an already defined stylesheet.
109
- * Fix: Sanitization in section & panel descriptions and priorities [#1759](https://github.com/aristath/kirki/issues/1759)
110
- * Fix: `active_callback` support when using serialized options [#1745](https://github.com/aristath/kirki/issues/1745)
111
- * Fix: Remove timepicker from date control [#1750](https://github.com/aristath/kirki/issues/1750)
112
- * Fix: WebfontLoader improvements.
113
- * Fix: Now using a datepicker for the `date` control [#1767](https://github.com/aristath/kirki/issues/1767)
114
- * New: Added "inherit" in the typography control's font-family option [w.org ticket](https://wordpress.org/support/topic/inherit-and-typography-control/)
115
- * New: Added googlefonts resource hints. Props @aryaprakasa.
116
- * New: Now loading fontawesome from a CDN. smaller footprint for the plugin and async loading will improve performance for everyone [#1763](https://github.com/aristath/kirki/issues/1763)
117
- * Tweak: Removed legacy code.
118
- * Tweak: Code cleanups.
119
- * Deprecated: Typography controls no longer require the "subset" dropdown.
120
-
121
- = 3.0.22 =
122
-
123
- December 20 2017, dev time: 3.5 hours.
124
-
125
- * Fix: Files cleanup. Removed webfonts.php and now use the json file.
126
- * Fix: WordPress Coding Standards fixes.
127
- * New: Converted all filter names to use `_` instead of `/` (WPCS). Fallback methods included.
128
- * New: Removed inline methods for webfonts and now use [typekit/webfontloader](https://github.com/typekit/webfontloader).
129
- * New: Update GoogleFonts list.
130
-
131
- = 3.0.21 =
132
-
133
- December 18 2017, dev time: 3 hours
134
-
135
- * Fix: Allow HTML in labels and descriptions [#1705](https://github.com/aristath/kirki/issues/1705)
136
- * Fix: Code controls minor refactor (now extends the `WP_Customize_Code_Editor_Control` class)
137
- * Fix: Checkbox values sanitization inside repeater controls [#1715](https://github.com/aristath/kirki/issues/1715)
138
- * Fix: JS error in dimension controls when not using a CSS unit [#1711](https://github.com/aristath/kirki/pull/1711) props @FrankM1
139
- * Fix: AJAX issue on a host with weird config.
140
- * New: Add `placeholder` argument in `select` controls [#1593](https://github.com/aristath/kirki/issues/1593)
141
-
142
- = 3.0.20 =
143
-
144
- December 13 2017, dev time: 1.5 hours
145
-
146
- * Fix: Use `repeat` instead of `repeat-all` in background controls [#1701](https://github.com/aristath/kirki/issues/1701)
147
- * Fix: Use `set_url_scheme()` when outputing images [#1697](https://github.com/aristath/kirki/issues/1697)
148
- * Fix: `textarea` control is broken with HTML content [#1694](https://github.com/aristath/kirki/issues/1694) props @tutv95
149
- * Fix: Typo in `radio` controls [#1699](https://github.com/aristath/kirki/issues/1699)
150
- * Fix: variants selection for standard font-families.
151
-
152
- = 3.0.19 =
153
-
154
- December 8 2017, dev time: 20 minutes.
155
-
156
- * Fix: WebfontLoader using `i` instead of `400i`.
157
- * Fix: Sometimes `font-weight` and `font-style` don't get applied.
158
-
159
- = 3.0.18 =
160
-
161
- December 6 2017, dev time: 1 hour.
162
-
163
- * Fix: Standards fonts sometimes not showing in typography control [#1689](https://github.com/aristath/kirki/issues/1689)
164
- * Fix: missing .min.css file
165
-
166
- = 3.0.17 =
167
-
168
- December 5 2017, dev time: 46 hours
169
-
170
- * Fix: In some cases options were not saved when using `option` instead of the default `theme_mod` [#1665](https://github.com/aristath/kirki/issues/1665)
171
- * Fix: `link` control-type (alias of `url`) was not working [#1660](https://github.com/aristath/kirki/issues/1660)
172
- * Fix: Allow using tabs & linebreaks when defining elements in the `output` argument [#1659](https://github.com/aristath/kirki/issues/1659)
173
- * Fix: PHP Warning when using `code` controls without a `label` defined [#1658](https://github.com/aristath/kirki/issues/1658)
174
- * Fix: Buttons inside `number` controls were not increasing/decreasing the values [#1648](https://github.com/aristath/kirki/issues/1648)
175
- * Fix: JS error - only on Safari - for Select controls [#1662](https://github.com/aristath/kirki/issues/1662)
176
- * Fix: Unable to deselect all options from multiselect controls [#1670](https://github.com/aristath/kirki/issues/1670)
177
- * Fix: `multicolor` controls missing the `alpha` channel [#1657](https://github.com/aristath/kirki/issues/1657)
178
- * Fix: Unable to manually edit value in `multicolor` controls [#1666](https://github.com/aristath/kirki/issues/1666)
179
- * New: Transitioned to a JS-based webfont loader method to load google-fonts instead of using a link.
180
- * New: Moved `select` controls to new JS implementation.
181
- * New: Moved `text` and `textarea` controls (`generic` controls) to new JS implementation.
182
- * New: Added `text-transform` to `typography` fields [#1642](https://github.com/aristath/kirki/issues/1642)
183
- * New: Refactored typography controls loading for better efficiency and performance
184
- * New: Removed PHP implementation for field dependencies, now using a pure JS solution.
185
- * New: Added support for "outer" sections [#1683](https://github.com/aristath/kirki/issues/1683)
186
- * New: Added new `Kirki::remove_control()`, `Kirki::remove_section()` and `Kirki::remove_panel()` methods.
187
- * New: Added 2 new filters: `kirki/{$config_id}/webfonts/skip_hidden` and `kirki/{$config_id}/css/skip_hidden` [#1678](https://github.com/aristath/kirki/issues/1678)
188
- * Tweak: Validation & Sanitization for `dimension` and `dimensions` controls.
189
- * Tweak: Refactored `multicolor` controls a bit.
190
-
191
- = 3.0.16 =
192
-
193
- November 19 2017, dev time: 8 hours
194
-
195
- * Fix: `typography` controls not working when they are the only fields used [#1627](https://github.com/aristath/kirki/issues/1627)
196
- * Fix: `slider` controls were not updating the numeric value visually in their textfield when the control was not using `postMessage` [#1633](https://github.com/aristath/kirki/issues/1627)
197
- * Fix: Deprecated call to non-existing `Kirki_Styles_Frontend`, props @FrankM1 [#1644](https://github.com/aristath/kirki/issues/1644)
198
- * Fix: Updated the customizer-styling module for compatibility with WP 4.9 [#1639](https://github.com/aristath/kirki/issues/1639)
199
- * Fix: `code` controls were not using the corect `priority` [#1622](https://github.com/aristath/kirki/issues/1622)
200
- * Fix: Multiple reports of errors in the console.
201
- * New: Refactored the `number` controls [#1631](https://github.com/aristath/kirki/issues/1627)
202
- * New: Refactored the `color` controls. [#1646](https://github.com/aristath/kirki/issues/1646)
203
-
204
- = 3.0.15 =
205
-
206
- November 12 2017, dev time: 5 minutes.
207
-
208
- * Fix: PHP Warning in the `Kirki_Modules_Webfonts_Link` class [#1626](https://github.com/aristath/kirki/issues/1626)
209
-
210
- = 3.0.14 =
211
-
212
- November 11 2017, dev time: 4 hours.
213
-
214
- * Fix: Duplicate subsets output in the Google Fonts URLs [#1618](https://github.com/aristath/kirki/issues/1618)
215
- * Fix: Theme Check Warnings [#1613](https://github.com/aristath/kirki/issues/1613)
216
- * Fix: Add Kirki version number when enqueueing scripts & styles (cache-busting) [#1623](https://github.com/aristath/kirki/issues/1623)
217
- * Fix: JS conflict and PHP warning in typography fields when they are not properly defined [#1621](https://github.com/aristath/kirki/issues/1621)
218
-
219
- = 3.0.13 =
220
-
221
- November 9 2017, dev time: 3 hours.
222
-
223
- * Fix: textdomain typo in a string.
224
- * Fix: radio-image styling.
225
- * Fix: JS error (underscore's `_.isUndefined` for some reason doesn't always work as expected).
226
- * Tweak: Added reset back to sliders.
227
- * Tweak: CSS improvements.
228
-
229
- = 3.0.12 =
230
-
231
- November 7 2017, dev time: 42 hours.
232
-
233
- This update significantly reduces the plugin size by removing 3rd-party libraries (particularly CodeMirror) and uses the new controls and scripts that become available in WordPress 4.9.
234
- It also changes the file structure and paves the way for a 3.1 rewrite which will be a significant improvement, making Kirki a mostly JS-based app fully integrated in WordPress's JS API and moving away from the PHP API.
235
-
236
- * Fix: WordPress 4.9 compatibility for colorpickers.
237
- * Fix: WordPress 4.9 compatibility for typography controls.
238
- * Fix: WordPress 4.9 compatibility for multicolor contols.
239
- * Fix: WordPress 4.9 compatibility for background contols.
240
- * Fix: Refactored `editor` controls to make them compatible with WP 4.9
241
- * Fix: Remove CodeMirror and use the code control from WordPress Core. Code controls will be displayed as textareas in WP older than 4.9.
242
- * Fix: Use new `DateTimeControl` if in WP 4.9+ for date control.
243
- * Fix: Text field styling.
244
- * Fix: Switch controls labels.
245
- * Fix: 'choices' arguments were not getting passed-on due to `is_customize_preview` checks in latest WP Versions.
246
- * Fix: Overriding Kirki translations from a theme when Kirki is embedded.
247
- * New: Replaced `select2` with `selectWoo`.
248
- * New: Added a `Kirki_Control_Base` class and abstracted controls.
249
- * New: Better file structure.
250
- * New: Compiled JS & CSS files.
251
- * New: Added ability to manually enter numeric values in slider controls.
252
- * Tweak: Improved styling of color-palette controls.
253
- * Tweak: Radio-Image controls now display images inline (using flexbox).
254
- * Tweak: Removed the reset switch from slider controls & improved their styling.
255
- * Tweak: Improved typography controls styling for text-align.
256
- * Removed: Reset module.
257
-
258
- = 3.0.11 =
259
-
260
- October 12 2017, dev time: 3 hours.
261
-
262
- * Fix: Typography controls were not properly saving some sub-values [#1521](https://github.com/aristath/kirki/issues/1521), [#1560](https://github.com/aristath/kirki/issues/1560)
263
- * Fix: Undefined index in the code control [#1567](https://github.com/aristath/kirki/issues/1567)
264
- * Fix: CSS Output for multicolor fields [#1564](https://github.com/aristath/kirki/issues/1564)
265
- * Fix: JS instantiation of controls in expanded sections [#1559](https://github.com/aristath/kirki/issues/1559)
266
- * Fix: LTR for code controls [#1558](https://github.com/aristath/kirki/issues/1558)
267
- * Fix: Remove Reset in default sections [#1580](https://github.com/aristath/kirki/issues/1580)
268
- * Fix: Uncaught TypeError: data.value[choiceKey].replace is not a function [#1578](https://github.com/aristath/kirki/issues/1578)
269
- * Fix: Other code cleanup.
270
- * Fix: Updated google-fonts.
271
-
272
- = 3.0.10 =
273
-
274
- September 21 2017, dev time: 74 hours.
275
-
276
- * Fix: Allow HTML tags in tooltips [#1536](https://github.com/aristath/kirki/issues/1536)
277
- * Fix: Default System Font Stack for Sans Serif Fonts in Typography Fields [#1530](https://github.com/aristath/kirki/issues/1530)
278
- * Fix: HTML entities in repeater text field being encoded on each save? [#1523](https://github.com/aristath/kirki/issues/1523)
279
- * Fix: Some resetting issues [#1474](https://github.com/aristath/kirki/issues/1474)
280
- * Fix: Allow saving image fields as arrays (url,id,width,height) [#1529](https://github.com/aristath/kirki/issues/1529)
281
- * Fix: Allow saving image fields as ID [#1498](https://github.com/aristath/kirki/issues/1498)
282
- * Fix: Inline docs improvements.
283
- * Fix: `$subsets` not defined in the `Kirki_Modules_Webfonts_Link` class.
284
- * Fix: Coding improvements in the `Kirki_Field` class.
285
- * Fix: Performance Improvements in the autoloader [see commit](https://github.com/aristath/kirki/pull/1454/commits/dd518f7dc35cacf4f2ed571b033519b353aa2545)
286
- * Fix: Undefined index notice in the `Kirki_Output` class.
287
- * Fix: Sanitization for `checkbox`, `switch` and `toggle` controls.
288
- * Fix: `select2` CSS fix for `z-index` [#1459](https://github.com/aristath/kirki/issues/1459)
289
- * Fix: Remove button in image controls when there's no image [#1469](https://github.com/aristath/kirki/issues/1469)
290
- * Fix: Background control styling issue when no other color control exists [#1472](https://github.com/aristath/kirki/issues/1472)
291
- * Fix: Checkbox and Toggle don't respect "value_pattern" [#1467](https://github.com/aristath/kirki/issues/1467)
292
- * Fix: Array to string conversion when clicking reset button [#1477](https://github.com/aristath/kirki/issues/1477)
293
- * Fix: Input Field Validation Issue [#1486](https://github.com/aristath/kirki/issues/1486)
294
- * Fix: Typography: output property not working [#1484](https://github.com/aristath/kirki/issues/1484)
295
- * Fix: postMessage does not work properly when using `prefix` [#1479](https://github.com/aristath/kirki/issues/1479)
296
- * Fix: Use `wp_json_encode` instead of `json_encode`.
297
- * Fix: Use `rawurlencode` instead of `urlencode`.
298
- * New: Added warnings for deprecated functions/methods.
299
- * New: `code` control now loads dynamically (performance improvement).
300
- * New: `color-palette` control now loads dynamically (performance improvement).
301
- * New: `color` control now loads dynamically (performance improvement).
302
- * New: `dashicons` control now loads dynamically (performance improvement).
303
- * New: `date` control now loads dynamically (performance improvement).
304
- * New: `dimension` control now loads dynamically (performance improvement).
305
- * New: `dimensions` control now loads dynamically (performance improvement).
306
- * New: `editor` control now loads dynamically (performance improvement).
307
- * New: `fontawesome` control now loads dynamically (performance improvement).
308
- * New: `generic` control now loads dynamically (performance improvement).
309
- * New: `multicheck` control now loads dynamically (performance improvement).
310
- * New: `number` control now loads dynamically (performance improvement).
311
- * New: `palette` control now loads dynamically (performance improvement).
312
- * New: `preset` control now loads dynamically (performance improvement).
313
- * New: `radio-buttonset` control now loads dynamically (performance improvement).
314
- * New: `radio-image` control now loads dynamically (performance improvement).
315
- * New: `radio` control now loads dynamically (performance improvement).
316
- * New: `select` control now loads dynamically (performance improvement).
317
- * New: `slider` control now loads dynamically (performance improvement).
318
- * New: `switch` control now loads dynamically (performance improvement).
319
- * New: `toggle` control now loads dynamically (performance improvement).
320
-
321
- = 3.0.9 =
322
-
323
- July 8 2017, dev time: 7 hours.
324
-
325
- * Fix: Add alpha option to multicolor control. Props @danielortiz [#1321](https://github.com/aristath/kirki/issues/1321), [#1449](https://github.com/aristath/kirki/pull/1449)
326
- * Fix: Googlefonts output when `default` argument contains `font-weight` instead of `variant` [#1443](https://github.com/aristath/kirki/issues/1443)
327
- * Fix: Removed the `Kirki_Custom_Build` class.
328
- * Fix: Plugin does not exist error when Kirki is embedded in a theme [#1448](https://github.com/aristath/kirki/issues/1448)
329
- * Fix: Code simplifications and optimizations.
330
-
331
- = 3.0.8 =
332
-
333
- June 27 2017, dev time: 4 hours.
334
-
335
- * Fix: Typography controls without a variant defined were adding font-weight in the customizer [#1436](https://github.com/aristath/kirki/issues/1436)
336
- * Fix: Set default webfonts loading method to `link` [#1438](https://github.com/aristath/kirki/issues/1438)
337
- * Fix: Bug that prevents custom args from being passed to custom controls [#1425](https://github.com/aristath/kirki/issues/1425). Props @danielortiz
338
- * Fix: `exclude` argument in `output` when combined with `choice` [#1416](https://github.com/aristath/kirki/issues/1416)
339
- * Fix: `active_callback` operators for greater/smaller etc [#1427](https://github.com/aristath/kirki/issues/1427)
340
-
341
- = 3.0.7 =
342
-
343
- June 26 2017, dev time: 1 hour.
344
-
345
- * Fix: GoogleFonts links were not getting properly created [#1430](https://github.com/aristath/kirki/issues/1430)
346
- * Fix: Incorrect logic when `Kirki::add_field()` only has 1 argument defined [#1429](https://github.com/aristath/kirki/issues/1429)
347
-
348
- = 3.0.6 =
349
-
350
- June 25, 2017, dev time: 5 minutes.
351
-
352
- * Fix: Typo, PHP 5.2 compatibility.
353
-
354
- = 3.0.5 =
355
-
356
- June 25, 2017, dev time: 5 hours.
357
-
358
- * Fix: Conflict with the MaxStore Pro theme [#1405](https://github.com/aristath/kirki/issues/1405)
359
- * Fix: CSS Output for Typography controls [#1423](https://github.com/aristath/kirki/issues/1423)
360
- * Fix: PHP Warning in Repeater control. [#1417](https://github.com/aristath/kirki/issues/1417)
361
- * Fix: CSS conflict with the Shortcake plugin [#1418](https://github.com/aristath/kirki/issues/1418)
362
- * Fix: `Kirki_Fonts_Google::$force_load_all_variants` was not working in version 3.0
363
- * Fix: PHP Warning in typography control when the value was corrupted [#1426](https://github.com/aristath/kirki/issues/1426)
364
- * Fix: Notice about incorrect `wp_add_inline_style` when googlefont URL was throwing error [#1410](https://github.com/aristath/kirki/issues/1410)
365
- * Fix: Unable to delete the plugin when it's also embedded in the active theme and plugin version is deactivated [#1421](https://github.com/aristath/kirki/issues/1421)
366
- * Fix: PHP 5.2 compatibility.
367
-
368
- = 3.0.4 =
369
-
370
- June 23, 2017, dev time: 2 hours.
371
-
372
- * Fix: Added extra checks to avoid PHP Warning in the `Kirki_Fonts_Google` class [#1402](https://github.com/aristath/kirki/issues/1402).
373
- * Fix: `fontawesome` control was throwing a warning in the theme-check plugin.
374
- * Fix: Added the "Default" button back in image controls [#1401](https://github.com/aristath/kirki/issues/1401)
375
- * Fix: Number controls sanitization memory issue [#1404](https://github.com/aristath/kirki/issues/1404)
376
- * Fix: Typography controls font-weight output [#1370](https://github.com/aristath/kirki/issues/1370)
377
- * Fix: The `icon` argument was not working for Panels.
378
-
379
- = 3.0.3 =
380
-
381
- June 22, 2017, dev time: 10 minutes/
382
-
383
- * Fix: Error when color is not properly formatted.
384
-
385
- = 3.0.2 =
386
-
387
- June 22, 2017, dev time: 15 minutes.
388
-
389
- * Fix: CSS bugfixes in the `editor` control.
390
- * Fix: Improvements when embedding Kirki in a theme.
391
-
392
- = 3.0.1 =
393
-
394
- June 22, 2017, dev time: 5 minutes.
395
-
396
- * Fix: Undefined index PHP Notice.
397
-
398
- = 3.0.0 =
399
-
400
- June 22, 2017, dev time: 243 hours.
401
-
402
- This is a major release. Many things have been refactored and optimized. Please keep a backup before updating.
403
-
404
- * Fix: Refactored the reset module. [#1334](https://github.com/aristath/kirki/pull/1334)
405
- * Fix: Refactored the postMessage module [#1333](https://github.com/aristath/kirki/issues/1333)
406
- * Fix: PHP mode on CodeMirror. [#1003](https://github.com/aristath/kirki/issues/1003)
407
- * Fix: Dynamic repeater labels now use the label instead of value when picking up label from select field. [#1230](https://github.com/aristath/kirki/issues/1230)
408
- * Fix: Sanitization for number fields. [#1240](https://github.com/aristath/kirki/issues/1240)
409
- * Fix: Checkboxes sanitization. [#1195](https://github.com/aristath/kirki/issues/1195)
410
- * Fix: Link functionality in editor field. [#968](https://github.com/aristath/kirki/issues/968), [#1159](https://github.com/aristath/kirki/issues/1159)
411
- * Fix: Issues in Field Type editor [#1260](https://github.com/aristath/kirki/issues/1260)
412
- * Fix: Problems with sortable control [#1253](https://github.com/aristath/kirki/issues/1253), [#1197](https://github.com/aristath/kirki/issues/1197), [#1198](https://github.com/aristath/kirki/issues/1198)
413
- * Fix: inaccessibility of options panel [#1194](https://github.com/aristath/kirki/issues/1194)
414
- * Fix: Fields "checkbox", "toggle" and "switch" don't save as boolean in PHP, instead integer 0/1 [#1195](https://github.com/aristath/kirki/issues/1195)
415
- * Fix: Tooltip not working for switch [#1225](https://github.com/aristath/kirki/issues/1225)
416
- * Fix: Tooltip height fix in [#1228](https://github.com/aristath/kirki/issues/1228)
417
- * Fix: Tooltip not closing when clicking outside of icon [#1226](https://github.com/aristath/kirki/issues/1226)
418
- * Fix: Issue with visual representation of color picker (alpha iris) [#1218](https://github.com/aristath/kirki/issues/1218)
419
- * Fix: Reset is "undefined" [#1210](https://github.com/aristath/kirki/issues/1210)
420
- * Fix: Controls that save arrays cause PHP Notices [#1199](https://github.com/aristath/kirki/issues/1199)
421
- * Fix: Disabled the "loading" module by default. Use the `kirki/modules` filter to enable.
422
- * Fix: Refactored saving user-meta (`'option_type' => 'user_meta'`). [#1325](https://github.com/aristath/kirki/issues/1325)
423
- * Fix: Code fields reset [#1122](https://github.com/aristath/kirki/issues/1122)
424
- * Fix: Typography fields reset [#1193](https://github.com/aristath/kirki/issues/1193), [#1219](https://github.com/aristath/kirki/issues/1219)
425
- * Fix: Multicolor fields reset [#916](https://github.com/aristath/kirki/issues/916)
426
- * Fix: Custom fonts not displayed as active in the font list after saving [#1110](https://github.com/aristath/kirki/issues/916)
427
- * Fix: Support for `media_query` when using `'transport' => 'auto'`. [#1184](https://github.com/aristath/kirki/issues/1184), [#1127](https://github.com/aristath/kirki/issues/1127)
428
- * Fix: Typography field bug when switching Google Fonts with different weights [#1180](https://github.com/aristath/kirki/issues/1180)
429
- * Fix: Font Variant outputs invalid property value (typography field) [#1058](https://github.com/aristath/kirki/issues/1058)
430
- * Fix: Updated webfonts. [#1303](https://github.com/aristath/kirki/issues/1303)
431
- * Fix: required argument not work with postMessage type. [#1031](https://github.com/aristath/kirki/issues/1031)
432
- * Fix: Notice: Undefined index, repeater field. [#1291](https://github.com/aristath/kirki/issues/1291)
433
- * Fix: 403 errors for CSS and JS files on localhost. [#1309](https://github.com/aristath/kirki/issues/1309)
434
- * Fix: Customizer doesn't load if ACF PRO is active. [#1302](https://github.com/aristath/kirki/issues/1302)
435
- * Fix: Enqueued google font even if not in use. [#1297](https://github.com/aristath/kirki/issues/1297)
436
- * Fix: Default dimension value does not process well percent units [#1254](https://github.com/aristath/kirki/issues/1254), [#497](https://github.com/aristath/kirki/issues/497)
437
- * Fix: Editor field issue with RTL languages [#340](https://github.com/aristath/kirki/issues/340)
438
- * Fix: Windows Server Issues [#1318](https://github.com/aristath/kirki/issues/1318)
439
- * New: Added code to automatically handle translations when Kirki is embedded in a theme [#1381](https://github.com/aristath/kirki/issues/1381)
440
- * New: Automating postMessage for composite fields. [#694](https://github.com/aristath/kirki/issues/694)
441
- * New: OR logic in field dependencies. [#839](https://github.com/aristath/kirki/issues/839)
442
- * New: Radio-image labels. [#1090](https://github.com/aristath/kirki/issues/1090), [#1220](https://github.com/aristath/kirki/issues/1220)
443
- * New: Typography fields support for `prefix`, `suffix`, `value_pattern` in `output` argument. [#1183](https://github.com/aristath/kirki/issues/1183)
444
- * New: Multi-selects in repeater fields. [#780](https://github.com/aristath/kirki/issues/780), [#1261](https://github.com/aristath/kirki/issues/1261)
445
- * New: Typography fields now support live-updating using `'transport' => 'auto'`. [#1184](https://github.com/aristath/kirki/issues/1184), [#528](https://github.com/aristath/kirki/issues/528), [#1186](https://github.com/aristath/kirki/issues/1186)
446
- * New: Typography fields now support filtering the available fonts. [#1202](https://github.com/aristath/kirki/issues/1202)
447
- * New: Typography fields now support loading multiple variants. [#992](https://github.com/aristath/kirki/issues/992), [#1082](https://github.com/aristath/kirki/issues/1082), [#1114](https://github.com/aristath/kirki/issues/1114)
448
- * New: Select fields now support optgroups. [#1120](https://github.com/aristath/kirki/issues/1120)
449
- * New: Added new background control-type. [#741](https://github.com/aristath/kirki/issues/741), [#1283](https://github.com/aristath/kirki/pull/1283), [#952](https://github.com/aristath/kirki/pull/952)
450
- * New: Replaced selectize with select2. [#1177](https://github.com/aristath/kirki/issues/1177)
451
- * New: Notifications for number fields when value is invalid depending on min/max/step values.
452
- * New: Rebuilt typography control using select2. [cafb89b ](https://github.com/aristath/kirki/commit/e27fa1ff19ab52b34467bfb306b5870d858f409f)
453
- * New: Allow modifying values instead of replacing them when using `js_vars` with `function` set to `html` by using the `value_pattern` parameter and the `$` placeholder. [#1137](https://github.com/aristath/kirki/pull/1137)
454
- * New: Updated CodeMirror. [fff6df0](https://github.com/aristath/kirki/commit/34fdaa562fdd33fa595db927ee597265a753b3b4)
455
- * New: Added word-spacing to the typography control. [#1163](https://github.com/aristath/kirki/issues/1163)
456
- * New: Refactored file structure to make fields self-contained entities, easier to decouple & debug.
457
- * New: Introducing "modules".
458
- * New: Refactored the tooltips feature (now a module).
459
- * New: Selective refreshes are now a module.
460
- * New: postMessage is now a module.
461
- * New: Refactored section & panel icons (now a module).
462
- * New: Customizer-Styling is now a module.
463
- * New: Customizer-Branding is now a module.
464
- * New: CSS-Output is now a module.
465
- * New: Abstracted the "spacing" control and created a new "dimensions" control from it.
466
- * New: Allow saving site-options(`'option_type' => 'site_option'`) [#1326](https://github.com/aristath/kirki/issues/1326)
467
- * New: Added 2 new methods for enqueueing google fonts. See the [`kirki/googlefonts_load_method`](https://github.com/aristath/kirki/blob/9e3e4a6928339bdcd0f7520d305c145a80a06c8a/modules/webfonts/class-kirki-modules-webfonts.php#L100) filter.
468
- * New: Googlefonts now by default added inline in the stylesheet to avoid an extra call to the GoogleFonts API. (SEO & performance improvement).
469
-
470
- = 2.3.8 =
471
-
472
- May 28, 2017, dev time: 15 minutes.
473
-
474
- This is a maintenance release that prepares for 3.0.0 coming soon.
475
-
476
- * Fix: Updating webfonts.
477
- * New: Added ability to use upgrade notices. Needed for v3.0 in a few days.
478
-
479
- = 2.3.7 =
480
-
481
- October 22, 2016, dev time: 12 hours.
482
-
483
- * Fix: `spacing` controls were not updating after save
484
- * New: Now using the WP Notifications API in the customizer for spacing & dimension controls (requires WP 4.6).
485
- * Fix: Allow overriding `option_type` with `theme_mod` when global config uses `option` by using the `option_type` argument in the fields.
486
- * Fix: Disabled the custom kirki-preview loader. This will have to be built more modular in future versions.
487
- * Fix: Refactored panel & section icons.
488
- * Fix: postMessage now works better with slider controls.
489
- * Fix: Reset button not working unless tooltips are loaded.
490
- * Fix: Properly sanitize `link` and `url` fields.
491
- * Fix: Automate sanitization for `repeater` fields.
492
-
493
- = 2.3.6 =
494
-
495
- August 28, 2016, dev time: 3 hours.
496
-
497
- * Fix: CSS prefixes order fixes ([#1042](https://github.com/aristath/kirki/pull/1042)).
498
- * Fix: `suffix` output argument support in Multicolor control ([#1042](https://github.com/aristath/kirki/pull/1042)).
499
- * Fix: `Kirki::get_variables()` method should be static ([#1050](https://github.com/aristath/kirki/pull/1050)).
500
- * Fix: Add line wrapping to CodeMirror ([#1079](https://github.com/aristath/kirki/pull/1079)).
501
- * Fix: `container_inclusive` is disregarded on the selective refresh class ([#1089](https://github.com/aristath/kirki/issues/1089)).
502
- * Fix: Support `input_attrs` parameter for controls ([#1074](https://github.com/aristath/kirki/issues/1074)).
503
- * Fix: Outdated Google-Fonts list ([#1091](https://github.com/aristath/kirki/issues/1091)).
504
-
505
- = 2.3.5 =
506
-
507
- July 2, 2016. dev time: 6 hours.
508
-
509
- * FIX: Missing button labels in `repeater` fields.
510
- * FIX: Missing button label in `code` fields ([#1017](https://github.com/aristath/kirki/issues/1017)).
511
- * FIX: Better implementation when embedding Kirki in a theme ([#1025](https://github.com/aristath/kirki/issues/1025)).
512
- * FIX: Updated google-fonts ([#1041](https://github.com/aristath/kirki/issues/1041)).
513
- * NEW: Allow simpler format for `variables` argument ([#1020](https://github.com/aristath/kirki/issues/1020)).
514
-
515
- = 2.3.4 =
516
-
517
- June 1, 2016, dev time: 30 minutes.
518
-
519
- * FIX: Repeater JS issues due to error in translation strings.
520
-
521
- = 2.3.3 =
522
-
523
- May 31, 2016, dev time: 17 hours.
524
-
525
- * FIX: Editor field covering the content ([#955](https://github.com/aristath/kirki/issues/955)).
526
- * FIX: Smoother transition for editor switching.
527
- * FIX: Code field JS error when using "php" mode ([#958](https://github.com/aristath/kirki/issues/958)).
528
- * FIX: `postMessage` for typography fields ([#528](https://github.com/aristath/kirki/issues/528)).
529
- * FIX: translation strings ([#960](https://github.com/aristath/kirki/issues/960)).
530
- * FIX: `postMessage` for `background-image` properties ([#963](https://github.com/aristath/kirki/issues/963)).
531
- * FIX: Reset Typography Control without font-family default value ([#951](https://github.com/aristath/kirki/issues/951)).
532
- * FIX: Typography field: font-style missing in CSS output if variant is regular/400 ([#977](https://github.com/aristath/kirki/issues/977)).
533
- * FIX: Placing two editor controls in the customizer leads to odd behavior ([#140](https://github.com/aristath/kirki/issues/140)).
534
- * FIX: Typography field: letter-spacing missing in CSS output if its value is 0 ([#978](https://github.com/aristath/kirki/issues/978)).
535
- * FIX: Allow using HTML in section descriptions ([#976](https://github.com/aristath/kirki/issues/976)).
536
- * FIX: Bug preventing partial refreshes from working properly ([#991](https://github.com/aristath/kirki/issues/991)).
537
- * FIX: Better internationalization handling.
538
- * FIX: Output errors on typography settings ([#975](https://github.com/aristath/kirki/issues/975)).
539
- * NEW: Added a new `attr` argument to `js_vars` ([#957](https://github.com/aristath/kirki/issues/957)).
540
- * NEW: Implemented both `AND` and `OR` conditionals in `active_callback` arrays ([#839](https://github.com/aristath/kirki/issues/839)).
541
- * NEW: Allow defining an array of dashicons to use.
542
- * NEW: Added a `link` control type.
543
-
544
- = 2.3.2 =
545
-
546
- May 2, 2016, dev time: 52 hours.
547
-
548
- * NEW: Completely refactored `editor` controls.
549
- * NEW: Completely re-styled `code` controls.
550
- * NEW: Added a new `kirki/{$config_id}/styles` filter ([#908](https://github.com/aristath/kirki/issues/908)).
551
- * NEW: Added a `customize-control-kirki` class to all Kirki controls.
552
- * FIX: Field type number : Cannot read property 'min' of undefined ([#911](https://github.com/aristath/kirki/issues/911)).
553
- * FIX: All controls are now prefixed ([#918](https://github.com/aristath/kirki/issues/918))
554
- * FIX: `alpha` argument in color-alpha controls ([#932](https://github.com/aristath/kirki/issues/932)).
555
- * FIX: Name attribute in repeaters (props @guillaumemolter).
556
- * FIX: Missing label for checkbox controls inside repeaters (props @guillaumemolter).
557
- * FIX: Placing 2 editor controls in the customizer leads to odd behaviour ([#140](https://github.com/aristath/kirki/issues/140)).
558
- * FIX: `active_callback` conbined with the old `required` argument. ([#906](https://github.com/aristath/kirki/issues/906)).
559
- * FIX: Double prefix and suffix in `js_vars` ([#943](https://github.com/aristath/kirki/issues/943)).
560
- * FIX: Typography control returns both 'subset' and 'subsets' indexes with the same value ([#948](https://github.com/aristath/kirki/issues/948)).
561
- * FIX: Use `strict` JS mode in all controls.
562
-
563
- = 2.3.1 =
564
-
565
- April 19, 2016, dev time: 30 hours.
566
-
567
- * FIX: Spacing control JS dependencies.
568
- * FIX: Output property ignored in multicolor field.
569
- * FIX: Image sub-controls in repeaters were causing a JS error.
570
- * FIX: Text Domain Compliance with Themecheck.
571
- * FIX: PostMessage scripts when using more than 1 elements for the output.
572
- * FIX: Default values for swithes, toggles & checkboxes.
573
- * FIX: Conflict with WP Core's `dropdown-pages` control.
574
- * FIX: Auto-transport not working when using serialized options instead of theme_mods.
575
- * FIX: `value_pattern` was not working properly when used in `js_vars`.
576
- * FIX: Repeater control bugfixes (props @guillaumemolter).
577
- * FIX: multi-selects saving single value.
578
- * NEW: Added support for `upload` controls in repeaters (props @guillaumemolter).
579
- * NEW: Adding mime_type parameter for image, cropped_image, upload controls in repeaters (props @guillaumemolter).
580
- * NEW: Added color-picker support in repeater fields (props @guillaumemolter).
581
-
582
- = 2.3.0 =
583
-
584
- April 10, 2016, dev time: 21 hours.
585
-
586
- Kirki is now 100% WordPress Coding Standards compliant.
587
-
588
- * FIX: Escaping google-font URLs when possible.
589
- * FIX: Only enqueue the tooltips script if needed.
590
- * FIX: WordPress Coding Standards.
591
- * FIX: undefined sub-controls were still being saved in typography fields
592
- * FIX: Javascript Console Errors: "wp.customize" object undefined when Kirki fields were added in `customize_register`
593
- * FIX: markup in editor fields - props @manuelmoreale.
594
- * FIX: multiple styles in head when using js_vars
595
- * FIX: Sanitization for rem units
596
- * FIX: CSS output for multicolor controls
597
- * NEW: Repeater labels are now dynamic - props @guillaumemolter.
598
- * NEW: The entire header on repeaters is now draggable - props @guillaumemolter.
599
- * TWEAK: More efficient JS code for the typography control
600
-
601
- = 2.2.10 =
602
-
603
- * FIX: Issue with URLs when using Kirki embedded in a theme and not installed as a plugin.
604
-
605
- = 2.2.9 =
606
-
607
- * FIX: Repeater controls were not working on 2.2.8 due to a typo - props @guillaumemolter
608
- * NEW: Repeater fields now allow more control types (email/tel/url/hidden) - props @guillaumemolter
609
-
610
- = 2.2.8 =
611
-
612
- April 6, 2016, dev time: 5 hours.
613
-
614
- * FIX: Enqueued assets missing when useg WP_DEBUG & WP_DEBUG_SCRIPT
615
- * FIX: Checkboxes were not properly displaying their values
616
- * FIX: Javascript errors when `number` controls were used without `min`, `max` or `step`.
617
- * FIX: Multiselect controls issue with the `sanitize_callback` used.
618
- * NEW: Make attributes in `cropped_image` sub-controls inside repeaters dynamic (props @guillaumemolter).
619
-
620
- = 2.2.7 =
621
-
622
- April 5, 2016, dev time: 23 hours.
623
-
624
- * FIX: Properly parsing `postMessage` scripts when `transport` is set to `auto`.
625
- * FIX: Background image was outputing CSS even if it was empty.
626
- * FIX: Default value for checkboxes.
627
- * FIX: Issue with plugin URLs in the customizer, when the plugin was embedded in a theme.
628
- * FIX: Descriptions were now shown in `sortable` fields.
629
- * FIX: Reset not working for textarea fields.
630
- * FIX: In some cases only the first element in `output` arguments was being processed.
631
- * FIX: edge-case bugfix for select controls when data saved if the db was somehow mis-formatted.
632
- * FIX: Repeater controls now use image IDs instead of image URLs. Props @guillaumemolter
633
- * NEW: Added `text-align` ability in `typography` fields.
634
- * NEW: Added `text-transform` ability in `typography` fields.
635
- * NEW: Introduce `value_pattern` argument for `output` & `js_vars`.
636
- * NEW: Started refactoring the `Kirki_Field` class. Now each field can have its own sub-class extending the main Kirki_Field object.
637
- * NEW: `multicolor` control.
638
- * NEW: Added `cropped_image` support in `repeater`. Props @guillaumemolter
639
- * TWEAK: Renamed `Kirki_Customizer_Scripts_Loading` to `Kirki_Scripts_Loading`.
640
- * TWEAK: Renamed `Kirki_Customizer_Scripts_Tooltips` to `Kirki_Scripts_Tooltips`.
641
- * TWEAK: Renamed `Kirki_Customizer_Scripts_Icons` to `Kirki_Scripts_Icons`.
642
- * TWEAK: More inline comments, docs & coding-standards improvements.
643
- * DEPRECATED: Removed the `Kirki_Colourlovers` class.
644
-
645
- = 2.2.6 =
646
-
647
- March 26, 2016, dev time: 10 hours
648
-
649
- * FIX: Invalid variants for google fonts were getting enqueued due to a mischeck.
650
- * FIX: Repeater rows are now minimized by default.
651
- * FIX: Styling for the `dropdown-pages` control.
652
- * FIX: `switch` controls now properly resize based on the label used in the `choices` argument.
653
- * FIX: It is now possible to use `calc()` in CSS value controls.
654
- * FIX: Styles were being applied to the customizer even if they were not defined in the `kirki/config` filter.
655
- * FIX: Removed unnecessary class inheritances & other code cleanups.
656
- * NEW: Allow resetting options per-section.
657
- * NEW: Added new `color-palette` control.
658
- * NEW: Added `'transport' => 'auto'` to auto-calculate postMessage scripts from the `output` argument when possible.
659
- * NEW: Added Material design palettes in the `Kirki_Helper` class.
660
- * NEW: Allow changing the "Add Row" text on repeater fields.
661
- * NEW: Allow setting a limit for repeater rows.
662
-
663
- = 2.2.5 =
664
-
665
- March 23, 2016, dev time: 7 hours
666
-
667
- * FIX: Google fonts now loaded via a PHP array instead of a JSON file.
668
- * FIX: CSS issue due to escaped quotes on standard fonts.
669
- * FIX: Issue when using `units` on `js_vars` combined with the `style` method.
670
- * FIX: Missing textdomain on a string.
671
- * NEW: Refactored postMessage scripts.
672
- * NEW: Allow passing options to iris using the `choices` argument on color controls.
673
- * NEW: Allow disabling the custom loader using the `disable_loader` argument in the `kirki/config` filter.
674
-
675
- = 2.2.4 =
676
-
677
- March 20, 2016, dev time: 6 hours
678
-
679
- * FIX: Removed unnecessary CSS echoed by the `typography` control
680
- * FIX: Color Calculation class improvements
681
- * FIX: CSS improvement for `toggle` controls
682
- * NEW: Added `dashicons` field
683
- * NEW: Added the ability to limit the number of rows in `repeater` controls (props @fovoc)
684
-
685
- = 2.2.3 =
686
-
687
- March 19, 2016
688
-
689
- * FIX: Selecting a color inside typography controls was throwing a JS error (typo)
690
- * FIX: CSS alignment for descriptions in toggle controls
691
- * FIX: Default value for letter-spacing setting in typography controls (props @andreg)
692
-
693
- = 2.2.2.1 =
694
-
695
- March 18, 2016, dev time: 5 minutes
696
-
697
- * FIX: Backwards-compatibility bugfix
698
-
699
- = 2.2.2 =
700
-
701
- March 17, 2016, dev time: 10 minutes
702
-
703
- * FIX: PHP notice for non-standard controls when the `element` defined in an `output` argument is of type `array`.
704
-
705
- = 2.2.1 =
706
-
707
- March 17, 2016, dev time: 3 hours
708
-
709
- * FIX: Alpha channel was always enabled for color controls
710
- * FIX: PHP Notices in the class-kirki-output-control-typography.php file
711
- * FIX: PHP Fatal error on PHP 5.2
712
- * FIX: PHP Notice in the class-kirki-field.php file
713
- * FIX: PHP Fatal error when using background-position in the output argument
714
- * TWEAK: Removed unused languages from CodeMirror to reduce the plugin's size
715
-
716
- = 2.2.0 =
717
-
718
- March 16, 2016, dev time: 120 hours
719
-
720
- * FIX: Improved & simplified the `number` control.
721
- * FIX: Improved & simplified the `spacing` control.
722
- * FIX: Minor bugfix on the `select` control.
723
- * FIX: WP Coding standards improvements.
724
- * FIX: Bugfix for radio controls.
725
- * FIX: Fixed repeater remove image not triggering save button to activate, and added a placeholder when the image is removed. (props @sayedwp)
726
- * FIX: Fixed bug when using negative numbers as min value in the `number` field
727
- * FIX: Typo in the textdomain for some strings (some strings were using "Kirki" instead of "kirki").
728
- * FIX: Complete refactor & rewrite of the google-fonts implementation.
729
- * FIX: IE11 bug on radio-image controls.
730
- * FIX: Radio-image bug when used with serialized options.
731
- * NEW: Complete refactor & rewrite of typography control.
732
- * NEW: Refactored the CSS output methods.
733
- * NEW: Added new mothods for detecting dependencies.
734
- * NEW: Added font-subsets in typography controls.
735
- * NEW: Google fonts now only show valid variants & subsets in typography controls.
736
- * NEW: Implemented partial refreshes for WP 4.5 using a "partial_refresh" argument (formatted as an array).
737
- * NEW: Better autoloader & improved file structure.
738
- * NEW: Deprecated the `Kirki_Field_Sanitize` class in favor of a more simplified & robust implementation.
739
- * NEW: Completely refactored the `Kirki_Field` class, we're migrating to a more OOP model.
740
- * NEW: Added a new `kirki-generic` control.
741
- * NEW: Deprecated the custom text control and used the new `kirki-generic` control instead.
742
- * NEW: Deprecated the custom textarea control and used the new `kirki-generic` control instead.
743
- * NEW: Renamed the `help` argument to `tooltip`. `help` will continue to work as an alias.
744
- * NEW: Merged the `color` & color-alpha` controls. We now use the `color-alpha` control for all colors, and just modify the `data-alpha` property it has.
745
- * NEW: Started an OOP rewrite of many classes
746
- * NEW: Started rewriting the PHPUNIT tests & tweaked them so they can now run on localhosts (like VVV) and not just on travis-ci.
747
- * NEW: Included the ariColor library for color calculations (https://aristath.github.io/ariColor/)
748
- * TWEAK: Other code refactoring for improved performance
749
- * TWEAK: Updated `grunt` packages.
750
-
751
- = 2.1.0.1 =
752
-
753
- February 17, 2016, dev time: 5 minutes
754
-
755
- * FIX: PHP Notices (undefined index)
756
-
757
- = 2.1.0 =
758
-
759
- February 17, 2016, dev time: 4 hours
760
-
761
- * FIX: Image field issues inside the Repeater field (props @sayedwp)
762
- * NEW: Allow disabling output per-config
763
- * NEW: Introduce 'postMessage' => 'auto' option in config (will auto-create `js_vars` using the `output` argument)
764
- * NEW: New color control using a js-based template
765
- * TWEAK: Branding script rewrite
766
- * TWEAK: Color controls styling
767
- * TWEAK: Coding improvements & cleanups
768
-
769
- = 2.0.9 =
770
-
771
- February 13, 2016, dev time: 1 hour.
772
-
773
- * FIX: Google fonts bug (use double quotes when font name contains a space character)
774
- * FIX: Checkbox control bug (checkboxes were always displayed as checked, regardless of their actual value)
775
- * NEW: Intruducing KIRKI_NO_OUTPUT constant that disables CSS output completely when set to true.
776
-
777
- = 2.0.8 =
778
-
779
- February 10, 2016, dev time: 2 hours
780
-
781
- * FIX: Only load Kirki styles when in the customizer
782
- * FIX: Performance issue with Google Fonts
783
- * NEW: Added radio-image controls to repeaters
784
- * TWEAK: Better color handling in the Kirki_Color class
785
-
786
- = 2.0.7 =
787
-
788
- January 19, 2016, dev time: 1 hour
789
-
790
- * FIX: Narrow the scope of "multicheck" modification checker (props @chetzof)
791
- * FIX: PHP warnings due to invalid callback method
792
- * FIX: postMessage bug introduced in 2.0.6 (2 lines commented-out)
793
-
794
- = 2.0.6 =
795
-
796
- January 18, 2016, dev time: 7 hours
797
-
798
- * FIX: Fix active callback for multidimensional arrays. (props @andrezrv)
799
- * FIX: Correctly check current value of checkbox control. (props @andrezrv)
800
- * FIX: Bug in the sortable field (props @daviedR)
801
- * FIX: Fixed some bugs that occured when using serialized options instead of theme_mods
802
- * NEW: Added an image sub-field to repeater fields (props @sayedwp)
803
- * NEW: Added a JS callback to js_vars (props @pingram3541)
804
- * TWEAK: Settings sanitization
805
- * TWEAK: Removed demo theme from the plugin. This is now provided separately on https://github.com/aristath/kirki-demo
806
-
807
- = 2.0.5 =
808
-
809
- December 23, 2015, dev time: 2.5 hours
810
-
811
- * FIX: Disabled the ajax-loading method for stylesheets. All styles are now added inline. Will be re-examined for a future release.
812
- * FIX: Number controls were not properly triggering changes
813
- * FIX: Styling for number controls
814
- * FIX: In some cases the dynamic CSS was added before the main stylesheet. We now add them using a priority of 999 to ensure they are enqueued afterwards.
815
-
816
- = 2.0.4 =
817
-
818
- December 19, 2015, dev time: 3 hours
819
-
820
- * NEW: Added units support to the Typography field
821
- * NEW: Default methods of enqueuing styles in now inline.
822
- * NEW: Added 'inline_css' argument to config. set to false to add styles using AJAX.
823
- * FIX: HTML mode for CodeMirror now functional
824
- * FIX: PHP Notices when the config filter is used wrong
825
- * FIX: Monor bugfix for text inputs
826
- * FIX: Indentation & coding standards
827
- * FIX: failing PHPUNIT test.
828
- * TWEAK: Remove passing click event object
829
-
830
- = 2.0.3 =
831
-
832
- December 6, 2015, dev time: 45 minutes
833
-
834
- * Bugfix for updates
835
-
836
- = 2.0.2 =
837
-
838
- December 6, 2015, dev time: 30 minutes
839
-
840
- * FIX: Fatal error on update (not on new installations)
841
- * FIX: Typo
842
-
843
- = 2.0.1 =
844
-
845
- December 6, 2015, dev time: 10 minutes
846
-
847
- * FIX: Some configurations were failing with the new autoloader. Reverted to a simpler file structure.
848
-
849
- = 2.0 =
850
-
851
- December 6, 2015, dev time > 140 hours
852
-
853
- * NEW: Added support for `sanitize_callback` arguments on each item in the CSS `output`.
854
- * NEW: Added the ability to define an array as element in the `output`.
855
- * NEW: Auto-prefixing CSS output for cross-browser compatibilities.
856
- * NEW: Allow using arrays in settings.
857
- * NEW: Dimension Field.
858
- * NEW: Repeater Field.
859
- * NEW: Code Field using the ACE editor.
860
- * NEW: Typography Control.
861
- * NEW: Preset Field.
862
- * NEW: Demo theme.
863
- * NEW: Spacing Control.
864
- * REMOVED: Redux Framework compatibility.
865
- * FIX: Minor bugfixes to the Kirki_Color class.
866
- * FIX: kirki_get_option now uses Kirki::get_option().
867
- * FIX: Various bugfixes.
868
- * TWEAK: Converted the `checkbox` control to use the JS templating system.
869
- * TWEAK: Converted the `custom` control to use the JS templating system.
870
- * TWEAK: Converted the `multicheck` control to use the JS templating system.
871
- * TWEAK: Converted the `number` control to use the JS templating system.
872
- * TWEAK: Converted the `palette` control to use the JS templating system.
873
- * TWEAK: Converted the `radio-buttonset` control to use the JS templating system.
874
- * TWEAK: Converted the `radio-image` control to use the JS templating system.
875
- * TWEAK: Converted the `radio` control to use the JS templating system.
876
- * TWEAK: Converted the `select` control to use the JS templating system.
877
- * TWEAK: Converted the `slider` control to use the JS templating system.
878
- * TWEAK: Converted the `switch` control to use the JS templating system.
879
- * TWEAK: Converted the `textarea` control to use the JS templating system.
880
- * TWEAK: Converted the `toggle` control to use the JS templating system.
881
- * TWEAK: `radio-buttonset` controls are now CSS-only.
882
- * TWEAK: `radio-image` controls are now CSS-only.
883
- * TWEAK: `select` controls nopw use [selectize](http://brianreavis.github.io/selectize.js/) instead of [Select2](https://select2.github.io/).
884
- * TWEAK: Deprecated `select2` and `select2-multiple` controls. We now have a global `select` control. Previous implementations gracefully fallback to the current one.
885
- * TWEAK: `switch` controls are now CSS-only.
886
- * TWEAK: `toggle` controls are now CSS-only.
887
- * TWEAK: Sliders now use an HTML5 "range" input instead of jQuery-UI.
888
- * TWEAK: Better coding standards.
889
- * TWEAK: Descriptions styling.
890
- * TWEAK: Improved controls styling.
891
- * TWEAK: Compiled CSS & JS for improved performance.
892
- * TWEAK: Added prefix to the sanitized output array.
893
- * TWEAK: Updated google-fonts.
894
- * TWEAK: Grunt integration.
895
- * TWEAK: Some Code refactoring.
896
-
897
- = 1.0.2 =
898
-
899
- July 17, 2014, dev time: 5 minutes
900
-
901
- * NEW: Added 'disable_output' and 'disable_google_fonts' arguments to the configuration.
902
-
903
- = 1.0.1 =
904
-
905
- July 17, 2014, dev time: 1 hour
906
-
907
- * FIX: Issues when using serialized options instead of theme_mods or individual options.
908
- * FIX: Issues with the `output` argument on fields.
909
- * FIX: Other minor bugfixes
910
-
911
- = 1.0.0 =
912
-
913
- July 11, 2014, dev time: 177 hours
914
-
915
- * NEW: Added PHPUnit tests
916
- * NEW: Use wp_add_inline_style to add customizer styles
917
- * NEW: Rebuilt the background fields calculation
918
- * NEW: Now using Formstone for switches & toggles
919
- * NEW: Added a new API. See https://github.com/aristath/kirki/wiki for documentation.
920
- * NEW: Minimum PHP requirement is now PHP 5.2
921
- * NEW: Added a Select2 field type.
922
- * NEW: Introducing the Kirki::get_option() method to get values.
923
- * NEW: added 'media_query' argument to output.
924
- * NEW: Added ability to get variables for CSS preprocessors from the customizer values. See https://github.com/aristath/kirki/wiki/variables for documentation
925
- * NEW: now supporting 'units' to all outputs to support '!important'
926
- * NEW: Ability to create panels & sections using the new API.
927
- * NEW: added a get_posts method to the Kirki class.
928
- * NEW: Implement width argument in the styling options. See https://github.com/aristath/kirki/wiki/Styling-the-Customizer
929
- * NEW: add 'kirki/control_types' filter
930
- * FIX: Properly saving values in the db when using serialized options
931
- * FIX: Check if classes & functions exist before adding them (allows for better compatibility when embedded in a theme)
932
- * FIX: PHP Warnings & Notices
933
- * FIX: Other minor bugfixes
934
- * FIX: Now using consistently `option_type` instead of `options_type` everywhere
935
- * FIX: `Kirki::get_option()` method now works for all fields, including background fields.
936
- * FIX: avoid errors when Color is undefined in background fields
937
- * FIX: Use WP_Filesystem to get the google fonts array from a json file
938
- * FIX: Radio-Button styling
939
- * FIX: PHP Notices
940
- * FIX: Typos
941
- * FIX: Properly sanitizing rgba colors
942
- * FIX: Properly sanitize numbers
943
- * FIX: Make sure all variables are escaped on output
944
- * TWEAK: Simplify the Colourlovers integration.
945
- * TWEAK: Improve sanitization
946
- * TWEAK: Improve the Kirki_Styles_Customizer class
947
- * TWEAK: Code cleanups
948
- * TWEAK: Added more inline docs (lots of them)
949
- * TWEAK: Use active_callback for required arguments instead of custom JS
950
- * TWEAK: Updated translation files
951
- * TWEAK: Better color manipulation in the Kirki_Color class
952
- * TWEAK: Move secondary classes instantiation to the Kirki() function.
953
- * TWEAK: set a $kirki global
954
- * TWEAK: deprecate getOrThrow method in the Kirki_Config class.
955
- * TWEAK: Move sanitisation functions to a Kirki_Sanitize class.
956
- * TWEAK: Rename Kirki_Framework to Kirki_Toolkit.
957
- * TWEAK: Move variables to the new API
958
- * TWEAK: simplify Kirki_Controls class
959
- * TWEAK: move the kirki/fields & kirki/controls filters to the new API
960
- * REMOVED: remove the 'stylesheet_id' from the configuration.
961
-
962
- = 0.8.4 =
963
-
964
- April 6, 2014, dev time: 0.5 hours
965
-
966
- * FIX: Color sanitization was distorting 0 characters in the color hex.
967
- * FIX: Properly sanitizing ColorAlpha controls
968
- * FIX: Sanitizing more properties in the Fields class
969
- * FIX: removing remnant double-sanitization calls from the controls classes
970
-
971
- = 0.8.3 =
972
-
973
- April 5, 2014, dev time: 28 hours
974
-
975
- * NEW: Introduce a Field class
976
- * NEW: Introduce a Builder class
977
- * TWEAK: Code Cleanups
978
- * NEW: Added ability to use 'option' as the setting type
979
- * Fix : Bugs in the color calculation class
980
- * TWEAK: Everything gets sanitized in the "Field" class
981
- * FIX: Bugs in sortable field
982
- * FIX: Editor control had no description
983
- * NEW: Added a color-alpha control. To use it just set an rgba color as the default value.
984
- * TWEAK: SCSS & CSS improvements
985
- * FIX: Various PHP notices and warnings when no fields are defined
986
- * TWEAK: More efficient color sanitization method
987
- * TWEAK: Improved number control presentation
988
- * TWEAK: Improved the way background fields are handled
989
- * TWEAK: Checkboxes styling
990
- * NEW: Allow using rgba values for background colors
991
- * FIX: CSS fix - :focus color for active section
992
- * NEW: Add a static 'prepare' method to the ScriptRegistry class
993
- * FIX: Issues with the URL when Kirki is embedded in a theme
994
-
995
- = 0.8.2 =
996
-
997
- March 30, 2015, dev time: 5 minutes
998
-
999
- * FIX: Autoloader could not properly include files due to strtolower()
1000
-
1001
- = 0.8.1 =
1002
-
1003
- March 30, 2015, dev time: 30 minutes
1004
-
1005
- * FIX: Translation strings now overridable using the config filter.
1006
-
1007
- = 0.8.0 =
1008
-
1009
- March 30, 2015, dev time: 32 hours
1010
-
1011
- * Improvement: OOP redesign (props @vpratfr)
1012
- * NEW: Added Palette control
1013
- * NEW: Added Editor control (WYSIWYG - uses TinyMCE)
1014
- * NEW: Added Custom control (free html)
1015
- * NEW: Added a Kirki_Colourlovers class to use palettes from the colourlovers API
1016
- * NEW: Added a composer file (props @vpratfr)
1017
- * FIX: Wrong settings IDs
1018
- * FIX: Color calculation on RGBA functions were off
1019
- * TWEAK: Restructuring the plugin (props @vpratfr)
1020
- * NEW: added a functional kirki_get_option() function
1021
- * TWEAK: Simplified configuration options.
1022
- * NEW: Turn Kirki into a singleton and a facade (props @vpratfr)
1023
- * TWEAK: Completely re-written the customizer styles
1024
- * NEW: Using SASS for customizer styles
1025
- * TWEAK: Deprecating the group_title control in favor of the new custom control
1026
- * TWEAK: Changed the CSS for checkboxes
1027
-
1028
- = 0.7.1 =
1029
-
1030
- March 15, 2015, dev time: 2 hours
1031
-
1032
- * REMOVED: Remove the `kirki_get_option` function that was introduced in 0.7 as it's not working properly yet.
1033
- * FIX: Undefined index notice when a default value for the control was not defined
1034
- * TWEAK: `logo_image` now injects an `img` element instead of a `div` with custom background
1035
- * NEW: Added `description` argument in the kirki configuration (replaces the theme description)
1036
-
1037
- = 0.7 =
1038
-
1039
- March 14, 2015, dev time: 10 hours
1040
-
1041
- * FIX: Array to string conversion that happened conditionally when used with googlefonts. (props @groucho75)
1042
- * FIX: Background opacity affects background-position of bg image
1043
- * FIX: font-weight not being applied on google fonts
1044
- * NEW: Added `kirki_get_option( $setting );` function that also gets default values
1045
- * TWEAK: Singleton for main plugin class
1046
- * FIX: Prevent empty help tooltips
1047
- * NEW: Added `toggle` control
1048
- * NEW: Added `switch` control
1049
- * FIX: Color controls were not being reset to default:
1050
- * TWEAK: Tooltips now loaded via jQuery
1051
- * TWEAK: Renamed `setting` to settings for consistency with WordPress core
1052
- * TWEAK: Renamed `description` to `help` and `subtitle` to `description for consistency with WordPress core
1053
- * TWEAK: Backwards-compatibility improvements
1054
- * NEW: Allow hiding background control elements by not including default values for them
1055
- * TWEAK: Performance improvements
1056
- * TWEAK: Using WordPress core controls instead of custom ones when those are available
1057
- * TWEAK: Separate logic for multiple-type controls that were using the "mode" argument. This has been deprecated in favor of completely separate control types.
1058
-
1059
- = 0.6.2 =
1060
-
1061
- March 2, 2015, dev time: 3 hours
1062
-
1063
- * FIX: Frontend styles were not properly enqueued (props @dmgawel)
1064
- * NEW: Allow multiple output styles per control defined as an array of arrays.
1065
- * FIX: Background control styles
1066
- * FIX: Serialise default values for the sortable control. Now you can define default values as an array.
1067
- * FIX: Required script
1068
- * FIX: \'_opacity\' was added to a lot of controls by mistake. Removed it and wrote a migration script.
1069
-
1070
- = 0.6.1 =
1071
-
1072
- February 25, 2015, dev time: 1 hours
1073
-
1074
- * FIX: Sortables controls had a JS conflict
1075
- * FIX: Switches & Toggles were not properly working
1076
-
1077
- = 0.6.0 =
1078
-
1079
- February 25, 2015, dev time: 9 hours
1080
-
1081
- * FIX: Tooltips now properly working
1082
- * NEW: Added checkbox switches
1083
- * NEW: Added checkbox toggles
1084
- * FIX: Generated CSS is not properly combined & minified
1085
- * FIX: Re-structuring files hierarchy
1086
- * FIX: Simplify the way controls are loaded
1087
- * NEW: Only load control classes when they are needed
1088
- * NEW: Introducing Kirki_Customize_Control class
1089
- * FIX: CSS tweaks
1090
- * NEW: Sortable control (creating one is identical to a select control, but with `\'type\' => \'sortable\'`)
1091
- * FIX: Double output CSS (props @agusmu)
1092
- * NEW: Google fonts now parsed from a json file.
1093
-
1094
- = 0.5.1 =
1095
-
1096
- January 22, 2015
1097
-
1098
- * FIX: Transport defaults to refresh instead of postMessage
1099
- * FIX: undefined index notice.
1100
-
1101
- = 0.5 =
1102
-
1103
- January 21, 2015
1104
-
1105
- * NEW: Automatic output of styles for generic controls.
1106
- * NEW: Automatic output of styles + scripts for fonts (including googlefonts )
1107
- * NEW: The \'output\' argument on background controls is now an array for consistency with other controls. Older syntax is still compatible though. :)
1108
- * NEW: Add the ability to auto-generate styles for colors.
1109
- * FIX: Add a blank stylesheet if we need one and no stylesheet_id has been defined in the config options.
1110
- * FIX: CSS-only tooltips. Fixes issue with tooltips now showing up on WP >= 4.1
1111
- * FIX: Code cleanups
1112
- * NEW: Added support for WordPress\'s transport arguments
1113
- * FIX: All controls now have a sanitization callback. Users can override the default sanitizations by adding their own \'sanitize_callback\' argument.
1114
- * FIX: OOP rewrite
1115
- * FIX: Strip protocol from Google API link
1116
- * FIX: Loading order for some files
1117
- * FIX: Removed deprecated less_var argument
1118
-
1119
- = 0.4 =
1120
-
1121
- October 25, 2014
1122
-
1123
- * FIX: bugfix for selector
1124
- * NEW: Change the Kirki theme based on which admin theme is selected.
1125
- * FIX: Tranlsation domain issue
1126
- * NEW: Added a \"group_title\" control
1127
- * FIX: Updated the required script
1128
- * FIX: Updating CSS
1129
- * Other minor improvements and bugfixes
1130
-
1131
- = 0.3 =
1132
-
1133
- May 26, 2014
1134
-
1135
- * NEW: added background field
1136
- * NEW: added \'output\' argument to directly output the CSS
1137
-
1138
- = 0.2 =
1139
-
1140
- May 9, 2014
1141
-
1142
- * Initial version
1143
-
1144
- == Upgrade Notice ==
1145
-
1146
- = 3.0.0 =
1147
-
1148
- This is a major update, please keep a backup of your files and database before updating.
 
 
 
 
 
 
 
 
1
+ === Kirki ===
2
+ Contributors: aristath, fovoc, igmoweb
3
+ Tags: customizer,options framework, theme, mods, toolkit
4
+ Donate link: https://aristath.github.io/donate
5
+ Requires at least: 4.9
6
+ Tested up to: 4.9.2
7
+ Stable tag: 3.0.30
8
+ License: MIT
9
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ The ultimate framework for theme developers using the WordPress Customizer
12
+
13
+
14
+ == Description ==
15
+
16
+ [![Build Status](https://travis-ci.org/aristath/kirki.svg?branch=develop)](https://travis-ci.org/aristath/kirki) [![Code Climate](https://codeclimate.com/github/aristath/kirki/badges/gpa.svg)](https://codeclimate.com/github/aristath/kirki) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/66d6d8b6a4654cd18686ed1cd9f1bfb3)](https://www.codacy.com/app/aristath/kirki?utm_source=github.com&utm_medium=referral&utm_content=aristath/kirki&utm_campaign=Badge_Grade) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/aristath/kirki/badges/quality-score.png?b=develop)](https://scrutinizer-ci.com/g/aristath/kirki/?branch=develop)
17
+
18
+ Using Kirki theme developers can create rich experiences for the WordPress Customizer using best coding practices.
19
+
20
+ Included are more than 30 custom control types ranging from simple sliders to complex typography controls with Google-Fonts integration, automatic CSS generation, `postMessage` scripts automatically generated, tooltips and a lot of extras that make developing themes a lot faster for developers and meaningful for users.
21
+
22
+ We advise you to familiarise yourself with the Customizer API before you start writing your theme using Kirki. An excellent handbook for the WordPress Customizer can be found on the [developer.wordpress.org](https://developer.wordpress.org/themes/customize-api/) website.
23
+
24
+ You can find detailed documentation on how to use Kirki on [https://aristath.github.io/kirki/](https://aristath.github.io/kirki/)
25
+
26
+ [Development and issues on github](https://github.com/aristath/kirki).
27
+
28
+ == Installation ==
29
+
30
+ Simply install as a normal WordPress plugin and activate.
31
+
32
+ If you want to integrate Kirki in your theme or plugin, please read the instructions on [our documentation site](https://aristath.github.io/kirki/docs/integration).
33
+
34
+ == Changelog ==
35
+
36
+ = 3.0.30 =
37
+
38
+ May 15 2018
39
+
40
+ * Fix: Fixed caching for locally-downloaded google-fonts (GDPR compliance helper).
41
+
42
+ = 3.0.29 =
43
+
44
+ May 15 2018
45
+
46
+ * Fix: PHP error in some PHP versions because of the "do" method-name.
47
+
48
+ = 3.0.28 =
49
+
50
+ May 15 2018, dev time: 12 hours.
51
+
52
+ * Fix: Repeater control JS issue if saved value is malformatted [#1879](https://github.com/aristath/kirki/issues/1879) - props @asilcetin.
53
+ * Fix: Preset control bug [#1882](https://github.com/aristath/kirki/issues/1882).
54
+ * Fix: JS error if an SVG is uploaded to an image control [#1883](https://github.com/aristath/kirki/issues/1883) Props @seantjohnson-dev
55
+ * New: GDPR-Compliance: Google-Fonts are now downloaded server-side bypassing the google-CDN which collects user's IP addresses and personal data without their consent.
56
+ * New: Added support for css-variables.
57
+
58
+ = 3.0.27 =
59
+
60
+ April 30 2018, dev time: 1 hour.
61
+
62
+ * Fix: multiselect in repeaters. Props @asilcetin [#1876](https://github.com/aristath/kirki/issues/1876).
63
+ * Fix: CSS output on numeric values. [issue link](https://wordpress.org/support/topic/all-css-output-from-kirki-stop-working-on-version-3-0-26/).
64
+
65
+ = 3.0.26
66
+
67
+ April 27 2018, dev time: 43 hours.
68
+
69
+ * Fix: Color Palette: material colors 'light-blue' doesn't work [#1783](https://github.com/aristath/kirki/issues/1783).
70
+ * Fix: Google Fonts switch error [#1791](https://github.com/aristath/kirki/issues/1791).
71
+ * Fix: FontAwesome JS is being loaded even if you don't need it on front end [#1786](https://github.com/aristath/kirki/issues/1786).
72
+ * Fix: Color Palette: Active color before section title [#1782](https://github.com/aristath/kirki/issues/1782).
73
+ * Fix: Removed version from the webfont script.
74
+ * Fix: Validation error for dimension fields.
75
+ * Fix: `button_label` argument for repeater fields (props @felipeelia).
76
+ * Fix: Allow html on radio-buttonset choices [#1818](https://github.com/aristath/kirki/issues/1818).
77
+ * Fix: `Kirki_Helper::compare_values` vs. `field-dependencies.js` boolean issue (props @CaptJiggly) [#1825](https://github.com/aristath/kirki/issues/1825).
78
+ * Fix: `active_callback` not working for checkboxes [#1809](https://github.com/aristath/kirki/issues/1809).
79
+ * Fix: Nested `active_callback` args not working properly (AND|OR relations) [#1809](https://github.com/aristath/kirki/issues/1809).
80
+ * Fix: Updated google-fonts.
81
+ * Fix: Display typography with no default values [#1797](https://github.com/aristath/kirki/issues/1797).
82
+ * Fix: Define "normal" as a valid css-value for sanitizations [#1814](https://github.com/aristath/kirki/issues/1814).
83
+ * Fix: `background` controls now output `background-color` as simply `background` if no `background-image` is defined in the value [#1808](https://github.com/aristath/kirki/issues/1808).
84
+ * Fix: @media-queries fix due to minimized CSS. [#1787](https://github.com/aristath/kirki/issues/1787).
85
+ * Fix: `Kirki_Helper::compare_values` contains/in PHP warning if value doesn't exist in array [#1828](https://github.com/aristath/kirki/issues/1828).
86
+ * Fix: Invalid Value in the Dimension control [#1844](https://github.com/aristath/kirki/issues/1844).
87
+ * Fix: Add `fr` to the array of valid units used in validations [
88
+ 86adedb](https://github.com/aristath/kirki/pull/1784/commits/86adedb8cd4c06c7e6538c3087233a6840dee562)
89
+ * Fix: Updated webfonts.
90
+ * New: Migrated `number` control to new structure.
91
+
92
+ = 3.0.25 =
93
+
94
+ January 23 2018, dev time: 1 hour.
95
+
96
+ Please note that the typography controls since v3.0.23 no longer require subsets. This is not a bug or omission, subsets are simply no longer necessary because there's an implementation now that loads them properly without requiring the user to define it.
97
+
98
+ * Fix: partial reversion of webfontloader improvements in order to resolve an issue with incorect font-weights loading.
99
+
100
+ = 3.0.24 =
101
+
102
+ January 23 2018, dev time: 10 minutes.
103
+
104
+ * Fix: Added back the `get_google_font_subsets()` method. Although it was always meant just to be used internally apparently a couple of themes out there use it and its removal caused a fatal error.
105
+
106
+ = 3.0.23 =
107
+
108
+ January 22 2018, dev time: 23 hours.
109
+
110
+ * Fix: clear button on color controls [#1720](https://github.com/aristath/kirki/issues/1720)
111
+ * Fix: PHP mode in code controls.
112
+ * Fix: `active_callback` not working for upload fields [#1732](https://github.com/aristath/kirki/issues/1732)
113
+ * Fix: accessibility issue on radio-buttonset controls [#1722](https://github.com/aristath/kirki/issues/1722)
114
+ * Fix: `active_callback` not working for cropped-image controls [#1752](https://github.com/aristath/kirki/issues/1752)
115
+ * Fix: added support for `button_labels` in image fields [#1173](https://github.com/aristath/kirki/issues/1173)
116
+ * Fix: Support for adding inline CSS to an already defined stylesheet.
117
+ * Fix: Sanitization in section & panel descriptions and priorities [#1759](https://github.com/aristath/kirki/issues/1759)
118
+ * Fix: `active_callback` support when using serialized options [#1745](https://github.com/aristath/kirki/issues/1745)
119
+ * Fix: Remove timepicker from date control [#1750](https://github.com/aristath/kirki/issues/1750)
120
+ * Fix: WebfontLoader improvements.
121
+ * Fix: Now using a datepicker for the `date` control [#1767](https://github.com/aristath/kirki/issues/1767)
122
+ * New: Added "inherit" in the typography control's font-family option [w.org ticket](https://wordpress.org/support/topic/inherit-and-typography-control/)
123
+ * New: Added googlefonts resource hints. Props @aryaprakasa.
124
+ * New: Now loading fontawesome from a CDN. smaller footprint for the plugin and async loading will improve performance for everyone [#1763](https://github.com/aristath/kirki/issues/1763)
125
+ * Tweak: Removed legacy code.
126
+ * Tweak: Code cleanups.
127
+ * Deprecated: Typography controls no longer require the "subset" dropdown.
128
+
129
+ = 3.0.22 =
130
+
131
+ December 20 2017, dev time: 3.5 hours.
132
+
133
+ * Fix: Files cleanup. Removed webfonts.php and now use the json file.
134
+ * Fix: WordPress Coding Standards fixes.
135
+ * New: Converted all filter names to use `_` instead of `/` (WPCS). Fallback methods included.
136
+ * New: Removed inline methods for webfonts and now use [typekit/webfontloader](https://github.com/typekit/webfontloader).
137
+ * New: Update GoogleFonts list.
138
+
139
+ = 3.0.21 =
140
+
141
+ December 18 2017, dev time: 3 hours
142
+
143
+ * Fix: Allow HTML in labels and descriptions [#1705](https://github.com/aristath/kirki/issues/1705)
144
+ * Fix: Code controls minor refactor (now extends the `WP_Customize_Code_Editor_Control` class)
145
+ * Fix: Checkbox values sanitization inside repeater controls [#1715](https://github.com/aristath/kirki/issues/1715)
146
+ * Fix: JS error in dimension controls when not using a CSS unit [#1711](https://github.com/aristath/kirki/pull/1711) props @FrankM1
147
+ * Fix: AJAX issue on a host with weird config.
148
+ * New: Add `placeholder` argument in `select` controls [#1593](https://github.com/aristath/kirki/issues/1593)
149
+
150
+ = 3.0.20 =
151
+
152
+ December 13 2017, dev time: 1.5 hours
153
+
154
+ * Fix: Use `repeat` instead of `repeat-all` in background controls [#1701](https://github.com/aristath/kirki/issues/1701)
155
+ * Fix: Use `set_url_scheme()` when outputing images [#1697](https://github.com/aristath/kirki/issues/1697)
156
+ * Fix: `textarea` control is broken with HTML content [#1694](https://github.com/aristath/kirki/issues/1694) props @tutv95
157
+ * Fix: Typo in `radio` controls [#1699](https://github.com/aristath/kirki/issues/1699)
158
+ * Fix: variants selection for standard font-families.
159
+
160
+ = 3.0.19 =
161
+
162
+ December 8 2017, dev time: 20 minutes.
163
+
164
+ * Fix: WebfontLoader using `i` instead of `400i`.
165
+ * Fix: Sometimes `font-weight` and `font-style` don't get applied.
166
+
167
+ = 3.0.18 =
168
+
169
+ December 6 2017, dev time: 1 hour.
170
+
171
+ * Fix: Standards fonts sometimes not showing in typography control [#1689](https://github.com/aristath/kirki/issues/1689)
172
+ * Fix: missing .min.css file
173
+
174
+ = 3.0.17 =
175
+
176
+ December 5 2017, dev time: 46 hours
177
+
178
+ * Fix: In some cases options were not saved when using `option` instead of the default `theme_mod` [#1665](https://github.com/aristath/kirki/issues/1665)
179
+ * Fix: `link` control-type (alias of `url`) was not working [#1660](https://github.com/aristath/kirki/issues/1660)
180
+ * Fix: Allow using tabs & linebreaks when defining elements in the `output` argument [#1659](https://github.com/aristath/kirki/issues/1659)
181
+ * Fix: PHP Warning when using `code` controls without a `label` defined [#1658](https://github.com/aristath/kirki/issues/1658)
182
+ * Fix: Buttons inside `number` controls were not increasing/decreasing the values [#1648](https://github.com/aristath/kirki/issues/1648)
183
+ * Fix: JS error - only on Safari - for Select controls [#1662](https://github.com/aristath/kirki/issues/1662)
184
+ * Fix: Unable to deselect all options from multiselect controls [#1670](https://github.com/aristath/kirki/issues/1670)
185
+ * Fix: `multicolor` controls missing the `alpha` channel [#1657](https://github.com/aristath/kirki/issues/1657)
186
+ * Fix: Unable to manually edit value in `multicolor` controls [#1666](https://github.com/aristath/kirki/issues/1666)
187
+ * New: Transitioned to a JS-based webfont loader method to load google-fonts instead of using a link.
188
+ * New: Moved `select` controls to new JS implementation.
189
+ * New: Moved `text` and `textarea` controls (`generic` controls) to new JS implementation.
190
+ * New: Added `text-transform` to `typography` fields [#1642](https://github.com/aristath/kirki/issues/1642)
191
+ * New: Refactored typography controls loading for better efficiency and performance
192
+ * New: Removed PHP implementation for field dependencies, now using a pure JS solution.
193
+ * New: Added support for "outer" sections [#1683](https://github.com/aristath/kirki/issues/1683)
194
+ * New: Added new `Kirki::remove_control()`, `Kirki::remove_section()` and `Kirki::remove_panel()` methods.
195
+ * New: Added 2 new filters: `kirki/{$config_id}/webfonts/skip_hidden` and `kirki/{$config_id}/css/skip_hidden` [#1678](https://github.com/aristath/kirki/issues/1678)
196
+ * Tweak: Validation & Sanitization for `dimension` and `dimensions` controls.
197
+ * Tweak: Refactored `multicolor` controls a bit.
198
+
199
+ = 3.0.16 =
200
+
201
+ November 19 2017, dev time: 8 hours
202
+
203
+ * Fix: `typography` controls not working when they are the only fields used [#1627](https://github.com/aristath/kirki/issues/1627)
204
+ * Fix: `slider` controls were not updating the numeric value visually in their textfield when the control was not using `postMessage` [#1633](https://github.com/aristath/kirki/issues/1627)
205
+ * Fix: Deprecated call to non-existing `Kirki_Styles_Frontend`, props @FrankM1 [#1644](https://github.com/aristath/kirki/issues/1644)
206
+ * Fix: Updated the customizer-styling module for compatibility with WP 4.9 [#1639](https://github.com/aristath/kirki/issues/1639)
207
+ * Fix: `code` controls were not using the corect `priority` [#1622](https://github.com/aristath/kirki/issues/1622)
208
+ * Fix: Multiple reports of errors in the console.
209
+ * New: Refactored the `number` controls [#1631](https://github.com/aristath/kirki/issues/1627)
210
+ * New: Refactored the `color` controls. [#1646](https://github.com/aristath/kirki/issues/1646)
211
+
212
+ = 3.0.15 =
213
+
214
+ November 12 2017, dev time: 5 minutes.
215
+
216
+ * Fix: PHP Warning in the `Kirki_Modules_Webfonts_Link` class [#1626](https://github.com/aristath/kirki/issues/1626)
217
+
218
+ = 3.0.14 =
219
+
220
+ November 11 2017, dev time: 4 hours.
221
+
222
+ * Fix: Duplicate subsets output in the Google Fonts URLs [#1618](https://github.com/aristath/kirki/issues/1618)
223
+ * Fix: Theme Check Warnings [#1613](https://github.com/aristath/kirki/issues/1613)
224
+ * Fix: Add Kirki version number when enqueueing scripts & styles (cache-busting) [#1623](https://github.com/aristath/kirki/issues/1623)
225
+ * Fix: JS conflict and PHP warning in typography fields when they are not properly defined [#1621](https://github.com/aristath/kirki/issues/1621)
226
+
227
+ = 3.0.13 =
228
+
229
+ November 9 2017, dev time: 3 hours.
230
+
231
+ * Fix: textdomain typo in a string.
232
+ * Fix: radio-image styling.
233
+ * Fix: JS error (underscore's `_.isUndefined` for some reason doesn't always work as expected).
234
+ * Tweak: Added reset back to sliders.
235
+ * Tweak: CSS improvements.
236
+
237
+ = 3.0.12 =
238
+
239
+ November 7 2017, dev time: 42 hours.
240
+
241
+ This update significantly reduces the plugin size by removing 3rd-party libraries (particularly CodeMirror) and uses the new controls and scripts that become available in WordPress 4.9.
242
+ It also changes the file structure and paves the way for a 3.1 rewrite which will be a significant improvement, making Kirki a mostly JS-based app fully integrated in WordPress's JS API and moving away from the PHP API.
243
+
244
+ * Fix: WordPress 4.9 compatibility for colorpickers.
245
+ * Fix: WordPress 4.9 compatibility for typography controls.
246
+ * Fix: WordPress 4.9 compatibility for multicolor contols.
247
+ * Fix: WordPress 4.9 compatibility for background contols.
248
+ * Fix: Refactored `editor` controls to make them compatible with WP 4.9
249
+ * Fix: Remove CodeMirror and use the code control from WordPress Core. Code controls will be displayed as textareas in WP older than 4.9.
250
+ * Fix: Use new `DateTimeControl` if in WP 4.9+ for date control.
251
+ * Fix: Text field styling.
252
+ * Fix: Switch controls labels.
253
+ * Fix: 'choices' arguments were not getting passed-on due to `is_customize_preview` checks in latest WP Versions.
254
+ * Fix: Overriding Kirki translations from a theme when Kirki is embedded.
255
+ * New: Replaced `select2` with `selectWoo`.
256
+ * New: Added a `Kirki_Control_Base` class and abstracted controls.
257
+ * New: Better file structure.
258
+ * New: Compiled JS & CSS files.
259
+ * New: Added ability to manually enter numeric values in slider controls.
260
+ * Tweak: Improved styling of color-palette controls.
261
+ * Tweak: Radio-Image controls now display images inline (using flexbox).
262
+ * Tweak: Removed the reset switch from slider controls & improved their styling.
263
+ * Tweak: Improved typography controls styling for text-align.
264
+ * Removed: Reset module.
265
+
266
+ = 3.0.11 =
267
+
268
+ October 12 2017, dev time: 3 hours.
269
+
270
+ * Fix: Typography controls were not properly saving some sub-values [#1521](https://github.com/aristath/kirki/issues/1521), [#1560](https://github.com/aristath/kirki/issues/1560)
271
+ * Fix: Undefined index in the code control [#1567](https://github.com/aristath/kirki/issues/1567)
272
+ * Fix: CSS Output for multicolor fields [#1564](https://github.com/aristath/kirki/issues/1564)
273
+ * Fix: JS instantiation of controls in expanded sections [#1559](https://github.com/aristath/kirki/issues/1559)
274
+ * Fix: LTR for code controls [#1558](https://github.com/aristath/kirki/issues/1558)
275
+ * Fix: Remove Reset in default sections [#1580](https://github.com/aristath/kirki/issues/1580)
276
+ * Fix: Uncaught TypeError: data.value[choiceKey].replace is not a function [#1578](https://github.com/aristath/kirki/issues/1578)
277
+ * Fix: Other code cleanup.
278
+ * Fix: Updated google-fonts.
279
+
280
+ = 3.0.10 =
281
+
282
+ September 21 2017, dev time: 74 hours.
283
+
284
+ * Fix: Allow HTML tags in tooltips [#1536](https://github.com/aristath/kirki/issues/1536)
285
+ * Fix: Default System Font Stack for Sans Serif Fonts in Typography Fields [#1530](https://github.com/aristath/kirki/issues/1530)
286
+ * Fix: HTML entities in repeater text field being encoded on each save? [#1523](https://github.com/aristath/kirki/issues/1523)
287
+ * Fix: Some resetting issues [#1474](https://github.com/aristath/kirki/issues/1474)
288
+ * Fix: Allow saving image fields as arrays (url,id,width,height) [#1529](https://github.com/aristath/kirki/issues/1529)
289
+ * Fix: Allow saving image fields as ID [#1498](https://github.com/aristath/kirki/issues/1498)
290
+ * Fix: Inline docs improvements.
291
+ * Fix: `$subsets` not defined in the `Kirki_Modules_Webfonts_Link` class.
292
+ * Fix: Coding improvements in the `Kirki_Field` class.
293
+ * Fix: Performance Improvements in the autoloader [see commit](https://github.com/aristath/kirki/pull/1454/commits/dd518f7dc35cacf4f2ed571b033519b353aa2545)
294
+ * Fix: Undefined index notice in the `Kirki_Output` class.
295
+ * Fix: Sanitization for `checkbox`, `switch` and `toggle` controls.
296
+ * Fix: `select2` CSS fix for `z-index` [#1459](https://github.com/aristath/kirki/issues/1459)
297
+ * Fix: Remove button in image controls when there's no image [#1469](https://github.com/aristath/kirki/issues/1469)
298
+ * Fix: Background control styling issue when no other color control exists [#1472](https://github.com/aristath/kirki/issues/1472)
299
+ * Fix: Checkbox and Toggle don't respect "value_pattern" [#1467](https://github.com/aristath/kirki/issues/1467)
300
+ * Fix: Array to string conversion when clicking reset button [#1477](https://github.com/aristath/kirki/issues/1477)
301
+ * Fix: Input Field Validation Issue [#1486](https://github.com/aristath/kirki/issues/1486)
302
+ * Fix: Typography: output property not working [#1484](https://github.com/aristath/kirki/issues/1484)
303
+ * Fix: postMessage does not work properly when using `prefix` [#1479](https://github.com/aristath/kirki/issues/1479)
304
+ * Fix: Use `wp_json_encode` instead of `json_encode`.
305
+ * Fix: Use `rawurlencode` instead of `urlencode`.
306
+ * New: Added warnings for deprecated functions/methods.
307
+ * New: `code` control now loads dynamically (performance improvement).
308
+ * New: `color-palette` control now loads dynamically (performance improvement).
309
+ * New: `color` control now loads dynamically (performance improvement).
310
+ * New: `dashicons` control now loads dynamically (performance improvement).
311
+ * New: `date` control now loads dynamically (performance improvement).
312
+ * New: `dimension` control now loads dynamically (performance improvement).
313
+ * New: `dimensions` control now loads dynamically (performance improvement).
314
+ * New: `editor` control now loads dynamically (performance improvement).
315
+ * New: `fontawesome` control now loads dynamically (performance improvement).
316
+ * New: `generic` control now loads dynamically (performance improvement).
317
+ * New: `multicheck` control now loads dynamically (performance improvement).
318
+ * New: `number` control now loads dynamically (performance improvement).
319
+ * New: `palette` control now loads dynamically (performance improvement).
320
+ * New: `preset` control now loads dynamically (performance improvement).
321
+ * New: `radio-buttonset` control now loads dynamically (performance improvement).
322
+ * New: `radio-image` control now loads dynamically (performance improvement).
323
+ * New: `radio` control now loads dynamically (performance improvement).
324
+ * New: `select` control now loads dynamically (performance improvement).
325
+ * New: `slider` control now loads dynamically (performance improvement).
326
+ * New: `switch` control now loads dynamically (performance improvement).
327
+ * New: `toggle` control now loads dynamically (performance improvement).
328
+
329
+ = 3.0.9 =
330
+
331
+ July 8 2017, dev time: 7 hours.
332
+
333
+ * Fix: Add alpha option to multicolor control. Props @danielortiz [#1321](https://github.com/aristath/kirki/issues/1321), [#1449](https://github.com/aristath/kirki/pull/1449)
334
+ * Fix: Googlefonts output when `default` argument contains `font-weight` instead of `variant` [#1443](https://github.com/aristath/kirki/issues/1443)
335
+ * Fix: Removed the `Kirki_Custom_Build` class.
336
+ * Fix: Plugin does not exist error when Kirki is embedded in a theme [#1448](https://github.com/aristath/kirki/issues/1448)
337
+ * Fix: Code simplifications and optimizations.
338
+
339
+ = 3.0.8 =
340
+
341
+ June 27 2017, dev time: 4 hours.
342
+
343
+ * Fix: Typography controls without a variant defined were adding font-weight in the customizer [#1436](https://github.com/aristath/kirki/issues/1436)
344
+ * Fix: Set default webfonts loading method to `link` [#1438](https://github.com/aristath/kirki/issues/1438)
345
+ * Fix: Bug that prevents custom args from being passed to custom controls [#1425](https://github.com/aristath/kirki/issues/1425). Props @danielortiz
346
+ * Fix: `exclude` argument in `output` when combined with `choice` [#1416](https://github.com/aristath/kirki/issues/1416)
347
+ * Fix: `active_callback` operators for greater/smaller etc [#1427](https://github.com/aristath/kirki/issues/1427)
348
+
349
+ = 3.0.7 =
350
+
351
+ June 26 2017, dev time: 1 hour.
352
+
353
+ * Fix: GoogleFonts links were not getting properly created [#1430](https://github.com/aristath/kirki/issues/1430)
354
+ * Fix: Incorrect logic when `Kirki::add_field()` only has 1 argument defined [#1429](https://github.com/aristath/kirki/issues/1429)
355
+
356
+ = 3.0.6 =
357
+
358
+ June 25, 2017, dev time: 5 minutes.
359
+
360
+ * Fix: Typo, PHP 5.2 compatibility.
361
+
362
+ = 3.0.5 =
363
+
364
+ June 25, 2017, dev time: 5 hours.
365
+
366
+ * Fix: Conflict with the MaxStore Pro theme [#1405](https://github.com/aristath/kirki/issues/1405)
367
+ * Fix: CSS Output for Typography controls [#1423](https://github.com/aristath/kirki/issues/1423)
368
+ * Fix: PHP Warning in Repeater control. [#1417](https://github.com/aristath/kirki/issues/1417)
369
+ * Fix: CSS conflict with the Shortcake plugin [#1418](https://github.com/aristath/kirki/issues/1418)
370
+ * Fix: `Kirki_Fonts_Google::$force_load_all_variants` was not working in version 3.0
371
+ * Fix: PHP Warning in typography control when the value was corrupted [#1426](https://github.com/aristath/kirki/issues/1426)
372
+ * Fix: Notice about incorrect `wp_add_inline_style` when googlefont URL was throwing error [#1410](https://github.com/aristath/kirki/issues/1410)
373
+ * Fix: Unable to delete the plugin when it's also embedded in the active theme and plugin version is deactivated [#1421](https://github.com/aristath/kirki/issues/1421)
374
+ * Fix: PHP 5.2 compatibility.
375
+
376
+ = 3.0.4 =
377
+
378
+ June 23, 2017, dev time: 2 hours.
379
+
380
+ * Fix: Added extra checks to avoid PHP Warning in the `Kirki_Fonts_Google` class [#1402](https://github.com/aristath/kirki/issues/1402).
381
+ * Fix: `fontawesome` control was throwing a warning in the theme-check plugin.
382
+ * Fix: Added the "Default" button back in image controls [#1401](https://github.com/aristath/kirki/issues/1401)
383
+ * Fix: Number controls sanitization memory issue [#1404](https://github.com/aristath/kirki/issues/1404)
384
+ * Fix: Typography controls font-weight output [#1370](https://github.com/aristath/kirki/issues/1370)
385
+ * Fix: The `icon` argument was not working for Panels.
386
+
387
+ = 3.0.3 =
388
+
389
+ June 22, 2017, dev time: 10 minutes/
390
+
391
+ * Fix: Error when color is not properly formatted.
392
+
393
+ = 3.0.2 =
394
+
395
+ June 22, 2017, dev time: 15 minutes.
396
+
397
+ * Fix: CSS bugfixes in the `editor` control.
398
+ * Fix: Improvements when embedding Kirki in a theme.
399
+
400
+ = 3.0.1 =
401
+
402
+ June 22, 2017, dev time: 5 minutes.
403
+
404
+ * Fix: Undefined index PHP Notice.
405
+
406
+ = 3.0.0 =
407
+
408
+ June 22, 2017, dev time: 243 hours.
409
+
410
+ This is a major release. Many things have been refactored and optimized. Please keep a backup before updating.
411
+
412
+ * Fix: Refactored the reset module. [#1334](https://github.com/aristath/kirki/pull/1334)
413
+ * Fix: Refactored the postMessage module [#1333](https://github.com/aristath/kirki/issues/1333)
414
+ * Fix: PHP mode on CodeMirror. [#1003](https://github.com/aristath/kirki/issues/1003)
415
+ * Fix: Dynamic repeater labels now use the label instead of value when picking up label from select field. [#1230](https://github.com/aristath/kirki/issues/1230)
416
+ * Fix: Sanitization for number fields. [#1240](https://github.com/aristath/kirki/issues/1240)
417
+ * Fix: Checkboxes sanitization. [#1195](https://github.com/aristath/kirki/issues/1195)
418
+ * Fix: Link functionality in editor field. [#968](https://github.com/aristath/kirki/issues/968), [#1159](https://github.com/aristath/kirki/issues/1159)
419
+ * Fix: Issues in Field Type editor [#1260](https://github.com/aristath/kirki/issues/1260)
420
+ * Fix: Problems with sortable control [#1253](https://github.com/aristath/kirki/issues/1253), [#1197](https://github.com/aristath/kirki/issues/1197), [#1198](https://github.com/aristath/kirki/issues/1198)
421
+ * Fix: inaccessibility of options panel [#1194](https://github.com/aristath/kirki/issues/1194)
422
+ * Fix: Fields "checkbox", "toggle" and "switch" don't save as boolean in PHP, instead integer 0/1 [#1195](https://github.com/aristath/kirki/issues/1195)
423
+ * Fix: Tooltip not working for switch [#1225](https://github.com/aristath/kirki/issues/1225)
424
+ * Fix: Tooltip height fix in [#1228](https://github.com/aristath/kirki/issues/1228)
425
+ * Fix: Tooltip not closing when clicking outside of icon [#1226](https://github.com/aristath/kirki/issues/1226)
426
+ * Fix: Issue with visual representation of color picker (alpha iris) [#1218](https://github.com/aristath/kirki/issues/1218)
427
+ * Fix: Reset is "undefined" [#1210](https://github.com/aristath/kirki/issues/1210)
428
+ * Fix: Controls that save arrays cause PHP Notices [#1199](https://github.com/aristath/kirki/issues/1199)
429
+ * Fix: Disabled the "loading" module by default. Use the `kirki/modules` filter to enable.
430
+ * Fix: Refactored saving user-meta (`'option_type' => 'user_meta'`). [#1325](https://github.com/aristath/kirki/issues/1325)
431
+ * Fix: Code fields reset [#1122](https://github.com/aristath/kirki/issues/1122)
432
+ * Fix: Typography fields reset [#1193](https://github.com/aristath/kirki/issues/1193), [#1219](https://github.com/aristath/kirki/issues/1219)
433
+ * Fix: Multicolor fields reset [#916](https://github.com/aristath/kirki/issues/916)
434
+ * Fix: Custom fonts not displayed as active in the font list after saving [#1110](https://github.com/aristath/kirki/issues/916)
435
+ * Fix: Support for `media_query` when using `'transport' => 'auto'`. [#1184](https://github.com/aristath/kirki/issues/1184), [#1127](https://github.com/aristath/kirki/issues/1127)
436
+ * Fix: Typography field bug when switching Google Fonts with different weights [#1180](https://github.com/aristath/kirki/issues/1180)
437
+ * Fix: Font Variant outputs invalid property value (typography field) [#1058](https://github.com/aristath/kirki/issues/1058)
438
+ * Fix: Updated webfonts. [#1303](https://github.com/aristath/kirki/issues/1303)
439
+ * Fix: required argument not work with postMessage type. [#1031](https://github.com/aristath/kirki/issues/1031)
440
+ * Fix: Notice: Undefined index, repeater field. [#1291](https://github.com/aristath/kirki/issues/1291)
441
+ * Fix: 403 errors for CSS and JS files on localhost. [#1309](https://github.com/aristath/kirki/issues/1309)
442
+ * Fix: Customizer doesn't load if ACF PRO is active. [#1302](https://github.com/aristath/kirki/issues/1302)
443
+ * Fix: Enqueued google font even if not in use. [#1297](https://github.com/aristath/kirki/issues/1297)
444
+ * Fix: Default dimension value does not process well percent units [#1254](https://github.com/aristath/kirki/issues/1254), [#497](https://github.com/aristath/kirki/issues/497)
445
+ * Fix: Editor field issue with RTL languages [#340](https://github.com/aristath/kirki/issues/340)
446
+ * Fix: Windows Server Issues [#1318](https://github.com/aristath/kirki/issues/1318)
447
+ * New: Added code to automatically handle translations when Kirki is embedded in a theme [#1381](https://github.com/aristath/kirki/issues/1381)
448
+ * New: Automating postMessage for composite fields. [#694](https://github.com/aristath/kirki/issues/694)
449
+ * New: OR logic in field dependencies. [#839](https://github.com/aristath/kirki/issues/839)
450
+ * New: Radio-image labels. [#1090](https://github.com/aristath/kirki/issues/1090), [#1220](https://github.com/aristath/kirki/issues/1220)
451
+ * New: Typography fields support for `prefix`, `suffix`, `value_pattern` in `output` argument. [#1183](https://github.com/aristath/kirki/issues/1183)
452
+ * New: Multi-selects in repeater fields. [#780](https://github.com/aristath/kirki/issues/780), [#1261](https://github.com/aristath/kirki/issues/1261)
453
+ * New: Typography fields now support live-updating using `'transport' => 'auto'`. [#1184](https://github.com/aristath/kirki/issues/1184), [#528](https://github.com/aristath/kirki/issues/528), [#1186](https://github.com/aristath/kirki/issues/1186)
454
+ * New: Typography fields now support filtering the available fonts. [#1202](https://github.com/aristath/kirki/issues/1202)
455
+ * New: Typography fields now support loading multiple variants. [#992](https://github.com/aristath/kirki/issues/992), [#1082](https://github.com/aristath/kirki/issues/1082), [#1114](https://github.com/aristath/kirki/issues/1114)
456
+ * New: Select fields now support optgroups. [#1120](https://github.com/aristath/kirki/issues/1120)
457
+ * New: Added new background control-type. [#741](https://github.com/aristath/kirki/issues/741), [#1283](https://github.com/aristath/kirki/pull/1283), [#952](https://github.com/aristath/kirki/pull/952)
458
+ * New: Replaced selectize with select2. [#1177](https://github.com/aristath/kirki/issues/1177)
459
+ * New: Notifications for number fields when value is invalid depending on min/max/step values.
460
+ * New: Rebuilt typography control using select2. [cafb89b ](https://github.com/aristath/kirki/commit/e27fa1ff19ab52b34467bfb306b5870d858f409f)
461
+ * New: Allow modifying values instead of replacing them when using `js_vars` with `function` set to `html` by using the `value_pattern` parameter and the `$` placeholder. [#1137](https://github.com/aristath/kirki/pull/1137)
462
+ * New: Updated CodeMirror. [fff6df0](https://github.com/aristath/kirki/commit/34fdaa562fdd33fa595db927ee597265a753b3b4)
463
+ * New: Added word-spacing to the typography control. [#1163](https://github.com/aristath/kirki/issues/1163)
464
+ * New: Refactored file structure to make fields self-contained entities, easier to decouple & debug.
465
+ * New: Introducing "modules".
466
+ * New: Refactored the tooltips feature (now a module).
467
+ * New: Selective refreshes are now a module.
468
+ * New: postMessage is now a module.
469
+ * New: Refactored section & panel icons (now a module).
470
+ * New: Customizer-Styling is now a module.
471
+ * New: Customizer-Branding is now a module.
472
+ * New: CSS-Output is now a module.
473
+ * New: Abstracted the "spacing" control and created a new "dimensions" control from it.
474
+ * New: Allow saving site-options(`'option_type' => 'site_option'`) [#1326](https://github.com/aristath/kirki/issues/1326)
475
+ * New: Added 2 new methods for enqueueing google fonts. See the [`kirki/googlefonts_load_method`](https://github.com/aristath/kirki/blob/9e3e4a6928339bdcd0f7520d305c145a80a06c8a/modules/webfonts/class-kirki-modules-webfonts.php#L100) filter.
476
+ * New: Googlefonts now by default added inline in the stylesheet to avoid an extra call to the GoogleFonts API. (SEO & performance improvement).
477
+
478
+ = 2.3.8 =
479
+
480
+ May 28, 2017, dev time: 15 minutes.
481
+
482
+ This is a maintenance release that prepares for 3.0.0 coming soon.
483
+
484
+ * Fix: Updating webfonts.
485
+ * New: Added ability to use upgrade notices. Needed for v3.0 in a few days.
486
+
487
+ = 2.3.7 =
488
+
489
+ October 22, 2016, dev time: 12 hours.
490
+
491
+ * Fix: `spacing` controls were not updating after save
492
+ * New: Now using the WP Notifications API in the customizer for spacing & dimension controls (requires WP 4.6).
493
+ * Fix: Allow overriding `option_type` with `theme_mod` when global config uses `option` by using the `option_type` argument in the fields.
494
+ * Fix: Disabled the custom kirki-preview loader. This will have to be built more modular in future versions.
495
+ * Fix: Refactored panel & section icons.
496
+ * Fix: postMessage now works better with slider controls.
497
+ * Fix: Reset button not working unless tooltips are loaded.
498
+ * Fix: Properly sanitize `link` and `url` fields.
499
+ * Fix: Automate sanitization for `repeater` fields.
500
+
501
+ = 2.3.6 =
502
+
503
+ August 28, 2016, dev time: 3 hours.
504
+
505
+ * Fix: CSS prefixes order fixes ([#1042](https://github.com/aristath/kirki/pull/1042)).
506
+ * Fix: `suffix` output argument support in Multicolor control ([#1042](https://github.com/aristath/kirki/pull/1042)).
507
+ * Fix: `Kirki::get_variables()` method should be static ([#1050](https://github.com/aristath/kirki/pull/1050)).
508
+ * Fix: Add line wrapping to CodeMirror ([#1079](https://github.com/aristath/kirki/pull/1079)).
509
+ * Fix: `container_inclusive` is disregarded on the selective refresh class ([#1089](https://github.com/aristath/kirki/issues/1089)).
510
+ * Fix: Support `input_attrs` parameter for controls ([#1074](https://github.com/aristath/kirki/issues/1074)).
511
+ * Fix: Outdated Google-Fonts list ([#1091](https://github.com/aristath/kirki/issues/1091)).
512
+
513
+ = 2.3.5 =
514
+
515
+ July 2, 2016. dev time: 6 hours.
516
+
517
+ * FIX: Missing button labels in `repeater` fields.
518
+ * FIX: Missing button label in `code` fields ([#1017](https://github.com/aristath/kirki/issues/1017)).
519
+ * FIX: Better implementation when embedding Kirki in a theme ([#1025](https://github.com/aristath/kirki/issues/1025)).
520
+ * FIX: Updated google-fonts ([#1041](https://github.com/aristath/kirki/issues/1041)).
521
+ * NEW: Allow simpler format for `variables` argument ([#1020](https://github.com/aristath/kirki/issues/1020)).
522
+
523
+ = 2.3.4 =
524
+
525
+ June 1, 2016, dev time: 30 minutes.
526
+
527
+ * FIX: Repeater JS issues due to error in translation strings.
528
+
529
+ = 2.3.3 =
530
+
531
+ May 31, 2016, dev time: 17 hours.
532
+
533
+ * FIX: Editor field covering the content ([#955](https://github.com/aristath/kirki/issues/955)).
534
+ * FIX: Smoother transition for editor switching.
535
+ * FIX: Code field JS error when using "php" mode ([#958](https://github.com/aristath/kirki/issues/958)).
536
+ * FIX: `postMessage` for typography fields ([#528](https://github.com/aristath/kirki/issues/528)).
537
+ * FIX: translation strings ([#960](https://github.com/aristath/kirki/issues/960)).
538
+ * FIX: `postMessage` for `background-image` properties ([#963](https://github.com/aristath/kirki/issues/963)).
539
+ * FIX: Reset Typography Control without font-family default value ([#951](https://github.com/aristath/kirki/issues/951)).
540
+ * FIX: Typography field: font-style missing in CSS output if variant is regular/400 ([#977](https://github.com/aristath/kirki/issues/977)).
541
+ * FIX: Placing two editor controls in the customizer leads to odd behavior ([#140](https://github.com/aristath/kirki/issues/140)).
542
+ * FIX: Typography field: letter-spacing missing in CSS output if its value is 0 ([#978](https://github.com/aristath/kirki/issues/978)).
543
+ * FIX: Allow using HTML in section descriptions ([#976](https://github.com/aristath/kirki/issues/976)).
544
+ * FIX: Bug preventing partial refreshes from working properly ([#991](https://github.com/aristath/kirki/issues/991)).
545
+ * FIX: Better internationalization handling.
546
+ * FIX: Output errors on typography settings ([#975](https://github.com/aristath/kirki/issues/975)).
547
+ * NEW: Added a new `attr` argument to `js_vars` ([#957](https://github.com/aristath/kirki/issues/957)).
548
+ * NEW: Implemented both `AND` and `OR` conditionals in `active_callback` arrays ([#839](https://github.com/aristath/kirki/issues/839)).
549
+ * NEW: Allow defining an array of dashicons to use.
550
+ * NEW: Added a `link` control type.
551
+
552
+ = 2.3.2 =
553
+
554
+ May 2, 2016, dev time: 52 hours.
555
+
556
+ * NEW: Completely refactored `editor` controls.
557
+ * NEW: Completely re-styled `code` controls.
558
+ * NEW: Added a new `kirki/{$config_id}/styles` filter ([#908](https://github.com/aristath/kirki/issues/908)).
559
+ * NEW: Added a `customize-control-kirki` class to all Kirki controls.
560
+ * FIX: Field type number : Cannot read property 'min' of undefined ([#911](https://github.com/aristath/kirki/issues/911)).
561
+ * FIX: All controls are now prefixed ([#918](https://github.com/aristath/kirki/issues/918))
562
+ * FIX: `alpha` argument in color-alpha controls ([#932](https://github.com/aristath/kirki/issues/932)).
563
+ * FIX: Name attribute in repeaters (props @guillaumemolter).
564
+ * FIX: Missing label for checkbox controls inside repeaters (props @guillaumemolter).
565
+ * FIX: Placing 2 editor controls in the customizer leads to odd behaviour ([#140](https://github.com/aristath/kirki/issues/140)).
566
+ * FIX: `active_callback` conbined with the old `required` argument. ([#906](https://github.com/aristath/kirki/issues/906)).
567
+ * FIX: Double prefix and suffix in `js_vars` ([#943](https://github.com/aristath/kirki/issues/943)).
568
+ * FIX: Typography control returns both 'subset' and 'subsets' indexes with the same value ([#948](https://github.com/aristath/kirki/issues/948)).
569
+ * FIX: Use `strict` JS mode in all controls.
570
+
571
+ = 2.3.1 =
572
+
573
+ April 19, 2016, dev time: 30 hours.
574
+
575
+ * FIX: Spacing control JS dependencies.
576
+ * FIX: Output property ignored in multicolor field.
577
+ * FIX: Image sub-controls in repeaters were causing a JS error.
578
+ * FIX: Text Domain Compliance with Themecheck.
579
+ * FIX: PostMessage scripts when using more than 1 elements for the output.
580
+ * FIX: Default values for swithes, toggles & checkboxes.
581
+ * FIX: Conflict with WP Core's `dropdown-pages` control.
582
+ * FIX: Auto-transport not working when using serialized options instead of theme_mods.
583
+ * FIX: `value_pattern` was not working properly when used in `js_vars`.
584
+ * FIX: Repeater control bugfixes (props @guillaumemolter).
585
+ * FIX: multi-selects saving single value.
586
+ * NEW: Added support for `upload` controls in repeaters (props @guillaumemolter).
587
+ * NEW: Adding mime_type parameter for image, cropped_image, upload controls in repeaters (props @guillaumemolter).
588
+ * NEW: Added color-picker support in repeater fields (props @guillaumemolter).
589
+
590
+ = 2.3.0 =
591
+
592
+ April 10, 2016, dev time: 21 hours.
593
+
594
+ Kirki is now 100% WordPress Coding Standards compliant.
595
+
596
+ * FIX: Escaping google-font URLs when possible.
597
+ * FIX: Only enqueue the tooltips script if needed.
598
+ * FIX: WordPress Coding Standards.
599
+ * FIX: undefined sub-controls were still being saved in typography fields
600
+ * FIX: Javascript Console Errors: "wp.customize" object undefined when Kirki fields were added in `customize_register`
601
+ * FIX: markup in editor fields - props @manuelmoreale.
602
+ * FIX: multiple styles in head when using js_vars
603
+ * FIX: Sanitization for rem units
604
+ * FIX: CSS output for multicolor controls
605
+ * NEW: Repeater labels are now dynamic - props @guillaumemolter.
606
+ * NEW: The entire header on repeaters is now draggable - props @guillaumemolter.
607
+ * TWEAK: More efficient JS code for the typography control
608
+
609
+ = 2.2.10 =
610
+
611
+ * FIX: Issue with URLs when using Kirki embedded in a theme and not installed as a plugin.
612
+
613
+ = 2.2.9 =
614
+
615
+ * FIX: Repeater controls were not working on 2.2.8 due to a typo - props @guillaumemolter
616
+ * NEW: Repeater fields now allow more control types (email/tel/url/hidden) - props @guillaumemolter
617
+
618
+ = 2.2.8 =
619
+
620
+ April 6, 2016, dev time: 5 hours.
621
+
622
+ * FIX: Enqueued assets missing when useg WP_DEBUG & WP_DEBUG_SCRIPT
623
+ * FIX: Checkboxes were not properly displaying their values
624
+ * FIX: Javascript errors when `number` controls were used without `min`, `max` or `step`.
625
+ * FIX: Multiselect controls issue with the `sanitize_callback` used.
626
+ * NEW: Make attributes in `cropped_image` sub-controls inside repeaters dynamic (props @guillaumemolter).
627
+
628
+ = 2.2.7 =
629
+
630
+ April 5, 2016, dev time: 23 hours.
631
+
632
+ * FIX: Properly parsing `postMessage` scripts when `transport` is set to `auto`.
633
+ * FIX: Background image was outputing CSS even if it was empty.
634
+ * FIX: Default value for checkboxes.
635
+ * FIX: Issue with plugin URLs in the customizer, when the plugin was embedded in a theme.
636
+ * FIX: Descriptions were now shown in `sortable` fields.
637
+ * FIX: Reset not working for textarea fields.
638
+ * FIX: In some cases only the first element in `output` arguments was being processed.
639
+ * FIX: edge-case bugfix for select controls when data saved if the db was somehow mis-formatted.
640
+ * FIX: Repeater controls now use image IDs instead of image URLs. Props @guillaumemolter
641
+ * NEW: Added `text-align` ability in `typography` fields.
642
+ * NEW: Added `text-transform` ability in `typography` fields.
643
+ * NEW: Introduce `value_pattern` argument for `output` & `js_vars`.
644
+ * NEW: Started refactoring the `Kirki_Field` class. Now each field can have its own sub-class extending the main Kirki_Field object.
645
+ * NEW: `multicolor` control.
646
+ * NEW: Added `cropped_image` support in `repeater`. Props @guillaumemolter
647
+ * TWEAK: Renamed `Kirki_Customizer_Scripts_Loading` to `Kirki_Scripts_Loading`.
648
+ * TWEAK: Renamed `Kirki_Customizer_Scripts_Tooltips` to `Kirki_Scripts_Tooltips`.
649
+ * TWEAK: Renamed `Kirki_Customizer_Scripts_Icons` to `Kirki_Scripts_Icons`.
650
+ * TWEAK: More inline comments, docs & coding-standards improvements.
651
+ * DEPRECATED: Removed the `Kirki_Colourlovers` class.
652
+
653
+ = 2.2.6 =
654
+
655
+ March 26, 2016, dev time: 10 hours
656
+
657
+ * FIX: Invalid variants for google fonts were getting enqueued due to a mischeck.
658
+ * FIX: Repeater rows are now minimized by default.
659
+ * FIX: Styling for the `dropdown-pages` control.
660
+ * FIX: `switch` controls now properly resize based on the label used in the `choices` argument.
661
+ * FIX: It is now possible to use `calc()` in CSS value controls.
662
+ * FIX: Styles were being applied to the customizer even if they were not defined in the `kirki/config` filter.
663
+ * FIX: Removed unnecessary class inheritances & other code cleanups.
664
+ * NEW: Allow resetting options per-section.
665
+ * NEW: Added new `color-palette` control.
666
+ * NEW: Added `'transport' => 'auto'` to auto-calculate postMessage scripts from the `output` argument when possible.
667
+ * NEW: Added Material design palettes in the `Kirki_Helper` class.
668
+ * NEW: Allow changing the "Add Row" text on repeater fields.
669
+ * NEW: Allow setting a limit for repeater rows.
670
+
671
+ = 2.2.5 =
672
+
673
+ March 23, 2016, dev time: 7 hours
674
+
675
+ * FIX: Google fonts now loaded via a PHP array instead of a JSON file.
676
+ * FIX: CSS issue due to escaped quotes on standard fonts.
677
+ * FIX: Issue when using `units` on `js_vars` combined with the `style` method.
678
+ * FIX: Missing textdomain on a string.
679
+ * NEW: Refactored postMessage scripts.
680
+ * NEW: Allow passing options to iris using the `choices` argument on color controls.
681
+ * NEW: Allow disabling the custom loader using the `disable_loader` argument in the `kirki/config` filter.
682
+
683
+ = 2.2.4 =
684
+
685
+ March 20, 2016, dev time: 6 hours
686
+
687
+ * FIX: Removed unnecessary CSS echoed by the `typography` control
688
+ * FIX: Color Calculation class improvements
689
+ * FIX: CSS improvement for `toggle` controls
690
+ * NEW: Added `dashicons` field
691
+ * NEW: Added the ability to limit the number of rows in `repeater` controls (props @fovoc)
692
+
693
+ = 2.2.3 =
694
+
695
+ March 19, 2016
696
+
697
+ * FIX: Selecting a color inside typography controls was throwing a JS error (typo)
698
+ * FIX: CSS alignment for descriptions in toggle controls
699
+ * FIX: Default value for letter-spacing setting in typography controls (props @andreg)
700
+
701
+ = 2.2.2.1 =
702
+
703
+ March 18, 2016, dev time: 5 minutes
704
+
705
+ * FIX: Backwards-compatibility bugfix
706
+
707
+ = 2.2.2 =
708
+
709
+ March 17, 2016, dev time: 10 minutes
710
+
711
+ * FIX: PHP notice for non-standard controls when the `element` defined in an `output` argument is of type `array`.
712
+
713
+ = 2.2.1 =
714
+
715
+ March 17, 2016, dev time: 3 hours
716
+
717
+ * FIX: Alpha channel was always enabled for color controls
718
+ * FIX: PHP Notices in the class-kirki-output-control-typography.php file
719
+ * FIX: PHP Fatal error on PHP 5.2
720
+ * FIX: PHP Notice in the class-kirki-field.php file
721
+ * FIX: PHP Fatal error when using background-position in the output argument
722
+ * TWEAK: Removed unused languages from CodeMirror to reduce the plugin's size
723
+
724
+ = 2.2.0 =
725
+
726
+ March 16, 2016, dev time: 120 hours
727
+
728
+ * FIX: Improved & simplified the `number` control.
729
+ * FIX: Improved & simplified the `spacing` control.
730
+ * FIX: Minor bugfix on the `select` control.
731
+ * FIX: WP Coding standards improvements.
732
+ * FIX: Bugfix for radio controls.
733
+ * FIX: Fixed repeater remove image not triggering save button to activate, and added a placeholder when the image is removed. (props @sayedwp)
734
+ * FIX: Fixed bug when using negative numbers as min value in the `number` field
735
+ * FIX: Typo in the textdomain for some strings (some strings were using "Kirki" instead of "kirki").
736
+ * FIX: Complete refactor & rewrite of the google-fonts implementation.
737
+ * FIX: IE11 bug on radio-image controls.
738
+ * FIX: Radio-image bug when used with serialized options.
739
+ * NEW: Complete refactor & rewrite of typography control.
740
+ * NEW: Refactored the CSS output methods.
741
+ * NEW: Added new mothods for detecting dependencies.
742
+ * NEW: Added font-subsets in typography controls.
743
+ * NEW: Google fonts now only show valid variants & subsets in typography controls.
744
+ * NEW: Implemented partial refreshes for WP 4.5 using a "partial_refresh" argument (formatted as an array).
745
+ * NEW: Better autoloader & improved file structure.
746
+ * NEW: Deprecated the `Kirki_Field_Sanitize` class in favor of a more simplified & robust implementation.
747
+ * NEW: Completely refactored the `Kirki_Field` class, we're migrating to a more OOP model.
748
+ * NEW: Added a new `kirki-generic` control.
749
+ * NEW: Deprecated the custom text control and used the new `kirki-generic` control instead.
750
+ * NEW: Deprecated the custom textarea control and used the new `kirki-generic` control instead.
751
+ * NEW: Renamed the `help` argument to `tooltip`. `help` will continue to work as an alias.
752
+ * NEW: Merged the `color` & color-alpha` controls. We now use the `color-alpha` control for all colors, and just modify the `data-alpha` property it has.
753
+ * NEW: Started an OOP rewrite of many classes
754
+ * NEW: Started rewriting the PHPUNIT tests & tweaked them so they can now run on localhosts (like VVV) and not just on travis-ci.
755
+ * NEW: Included the ariColor library for color calculations (https://aristath.github.io/ariColor/)
756
+ * TWEAK: Other code refactoring for improved performance
757
+ * TWEAK: Updated `grunt` packages.
758
+
759
+ = 2.1.0.1 =
760
+
761
+ February 17, 2016, dev time: 5 minutes
762
+
763
+ * FIX: PHP Notices (undefined index)
764
+
765
+ = 2.1.0 =
766
+
767
+ February 17, 2016, dev time: 4 hours
768
+
769
+ * FIX: Image field issues inside the Repeater field (props @sayedwp)
770
+ * NEW: Allow disabling output per-config
771
+ * NEW: Introduce 'postMessage' => 'auto' option in config (will auto-create `js_vars` using the `output` argument)
772
+ * NEW: New color control using a js-based template
773
+ * TWEAK: Branding script rewrite
774
+ * TWEAK: Color controls styling
775
+ * TWEAK: Coding improvements & cleanups
776
+
777
+ = 2.0.9 =
778
+
779
+ February 13, 2016, dev time: 1 hour.
780
+
781
+ * FIX: Google fonts bug (use double quotes when font name contains a space character)
782
+ * FIX: Checkbox control bug (checkboxes were always displayed as checked, regardless of their actual value)
783
+ * NEW: Intruducing KIRKI_NO_OUTPUT constant that disables CSS output completely when set to true.
784
+
785
+ = 2.0.8 =
786
+
787
+ February 10, 2016, dev time: 2 hours
788
+
789
+ * FIX: Only load Kirki styles when in the customizer
790
+ * FIX: Performance issue with Google Fonts
791
+ * NEW: Added radio-image controls to repeaters
792
+ * TWEAK: Better color handling in the Kirki_Color class
793
+
794
+ = 2.0.7 =
795
+
796
+ January 19, 2016, dev time: 1 hour
797
+
798
+ * FIX: Narrow the scope of "multicheck" modification checker (props @chetzof)
799
+ * FIX: PHP warnings due to invalid callback method
800
+ * FIX: postMessage bug introduced in 2.0.6 (2 lines commented-out)
801
+
802
+ = 2.0.6 =
803
+
804
+ January 18, 2016, dev time: 7 hours
805
+
806
+ * FIX: Fix active callback for multidimensional arrays. (props @andrezrv)
807
+ * FIX: Correctly check current value of checkbox control. (props @andrezrv)
808
+ * FIX: Bug in the sortable field (props @daviedR)
809
+ * FIX: Fixed some bugs that occured when using serialized options instead of theme_mods
810
+ * NEW: Added an image sub-field to repeater fields (props @sayedwp)
811
+ * NEW: Added a JS callback to js_vars (props @pingram3541)
812
+ * TWEAK: Settings sanitization
813
+ * TWEAK: Removed demo theme from the plugin. This is now provided separately on https://github.com/aristath/kirki-demo
814
+
815
+ = 2.0.5 =
816
+
817
+ December 23, 2015, dev time: 2.5 hours
818
+
819
+ * FIX: Disabled the ajax-loading method for stylesheets. All styles are now added inline. Will be re-examined for a future release.
820
+ * FIX: Number controls were not properly triggering changes
821
+ * FIX: Styling for number controls
822
+ * FIX: In some cases the dynamic CSS was added before the main stylesheet. We now add them using a priority of 999 to ensure they are enqueued afterwards.
823
+
824
+ = 2.0.4 =
825
+
826
+ December 19, 2015, dev time: 3 hours
827
+
828
+ * NEW: Added units support to the Typography field
829
+ * NEW: Default methods of enqueuing styles in now inline.
830
+ * NEW: Added 'inline_css' argument to config. set to false to add styles using AJAX.
831
+ * FIX: HTML mode for CodeMirror now functional
832
+ * FIX: PHP Notices when the config filter is used wrong
833
+ * FIX: Monor bugfix for text inputs
834
+ * FIX: Indentation & coding standards
835
+ * FIX: failing PHPUNIT test.
836
+ * TWEAK: Remove passing click event object
837
+
838
+ = 2.0.3 =
839
+
840
+ December 6, 2015, dev time: 45 minutes
841
+
842
+ * Bugfix for updates
843
+
844
+ = 2.0.2 =
845
+
846
+ December 6, 2015, dev time: 30 minutes
847
+
848
+ * FIX: Fatal error on update (not on new installations)
849
+ * FIX: Typo
850
+
851
+ = 2.0.1 =
852
+
853
+ December 6, 2015, dev time: 10 minutes
854
+
855
+ * FIX: Some configurations were failing with the new autoloader. Reverted to a simpler file structure.
856
+
857
+ = 2.0 =
858
+
859
+ December 6, 2015, dev time > 140 hours
860
+
861
+ * NEW: Added support for `sanitize_callback` arguments on each item in the CSS `output`.
862
+ * NEW: Added the ability to define an array as element in the `output`.
863
+ * NEW: Auto-prefixing CSS output for cross-browser compatibilities.
864
+ * NEW: Allow using arrays in settings.
865
+ * NEW: Dimension Field.
866
+ * NEW: Repeater Field.
867
+ * NEW: Code Field using the ACE editor.
868
+ * NEW: Typography Control.
869
+ * NEW: Preset Field.
870
+ * NEW: Demo theme.
871
+ * NEW: Spacing Control.
872
+ * REMOVED: Redux Framework compatibility.
873
+ * FIX: Minor bugfixes to the Kirki_Color class.
874
+ * FIX: kirki_get_option now uses Kirki::get_option().
875
+ * FIX: Various bugfixes.
876
+ * TWEAK: Converted the `checkbox` control to use the JS templating system.
877
+ * TWEAK: Converted the `custom` control to use the JS templating system.
878
+ * TWEAK: Converted the `multicheck` control to use the JS templating system.
879
+ * TWEAK: Converted the `number` control to use the JS templating system.
880
+ * TWEAK: Converted the `palette` control to use the JS templating system.
881
+ * TWEAK: Converted the `radio-buttonset` control to use the JS templating system.
882
+ * TWEAK: Converted the `radio-image` control to use the JS templating system.
883
+ * TWEAK: Converted the `radio` control to use the JS templating system.
884
+ * TWEAK: Converted the `select` control to use the JS templating system.
885
+ * TWEAK: Converted the `slider` control to use the JS templating system.
886
+ * TWEAK: Converted the `switch` control to use the JS templating system.
887
+ * TWEAK: Converted the `textarea` control to use the JS templating system.
888
+ * TWEAK: Converted the `toggle` control to use the JS templating system.
889
+ * TWEAK: `radio-buttonset` controls are now CSS-only.
890
+ * TWEAK: `radio-image` controls are now CSS-only.
891
+ * TWEAK: `select` controls nopw use [selectize](http://brianreavis.github.io/selectize.js/) instead of [Select2](https://select2.github.io/).
892
+ * TWEAK: Deprecated `select2` and `select2-multiple` controls. We now have a global `select` control. Previous implementations gracefully fallback to the current one.
893
+ * TWEAK: `switch` controls are now CSS-only.
894
+ * TWEAK: `toggle` controls are now CSS-only.
895
+ * TWEAK: Sliders now use an HTML5 "range" input instead of jQuery-UI.
896
+ * TWEAK: Better coding standards.
897
+ * TWEAK: Descriptions styling.
898
+ * TWEAK: Improved controls styling.
899
+ * TWEAK: Compiled CSS & JS for improved performance.
900
+ * TWEAK: Added prefix to the sanitized output array.
901
+ * TWEAK: Updated google-fonts.
902
+ * TWEAK: Grunt integration.
903
+ * TWEAK: Some Code refactoring.
904
+
905
+ = 1.0.2 =
906
+
907
+ July 17, 2014, dev time: 5 minutes
908
+
909
+ * NEW: Added 'disable_output' and 'disable_google_fonts' arguments to the configuration.
910
+
911
+ = 1.0.1 =
912
+
913
+ July 17, 2014, dev time: 1 hour
914
+
915
+ * FIX: Issues when using serialized options instead of theme_mods or individual options.
916
+ * FIX: Issues with the `output` argument on fields.
917
+ * FIX: Other minor bugfixes
918
+
919
+ = 1.0.0 =
920
+
921
+ July 11, 2014, dev time: 177 hours
922
+
923
+ * NEW: Added PHPUnit tests
924
+ * NEW: Use wp_add_inline_style to add customizer styles
925
+ * NEW: Rebuilt the background fields calculation
926
+ * NEW: Now using Formstone for switches & toggles
927
+ * NEW: Added a new API. See https://github.com/aristath/kirki/wiki for documentation.
928
+ * NEW: Minimum PHP requirement is now PHP 5.2
929
+ * NEW: Added a Select2 field type.
930
+ * NEW: Introducing the Kirki::get_option() method to get values.
931
+ * NEW: added 'media_query' argument to output.
932
+ * NEW: Added ability to get variables for CSS preprocessors from the customizer values. See https://github.com/aristath/kirki/wiki/variables for documentation
933
+ * NEW: now supporting 'units' to all outputs to support '!important'
934
+ * NEW: Ability to create panels & sections using the new API.
935
+ * NEW: added a get_posts method to the Kirki class.
936
+ * NEW: Implement width argument in the styling options. See https://github.com/aristath/kirki/wiki/Styling-the-Customizer
937
+ * NEW: add 'kirki/control_types' filter
938
+ * FIX: Properly saving values in the db when using serialized options
939
+ * FIX: Check if classes & functions exist before adding them (allows for better compatibility when embedded in a theme)
940
+ * FIX: PHP Warnings & Notices
941
+ * FIX: Other minor bugfixes
942
+ * FIX: Now using consistently `option_type` instead of `options_type` everywhere
943
+ * FIX: `Kirki::get_option()` method now works for all fields, including background fields.
944
+ * FIX: avoid errors when Color is undefined in background fields
945
+ * FIX: Use WP_Filesystem to get the google fonts array from a json file
946
+ * FIX: Radio-Button styling
947
+ * FIX: PHP Notices
948
+ * FIX: Typos
949
+ * FIX: Properly sanitizing rgba colors
950
+ * FIX: Properly sanitize numbers
951
+ * FIX: Make sure all variables are escaped on output
952
+ * TWEAK: Simplify the Colourlovers integration.
953
+ * TWEAK: Improve sanitization
954
+ * TWEAK: Improve the Kirki_Styles_Customizer class
955
+ * TWEAK: Code cleanups
956
+ * TWEAK: Added more inline docs (lots of them)
957
+ * TWEAK: Use active_callback for required arguments instead of custom JS
958
+ * TWEAK: Updated translation files
959
+ * TWEAK: Better color manipulation in the Kirki_Color class
960
+ * TWEAK: Move secondary classes instantiation to the Kirki() function.
961
+ * TWEAK: set a $kirki global
962
+ * TWEAK: deprecate getOrThrow method in the Kirki_Config class.
963
+ * TWEAK: Move sanitisation functions to a Kirki_Sanitize class.
964
+ * TWEAK: Rename Kirki_Framework to Kirki_Toolkit.
965
+ * TWEAK: Move variables to the new API
966
+ * TWEAK: simplify Kirki_Controls class
967
+ * TWEAK: move the kirki/fields & kirki/controls filters to the new API
968
+ * REMOVED: remove the 'stylesheet_id' from the configuration.
969
+
970
+ = 0.8.4 =
971
+
972
+ April 6, 2014, dev time: 0.5 hours
973
+
974
+ * FIX: Color sanitization was distorting 0 characters in the color hex.
975
+ * FIX: Properly sanitizing ColorAlpha controls
976
+ * FIX: Sanitizing more properties in the Fields class
977
+ * FIX: removing remnant double-sanitization calls from the controls classes
978
+
979
+ = 0.8.3 =
980
+
981
+ April 5, 2014, dev time: 28 hours
982
+
983
+ * NEW: Introduce a Field class
984
+ * NEW: Introduce a Builder class
985
+ * TWEAK: Code Cleanups
986
+ * NEW: Added ability to use 'option' as the setting type
987
+ * Fix : Bugs in the color calculation class
988
+ * TWEAK: Everything gets sanitized in the "Field" class
989
+ * FIX: Bugs in sortable field
990
+ * FIX: Editor control had no description
991
+ * NEW: Added a color-alpha control. To use it just set an rgba color as the default value.
992
+ * TWEAK: SCSS & CSS improvements
993
+ * FIX: Various PHP notices and warnings when no fields are defined
994
+ * TWEAK: More efficient color sanitization method
995
+ * TWEAK: Improved number control presentation
996
+ * TWEAK: Improved the way background fields are handled
997
+ * TWEAK: Checkboxes styling
998
+ * NEW: Allow using rgba values for background colors
999
+ * FIX: CSS fix - :focus color for active section
1000
+ * NEW: Add a static 'prepare' method to the ScriptRegistry class
1001
+ * FIX: Issues with the URL when Kirki is embedded in a theme
1002
+
1003
+ = 0.8.2 =
1004
+
1005
+ March 30, 2015, dev time: 5 minutes
1006
+
1007
+ * FIX: Autoloader could not properly include files due to strtolower()
1008
+
1009
+ = 0.8.1 =
1010
+
1011
+ March 30, 2015, dev time: 30 minutes
1012
+
1013
+ * FIX: Translation strings now overridable using the config filter.
1014
+
1015
+ = 0.8.0 =
1016
+
1017
+ March 30, 2015, dev time: 32 hours
1018
+
1019
+ * Improvement: OOP redesign (props @vpratfr)
1020
+ * NEW: Added Palette control
1021
+ * NEW: Added Editor control (WYSIWYG - uses TinyMCE)
1022
+ * NEW: Added Custom control (free html)
1023
+ * NEW: Added a Kirki_Colourlovers class to use palettes from the colourlovers API
1024
+ * NEW: Added a composer file (props @vpratfr)
1025
+ * FIX: Wrong settings IDs
1026
+ * FIX: Color calculation on RGBA functions were off
1027
+ * TWEAK: Restructuring the plugin (props @vpratfr)
1028
+ * NEW: added a functional kirki_get_option() function
1029
+ * TWEAK: Simplified configuration options.
1030
+ * NEW: Turn Kirki into a singleton and a facade (props @vpratfr)
1031
+ * TWEAK: Completely re-written the customizer styles
1032
+ * NEW: Using SASS for customizer styles
1033
+ * TWEAK: Deprecating the group_title control in favor of the new custom control
1034
+ * TWEAK: Changed the CSS for checkboxes
1035
+
1036
+ = 0.7.1 =
1037
+
1038
+ March 15, 2015, dev time: 2 hours
1039
+
1040
+ * REMOVED: Remove the `kirki_get_option` function that was introduced in 0.7 as it's not working properly yet.
1041
+ * FIX: Undefined index notice when a default value for the control was not defined
1042
+ * TWEAK: `logo_image` now injects an `img` element instead of a `div` with custom background
1043
+ * NEW: Added `description` argument in the kirki configuration (replaces the theme description)
1044
+
1045
+ = 0.7 =
1046
+
1047
+ March 14, 2015, dev time: 10 hours
1048
+
1049
+ * FIX: Array to string conversion that happened conditionally when used with googlefonts. (props @groucho75)
1050
+ * FIX: Background opacity affects background-position of bg image
1051
+ * FIX: font-weight not being applied on google fonts
1052
+ * NEW: Added `kirki_get_option( $setting );` function that also gets default values
1053
+ * TWEAK: Singleton for main plugin class
1054
+ * FIX: Prevent empty help tooltips
1055
+ * NEW: Added `toggle` control
1056
+ * NEW: Added `switch` control
1057
+ * FIX: Color controls were not being reset to default:
1058
+ * TWEAK: Tooltips now loaded via jQuery
1059
+ * TWEAK: Renamed `setting` to settings for consistency with WordPress core
1060
+ * TWEAK: Renamed `description` to `help` and `subtitle` to `description for consistency with WordPress core
1061
+ * TWEAK: Backwards-compatibility improvements
1062
+ * NEW: Allow hiding background control elements by not including default values for them
1063
+ * TWEAK: Performance improvements
1064
+ * TWEAK: Using WordPress core controls instead of custom ones when those are available
1065
+ * TWEAK: Separate logic for multiple-type controls that were using the "mode" argument. This has been deprecated in favor of completely separate control types.
1066
+
1067
+ = 0.6.2 =
1068
+
1069
+ March 2, 2015, dev time: 3 hours
1070
+
1071
+ * FIX: Frontend styles were not properly enqueued (props @dmgawel)
1072
+ * NEW: Allow multiple output styles per control defined as an array of arrays.
1073
+ * FIX: Background control styles
1074
+ * FIX: Serialise default values for the sortable control. Now you can define default values as an array.
1075
+ * FIX: Required script
1076
+ * FIX: \'_opacity\' was added to a lot of controls by mistake. Removed it and wrote a migration script.
1077
+
1078
+ = 0.6.1 =
1079
+
1080
+ February 25, 2015, dev time: 1 hours
1081
+
1082
+ * FIX: Sortables controls had a JS conflict
1083
+ * FIX: Switches & Toggles were not properly working
1084
+
1085
+ = 0.6.0 =
1086
+
1087
+ February 25, 2015, dev time: 9 hours
1088
+
1089
+ * FIX: Tooltips now properly working
1090
+ * NEW: Added checkbox switches
1091
+ * NEW: Added checkbox toggles
1092
+ * FIX: Generated CSS is not properly combined & minified
1093
+ * FIX: Re-structuring files hierarchy
1094
+ * FIX: Simplify the way controls are loaded
1095
+ * NEW: Only load control classes when they are needed
1096
+ * NEW: Introducing Kirki_Customize_Control class
1097
+ * FIX: CSS tweaks
1098
+ * NEW: Sortable control (creating one is identical to a select control, but with `\'type\' => \'sortable\'`)
1099
+ * FIX: Double output CSS (props @agusmu)
1100
+ * NEW: Google fonts now parsed from a json file.
1101
+
1102
+ = 0.5.1 =
1103
+
1104
+ January 22, 2015
1105
+
1106
+ * FIX: Transport defaults to refresh instead of postMessage
1107
+ * FIX: undefined index notice.
1108
+
1109
+ = 0.5 =
1110
+
1111
+ January 21, 2015
1112
+
1113
+ * NEW: Automatic output of styles for generic controls.
1114
+ * NEW: Automatic output of styles + scripts for fonts (including googlefonts )
1115
+ * NEW: The \'output\' argument on background controls is now an array for consistency with other controls. Older syntax is still compatible though. :)
1116
+ * NEW: Add the ability to auto-generate styles for colors.
1117
+ * FIX: Add a blank stylesheet if we need one and no stylesheet_id has been defined in the config options.
1118
+ * FIX: CSS-only tooltips. Fixes issue with tooltips now showing up on WP >= 4.1
1119
+ * FIX: Code cleanups
1120
+ * NEW: Added support for WordPress\'s transport arguments
1121
+ * FIX: All controls now have a sanitization callback. Users can override the default sanitizations by adding their own \'sanitize_callback\' argument.
1122
+ * FIX: OOP rewrite
1123
+ * FIX: Strip protocol from Google API link
1124
+ * FIX: Loading order for some files
1125
+ * FIX: Removed deprecated less_var argument
1126
+
1127
+ = 0.4 =
1128
+
1129
+ October 25, 2014
1130
+
1131
+ * FIX: bugfix for selector
1132
+ * NEW: Change the Kirki theme based on which admin theme is selected.
1133
+ * FIX: Tranlsation domain issue
1134
+ * NEW: Added a \"group_title\" control
1135
+ * FIX: Updated the required script
1136
+ * FIX: Updating CSS
1137
+ * Other minor improvements and bugfixes
1138
+
1139
+ = 0.3 =
1140
+
1141
+ May 26, 2014
1142
+
1143
+ * NEW: added background field
1144
+ * NEW: added \'output\' argument to directly output the CSS
1145
+
1146
+ = 0.2 =
1147
+
1148
+ May 9, 2014
1149
+
1150
+ * Initial version
1151
+
1152
+ == Upgrade Notice ==
1153
+
1154
+ = 3.0.0 =
1155
+
1156
+ This is a major update, please keep a backup of your files and database before updating.