CHANGES
4.0.1
- Increase captcha difficulty
- Add setting "use_text_angles". Enable to select a random angle and step value and draw each character at an angle in a step like fashion
- Add setting "use_random_spaces". Enable to insert 1-3 spaces between a random group of letters some of the time
- Add setting "use_random_baseline". Enable to draw letters at a random height instead of centered. Each character's baseline is a step up or down from the previous (not totally random)
- Add setting "use_random_boxes". Enable to draw a bounding box around one or more characters at random
- Improve performance of captcha generation when using distortion (perturbation) and noise (noise_level)
- Enable image anti-aliasing
- Make all text functions multibyte safe when using UTF-8 or other encodings for charsets and wordlists (using mbstring)
- Deprecate background images. May be removed in future version or limited to special use
- Fix code display issue when using a math captcha that was re-displayed after being retrieved from a StorageAdapter
4.0.0
- REMOVE namespaces (everything is tied to a captcha ID now)
- Implement StorageAdapter interface
- Move session and database storage into StorageAdapters
- Add memcached StorageAdapter (requires PHP extension memcached)
- Add Redis StorageAdapter (requires PHP extension Redis [https://github.com/phpredis/phpredis])
- REMOVE options use_sqlite_db and sqlite_database (deprecated since 3.2 RC4)
- REMOVE database options from class (options are now defined in config.inc.php)
- REMOVE Flash audio playback and Flash fallback
- REMOVE "static captcha" functionality (getCaptchaId and checkByCaptchaId)
- REMOVE SoX audio manipulation from PHP via shell_exec
3.6.6
- Not critical: Fix potential HTML injection in example form via HTTP_USER_AGENT (CVE-2017-14077)
3.6.5
- Fix regex in replaceElements in securimage.js
- Update examples
- Exclude certain examples from Git autogenerated archives
3.6.4
- Fix XSS vulnerability in example_form.ajax.php (Discovered by RedTeam. advisory rt-sa-2016-002)
- Update example_form.ajax.php to use Securimage::getCaptchaHtml()
3.6.3
- Add support for multibyte wordlist files
- Fix code generation issues with UTF-8 charsets
- Add parameter to getCaptchaHtml() method to control display components of captcha HTML
- Fix database audio storage issue with multiple namespaces
3.6.2
- Support HTTP range requests with audio playback (iOS requirement)
- Add optional config.inc.php for storing global configuration settings
3.6.1
- Fix copyElement bug in securimage.js for IE Flash fallback
3.6
- Implement CAPTCHA audio using HTML5