Skip to content

Commit 92ee850

Browse files
Version bump for v0.16.0 (#853)
* Bump Two-Factor plugin version to 0.16.0 Update plugin header and TWO_FACTOR_VERSION constant from 0.15.0 to 0.16.0 in two-factor.php to reflect a new release. * Bump stable tag to 0.16.0 Update readme.txt plugin header: change Stable tag from 0.15.0 to 0.16.0 to reflect the new release version. * Add 0.16.0 release notes to docs Add a 0.16.0 entry to CHANGELOG.md and readme.txt documenting breaking changes, new features, bug fixes, development updates, and dependency bumps. Highlights include removal of legacy FIDO U2F support, a new wp‑admin settings page, a support links filter, backup codes UI refresh, TOTP secret cleanup when disabled, provider handling hardening, accessibility and PHPCS fixes, moving inline assets to enqueued scripts/styles, and bumps for `qs` and `basic-ftp`. * Update documentation links and names Fix various doc references and typos: - RELEASING.md: correct milestone link to the two-factor repository. - TESTS.md: update REST API callback name to `rest_api_can_edit_user_and_update_two_factor_options`, rename backup codes filter to `two_factor_backup_code_length`, and correct the test fixture filename to `class-two-factor-dummy-secure.php`. - readme.md: clarify deployment wording to note versioned releases are deployed from Git tags and reference the workflow. - readme.txt: fix spacing/typo in the `two_factor_after_authentication_input` action description. These changes align the documentation with current code and repo structure. * Add Brian Haas and qrcode-generator to credits Add Brian Haas (@masteradhoc) to CREDITS.md (curators and contributors) and include the qrcode-generator library in the Libraries section. Also update readme.txt contributors to list masteradhoc. * Docs: fix formatting and whitespace in markdown Normalize formatting and whitespace across documentation files. CHANGELOG.md: adjust spacing between entries, add blank lines for readability, and escape PHP globals in a historical note. CREDITS.md: fix trailing/extra blank line around contributors entry. RELEASING.md: remove extra spaces in the introductory paragraph. readme.md: add spacing after the title and tidy the npm env command line. These are non-functional documentation cleanups to improve consistency and readability. * Add additional files to .distignore Exclude additional documentation, credits and CI/test files from distribution. This commit appends AGENTS.md, CHANGELOG.md, CLAUDE.md, CREDITS.md, codecov.yml and TESTS.md to .distignore so these files are omitted from packaged/dist artifacts. * Add missing contrib * Update CHANGELOG.md * Update CHANGELOG.md
1 parent a7da948 commit 92ee850

8 files changed

Lines changed: 112 additions & 18 deletions

File tree

.distignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616
/phpcs*
1717
/phpunit*
1818
/phpstan.*
19+
/AGENTS.md
20+
/CHANGELOG.md
21+
/CLAUDE.md
22+
/CREDITS.md
23+
/codecov.yml
1924
/readme.md
2025
/RELEASING.md
2126
/SECURITY.md
27+
/TESTS.md

CHANGELOG.md

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,39 @@
22

33
All notable changes to this project will be documented in this file, per [the Keep a Changelog standard](http://keepachangelog.com/), and will adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
44

5+
## [0.16.0] - 2026-03-27
6+
7+
### Breaking Changes
8+
9+
- Remove legacy FIDO U2F provider support by [#439](https://github.com/WordPress/two-factor/pull/439).
10+
11+
### New Features
12+
13+
- Add a dedicated settings page for plugin configuration in wp-admin by [#764](https://github.com/WordPress/two-factor/pull/764).
14+
- Add a new support links filter so consumers can customize contextual recovery/help links by [#615](https://github.com/WordPress/two-factor/pull/615).
15+
- Refresh backup codes UI styling and behavior by [#804](https://github.com/WordPress/two-factor/pull/804).
16+
17+
### Bug Fixes
18+
19+
- Delete stored TOTP secrets when the TOTP provider is disabled by [#802](https://github.com/WordPress/two-factor/pull/802).
20+
- Harden provider handling so login/settings checks do not fail open when expected providers disappear by [#586](https://github.com/WordPress/two-factor/pull/586).
21+
- Ensure only configured providers are saved and enabled in user settings by [#798](https://github.com/WordPress/two-factor/pull/798).
22+
- Improve settings-page accessibility and fix profile settings link behavior by [#828](https://github.com/WordPress/two-factor/pull/828) and [#830](https://github.com/WordPress/two-factor/pull/830).
23+
- Resolve PHPCS violations in provider files by [#851](https://github.com/WordPress/two-factor/pull/851).
24+
25+
### Development Updates
26+
27+
- Move login styles and provider scripts from inline output to enqueued/external assets by [#807](https://github.com/WordPress/two-factor/pull/807) and [#814](https://github.com/WordPress/two-factor/pull/814).
28+
- Improve inline docs and static-analysis compatibility (WPCS/phpstan) by [#810](https://github.com/WordPress/two-factor/pull/810), [#815](https://github.com/WordPress/two-factor/pull/815), and [#817](https://github.com/WordPress/two-factor/pull/817).
29+
- Improve unit test reliability and integrate CI code coverage reporting by [#825](https://github.com/WordPress/two-factor/pull/825), [#841](https://github.com/WordPress/two-factor/pull/841), and [#842](https://github.com/WordPress/two-factor/pull/842).
30+
- Update readme docs and modernize CI workflow infrastructure by [#835](https://github.com/WordPress/two-factor/pull/835), [#837](https://github.com/WordPress/two-factor/pull/837), [#843](https://github.com/WordPress/two-factor/pull/843), and [#849](https://github.com/WordPress/two-factor/pull/849).
31+
32+
### Dependency Updates
33+
34+
- Bump `qs` from 6.14.1 to 6.14.2 by [#794](https://github.com/WordPress/two-factor/pull/794).
35+
- Bump `basic-ftp` from 5.0.5 to 5.2.0 by [#816](https://github.com/WordPress/two-factor/pull/816).
36+
- Apply automatic lint/format updates and associated Composer package refreshes by [#799](https://github.com/WordPress/two-factor/pull/799).
37+
538
## [0.15.0] - 2026-02-13
639

740
### Breaking Changes
@@ -60,10 +93,13 @@ All notable changes to this project will be documented in this file, per [the Ke
6093
- Bump webpack from 5.101.3 to 5.105.0 by @dependabot[bot] in [#780](https://github.com/WordPress/two-factor/pull/780)
6194

6295
## [0.14.2] - 2025-12-11
96+
6397
### New Features
98+
6499
- Add filter for rest_api_can_edit_user_and_update_two_factor_options by @gutobenn in #689
65100

66101
### Development Updates
102+
67103
- Remove Coveralls tooling and add inline coverage report by @kasparsd in #717
68104
- Update blueprint path to pull from main branch instead of a deleted f… by @georgestephanis in #719
69105
- Fix blueprint and wporg asset deploys by @kasparsd in #734
@@ -75,34 +111,42 @@ All notable changes to this project will be documented in this file, per [the Ke
75111
- Mark as tested with the latest WP core version by @kasparsd in #730
76112

77113
## [0.14.1] - 2025-09-05
114+
78115
- Don't URI encode the TOTP url for display. by @dd32 in #711
79116
- Removed the duplicate Security.md by @slvignesh05 in #712
80117
- Fixed linting issues by @sudar in #707
81118
- Update development dependencies and fix failing QR unit test by @kasparsd in #714
82119
- Trigger checkbox js change event by @gedeminas in #688
83120

84121
## [0.14.0] - 2025-07-03
122+
85123
### Features
124+
86125
- Enable Application Passwords for REST API and XML-RPC authentication (by default) by @joostdekeijzer in #697 and #698. Previously this required two_factor_user_api_login_enable filter to be set to true which is now the default during application password auth. XML-RPC login is still disabled for regular user passwords.
87126
- Label recommended methods to simplify the configuration by @kasparsd in #676 and #675
88127

89128
### Documentation
129+
90130
- Add WP.org plugin demo by @kasparsd in #667
91131
- Document supported versions of WP core and PHP by @jeffpaul in #695
92132
- Document the release process by @jeffpaul in #684
93133

94134
### Tooling
135+
95136
- Remove duplicate WP.org screenshots and graphics from SVN trunk by @jeffpaul in #683
96137

97138
## [0.13.0] - 2025-04-02
139+
98140
- Add two_factor_providers_for_user filter to limit two-factor providers available to each user by @kasparsd in #669
99141
- Update automated testing to cover PHP 8.4 and default to PHP 8.3 by @BrookeDot in #665
100142

101143
## [0.12.0] - 2025-02-14
144+
102145
- Simplify the Two Factor settings in user profile by @kasparsd in #654
103146
- Fix PHP 8.4 Implicitly marking parameter $previous as nullable is deprecated by @BrookeDot in #664
104147

105148
## [0.11.0] - 2025-01-09
149+
106150
- Remove duplicate two_factor_providers filter calls to allow disabling core providers by @kasparsd in #651
107151
- Encourage setting up a second recovery method by @kasparsd in #642
108152
- Focus in code input when totp is checked by @thrijith in #645
@@ -111,6 +155,7 @@ All notable changes to this project will be documented in this file, per [the Ke
111155
- Enable TOTP method when method is configured by @kasparsd in #643
112156

113157
## [0.10.0] - 2024-12-02
158+
114159
- Bump minimum WP to 6.3, minimum PHP to 7.2. by @dd32 in #625
115160
- Rely on just-in-time translation loading by @swissspidy in #608
116161
- Update/headers by @jeffpaul in #610
@@ -135,10 +180,12 @@ All notable changes to this project will be documented in this file, per [the Ke
135180
- Bump symfony/process from 5.4.40 to 5.4.46 by @dependabot in #649
136181

137182
## [0.9.1] - 2024-04-25
183+
138184
- Remove trailing commas in parameters to avoid syntax error with some PHP versions (ex. 7.2.x) by @KZeni in #604
139185
- Ensure PHP 5.6+ support during CI to avoid breaking changes by @kasparsd in #605
140186

141187
## [0.9.0] - 2024-04-25
188+
142189
- Users are now asked to re-authenticate with their two-factor before making changes to their two-factor settings #529. This builds on #528 which associates each login session with the two-factor login meta data for improved handling of that session.
143190
- Fix typo by @pkevan in #551
144191
- Add a filter to filter the classname used for a provider by @dd32 in #546
@@ -162,15 +209,18 @@ All notable changes to this project will be documented in this file, per [the Ke
162209
- Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #582
163210

164211
## [0.8.2] - 2023-09-04
212+
165213
- Improved error handling in WP_Two_Factor_Email::generate_code() by ensuring $user_id is a valid WP_User object. Props @apokalyptique. See #560.
166214
- Fixed a bug that could cause a fatal error when using non-object values in wp_get_current_user() by adding type checks. Props @apokalyptique. See #561.
167215
- Fixed "Call to a member function is_locked()" fatal by checking if $provider is an object before method access. Props @apokalyptique. See #578.
168216
- Prevented Call to a member function exists() fatal error by verifying $provider is an object before invoking method calls. Props @apokalyptique. See #552.
169217

170218
## [0.8.1] - 2023-03-27
219+
171220
- Remove unnecessary comma to fix fatal error on PHP 7.2 #547
172221

173222
## [0.8.0] - 2023-03-27
223+
174224
- Reduce the login nonce expiration from 60 minutes to 10 minutes by default, and include user ID in the login nonce to make them unique #473.
175225
- Replace QR generation for TOTP secrets with local Javascript tooling instead of Google Charts API #487 and #495.
176226
- Fix Backup code download with quotes in translations #494.
@@ -185,6 +235,7 @@ All notable changes to this project will be documented in this file, per [the Ke
185235
- Standardise on int|WP_User input to the "for user" functions #535.
186236

187237
## [0.7.3] - 2022-10-17
238+
188239
- Make wp_login_failed action call compatible with the WP core argument count and types. Reported in #471 by @dziudek and fixed in #478 by @dd32.
189240
- Use hash_equals() for nonce comparison to improve security. Reported in #458 and fixed in #458 by @calvinalkan.
190241
- Improve compatibility with PHP 8.1 by replacing all instances of FILTER_SANITIZE_STRING usage. Reported and fixed in #428 by @sjinks.
@@ -193,16 +244,19 @@ All notable changes to this project will be documented in this file, per [the Ke
193244
- Improve TOTP autocomplete behaviour by setting the autocomplete attribute to one-time-code. Reported and fixed in #420 by @squaredpx.
194245

195246
## [0.7.2] - 2022-09-12
247+
196248
- Security improvement: Store the second factor authentication step nonce hashed to prevent leaking it via database read access #453. Props to @calvinalkan for reporting the issue.
197249
- Fix: Add wp_specialchars_decode() to escape the HTML entity on the Email Subject line (#412), props @nbwpuk.
198250
- Fix: Use hash_equals() when comparing the email token (#425), props @Mati02K.
199251
- Tooling: Introduce @wordpress/env for development tooling and move to GitHub actions for CI (#436).
200252

201253
## [0.7.1] - 2021-09-07
254+
202255
- Update the login_header() and login_footer() methods to match the WP core (see #407), props @cfaria.
203256
- Mark as compatible with WordPress 5.8.
204257

205258
## [0.7.0] - 2020-08-26
259+
206260
- Fix: improve time-based one-time (TOTP) autofill when using password managers like 1Password, see #373. Props @omelhus.
207261
- Fix: allow spaces in email code input and strip them away before processing, see #379. Props @shay1383.
208262
- Fix: remove references to Google Authenticator app since there are a lot more TOTP authenticators these days, see #367. Props @r-a-y.
@@ -212,11 +266,13 @@ All notable changes to this project will be documented in this file, per [the Ke
212266
- Add tooling to run PHPUnit tests locally during development, see #355. Props @kasparsd.
213267

214268
## [0.6.0] - 2020-05-06
269+
215270
- Security fix: escape the U2F key value when doing the key lookup in database during login. Props @mjangda from WordPress VIP. See #351.
216271
- New feature: invalidate email tokens 15 minutes after they were generated. Use the two_factor_token_ttl filter to override this time-to-live interval. See #352.
217272
- Document some of the available filters.
218273

219274
## [0.5.2] - 2020-04-30
275+
220276
- Bugfix: saving standard user profile fields no longer resets the time-based-password key, see #341.
221277
- Bugfix: remove spaces around authentication codes before verifying them, see #339 (props @paulschreiber).
222278
- Bugfix: allow admins to configure FIDO U2F keys for other users, see #349.
@@ -226,53 +282,66 @@ All notable changes to this project will be documented in this file, per [the Ke
226282
- Update the reference article URL in the readme files to account for domain change, see #332 (props @todeveni).
227283

228284
## [0.5.1] - 2020-02-05
285+
229286
- Security fix: invalidate the session token used for the first password-based authentication, props @aapost0l.
230287
- Typo fixes in code comments, props @akkspros.
231288

232289
## [0.5.0] - 2020-01-11
290+
233291
- Add a compatibility layer for Jetpack Secure Sign On to support longer session cookies, see #276. Props @pyronaur.
234292
- Fix spelling errors in code comments, see #318. Props @akkspros.
235293
- Add license file, #313. Props @axelsimon.
236294
- Bump the supported version of PHP to 5.6 to match the WordPress core.
237295

238296
## [0.4.8] - 2019-12-26
297+
239298
- Mark as tested with WordPress 5.3.
240299
- Add a screenshot with email code authentication prompt.
241300
- Update development tooling versions.
242301

243302
## [0.4.7] - 2019-05-08
303+
244304
- Introduce a two_factor_totp_title filter to allow TOTP title to be changed, see #294 (props @BrookeDot).
245305
- Mark as tested with WordPress 5.2.
246306

247307
## [0.4.6] - 2019-04-26
308+
248309
- Add a unique ID for the two-factor options section, see #286 (props @joshbetz).
249310
- Add usage instructions and plugin screenshots, fixes #272.
250311

251312
## [0.4.5] - 2019-04-22
313+
252314
- Add the missing two-factor textdomains, see #281 (props @Sonic853).
253315
- Fix U2F feature detection in Firefox, see #285.
254316

255317
## [0.4.4] - 2019-04-15
318+
256319
- Add the closing </div> to match the WP core login form structure, see #274 (props @claytoncollie).
257320

258321
## [0.4.3] - 2019-04-12
322+
259323
- Bump the actual version in the plugin header. That's what you get for deploying on Fridays.
260324

261325
## [0.4.2] - 2019-04-12
326+
262327
- Developer tooling update, see #277.
263328

264329
## [0.4.1] - 2019-04-12
265-
- Redirect to admin_url() instead of $_SERVER['REQUEST_URI'] if $_REQUEST['redirect_to'] is not set, see #276 (props @joshbetz).
330+
331+
- Redirect to `admin_url()` instead of `$_SERVER['REQUEST_URI']` if `$_REQUEST['redirect_to']` is not set, see #276 (props @joshbetz).
266332

267333
## [0.4.0] - 2019-03-19
334+
268335
- Disable authentication via REST and XML-RPC endpoints for users with any of the two-factor methods enabled, see #271.
269336
- Mark as tested with WordPress 5.1.
270337

271338
## [0.3.0] - 2018-11-06
339+
272340
- Mark as tested with WordPress 5.0.
273341
- Always post the two-factor login form to wp-login.php which runs all the required hooks for processing. Fixes login issues on WP Engine #257 and when a custom login URL is used #256.
274342

275343
## [0.2.0] - 2018-10-16
344+
276345
- Add developer tools for deploying to WP.org manually.
277346

278347
[0.15.0]: https://github.com/WordPress/two-factor/compare/0.14.1...0.15.0

0 commit comments

Comments
 (0)