PluginProbe
Passster – Password Protect Pages and Content / 4.3.16
Passster – Password Protect Pages and Content v4.3.16
4.3.16 4.3.15 4.3.14 4.3.12 4.3.13 4.3.11 4.3.10 4.3.9 4.3.8 4.3.7 4.3.6 4.3.5 trunk 3.5.4 3.5.5.2 3.5.5.8 3.5.5.9 4.0 4.1.4 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 4.2.15 All 48 releases
← All changes | readme.txt +935 -912 4.3.94.3.16 View file →
@@ -1,912 +1,935 @@
1 -=== Passster - Password Protect Pages and Content ===
2 -Contributors: wpchill, silkalns
3 -Tags: password protect, password, restrict content, sitewide, password protection
4 -Requires at least: 6.5
5 -Tested up to: 7.1
6 -Requires PHP: 7.2
7 -License: GPLv2 or later
8 -License URI: https://www.gnu.org/licenses/gpl-2.0.html
9 -Stable tag: 4.3.9
10 -
11 -== Description ==
12 -## Password Protect Pages, Posts & Content in WordPress
13 -
14 -Passster is an all-in-one plugin to password protect pages, content, or your entire site in seconds—quick, secure, and easy to use.
15 -Passster offers three protection modes to cover every use case you may think of when it comes to password protecting your WordPress website.
16 -
17 -https://www.youtube.com/watch?v=kjYklVLVFD8&list=PLM2tOjfhVrZdo_H26CV2I-UfdqpDWxo3D&index=4
18 -
19 -### Passster Pro – Even more protection features when making a purchase
20 -
21 -**Multiple Passwords & Password Lists**
22 -- Assign multiple passwords for different users.
23 -- Create and manage large password lists for easy control.
24 -
25 -**Quick & Bulk Edit for Password Protection**
26 -- Use WordPress **Quick Edit** and **Bulk Edit** to protect multiple pages instantly.
27 -
28 -**Unlock Content by User Role or Email**
29 -- Automatically grant access to specific users or email addresses.
30 -
31 -**Password Expiration & Usage Limits**
32 -- Set passwords to expire after a number of uses, first use, or by a time limit (hours, days, weeks).
33 -- Track which passwords were used and when they will expire.
34 -
35 -**Generate Unlock Links**
36 -- Create encrypted unlock links so users can access content without entering a password.
37 -- Automatically shorten links with **Bit.ly** for easy sharing.
38 -
39 -**WooCommerce Protection & Sales**
40 -- Protect WooCommerce pages, products, and checkout with a password.
41 -- Sell access to protected content—generate and email passwords automatically after purchase.
42 -
43 -**Detailed Password Usage Statistics**
44 -- Track when and how often passwords are used.
45 -- View first usage date, IP (optional), and browser details.
46 -
47 -## Quick Comparison (Free vs. Pro)
48 -
49 -### Free Version:
50 -✔ Protect sections of pages using shortcodes or blocks.
51 -✔ Secure entire pages and posts.
52 -✔ Automatically protect child pages with a single click.
53 -✔ Lock down your entire site with a password.
54 -✔ Unlock protected content without refreshing the page.
55 -✔ Customize the design, labels, and descriptions of the password form.
56 -✔ Use cookies to grant access across multiple protected areas.
57 -
58 -### Pro Version:
59 -✔ Everything in the free version, plus:
60 -✔ Protect content with **multiple passwords** or password lists.
61 -✔ Quickly set up password protection via Quick Edit or Bulk Edit.
62 -✔ Protect content using **Google reCAPTCHA or hCAPTCHA**.
63 -✔ Unlock protected content by **user role or email**.
64 -✔ Set passwords to **expire** based on usage limits or time intervals.
65 -✔ Generate encrypted **unlock links** for seamless access.
66 -✔ Track and prevent **concurrent password sharing**.
67 -✔ Secure **WooCommerce products and store pages**.
68 -✔ Sell access to protected content via **WooCommerce integration**.
69 -✔ Detailed statistics on password usage and lists.
70 -
71 -Get it now on [passster.com/](https://passster.com/)
72 -
73 -### Documentation
74 -
75 -Learn more about this plugin [in our official documentation](https://passster.com/kb/)
76 -
77 -== Support ==
78 -* Free users: [Ask in our forum](https://wordpress.org/support/plugin/content-protector/)
79 -* Pro users: [Get priority help](https://passster.com/contact-us/?utm_source=wordpress.org&utm_medium=web&utm_campaign=description&utm_term=contact+us)
80 -
81 -== Frequently Asked Questions ==
82 -
83 -= Can I use Passster in multiple languages =
84 -All primary texts and information can be modified from the admin area of Passster.
85 -The plugin is fully translatable in your language. There are only en_EN and de_DE at the moment, but you can easily add your preferred language as a .po/.mo.
86 -It’s also fully compatible with WPML and Polylang.
87 -
88 -= Where do I report security bugs found in this plugin? =
89 -
90 -Please report security bugs found in the source code of the Passster plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/9e5fb73f-e810-474a-a64f-c86081aa9b46). The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin."
91 -
92 -== Screenshots ==
93 -1. Passster Password Form
94 -2. Passster Settings Area General
95 -3. Passster Settings Area Design
96 -4. Passster Protected Areas
97 -5. Passster Protected Areas in page edit
98 -6. Passster Password Lists - Pro only
99 -7. Passster Statistics - Pro only
100 -
101 -== Installation ==
102 -
103 -Passster is simple to install:
104 -
105 -1. Download the .zip'
106 -2. Unzip
107 -3. Upload the directory to your '/wp-content/plugins' directory
108 -4. Go to the plugin management page and enable the Passster Plugin
109 -5. Browse to Settings > Passster
110 -6. Customise your settings and your good to go!
111 -
112 -== Changelog ==
113 -= 4.3.9 - 13.08.2026 =
114 -* Fixed: Security issue (thanks to WPScan).
115 -* Fixed: Block editor freezing when selecting a block built with page builders like Spectra.
116 -* Changed: Hid noisy Freemius notices (opt-in reminder, premium activation, plan upgrade messages).
117 -* Changed: Updated Freemius SDK to 2.13.4.
118 -
119 -= 4.3.8 - 03.08.2026 =
120 -* Fixed: Security issue.
121 -* Fixed: Block editor freezing on pages built with Elementor.
122 -* Changed: Improved Protected Content block toolbar performance on pages with many blocks.
123 -
124 -= 4.3.7 - 27.07.2026 =
125 -* Fixed: Security issue (thanks to Pierre Rudloff).
126 -
127 -= 4.3.6 - 23.07.2026 =
128 -* Added: "Show Password" label is now customizable from the General settings tab.
129 -* Fixed: Per-page form text being used even when "Overwrite Defaults" is disabled.
130 -* Fixed: Instruction text showing as garbled characters when using the Protected Area block.
131 -* Fixed: Security issues (thanks to Revanth Hari Narayana Matte).
132 -
133 -= 4.3.5 - 02.06.2026 =
134 -* Fixed: hCaptcha cookie not being recognized on subsequent page loads.
135 -* Fixed: Unlock links with special characters in instructions could cause encoding errors.
136 -* Fixed: Pass parameter being lost during global protection redirect.
137 -
138 -= 4.3.4 - 08.05.2026 =
139 -* Fixed: Replaced non-functional license activation button on free version with installation guide for Passster PRO.
140 -* Fixed: Category lock not showing password form on regular post category archive pages.
141 -
142 -= 4.3.3 - 03.04.2026 =
143 -* Changed: Enhance PS_Rest_Handler to allow public access to additional Passster endpoints for guest users.
144 -
145 -= 4.3.2 - 30.03.2026 =
146 -* Fixed: Category lock for WooCommerce products and categories.
147 -* Changed: Page refresh on unlock is now on by default. Inline unlock can be enabled via Advanced → Unlock Behaviour.
148 -
149 -= 4.3.1 - 20.03.2026 =
150 -* Fixed: Password label should not be visible, it's there for accessibility reasons.
151 -* Fixed: Password label is now translatable.
152 -* Fixed: Missing loading animation.
153 -
154 -= 4.3.0 - 20.03.2026 =
155 -* Changed: Refactor settings display and added statistics page.
156 -* Added: Category lock.
157 -* Added: Passter Protected Area Gutenberg wrapper block.
158 -
159 -= 4.2.29 - 12.02.2026 =
160 -* Fixed: Password validation and unlock link generation failing when the password contains the % character.
161 -
162 -= 4.2.28 - 02.02.2026 =
163 -* Fixed: Nonce validation failing for logged-in users when fetched via REST endpoint.
164 -
165 -= 4.2.27 - 27.01.2026 =
166 -* Fixed: Prevent nonce from being cached.
167 -* Fixed: Page protect children option.
168 -
169 -= 4.2.26 - 16.01.2026 =
170 -* Fixed: Security update
171 -
172 -= 4.2.25 - 14.01.2026 =
173 -* Fixed: Passster protected events do not show up in The Events Callendar REST requests.
174 -* Changed: Prevent nonce from being cached.
175 -* Fixed: Security update
176 -
177 -= 4.2.24 - 12.01.2026 =
178 -* Fixed: Vulnerability in passster shortcode.
179 -* Fixed: Fix allowing hashed in unlocking page url.
180 -
181 -= 4.2.23 - 08.01.2026 =
182 -* Fixed: Bug preventing password validation.
183 -
184 -= 4.2.22 - 05.01.2026 =
185 -* Fixed: Vulnerability in passster shortcode.
186 -
187 -= 4.2.21 - 18.12.2025 =
188 -* Fixed: Vulnerability in passster shortcode.
189 -
190 -= 4.2.20 - 22.10.2025 =
191 -* Fixed: Security update
192 -
193 -= 4.2.19 - 02.10.2025 =
194 -* Fixed: Vulnerability in passster shortcode.
195 -
196 -= 4.2.18 - 15.09.2025 =
197 -* Added: null alt attribute to ps-loader image for better accessibility compliance.
198 -* Changed: Made password form input IDs unique per protected area to prevent duplicate IDs when using multiple forms on the same page.
199 -
200 -= 4.2.17 - 22.07.2025 =
201 -* Fixed: Users with allowed roles can now access other pages when global restriction is active and the password page is excluded for them.
202 -
203 -= 4.2.16 - 09.07.2025 =
204 -* Changed: Allow HTML & shortcodes in instructions.
205 -
206 -= 4.2.15 - 17.03.2025 =
207 -* Added: Support for Turnstile captcha.
208 -
209 -= 4.2.14 - 25.02.2025 =
210 -* Fixed: Unlock link was not working properly.
211 -
212 -= 4.2.13 - 03.02.2025 =
213 -* Fixed: Global protection page was not being protected even if "Activate Protection" was on.
214 -
215 -= 4.2.12 - 20.12.2024 =
216 -* Changed: Security update - Updated Freemius SDK
217 -
218 -= 4.2.10 - 11.12.2024 =
219 -* Changed: Updated upsells information
220 -
221 -= 4.2.9 - 10.12.2024 =
222 -* Added: Settings upsells
223 -
224 -= 4.2.8 - 06.12.2024 =
225 -* Changed: Readme update
226 -
227 -= 4.2.7 =
228 -
229 -* WP 6.7 compatibility
230 -* dependency updates
231 -* PHP 8.3 compatibility
232 -* make headline removable via design settings
233 -* default tag for headlines is now <span> for SEO purposes
234 -* fixed expiration with cookie usage (pro-only)
235 -
236 -= 4.2.6.6 =
237 -
238 -* WP 6.6 compatiblity
239 -* latest dependencies for the block editor
240 -* fixed missing default value breaking design settings
241 -* latest Freemius SDK upgrade
242 -
243 -= 4.2.6.5 =
244 -
245 -* improved expiration for passwords with unlock links
246 -* fixed escaping for redirect parameter
247 -* several security improvements
248 -* updated to 6.5 compatibility
249 -
250 -= 4.2.6.4 =
251 -
252 -* exclude pagebuilders from rest restriction (frontend editing)
253 -
254 -= 4.2.6.3 =
255 -
256 -* fixed components for WP 6.4.3 release (margin/radius)
257 -* restrict Rest API access with global protection
258 -
259 -= 4.2.6.2 =
260 -
261 -* added exception for sanitized array setting (exclude pages)
262 -
263 -= 4.2.6.1 =
264 -
265 -* added hook to combine generated password with order
266 -* improved sanitization on importer
267 -* added russian + ukrainian translation
268 -* SDK upgrade
269 -
270 -= 4.2.6 =
271 -
272 -* WordPress 6.4 compatibility
273 -
274 -= 4.2.5 =
275 -
276 -* WooCommerce email trigger after status complete
277 -* added filter for generated password
278 -* protected page optional for WooCommerce integration
279 -* improved admin UI contrasts
280 -* restructured design settings
281 -
282 -= 4.2.4 =
283 -
284 -* WP 6.3 compatibility
285 -
286 -= 4.2.3 =
287 -
288 -* some Freemius integration improvements
289 -
290 -= 4.2.2 =
291 -
292 -* improved logout button markup
293 -* added action after validating password list hash
294 -* Freemius SDK update to 2.5.10
295 -
296 -= 4.2.1 =
297 -
298 -* improved admin UI with permanent sidebar
299 -* improved value handling for margin/padding to avoid PHP notices
300 -* added filter to validate payment before sending e-mail (pro-only)
301 -
302 -= 4.2 =
303 -
304 -* selling and generating passwords with WooCommerce (pro-only)
305 -* assign and manage multiple passwords lists (pro-only)
306 -* hotfix editing areas with Oxygen Builder
307 -* helper methods to automatically generate and add passwords to lists
308 -* statistics for password usage + custom database table
309 -* expiration statistics for passsword lists
310 -* fixed area shortcode inspector controls
311 -* GPDR friendly tracking implementation
312 -
313 -= 4.1.4 =
314 -
315 -* reverted hcaptcha integration
316 -* updated admin links to new URL structure
317 -* fixed expiration settings with new encryption
318 -* fixed PHP notice if reCaptcha doesn't return a response
319 -
320 -= 4.1.3.1 =
321 -
322 -* v4 API integration for Bit.ly
323 -
324 -= 4.1.3 =
325 -
326 -* fixed conditional for unlock links
327 -* support for additional URL parameters in cache friendly URLs
328 -* prevent multiple renders in quick edit
329 -* hcaptcha with checkbox
330 -* removed default margin from CSS
331 -* copy shortcode with fallback for Block Editor
332 -* removed deprecated compatibility method
333 -
334 -= 4.1.2 =
335 -
336 -* fallback solution to get post id in classic editor
337 -* fixed saving meta data in classic editor
338 -* compatibility with disable gutenberg plugin
339 -
340 -= 4.1.1 =
341 -
342 -* fixed regex pattern in deprecated shortcode
343 -* removed regex pattern for captcha as the feature no longer exists
344 -
345 -= 4.1 =
346 -
347 -* protect child pages
348 -* quick edit and bulk edit pages/posts for protection (pro-only)
349 -* hCaptcha protection (pro-only)
350 -* preventing PHP notices with concurrent usage and recaptcha
351 -* better dynamics for admin column + less intrusive styling
352 -
353 -= 4.0.1 =
354 -
355 -* fixed reCAPTCHA selection not saving in admin
356 -* improved fallback margin/padding for protection block
357 -* improved description of the unlock mode to make it easier to understand
358 -
359 -= 4.0 =
360 -
361 -* entirely new admin UI rewritten with React
362 -* custom block to select areas
363 -* ability to generate passwords
364 -* improved global protection UI
365 -* ability to exlude pages from global protection
366 -* on-the-fly unlock link generation
367 -
368 -= 3.5.5.7 =
369 -
370 -* modified Freemius prefix to prevent compatibility errors with Post SMTP plugin
371 -
372 -= 3.5.5.6 =
373 -
374 -* fixed Elementor integration with areas.
375 -
376 -= 3.5.5.5.2 =
377 -
378 -* improved fallback solution to convert base64 to hmac
379 -* changed validation priority: cookies - links - post data for quicker validation
380 -
381 -= 3.5.5.5.1 =
382 -
383 -* integrated converter to automatically convert old link encryption to new hashed encryption
384 -* fixed missing hash_nonce value in wp_localize_scripts
385 -
386 -= 3.5.5.5 =
387 -
388 -* dynamic version number for cache busting after update
389 -* new encryption for encrypted links
390 -* cleared up upgrade/activation code
391 -* includes + load_textdomain in plugins_loaded
392 -* fixed task priority with global protection and redirect
393 -* fixed ReCaptcha v2 validation and content return statement
394 -* better default settings
395 -
396 -
397 -= 3.5.5.4 =
398 -
399 -* improved hmac validation with cookies
400 -* fixed reload in combination with global page protection
401 -* introduced a unique secret key per installation
402 -* reverted Rest API implementation and used Ajax instead
403 -
404 -= 3.5.5.3.1 =
405 -
406 -* fix for captcha/recaptcha validation with hew hmac encryption
407 -
408 -= 3.5.5.3 =
409 -
410 -* fixed escaping area id in shortcode
411 -* implemented concurrent logins feature
412 -* encryption for cookies with unique secret key (hmac)
413 -* dedicated ajax class to handle validation
414 -* Rest API implementation for password encryption
415 -* general code cleanup (better performance + improved doc blocks)
416 -* consistent singletone pattern for all classes
417 -* better check for areas and full page protection (improved security)
418 -* latest freemius SDK
419 -* improved cookie-js implementation with sameSite attributes
420 -* fixed logo font rendering
421 -
422 -= 3.5.5.2 =
423 -
424 -* filter to disable base64 encryption for cookies and links
425 -* Freemius SDK update
426 -* jQuery migrate fix for captcha
427 -* improved escaping of shortcode attributes (area and password lists)
428 -
429 -= 3.5.5.1 =
430 -
431 -* better permission check settings page
432 -* better permission check metaboxes
433 -* improved german translation
434 -* added redirect parameter and settings
435 -* updated cookie js for better compatibility
436 -* added support for WooCommerce products and shop pages
437 -* filter to allow spaces in passwords
438 -* fixed version number
439 -
440 -= 3.5.4 =
441 -
442 -* fixed notice for checking areas
443 -* updated dependencies
444 -* fixed security issue in is_valid()
445 -* fixed validation with reload option
446 -
447 -= 3.5.3 =
448 -
449 -* security patch
450 -* better error handling with fade and clear input
451 -* better area restriction
452 -* better performance for password checkups
453 -* removed rych hash dependency
454 -* improved WooCommerce product restriction
455 -* Gutenberg Support for areas
456 -* fixed notice for bitly check
457 -* fixed notice for recaptcha validation
458 -
459 -= 3.5.2 =
460 -
461 -* fix for shortcode validation capabilities
462 -* improved validation for global protection
463 -
464 -= 3.5.1 =
465 -* bugfix for link protection
466 -* pagebuilder editing support for areas
467 -* fixed show password function
468 -* is_valid() for areas
469 -* dynamic {post-id} parameter for shortcodes in AJAX
470 -* hide parameter for areas
471 -* check form values before AJAX submit (required attributes for example)
472 -
473 -= 3.5 =
474 -
475 -* introduced protected areas
476 -* shortcode configurator in areas
477 -* bugfix: spaces in password lists
478 -* PHP 8 support improvements
479 -* removed auto-updater for options
480 -* automatically add metaboxes to all registered (public) post types
481 -* removed wp_auto_p() for Oxygen Builder support
482 -* removed deprecated Pagebuilder modules (handled with areas now)
483 -* min value for Cookie set to 1 and no negativ values possible
484 -* improved widget support with areas
485 -* performance optimization for large password lists
486 -
487 -
488 -= 3.4.2 =
489 -
490 -* lighter freemius integration
491 -* admin UI improvements
492 -* direct links for documentation and support in admin header
493 -
494 -= 3.4.1 =
495 -
496 -* added expire by usage and time for password lists (pro only)
497 -* added global password protection
498 -* base64 encryption for cookies
499 -* bugfix for bitly URL toggle (pro only)
500 -* improved uninstall with latest options
501 -* auto activate reload option if pagebuilder is activated
502 -
503 -= 3.4 =
504 -
505 -* added support to unlock widgets via ajax
506 -* added support to unlock acf fields via ajax
507 -* added shortcode params to page protection (pro only)
508 -* added user restriction to page protection (pro only)
509 -* fixed one-time usage for password lists without ajax (pro only)
510 -* added option to redirect to source URL after link unlock (pro only)
511 -
512 -= 3.3.9 =
513 -* latest freemius SDK
514 -* fixed ID parameter for multiple forms per page
515 -* custom headline, ID parameter for Recaptcha v2/v3
516 -* better enqueue for ReCaptcha v2
517 -
518 -= 3.3.8 =
519 -* removed old cache busting prevent 404 errors for files
520 -* wp_enqueue_script for ReCaptcha preventing cache issues
521 -* introduced ajax loader to indicate verification
522 -* fixed metabox showing wrong selected password list
523 -* improved admin wording for more clarification
524 -* updated german translation files
525 -
526 -= 3.3.7 =
527 -
528 -* WordPress 5.5 compatibility
529 -* Elementor with Ajax mode compatibility
530 -* added WPML config file
531 -* update german translation
532 -* prevent fatal error if ps_run_plugin() is already declared
533 -* number field instead of text for cookie duration
534 -* ReCaptcha without async defer (handled via Caching plugins)
535 -* fixed PHP notice for bitly integration
536 -
537 -= 3.3.6 =
538 -* cache-busting for no-ajax mode and cookies
539 -* fixed double docs link
540 -* support option for third-party-shortcodes with pre-render
541 -* removed auto-space from password lists
542 -* new link encryption solution with metabox and bitly
543 -* hide parameter for WPBakery integration
544 -* updated and fixed german translation
545 -
546 -= 3.3.5 =
547 -* performance improvements for password lists
548 -* support for Google ReCaptcha v2 with selection
549 -* more efficient ajax handling for different unlock methods.
550 -* auto-update cookie settings if no ajax mode is used.
551 -
552 -= 3.3.4.1 =
553 -* more robust regex for various shortcode implementations
554 -* added action to track unlocks with Google Analytics and other tracking solutions
555 -
556 -= 3.3.4 =
557 -* fixed additional params to overwrite texts in the shortcode
558 -* fixed empty content while using additional parameters
559 -* added tablepress support for ajax
560 -* implemented old recaptcha parameters for backwards compatibility
561 -
562 -= 3.3.3 =
563 -* better compatibility mode with cache busting
564 -* better ReCaptcha integration with ajax and with cookies
565 -* compatibility: full page protection with divi builder
566 -* more reliable way to get valid response via ajax
567 -* mobile-friendly cache-busting after authentication
568 -
569 -= 3.3.2 =
570 -* added compatibility mode for forcing reload
571 -* compatibility fix Elementor full page protection
572 -* compatibility fix WpBakery Pagebuilder full page protection
573 -* re-added error message in Customizer
574 -* improved german translation
575 -
576 -* fixed captcha loading while not in use
577 -* fixed wrong redirection after activation
578 -* fixed wrong object call for elementor users.
579 -
580 -= 3.3.1 =
581 -* fixed captcha loading while not in use
582 -* fixed wrong redirection after activation
583 -* fixed wrong object call for elementor users.
584 -
585 -= 3.3 =
586 -* major release
587 -* new admin UI and simplfied settings
588 -* password protection for pages, posts and products
589 -* new captcha solution with canvas objects
590 -* new Google ReCaptcha v3 integration
591 -* removed requirements for PHP sessions for better compatibility
592 -* removed old Google API vendor for better compatibility
593 -* refactored the entire shortcode and submit solution
594 -* ajax-based submit and validation - no page reload required anymore
595 -* fixed cookie solution for captcha, ReCaptcha
596 -* easier template function is_valid() for complete checks of all parameters
597 -* fixed shortcode parameters for headline and id
598 -* better uninstall cleanup
599 -* intrated metabox for setting Passster settings for complete pages
600 -
601 -
602 -= 3.2.6.1 =
603 -* cookie for passwords conditional function fixed
604 -* introduced API parameter to elementor and beaver builder
605 -* fixed notice if api not available in helper methods
606 -
607 -= 3.2.6 =
608 -* WPBakery Page Builder row protection with correct default values
609 -* new helper class for cookies
610 -* api parameter possibility to add external apis
611 -
612 -= 3.2.5 =
613 -* Another VC protection row fix..
614 -* compatibility WPBakery 6.0.5
615 -
616 -= 3.2.4 =
617 -* VC row protection fix
618 -* new partly parameter
619 -* cookie set fix and conditional function to check for
620 -* new type hint solution (better jQuery compatibility)
621 -* is_cookie_valid check for all password related protection types
622 -* admin css fixes with prefix
623 -
624 -
625 -= 3.2.3 =
626 -* Password Lists fix for all page builder
627 -* prevent autoload error if free and premium version installed
628 -* customizer as default values for page builder options
629 -* placeholder now configurable in the customizer
630 -
631 -= 3.2.2 =
632 -* fixed captcha notice
633 -* fixed rows shortcode for WPBakery Pagebuilder
634 -* more efficient notice handling in admin area
635 -
636 -= 3.2.1 =
637 -* adding the "hide" parameter to hide forms if set and multiple forms used
638 -* compatibility AAM plugin fix for multiple user roles
639 -* captcha is now a free addon - lower php version needed for basic password usage
640 -* check_atts method now working correctly
641 -* WPBakery Pagebuilder addon fix (free)
642 -* WPBakery Pagebuilder addon protect rows (only pro)
643 -* add message for captcha usage
644 -* new (and working) solution for show passwords before submitting
645 -
646 -= 3.2.0.6 =
647 -* new AMP support with cookies
648 -* Fixed delete error notice for passster_lists function not exists
649 -* introduced new helper function for AMP set_amp_headers()
650 -* drop db table for sessions if full uninstall option set
651 -* customizer option to show password while typing
652 -
653 -= 3.2.0.5 =
654 -* fixed amp notice
655 -* fixed backend_admin_notice error
656 -* fixed customizer for themify ultra theme
657 -
658 -= 3.2.0.4 =
659 -* PS_List collision fix
660 -
661 -= 3.2.0.3 =
662 -* autoload backupwp collision fix
663 -
664 -= 3.2.0.2 =
665 -* SVN fix for missing files
666 -* cookies for conditional functions
667 -
668 -= 3.2.0.1 =
669 -* pagebuilder path fix
670 -* admin amp option fix
671 -
672 -= 3.2 =
673 -* security patch freemius
674 -* add cookie option for multiple passwords
675 -* add pagebuilder addons in free version
676 -* fix php notices for php 7 support
677 -* remove OptionsHandler class for support older php versions
678 -* add password lists (admin + shortcode)
679 -* update translation files
680 -* added AMP support for all protection types
681 -* improve default values after Installation
682 -
683 -= 3.1.9.1 =
684 -* Fix PHP 5.6 upgrader problems
685 -* Moved autoloader up so database upgrade is handeled correctly
686 -
687 -
688 -= 3.1.9 =
689 -* PHP 5.6 compatibility
690 -* function naming fixes
691 -* optimize session handler class
692 -
693 -= 3.1.8 =
694 -* introduce conditional functions for template usage
695 -* completely remove the autofocus
696 -* fixes save settings for user_toggle option
697 -* updates the session handling for captcha to PHP 7.2 compatibility
698 -* prevents autofill for safari, chrome and webkit supported browsers
699 -
700 -= 3.1.7 =
701 -* includes fixes for beaver builder module support
702 -
703 -= 3.1.6 =
704 -* Support Release
705 -* Fixed multiple passwords runtime
706 -* add customizer notice on Installation
707 -* improved german translation
708 -* add an seprate atts function for more readable code
709 -* add new users addon
710 -*
711 -
712 -= 3.1.5 =
713 -* Support Release
714 -* Add auth parameter for multiple shortcodes per page
715 -* Fixed <span> for error messages
716 -* Fixed wp_enqueue_styles for windows servers
717 -* Fixed php notice for captcha options
718 -
719 -= 3.1.4 =
720 -* Support Release
721 -* fixed problems with WP Sessions table and Database Handler
722 -* fixed License Activation
723 -* Add option for autofocus
724 -* fixed helper for addon activation
725 -
726 -= 3.1.3 =
727 -* Support Release
728 -* Major improvements for captcha
729 -* set width and height for captcha
730 -* integrate wp-sessions-manager for session handling via database
731 -* adding page builder support for elementor, WPBakery Pagebuilder and beaver builder (pro only)
732 -* fix one pager bug with passster forms
733 -
734 -= 3.1.2 =
735 -* Support Release
736 -* Add placeholder and button label per shortcode
737 -* Fix option set issues for captcha
738 -* get rid of HTTP API and all external calls and replace with object cache
739 -
740 -= 3.1.1 =
741 -* Support Release
742 -* Fixing PHP notice for addons
743 -* replace_file_get_contents() with WP HTTP API
744 -
745 -= 3.1 =
746 -* new admin ui
747 -* captcha is back!
748 -* cache-compatible cookie solution
749 -* design modifications via customizer
750 -* cross-browser-compatible forms
751 -* shortcode generator
752 -* password generation with newset bcrypt standards
753 -* password generator
754 -* fix several bugs like instructions text, translations, php errors
755 -
756 -= 3.0 =
757 -* under new development
758 -* compatibilty with WordPress 4.9+
759 -* clean up and restructure whole plugin
760 -* remove deprecated solutions for ajax and captcha
761 -* removed date based selection of cookie expires
762 -
763 -= 2.11 =
764 -* Setting "Password Field Placeholder" now accessible through "Settings -> Passster -> Password/CAPTCHA Field"
765 -
766 -= 2.10 =
767 -* Form and CAPTCHA instructions moved to outside the form.
768 -* `content_protector_unlocked_content` filter bug in AJAX mode fixed.
769 -* CSS for `div.content-protector-form-instructions` fixed.
770 -* New Setting "CAPTCHA Case Insensitive" - to allow users to enter CAPTCHAs w/o case-sensitivity.
771 -* New action `content_protector_ajax_support` - for loading any extra files needed to support your protected content in AJAX mode.
772 -
773 -= 2.9.0.1 =
774 -* Fixed bug crashing `content_protector_unlocked_content` filter.
775 -* Full AJAX support for `[caption]` built-in shortcode.
776 -
777 -= 2.9 =
778 -* Full AJAX support for `[embed]`, `[audio]`, and `[video]` built-in shortcodes.
779 -* Added full support for `[playlist]` and `[gallery]` built-in shortcodes.
780 -* Fixed Encrypted Passwords Storage setting message bug.
781 -* `content_protector_content` filter now called `content_protector_unlocked_content`.
782 -* `content_protector_unlocked_content` filter can now be customized from the Settings -> General tab.
783 -* `the_content` filter now applied to form and CAPTCHA instructions.
784 -
785 -= 2.8 =
786 -* Partial AJAX support for `[embed]`, `[audio]`, and `[video]` built-in shortcodes. (experimental)
787 -* Fixed AJAX error from code refactoring
788 -
789 -= 2.7 =
790 -* Displaying Form CSS on unlocked content is now a user option (on the Form CSS tab).
791 -* When saving settings, the Settings page will now remember which tab you were on and load it automatically,
792 -* Fixed potential cookie expiry bug for sessions meant to last until the browser closes (expiry time set explicitly to '0').
793 -* Improved error checking for conflicting settings.
794 -* Some code refactoring.
795 -
796 -= 2.6.2 =
797 -* Fixed output buffering bug for access form introduced in 2.6.1.
798 -
799 -= 2.6.1 =
800 -* Fixed AJAX security nonce bugs.
801 -
802 -= 2.6 =
803 -* jQuery UI theme updated to 1.11.4
804 -
805 -= 2.5.0.1 =
806 -* New setting to manage encrypted passwords transient storage.
807 -* New settings for Password/CAPTCHA Fields character lengths.
808 -* Improved option initialization and cleanup routines.
809 -* `content-protector-ajax.js` now loads in the footer.
810 -* WPML/Polylang compatibility (beta).
811 -* New partial translation into Serbian (Latin); thanks to Andrijana Nikolic from WebHostingGeeks (Novi parcijalni prevod na Srpski ( latinski ); Hvala Andrijana Nikolic iz WebHostingGeeks)
812 -
813 -= 2.5 =
814 -* Skipped
815 -
816 -= 2.4 =
817 -* Skipped
818 -
819 -= 2.3 =
820 -* Settings admin page now limited to users with `manage_options` permission (i.e., admin users only).
821 -* Fixed bug where when using AJAX and CAPTCHA together, CAPTCHA image didn't reload on incorrect password.
822 -* New settings: use either a text or password field for entering passwords/CAPTCHAs, and set placeholder text for those fields.
823 -* Added `autocomplete="off"` to the access form.
824 -* Streamlined i18n for date/time pickers (Use values available in Wordpress settings and `$wp_locale` when available, combined *-i18n.js files into one).
825 -
826 -= 2.2.1 =
827 -* Fixed AJAX bug where shortcode couldn't be found if already enclosed in another shortcode.
828 -* Clarified error message if AJAX method cannot find shortcode.
829 -* Changed calls from `die()` to `wp_die()`.
830 -
831 -= 2.2 =
832 -* Removed `content-protector-admin-tinymce.js` (No need anymore; required JS variables now hooked directly into editor). Fixes incompatibility with OptimizePress.
833 -
834 -= 2.1.1 =
835 -* Added custom filter `content_protector_content` to emulate `apply_filter( 'the_content', ... )` functionality for form and CAPTCHA instructions.
836 -
837 -= 2.1 =
838 -* Rich text editors for form and CAPTCHA instructions.
839 -* NEW Template/Conditional Tag: `content_protector_is_logged_in()` (See Usage for details).
840 -* Performance improvements via Transients API.
841 -
842 -= 2.0 =
843 -* New CAPTCHA feature! Check out the CAPTCHA tab on Settings -> Content Protector for details.
844 -* Improved i18n.
845 -* Various minor bug fixes.
846 -
847 -= 1.4.1 =
848 -* Dashicons support for WP 3.8 + added. Support for old-style icons in Admin/TinyMCE is deprecated.
849 -* Unified dashicons among all of my plugins.
850 -
851 -= 1.4 =
852 -* Added "Display Success Message" option.
853 -
854 -= 1.3 =
855 -* Added "Shared Authorization" feature.
856 -* Renamed "Password Settings" to "General Settings".
857 -
858 -= 1.2.2 =
859 -* Added support for Contact Form 7 when using AJAX.
860 -
861 -= 1.2.1 =
862 -* Fixed label repetition on "Cookie expires after" drop-down menu.
863 -
864 -= 1.2 =
865 -* Various CSS settings now controllable from the admin panel.
866 -* Palettes on Settings color controls are now loaded from colors read from the active Theme's stylesheet. This
867 -should help in choosing colors that fit in with the active Theme.
868 -* Spinner image now preloaded.
869 -* Some language strings changed.
870 -
871 -= 1.1 =
872 -* AJAX loading message now customizable.
873 -
874 -= 1.0.1 =
875 -* Added required images for jQuery UI theme.
876 -* Fixed some i18n strings.
877 -
878 -= 1.0 =
879 -* Initial release.
880 -
881 -== Upgrade Notice ==
882 -= 2.8 =
883 -New features and bug fixes. Please upgrade.
884 -
885 -= 2.6.1 =
886 -New bug fixes. Please upgrade.
887 -
888 -= 2.3 =
889 -New features and bug fixes. Please upgrade.
890 -
891 -= 2.1.1 =
892 -Added custom filter `content_protector_content` to emulate `apply_filter( 'the_content', ... )` functionality for form and CAPTCHA instructions. Please upgrade.
893 -
894 -= 2.1 =
895 -New features. Please upgrade.
896 -
897 -= 2.0 =
898 -New features and bug fixes. Please upgrade.
899 -
900 -= 1.2.1 =
901 -Fixed label repetition on "Cookie expires after" drop-down menu. Please upgrade.
902 -
903 -= 1.0.1 =
904 -Added required images for JQuery UI theme and fixed some i18n strings.
905 -
906 -= 1.0 =
907 -Initial release.
908 -
909 -== Upgrade Notice ==
910 -
911 -= 4.2.13 =
912 -This resolved an issue with the "Activate Protection" option set for the Global protection page.
1 +=== Passster - Password Protect Pages and Content ===
2 +Contributors: wpchill, silkalns
3 +Tags: password protect, password, restrict content, sitewide, password protection
4 +Requires at least: 6.5
5 +Tested up to: 7.1
6 +Requires PHP: 7.2
7 +License: GPLv2 or later
8 +License URI: https://www.gnu.org/licenses/gpl-2.0.html
9 +Stable tag: 4.3.16
10 +
11 +== Description ==
12 +## Password Protect Pages, Posts & Content in WordPress
13 +
14 +Passster is an all-in-one plugin to password protect pages, content, or your entire site in seconds—quick, secure, and easy to use.
15 +Passster offers three protection modes to cover every use case you may think of when it comes to password protecting your WordPress website.
16 +
17 +https://www.youtube.com/watch?v=kjYklVLVFD8&list=PLM2tOjfhVrZdo_H26CV2I-UfdqpDWxo3D&index=4
18 +
19 +### Passster Pro – Even more protection features when making a purchase
20 +
21 +**Multiple Passwords & Password Lists**
22 +- Assign multiple passwords for different users.
23 +- Create and manage large password lists for easy control.
24 +
25 +**Quick & Bulk Edit for Password Protection**
26 +- Use WordPress **Quick Edit** and **Bulk Edit** to protect multiple pages instantly.
27 +
28 +**Unlock Content by User Role or Email**
29 +- Automatically grant access to specific users or email addresses.
30 +
31 +**Password Expiration & Usage Limits**
32 +- Set passwords to expire after a number of uses, first use, or by a time limit (hours, days, weeks).
33 +- Track which passwords were used and when they will expire.
34 +
35 +**Generate Unlock Links**
36 +- Create encrypted unlock links so users can access content without entering a password.
37 +- Automatically shorten links with **Bit.ly** for easy sharing.
38 +
39 +**WooCommerce Protection & Sales**
40 +- Protect WooCommerce pages, products, and checkout with a password.
41 +- Sell access to protected content—generate and email passwords automatically after purchase.
42 +
43 +**Detailed Password Usage Statistics**
44 +- Track when and how often passwords are used.
45 +- View first usage date, IP (optional), and browser details.
46 +
47 +## Quick Comparison (Free vs. Pro)
48 +
49 +### Free Version:
50 +✔ Protect sections of pages using shortcodes or blocks.
51 +✔ Secure entire pages and posts.
52 +✔ Automatically protect child pages with a single click.
53 +✔ Lock down your entire site with a password.
54 +✔ Unlock protected content without refreshing the page.
55 +✔ Customize the design, labels, and descriptions of the password form.
56 +✔ Use cookies to grant access across multiple protected areas.
57 +
58 +### Pro Version:
59 +✔ Everything in the free version, plus:
60 +✔ Protect content with **multiple passwords** or password lists.
61 +✔ Quickly set up password protection via Quick Edit or Bulk Edit.
62 +✔ Protect content using **Google reCAPTCHA or hCAPTCHA**.
63 +✔ Unlock protected content by **user role or email**.
64 +✔ Set passwords to **expire** based on usage limits or time intervals.
65 +✔ Generate encrypted **unlock links** for seamless access.
66 +✔ Track and prevent **concurrent password sharing**.
67 +✔ Secure **WooCommerce products and store pages**.
68 +✔ Sell access to protected content via **WooCommerce integration**.
69 +✔ Detailed statistics on password usage and lists.
70 +
71 +Get it now on [passster.com/](https://passster.com/)
72 +
73 +### Documentation
74 +
75 +Learn more about this plugin [in our official documentation](https://passster.com/kb/)
76 +
77 +== Support ==
78 +* Free users: [Ask in our forum](https://wordpress.org/support/plugin/content-protector/)
79 +* Pro users: [Get priority help](https://passster.com/contact-us/?utm_source=wordpress.org&utm_medium=web&utm_campaign=description&utm_term=contact+us)
80 +
81 +== Frequently Asked Questions ==
82 +
83 += Can I use Passster in multiple languages =
84 +All primary texts and information can be modified from the admin area of Passster.
85 +The plugin is fully translatable in your language. There are only en_EN and de_DE at the moment, but you can easily add your preferred language as a .po/.mo.
86 +It’s also fully compatible with WPML and Polylang.
87 +
88 += Where do I report security bugs found in this plugin? =
89 +
90 +Please report security bugs found in the source code of the Passster plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/9e5fb73f-e810-474a-a64f-c86081aa9b46). The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin."
91 +
92 +== Screenshots ==
93 +1. Passster Password Form
94 +2. Passster Settings Area General
95 +3. Passster Settings Area Design
96 +4. Passster Protected Areas
97 +5. Passster Protected Areas in page edit
98 +6. Passster Password Lists - Pro only
99 +7. Passster Statistics - Pro only
100 +
101 +== Installation ==
102 +
103 +Passster is simple to install:
104 +
105 +1. Download the .zip'
106 +2. Unzip
107 +3. Upload the directory to your '/wp-content/plugins' directory
108 +4. Go to the plugin management page and enable the Passster Plugin
109 +5. Browse to Settings > Passster
110 +6. Customise your settings and your good to go!
111 +
112 +== Changelog ==
113 += 4.3.16 - 18.09.2026 =
114 +* Added: Post Type Level Protection: password-protect an entire post type at once.
115 +* Fixed: Unlock link redirects on archive pages.
116 +
117 += 4.3.15 - 10.09.2026 =
118 +* Fixed: Compatibility issue with some page builders.
119 +
120 += 4.3.14 - 03.09.2026 =
121 +* Fixed: Security update.
122 +* Fixed: Minor admin UI improvements.
123 +
124 += 4.3.13 - 02.09.2026 =
125 +* Fixed: Security update.
126 +
127 += 4.3.12 - 01.09.2026 =
128 +* Fixed: Security update.
129 +
130 += 4.3.11 - 25.08.2026 =
131 +* Fixed: Some Design settings were not being applied to the password form.
132 +
133 += 4.3.10 - 21.08.2026 =
134 +* Fixed: Various password validation and unlock reliability improvements.
135 +
136 += 4.3.9 - 13.08.2026 =
137 +* Fixed: Security issue (thanks to WPScan).
138 +* Fixed: Block editor freezing when selecting a block built with page builders like Spectra.
139 +* Changed: Hid noisy Freemius notices (opt-in reminder, premium activation, plan upgrade messages).
140 +* Changed: Updated Freemius SDK to 2.13.4.
141 +
142 += 4.3.8 - 03.08.2026 =
143 +* Fixed: Security issue.
144 +* Fixed: Block editor freezing on pages built with Elementor.
145 +* Changed: Improved Protected Content block toolbar performance on pages with many blocks.
146 +
147 += 4.3.7 - 27.07.2026 =
148 +* Fixed: Security issue (thanks to Pierre Rudloff).
149 +
150 += 4.3.6 - 23.07.2026 =
151 +* Added: "Show Password" label is now customizable from the General settings tab.
152 +* Fixed: Per-page form text being used even when "Overwrite Defaults" is disabled.
153 +* Fixed: Instruction text showing as garbled characters when using the Protected Area block.
154 +* Fixed: Security issues (thanks to Revanth Hari Narayana Matte).
155 +
156 += 4.3.5 - 02.06.2026 =
157 +* Fixed: hCaptcha cookie not being recognized on subsequent page loads.
158 +* Fixed: Unlock links with special characters in instructions could cause encoding errors.
159 +* Fixed: Pass parameter being lost during global protection redirect.
160 +
161 += 4.3.4 - 08.05.2026 =
162 +* Fixed: Replaced non-functional license activation button on free version with installation guide for Passster PRO.
163 +* Fixed: Category lock not showing password form on regular post category archive pages.
164 +
165 += 4.3.3 - 03.04.2026 =
166 +* Changed: Enhance PS_Rest_Handler to allow public access to additional Passster endpoints for guest users.
167 +
168 += 4.3.2 - 30.03.2026 =
169 +* Fixed: Category lock for WooCommerce products and categories.
170 +* Changed: Page refresh on unlock is now on by default. Inline unlock can be enabled via Advanced → Unlock Behaviour.
171 +
172 += 4.3.1 - 20.03.2026 =
173 +* Fixed: Password label should not be visible, it's there for accessibility reasons.
174 +* Fixed: Password label is now translatable.
175 +* Fixed: Missing loading animation.
176 +
177 += 4.3.0 - 20.03.2026 =
178 +* Changed: Refactor settings display and added statistics page.
179 +* Added: Category lock.
180 +* Added: Passter Protected Area Gutenberg wrapper block.
181 +
182 += 4.2.29 - 12.02.2026 =
183 +* Fixed: Password validation and unlock link generation failing when the password contains the % character.
184 +
185 += 4.2.28 - 02.02.2026 =
186 +* Fixed: Nonce validation failing for logged-in users when fetched via REST endpoint.
187 +
188 += 4.2.27 - 27.01.2026 =
189 +* Fixed: Prevent nonce from being cached.
190 +* Fixed: Page protect children option.
191 +
192 += 4.2.26 - 16.01.2026 =
193 +* Fixed: Security update
194 +
195 += 4.2.25 - 14.01.2026 =
196 +* Fixed: Passster protected events do not show up in The Events Callendar REST requests.
197 +* Changed: Prevent nonce from being cached.
198 +* Fixed: Security update
199 +
200 += 4.2.24 - 12.01.2026 =
201 +* Fixed: Vulnerability in passster shortcode.
202 +* Fixed: Fix allowing hashed in unlocking page url.
203 +
204 += 4.2.23 - 08.01.2026 =
205 +* Fixed: Bug preventing password validation.
206 +
207 += 4.2.22 - 05.01.2026 =
208 +* Fixed: Vulnerability in passster shortcode.
209 +
210 += 4.2.21 - 18.12.2025 =
211 +* Fixed: Vulnerability in passster shortcode.
212 +
213 += 4.2.20 - 22.10.2025 =
214 +* Fixed: Security update
215 +
216 += 4.2.19 - 02.10.2025 =
217 +* Fixed: Vulnerability in passster shortcode.
218 +
219 += 4.2.18 - 15.09.2025 =
220 +* Added: null alt attribute to ps-loader image for better accessibility compliance.
221 +* Changed: Made password form input IDs unique per protected area to prevent duplicate IDs when using multiple forms on the same page.
222 +
223 += 4.2.17 - 22.07.2025 =
224 +* Fixed: Users with allowed roles can now access other pages when global restriction is active and the password page is excluded for them.
225 +
226 += 4.2.16 - 09.07.2025 =
227 +* Changed: Allow HTML & shortcodes in instructions.
228 +
229 += 4.2.15 - 17.03.2025 =
230 +* Added: Support for Turnstile captcha.
231 +
232 += 4.2.14 - 25.02.2025 =
233 +* Fixed: Unlock link was not working properly.
234 +
235 += 4.2.13 - 03.02.2025 =
236 +* Fixed: Global protection page was not being protected even if "Activate Protection" was on.
237 +
238 += 4.2.12 - 20.12.2024 =
239 +* Changed: Security update - Updated Freemius SDK
240 +
241 += 4.2.10 - 11.12.2024 =
242 +* Changed: Updated upsells information
243 +
244 += 4.2.9 - 10.12.2024 =
245 +* Added: Settings upsells
246 +
247 += 4.2.8 - 06.12.2024 =
248 +* Changed: Readme update
249 +
250 += 4.2.7 =
251 +
252 +* WP 6.7 compatibility
253 +* dependency updates
254 +* PHP 8.3 compatibility
255 +* make headline removable via design settings
256 +* default tag for headlines is now <span> for SEO purposes
257 +* fixed expiration with cookie usage (pro-only)
258 +
259 += 4.2.6.6 =
260 +
261 +* WP 6.6 compatiblity
262 +* latest dependencies for the block editor
263 +* fixed missing default value breaking design settings
264 +* latest Freemius SDK upgrade
265 +
266 += 4.2.6.5 =
267 +
268 +* improved expiration for passwords with unlock links
269 +* fixed escaping for redirect parameter
270 +* several security improvements
271 +* updated to 6.5 compatibility
272 +
273 += 4.2.6.4 =
274 +
275 +* exclude pagebuilders from rest restriction (frontend editing)
276 +
277 += 4.2.6.3 =
278 +
279 +* fixed components for WP 6.4.3 release (margin/radius)
280 +* restrict Rest API access with global protection
281 +
282 += 4.2.6.2 =
283 +
284 +* added exception for sanitized array setting (exclude pages)
285 +
286 += 4.2.6.1 =
287 +
288 +* added hook to combine generated password with order
289 +* improved sanitization on importer
290 +* added russian + ukrainian translation
291 +* SDK upgrade
292 +
293 += 4.2.6 =
294 +
295 +* WordPress 6.4 compatibility
296 +
297 += 4.2.5 =
298 +
299 +* WooCommerce email trigger after status complete
300 +* added filter for generated password
301 +* protected page optional for WooCommerce integration
302 +* improved admin UI contrasts
303 +* restructured design settings
304 +
305 += 4.2.4 =
306 +
307 +* WP 6.3 compatibility
308 +
309 += 4.2.3 =
310 +
311 +* some Freemius integration improvements
312 +
313 += 4.2.2 =
314 +
315 +* improved logout button markup
316 +* added action after validating password list hash
317 +* Freemius SDK update to 2.5.10
318 +
319 += 4.2.1 =
320 +
321 +* improved admin UI with permanent sidebar
322 +* improved value handling for margin/padding to avoid PHP notices
323 +* added filter to validate payment before sending e-mail (pro-only)
324 +
325 += 4.2 =
326 +
327 +* selling and generating passwords with WooCommerce (pro-only)
328 +* assign and manage multiple passwords lists (pro-only)
329 +* hotfix editing areas with Oxygen Builder
330 +* helper methods to automatically generate and add passwords to lists
331 +* statistics for password usage + custom database table
332 +* expiration statistics for passsword lists
333 +* fixed area shortcode inspector controls
334 +* GPDR friendly tracking implementation
335 +
336 += 4.1.4 =
337 +
338 +* reverted hcaptcha integration
339 +* updated admin links to new URL structure
340 +* fixed expiration settings with new encryption
341 +* fixed PHP notice if reCaptcha doesn't return a response
342 +
343 += 4.1.3.1 =
344 +
345 +* v4 API integration for Bit.ly
346 +
347 += 4.1.3 =
348 +
349 +* fixed conditional for unlock links
350 +* support for additional URL parameters in cache friendly URLs
351 +* prevent multiple renders in quick edit
352 +* hcaptcha with checkbox
353 +* removed default margin from CSS
354 +* copy shortcode with fallback for Block Editor
355 +* removed deprecated compatibility method
356 +
357 += 4.1.2 =
358 +
359 +* fallback solution to get post id in classic editor
360 +* fixed saving meta data in classic editor
361 +* compatibility with disable gutenberg plugin
362 +
363 += 4.1.1 =
364 +
365 +* fixed regex pattern in deprecated shortcode
366 +* removed regex pattern for captcha as the feature no longer exists
367 +
368 += 4.1 =
369 +
370 +* protect child pages
371 +* quick edit and bulk edit pages/posts for protection (pro-only)
372 +* hCaptcha protection (pro-only)
373 +* preventing PHP notices with concurrent usage and recaptcha
374 +* better dynamics for admin column + less intrusive styling
375 +
376 += 4.0.1 =
377 +
378 +* fixed reCAPTCHA selection not saving in admin
379 +* improved fallback margin/padding for protection block
380 +* improved description of the unlock mode to make it easier to understand
381 +
382 += 4.0 =
383 +
384 +* entirely new admin UI rewritten with React
385 +* custom block to select areas
386 +* ability to generate passwords
387 +* improved global protection UI
388 +* ability to exlude pages from global protection
389 +* on-the-fly unlock link generation
390 +
391 += 3.5.5.7 =
392 +
393 +* modified Freemius prefix to prevent compatibility errors with Post SMTP plugin
394 +
395 += 3.5.5.6 =
396 +
397 +* fixed Elementor integration with areas.
398 +
399 += 3.5.5.5.2 =
400 +
401 +* improved fallback solution to convert base64 to hmac
402 +* changed validation priority: cookies - links - post data for quicker validation
403 +
404 += 3.5.5.5.1 =
405 +
406 +* integrated converter to automatically convert old link encryption to new hashed encryption
407 +* fixed missing hash_nonce value in wp_localize_scripts
408 +
409 += 3.5.5.5 =
410 +
411 +* dynamic version number for cache busting after update
412 +* new encryption for encrypted links
413 +* cleared up upgrade/activation code
414 +* includes + load_textdomain in plugins_loaded
415 +* fixed task priority with global protection and redirect
416 +* fixed ReCaptcha v2 validation and content return statement
417 +* better default settings
418 +
419 +
420 += 3.5.5.4 =
421 +
422 +* improved hmac validation with cookies
423 +* fixed reload in combination with global page protection
424 +* introduced a unique secret key per installation
425 +* reverted Rest API implementation and used Ajax instead
426 +
427 += 3.5.5.3.1 =
428 +
429 +* fix for captcha/recaptcha validation with hew hmac encryption
430 +
431 += 3.5.5.3 =
432 +
433 +* fixed escaping area id in shortcode
434 +* implemented concurrent logins feature
435 +* encryption for cookies with unique secret key (hmac)
436 +* dedicated ajax class to handle validation
437 +* Rest API implementation for password encryption
438 +* general code cleanup (better performance + improved doc blocks)
439 +* consistent singletone pattern for all classes
440 +* better check for areas and full page protection (improved security)
441 +* latest freemius SDK
442 +* improved cookie-js implementation with sameSite attributes
443 +* fixed logo font rendering
444 +
445 += 3.5.5.2 =
446 +
447 +* filter to disable base64 encryption for cookies and links
448 +* Freemius SDK update
449 +* jQuery migrate fix for captcha
450 +* improved escaping of shortcode attributes (area and password lists)
451 +
452 += 3.5.5.1 =
453 +
454 +* better permission check settings page
455 +* better permission check metaboxes
456 +* improved german translation
457 +* added redirect parameter and settings
458 +* updated cookie js for better compatibility
459 +* added support for WooCommerce products and shop pages
460 +* filter to allow spaces in passwords
461 +* fixed version number
462 +
463 += 3.5.4 =
464 +
465 +* fixed notice for checking areas
466 +* updated dependencies
467 +* fixed security issue in is_valid()
468 +* fixed validation with reload option
469 +
470 += 3.5.3 =
471 +
472 +* security patch
473 +* better error handling with fade and clear input
474 +* better area restriction
475 +* better performance for password checkups
476 +* removed rych hash dependency
477 +* improved WooCommerce product restriction
478 +* Gutenberg Support for areas
479 +* fixed notice for bitly check
480 +* fixed notice for recaptcha validation
481 +
482 += 3.5.2 =
483 +
484 +* fix for shortcode validation capabilities
485 +* improved validation for global protection
486 +
487 += 3.5.1 =
488 +* bugfix for link protection
489 +* pagebuilder editing support for areas
490 +* fixed show password function
491 +* is_valid() for areas
492 +* dynamic {post-id} parameter for shortcodes in AJAX
493 +* hide parameter for areas
494 +* check form values before AJAX submit (required attributes for example)
495 +
496 += 3.5 =
497 +
498 +* introduced protected areas
499 +* shortcode configurator in areas
500 +* bugfix: spaces in password lists
501 +* PHP 8 support improvements
502 +* removed auto-updater for options
503 +* automatically add metaboxes to all registered (public) post types
504 +* removed wp_auto_p() for Oxygen Builder support
505 +* removed deprecated Pagebuilder modules (handled with areas now)
506 +* min value for Cookie set to 1 and no negativ values possible
507 +* improved widget support with areas
508 +* performance optimization for large password lists
509 +
510 +
511 += 3.4.2 =
512 +
513 +* lighter freemius integration
514 +* admin UI improvements
515 +* direct links for documentation and support in admin header
516 +
517 += 3.4.1 =
518 +
519 +* added expire by usage and time for password lists (pro only)
520 +* added global password protection
521 +* base64 encryption for cookies
522 +* bugfix for bitly URL toggle (pro only)
523 +* improved uninstall with latest options
524 +* auto activate reload option if pagebuilder is activated
525 +
526 += 3.4 =
527 +
528 +* added support to unlock widgets via ajax
529 +* added support to unlock acf fields via ajax
530 +* added shortcode params to page protection (pro only)
531 +* added user restriction to page protection (pro only)
532 +* fixed one-time usage for password lists without ajax (pro only)
533 +* added option to redirect to source URL after link unlock (pro only)
534 +
535 += 3.3.9 =
536 +* latest freemius SDK
537 +* fixed ID parameter for multiple forms per page
538 +* custom headline, ID parameter for Recaptcha v2/v3
539 +* better enqueue for ReCaptcha v2
540 +
541 += 3.3.8 =
542 +* removed old cache busting prevent 404 errors for files
543 +* wp_enqueue_script for ReCaptcha preventing cache issues
544 +* introduced ajax loader to indicate verification
545 +* fixed metabox showing wrong selected password list
546 +* improved admin wording for more clarification
547 +* updated german translation files
548 +
549 += 3.3.7 =
550 +
551 +* WordPress 5.5 compatibility
552 +* Elementor with Ajax mode compatibility
553 +* added WPML config file
554 +* update german translation
555 +* prevent fatal error if ps_run_plugin() is already declared
556 +* number field instead of text for cookie duration
557 +* ReCaptcha without async defer (handled via Caching plugins)
558 +* fixed PHP notice for bitly integration
559 +
560 += 3.3.6 =
561 +* cache-busting for no-ajax mode and cookies
562 +* fixed double docs link
563 +* support option for third-party-shortcodes with pre-render
564 +* removed auto-space from password lists
565 +* new link encryption solution with metabox and bitly
566 +* hide parameter for WPBakery integration
567 +* updated and fixed german translation
568 +
569 += 3.3.5 =
570 +* performance improvements for password lists
571 +* support for Google ReCaptcha v2 with selection
572 +* more efficient ajax handling for different unlock methods.
573 +* auto-update cookie settings if no ajax mode is used.
574 +
575 += 3.3.4.1 =
576 +* more robust regex for various shortcode implementations
577 +* added action to track unlocks with Google Analytics and other tracking solutions
578 +
579 += 3.3.4 =
580 +* fixed additional params to overwrite texts in the shortcode
581 +* fixed empty content while using additional parameters
582 +* added tablepress support for ajax
583 +* implemented old recaptcha parameters for backwards compatibility
584 +
585 += 3.3.3 =
586 +* better compatibility mode with cache busting
587 +* better ReCaptcha integration with ajax and with cookies
588 +* compatibility: full page protection with divi builder
589 +* more reliable way to get valid response via ajax
590 +* mobile-friendly cache-busting after authentication
591 +
592 += 3.3.2 =
593 +* added compatibility mode for forcing reload
594 +* compatibility fix Elementor full page protection
595 +* compatibility fix WpBakery Pagebuilder full page protection
596 +* re-added error message in Customizer
597 +* improved german translation
598 +
599 +* fixed captcha loading while not in use
600 +* fixed wrong redirection after activation
601 +* fixed wrong object call for elementor users.
602 +
603 += 3.3.1 =
604 +* fixed captcha loading while not in use
605 +* fixed wrong redirection after activation
606 +* fixed wrong object call for elementor users.
607 +
608 += 3.3 =
609 +* major release
610 +* new admin UI and simplfied settings
611 +* password protection for pages, posts and products
612 +* new captcha solution with canvas objects
613 +* new Google ReCaptcha v3 integration
614 +* removed requirements for PHP sessions for better compatibility
615 +* removed old Google API vendor for better compatibility
616 +* refactored the entire shortcode and submit solution
617 +* ajax-based submit and validation - no page reload required anymore
618 +* fixed cookie solution for captcha, ReCaptcha
619 +* easier template function is_valid() for complete checks of all parameters
620 +* fixed shortcode parameters for headline and id
621 +* better uninstall cleanup
622 +* intrated metabox for setting Passster settings for complete pages
623 +
624 +
625 += 3.2.6.1 =
626 +* cookie for passwords conditional function fixed
627 +* introduced API parameter to elementor and beaver builder
628 +* fixed notice if api not available in helper methods
629 +
630 += 3.2.6 =
631 +* WPBakery Page Builder row protection with correct default values
632 +* new helper class for cookies
633 +* api parameter possibility to add external apis
634 +
635 += 3.2.5 =
636 +* Another VC protection row fix..
637 +* compatibility WPBakery 6.0.5
638 +
639 += 3.2.4 =
640 +* VC row protection fix
641 +* new partly parameter
642 +* cookie set fix and conditional function to check for
643 +* new type hint solution (better jQuery compatibility)
644 +* is_cookie_valid check for all password related protection types
645 +* admin css fixes with prefix
646 +
647 +
648 += 3.2.3 =
649 +* Password Lists fix for all page builder
650 +* prevent autoload error if free and premium version installed
651 +* customizer as default values for page builder options
652 +* placeholder now configurable in the customizer
653 +
654 += 3.2.2 =
655 +* fixed captcha notice
656 +* fixed rows shortcode for WPBakery Pagebuilder
657 +* more efficient notice handling in admin area
658 +
659 += 3.2.1 =
660 +* adding the "hide" parameter to hide forms if set and multiple forms used
661 +* compatibility AAM plugin fix for multiple user roles
662 +* captcha is now a free addon - lower php version needed for basic password usage
663 +* check_atts method now working correctly
664 +* WPBakery Pagebuilder addon fix (free)
665 +* WPBakery Pagebuilder addon protect rows (only pro)
666 +* add message for captcha usage
667 +* new (and working) solution for show passwords before submitting
668 +
669 += 3.2.0.6 =
670 +* new AMP support with cookies
671 +* Fixed delete error notice for passster_lists function not exists
672 +* introduced new helper function for AMP set_amp_headers()
673 +* drop db table for sessions if full uninstall option set
674 +* customizer option to show password while typing
675 +
676 += 3.2.0.5 =
677 +* fixed amp notice
678 +* fixed backend_admin_notice error
679 +* fixed customizer for themify ultra theme
680 +
681 += 3.2.0.4 =
682 +* PS_List collision fix
683 +
684 += 3.2.0.3 =
685 +* autoload backupwp collision fix
686 +
687 += 3.2.0.2 =
688 +* SVN fix for missing files
689 +* cookies for conditional functions
690 +
691 += 3.2.0.1 =
692 +* pagebuilder path fix
693 +* admin amp option fix
694 +
695 += 3.2 =
696 +* security patch freemius
697 +* add cookie option for multiple passwords
698 +* add pagebuilder addons in free version
699 +* fix php notices for php 7 support
700 +* remove OptionsHandler class for support older php versions
701 +* add password lists (admin + shortcode)
702 +* update translation files
703 +* added AMP support for all protection types
704 +* improve default values after Installation
705 +
706 += 3.1.9.1 =
707 +* Fix PHP 5.6 upgrader problems
708 +* Moved autoloader up so database upgrade is handeled correctly
709 +
710 +
711 += 3.1.9 =
712 +* PHP 5.6 compatibility
713 +* function naming fixes
714 +* optimize session handler class
715 +
716 += 3.1.8 =
717 +* introduce conditional functions for template usage
718 +* completely remove the autofocus
719 +* fixes save settings for user_toggle option
720 +* updates the session handling for captcha to PHP 7.2 compatibility
721 +* prevents autofill for safari, chrome and webkit supported browsers
722 +
723 += 3.1.7 =
724 +* includes fixes for beaver builder module support
725 +
726 += 3.1.6 =
727 +* Support Release
728 +* Fixed multiple passwords runtime
729 +* add customizer notice on Installation
730 +* improved german translation
731 +* add an seprate atts function for more readable code
732 +* add new users addon
733 +*
734 +
735 += 3.1.5 =
736 +* Support Release
737 +* Add auth parameter for multiple shortcodes per page
738 +* Fixed <span> for error messages
739 +* Fixed wp_enqueue_styles for windows servers
740 +* Fixed php notice for captcha options
741 +
742 += 3.1.4 =
743 +* Support Release
744 +* fixed problems with WP Sessions table and Database Handler
745 +* fixed License Activation
746 +* Add option for autofocus
747 +* fixed helper for addon activation
748 +
749 += 3.1.3 =
750 +* Support Release
751 +* Major improvements for captcha
752 +* set width and height for captcha
753 +* integrate wp-sessions-manager for session handling via database
754 +* adding page builder support for elementor, WPBakery Pagebuilder and beaver builder (pro only)
755 +* fix one pager bug with passster forms
756 +
757 += 3.1.2 =
758 +* Support Release
759 +* Add placeholder and button label per shortcode
760 +* Fix option set issues for captcha
761 +* get rid of HTTP API and all external calls and replace with object cache
762 +
763 += 3.1.1 =
764 +* Support Release
765 +* Fixing PHP notice for addons
766 +* replace_file_get_contents() with WP HTTP API
767 +
768 += 3.1 =
769 +* new admin ui
770 +* captcha is back!
771 +* cache-compatible cookie solution
772 +* design modifications via customizer
773 +* cross-browser-compatible forms
774 +* shortcode generator
775 +* password generation with newset bcrypt standards
776 +* password generator
777 +* fix several bugs like instructions text, translations, php errors
778 +
779 += 3.0 =
780 +* under new development
781 +* compatibilty with WordPress 4.9+
782 +* clean up and restructure whole plugin
783 +* remove deprecated solutions for ajax and captcha
784 +* removed date based selection of cookie expires
785 +
786 += 2.11 =
787 +* Setting "Password Field Placeholder" now accessible through "Settings -> Passster -> Password/CAPTCHA Field"
788 +
789 += 2.10 =
790 +* Form and CAPTCHA instructions moved to outside the form.
791 +* `content_protector_unlocked_content` filter bug in AJAX mode fixed.
792 +* CSS for `div.content-protector-form-instructions` fixed.
793 +* New Setting "CAPTCHA Case Insensitive" - to allow users to enter CAPTCHAs w/o case-sensitivity.
794 +* New action `content_protector_ajax_support` - for loading any extra files needed to support your protected content in AJAX mode.
795 +
796 += 2.9.0.1 =
797 +* Fixed bug crashing `content_protector_unlocked_content` filter.
798 +* Full AJAX support for `[caption]` built-in shortcode.
799 +
800 += 2.9 =
801 +* Full AJAX support for `[embed]`, `[audio]`, and `[video]` built-in shortcodes.
802 +* Added full support for `[playlist]` and `[gallery]` built-in shortcodes.
803 +* Fixed Encrypted Passwords Storage setting message bug.
804 +* `content_protector_content` filter now called `content_protector_unlocked_content`.
805 +* `content_protector_unlocked_content` filter can now be customized from the Settings -> General tab.
806 +* `the_content` filter now applied to form and CAPTCHA instructions.
807 +
808 += 2.8 =
809 +* Partial AJAX support for `[embed]`, `[audio]`, and `[video]` built-in shortcodes. (experimental)
810 +* Fixed AJAX error from code refactoring
811 +
812 += 2.7 =
813 +* Displaying Form CSS on unlocked content is now a user option (on the Form CSS tab).
814 +* When saving settings, the Settings page will now remember which tab you were on and load it automatically,
815 +* Fixed potential cookie expiry bug for sessions meant to last until the browser closes (expiry time set explicitly to '0').
816 +* Improved error checking for conflicting settings.
817 +* Some code refactoring.
818 +
819 += 2.6.2 =
820 +* Fixed output buffering bug for access form introduced in 2.6.1.
821 +
822 += 2.6.1 =
823 +* Fixed AJAX security nonce bugs.
824 +
825 += 2.6 =
826 +* jQuery UI theme updated to 1.11.4
827 +
828 += 2.5.0.1 =
829 +* New setting to manage encrypted passwords transient storage.
830 +* New settings for Password/CAPTCHA Fields character lengths.
831 +* Improved option initialization and cleanup routines.
832 +* `content-protector-ajax.js` now loads in the footer.
833 +* WPML/Polylang compatibility (beta).
834 +* New partial translation into Serbian (Latin); thanks to Andrijana Nikolic from WebHostingGeeks (Novi parcijalni prevod na Srpski ( latinski ); Hvala Andrijana Nikolic iz WebHostingGeeks)
835 +
836 += 2.5 =
837 +* Skipped
838 +
839 += 2.4 =
840 +* Skipped
841 +
842 += 2.3 =
843 +* Settings admin page now limited to users with `manage_options` permission (i.e., admin users only).
844 +* Fixed bug where when using AJAX and CAPTCHA together, CAPTCHA image didn't reload on incorrect password.
845 +* New settings: use either a text or password field for entering passwords/CAPTCHAs, and set placeholder text for those fields.
846 +* Added `autocomplete="off"` to the access form.
847 +* Streamlined i18n for date/time pickers (Use values available in Wordpress settings and `$wp_locale` when available, combined *-i18n.js files into one).
848 +
849 += 2.2.1 =
850 +* Fixed AJAX bug where shortcode couldn't be found if already enclosed in another shortcode.
851 +* Clarified error message if AJAX method cannot find shortcode.
852 +* Changed calls from `die()` to `wp_die()`.
853 +
854 += 2.2 =
855 +* Removed `content-protector-admin-tinymce.js` (No need anymore; required JS variables now hooked directly into editor). Fixes incompatibility with OptimizePress.
856 +
857 += 2.1.1 =
858 +* Added custom filter `content_protector_content` to emulate `apply_filter( 'the_content', ... )` functionality for form and CAPTCHA instructions.
859 +
860 += 2.1 =
861 +* Rich text editors for form and CAPTCHA instructions.
862 +* NEW Template/Conditional Tag: `content_protector_is_logged_in()` (See Usage for details).
863 +* Performance improvements via Transients API.
864 +
865 += 2.0 =
866 +* New CAPTCHA feature! Check out the CAPTCHA tab on Settings -> Content Protector for details.
867 +* Improved i18n.
868 +* Various minor bug fixes.
869 +
870 += 1.4.1 =
871 +* Dashicons support for WP 3.8 + added. Support for old-style icons in Admin/TinyMCE is deprecated.
872 +* Unified dashicons among all of my plugins.
873 +
874 += 1.4 =
875 +* Added "Display Success Message" option.
876 +
877 += 1.3 =
878 +* Added "Shared Authorization" feature.
879 +* Renamed "Password Settings" to "General Settings".
880 +
881 += 1.2.2 =
882 +* Added support for Contact Form 7 when using AJAX.
883 +
884 += 1.2.1 =
885 +* Fixed label repetition on "Cookie expires after" drop-down menu.
886 +
887 += 1.2 =
888 +* Various CSS settings now controllable from the admin panel.
889 +* Palettes on Settings color controls are now loaded from colors read from the active Theme's stylesheet. This
890 +should help in choosing colors that fit in with the active Theme.
891 +* Spinner image now preloaded.
892 +* Some language strings changed.
893 +
894 += 1.1 =
895 +* AJAX loading message now customizable.
896 +
897 += 1.0.1 =
898 +* Added required images for jQuery UI theme.
899 +* Fixed some i18n strings.
900 +
901 += 1.0 =
902 +* Initial release.
903 +
904 +== Upgrade Notice ==
905 += 2.8 =
906 +New features and bug fixes. Please upgrade.
907 +
908 += 2.6.1 =
909 +New bug fixes. Please upgrade.
910 +
911 += 2.3 =
912 +New features and bug fixes. Please upgrade.
913 +
914 += 2.1.1 =
915 +Added custom filter `content_protector_content` to emulate `apply_filter( 'the_content', ... )` functionality for form and CAPTCHA instructions. Please upgrade.
916 +
917 += 2.1 =
918 +New features. Please upgrade.
919 +
920 += 2.0 =
921 +New features and bug fixes. Please upgrade.
922 +
923 += 1.2.1 =
924 +Fixed label repetition on "Cookie expires after" drop-down menu. Please upgrade.
925 +
926 += 1.0.1 =
927 +Added required images for JQuery UI theme and fixed some i18n strings.
928 +
929 += 1.0 =
930 +Initial release.
931 +
932 +== Upgrade Notice ==
933 +
934 += 4.2.13 =
935 +This resolved an issue with the "Activate Protection" option set for the Global protection page.