All Versions
38
Latest Version
Avg Release Cycle
17 days
Latest Release
2578 days ago

Changelog History
Page 4

  • v2.4.2 Changes

    ๐Ÿš€ This release is not so huge as previous, but extremely important, because it drops backward compatibility, even, partially, with last release, read on.

    Bad things first:

    • ๐Ÿš€ if you're running any old version - you need to update system to 1.110.0+build-985 first, then update all components (otherwise they will not be able to uninstall completely) and ensure you've read all release notes about releases newer that you currently use, modified your code accordingly and there are no errors and deprecated messages in log file
    • โšก๏ธ also right after upgrade to 2.4.2+build-1005 update all components

    Now exciting good news:

    • no redundant elements for backward compatibility!
    • ๐Ÿ‘ better performance!
    • more static code analysis with SensioLabsInsights and Scrutinizer!
    • ๐Ÿ‘ PHP 5.5 is the minimum supported version now and we can use new features inside system core!

    ๐Ÿ†• New components:

    • None

    ๐Ÿ†• New features:

    • cs\CRUD_helpers trait added to reduce code duplicating for trivial additional operations when using cs\CRUD trait (currently includes search method)
    • Scrutinizer badge added
    • Block templates now have access to $block variable, so they can render block as they like

    โšก๏ธ Updates:

    • ๐Ÿ†• New upstream version of UPF, dropped PHP 5.4 support

    ๐Ÿ›  Fixes and small improvements:

    • OAuth2: Fix for refresh_token in OAuth2 module
    • Deferred tasks: Split \cs\modules\Deferred_tasks::run method into two, because they both do not share any common code anyway
    • ๐Ÿšš OAuth2: Unnecessary return statement removed, fixed potential error in Http server mode because of function redeclaration
    • ๐Ÿ”จ Some refactoring of DB-related classes and usages
    • ๐Ÿ›  Fix for removing empty gallery
    • Simplification in \cs\Page class
    • ๐Ÿ›  Tiny fixes in \cs\Config\Module_Properties
    • ๐Ÿ”จ Refactoring and fixes in \cs\Session, do not update sign_in time unless really sign in
    • Reformatting and simplification of \cs\Permissions
    • ๐Ÿ”จ Refactoring and simplification of \cs\User\Permission trait
    • โฌ‡๏ธ Dropped deprecated internal method in \cs\Core class
    • โšก๏ธ Huge PhpDoc update that will allow more precise static analysis:
      • bool in multiple return types of PhpDoc sections in many cases replaced by false as more specific type
      • some PhpDoc types corrected
    • ๐Ÿ”จ Refactoring and simplification of \cs\Index class
    • ๐Ÿ›  Fixes for warnings on admin pages
    • ๐Ÿ›  Generally big amount of PhpDoc improvements and small fixes

    ๐Ÿ—„ Deprecations:

    • Well, this is backward incompatible version:)

    โฌ‡๏ธ Dropped backward compatibility:

    • ๐Ÿ—„ All deprecated functionality was dropped
    • All components now require System of version >= 2.0, but < 3.0 since API will be backward-compatible for whole 2.x series
    • ๐Ÿš€ Dropped update support from System versions older than previous release, the same for all components
    • โฌ‡๏ธ Dropped support for PHP 5.4
    • Meta information unification (sorry, no transitional version this time):
      • meta/db.json contents of components now available as db field in meta.json
      • meta/storage.json contents of components now available as storage field in meta.json
      • versions.json contents of components now available as update_versions field in meta.json

    ๐Ÿ— Latest builds on SourceForge downloads page (details about installation process) or download source code and build it yourself

  • v1.110.0 Changes

    ๐Ÿš€ Major change in this release happening to session management. \cs\Session class introduced and now covers all session management functionality instead of having everything in still large \cs\User class. Though, complete backward compatibility is present and will be kept until 2.0.

    ๐Ÿš€ Also this release brings new module Blockchain payment, this is actually first payment module, it integrates nicely with Shop module and any other if needed, and allows to accept payments in Bitcoin!

    ๐Ÿ— This is not all yet, now all builds are automatic! This means that all stable builds will be kept as long, as you need them, also bleeding edge nightly builds are prepared after each commit just for you!

    ๐Ÿš€ One more thing here - if you are using PHP 5.4 - it is encouraged to upgrade to 5.5 or even better 5.6, because 5.4 support will be dropped in 2.0 release together with all deprecated functionality.

    ๐Ÿ’… Look at SourceForge downloads page.

    ๐Ÿš€ This is the last release before 2.0, be sure to keep your components up to date for easy and smooth upgrade to next major release! ๐Ÿš€ Update to 2.0 will be available only from 1.110.0+, update older releases to 1.110 before moving forward!

    ๐Ÿ†• New components:

    • New Blockchain payment module, pay for anything in Bitcoin

    ๐Ÿ†• New features:

    • Shop: Notion of currency added to Shop module
    • ๐Ÿ†• New events:
      • System/Config/init/before
      • System/Config/init/after
      • System/Session/init/before
      • System/Session/init/after
      • System/Session/del/before
      • System/Session/del/after
      • System/Session/del_all
    • Now it is possible to use .cs-table-* classes in addition to custom elements with the same name
    • ๐Ÿ— Since now after each commit new builds will be published on SourceForge

    โšก๏ธ Updates:

    • ๐Ÿ†• New upstream version of BananaHTML
    • ๐Ÿ†• New upstream version of WebComponents.js, thankfully, no patches needed this time
    • ๐Ÿ†• New upstream version of UIkit
    • ๐Ÿ†• New upstream version of UPF:
      • Do not allow custom elements (with dash in name or regular elements with is property)

    ๐Ÿ›  Fixes and small improvements:

    • โšก๏ธ Throwing deprecated error on PHP 5.4 with recommendation to update to 5.5+
    • ๐Ÿš€ Run Travis CI tests on PHP 7, nightly builds currently, to be ready when it will be released officially as stable
    • ๐Ÿ‘ Shop: Some events now passes currency together with other arguments in order to provide better context
    • ๐Ÿ›  Fix for cs.config when passing array there
    • Shop: Do not show "Pay now" for cash payment method
    • Shop: Additional parameter in payment confirmation event - callback, to avoid redirects when it is not desirable
    • Shop: Repeated payment confirmation will have no effect, so can be freely executed as many times as needed
    • Shop: Fix for "Pay later" button didn't work
    • Shop: Fix for bug when after successful payment order status didn't change (paid property worked fine)
    • Shop: Fix for wrong recalculation of available units
    • ๐Ÿšš Big changes again: \cs\Session class introduced, all session-related work moved from \cs\User to new class
    • ๐Ÿšš User-specific settings processing moved to event handler instead of doing it in session object
    • System core and components switched to using \cs\Session for session-related things and it's events
    • โšก๏ธ Http server: Http server updated according to new structure of System core
    • ๐Ÿš€ release-notes.md added in oder to avoid relying purely on GitHub releases
    • Http server: Disable memory cache for \cs\User class under http server
    • ๐Ÿ”จ Hugely refactored, simplified and improved dependencies check
    • ๐Ÿ“ฆ Now dependency check will account conflicts in both sides, not only from side of package that is going to be installed
    • โšก๏ธ package item in some modules updated to reflect real name of package directory
    • ๐Ÿ›  Fix for inclusion multiple inline Web Components
    • ๐Ÿ”ง Inline scripts inclusion placed near file includes (placement depends on configuration)
    • ๐Ÿ‘Œ Support of new meta.json option for hiding module in main menu
    • ๐Ÿ“ฆ Do not use /dir file in module/plugin/theme distributive package, use package from meta.json file instead, but still keep file until 2.0 for backward compatibility
    • ๐Ÿ‘ท Force Travis CI to use container-based infrastructure
    • ๐Ÿ— Build scripts moved info single class
    • DarkEnergy theme doesn't have hardcoded copyright anymore, <!--bottom_blocks--> might be used to specify it instead, also <!--top_blocks--> might be used to customize header
    • ๐Ÿ“ฆ Do not use /version file in system core package anymore, keep for backward compatibility till 2.0
    • ๐Ÿ“ฆ meta.json added to system core package root
    • ๐Ÿ— Significantly faster build creation
    • ๐Ÿ‘ Allowed building multiple modules, plugins and themes at once in corresponding mode
    • ๐Ÿ›  Fix for admin page not opening because of missing \cs\Route class import
    • ๐Ÿ›  Fixed forms for permissions addition and editing
    • ๐Ÿšš Http server: Move some code in Http_server module into namespace
    • Actually no need for exit in Core class
    • Get rid of exit, we can actually replace them with echo + return statements
    • โšก๏ธ Files permissions updated
    • SensioLabInsight badge added, existing renamed and switched to SVG
    • ๐Ÿ›  Fix for incorrect detection of other components that provides the same functionality
    • Some tweaks suggested by SensioLabsInsight
    • ๐Ÿšš \cs\Language instance caching removed from __() function
    • ๐Ÿšš User-specific directories removed from .gitignore
    • ๐Ÿšš Multiple unused variables removed
    • ๐Ÿšš Multiple unused use statements removed
    • Photo gallery: Fix for potential bug with images deletion in Photo gallery module
    • ๐Ÿ”จ \cs\Mail class refactoring
    • Avoid using goto in \cs\Session
    • ๐Ÿ”จ Refactoring of \cs\DB\MySQLi
    • ๐Ÿ›  LOTS of smaller fixes all over the place

    ๐Ÿ—„ Deprecations:

    • ๐Ÿ—„ Deprecated events (use newer instead):
      • System/Config/before_init
      • System/Config/after_init
      • System/User/del_session/before
      • System/User/del_session/after
      • System/User/del_all_sessions

    Possible partial compatibility breaking (very unlikely, but still possible):

    • ๐Ÿšš Set of functions removed from global namespace because were used in one or two places only, and there was no need to add them into global namespace. Removed functions:
      • check_mcrypt
      • curl
      • apc
      • memcached

    ๐Ÿ— Latest builds on SourceForge downloads page (details about installation process) or download source code and build it yourself

  • v1.88.4 Changes

    ๐Ÿš€ Major change in this release happening to routing. \cs\Route class introduced and now covers all routing functionality instead of having part of it in \cs\Config and \cs\Index classes. Though, complete backward compatibility is present and will be kept until 2.0.

    ๐Ÿš€ This is the last or pre-last release before 2.0, be sure to keep your components up to date for easy and smooth upgrade to next major release!

    ๐Ÿ†• New components:

    • None

    ๐Ÿ†• New features:

    • Planned transition to Controller-based routing in System module
    • โšก๏ธ Big amount of code duplication removed using new generic methods for packages installation, updating and removal
    • ๐Ÿ†• New events:
      • System/Route/pre_routing_replace
      • System/Route/routing_replace

    โšก๏ธ Updates:

    • ๐Ÿ†• New upstream version of TinyMCE:
      • new plugin colorpicker now included
      • table styling since now will be done with css rather than with attributes
    • ๐Ÿ†• New upstream version of UPF (also with security improvements)

    ๐Ÿ›  Fixes and small improvements:

    • ๐ŸŽ GZ page compression removed on system level, it should be rather done on higher level (WebServer or proxy) with better performance
    • Protected constructor in \cs\User as in \cs\Singleton trait
    • ๐Ÿ‘Œ Improved security in case of allowing any user-submitted iframe elements
    • โž• Added support for removing nested empty directories during update process (only single directory was removed before)
    • โœ… Database and storage testing modal is now rendered purely on frontend
    • ๐Ÿ”จ Refactoring in cs\Config class, protection was really dubious
    • cs\Config::instance()->can_be_admin property refactored to method with the same name, backward compatibility still present
    • $_SERVER->protocol added which is more useful in many cases instead of ->secure property
    • ๐Ÿ›  Fix for cs\Page::config() with scalar values didn't work as expected on frontend
    • ๐Ÿ“œ Installation config is now in form of regular array instead of parsing JSON string O_o

    ๐Ÿ—„ Deprecations:

    • \cs\Core::api_request() method
    • \cs\User::system() method
    • \cs\Config::$can_be_admin property (use method with the same name instead)
    • \cs\Config::$server property
    • \cs\Config::$route property (use \cs\Route::$route instead)
    • \cs\Config::process_route() method (use \cs\Route::process_route() instead)
    • \cs\Index::$route_path property
    • \cs\Index::$route_ids property
    • ๐Ÿ—„ Deprecated events (use newer instead):
      • System/Config/pre_routing_replace
      • System/Config/routing_replace

    Possible partial compatibility breaking (very unlikely, but still possible):

    • None

    ๐Ÿ— Latest builds on downloads page or download source code and build it yourself

  • v1.58.0 Changes

    New Composer module makes installing composer packages as easy as mentioning them in meta.json file, no need to use command line, no need to even have access to command line on shared hosting, etc.

    ๐Ÿ†• New components:

    • New Composer module - Composer integration into CleverStyle CMS, allows to specify composer dependencies in meta.json that will be installed automatically

    ๐Ÿ†• New features:

    • ๐Ÿ†• New events:
      • admin/System/components/modules/update/prepare
      • admin/System/components/modules/update_system/prepare
      • admin/System/components/modules/enable/prepare
      • admin/System/components/modules/disable/prepare
      • admin/System/components/modules/update/process/before
      • admin/System/components/modules/update/process/after
      • admin/System/components/modules/update_system/process/before
      • admin/System/components/modules/update_system/process/after
      • admin/System/components/modules/enable/process
      • admin/System/components/modules/disable/process
      • admin/System/components/plugins/update/prepare
      • admin/System/components/plugins/enable/prepare
      • admin/System/components/plugins/disable/prepare
      • admin/System/components/plugins/enable/process
      • admin/System/components/plugins/disable/process
      • admin/System/components/plugins/update/process/before
      • admin/System/components/plugins/update/process/before
    • Http server and WebSockets modules now depends on Composer module and does not include dependencies inside!

    โšก๏ธ Updates:

    • None

    ๐Ÿ›  Fixes and small improvements:

    • Http server: Fix for classes cache cleaning in Http server
    • DB reconnection in long living process when DB server was disconnected
    • ๐Ÿ‘Œ Support simple modal width in any units, not only px
    • trigger.php renamed into events.php everywhere
    • ๐Ÿ‘ Http server: Mentioning that in Http sever mode files uploading is not currently supported
    • โž• Http server: Set remote_addr in $_SERVER under Http server
    • Do not change working directory when minifying css/js/html
    • โœ‚ Removed synchronization of minified files between mirrors
    • Do not change working directory in Local storage engine
    • Photo gallery: Small fix in Photo gallery when all images failed to upload
    • Constants renamed:
      • STORAGE -> PUBLIC_STORAGE
      • PCACHE -> PUBLIC_CACHE
    • Constants added:
      • STORAGE (now points to /storage)

    ๐Ÿ—„ Deprecations:

    • ๐Ÿ—„ Deprecated events (use newer instead):
      • admin/System/components/modules/enable
      • admin/System/components/modules/disable
      • admin/System/components/plugins/enable
      • admin/System/components/plugins/disable

    Possible partial compatibility breaking (very unlikely, but still possible):

    • PCACHE and STORAGE constants renamed to new names, STORAGE constant now points to another directory (not likely to cause any problems)

    ๐Ÿ— Latest builds on downloads page or download source code and build it yourself

  • v1.54.0 Changes

    ๐Ÿ†• New components:

    • New Http server module allows to run Http server written in PHP, thus everything lives much longer and works much faster!

    ๐Ÿ†• New features:

    • Static pages: Live editing of Static pages
    • ๐Ÿ—„ DB::queries() and ::time() methods added (look at deprecations)
    • ๐Ÿ‘Œ Support for not only application/json, but also other application/something+json request content types
    • ๐Ÿ†• New function _header() introduced to be used instead of header(), arguments are the same
    • ๐Ÿ†• New \ExitException instead of just exit or die when there is no real need to stop whole process

    โšก๏ธ Updates:

    • โšก๏ธ UIkit updated to latest upstream version
    • ๐Ÿ†• New upstream version of Polymer and WebComponents.js
    • ๐Ÿ†• New upstream version of jQuery (still from master branch)
    • ๐Ÿ†• New upstream version of UPF

    ๐Ÿ›  Fixes and small improvements:

    • Shop: Fix for characteristics (not shown because of some bug with fotorama and untranslated string)
    • WebSockets: Tiny fix for simulating internal WebSockets event register_actions from client side
    • Removing global used during installation process
    • cs\Singleton is now based on cs\Singleton\Base in order to ease hackability and reduce code duplication
    • ๐Ÿšš Basic loader part that can be used for custom loaders during tests and in http server moved into separate file
    • ๐Ÿ›  Fix for favicon path when there is icon in theme directory
    • ๐ŸŽ Singleton performance fix
    • โœ‚ Remove unnecessary _once suffix for files including
    • ๐Ÿ›  Fix potential repeated execution of the whole system (resolve duplicated functions declaration)
    • ๐Ÿ›  Fix for session deletion with WebSockets enabled (missing session id during event firing)
    • ๐Ÿšš Functions that work with global state moved into separate file and are not included by base loader
    • ๐Ÿ›  Fix for setting cookie to empty string didn't remove it from $_COOKIE superglobal
    • Be ready for $_GET, $_POST and $_REQUEST being array-like objects instead of arrays
    • WebSockets: Rename prepare_cli.php in WebSockets module to more logical name start_cli.php
    • Event class simplification
    • ๐Ÿ‘Œ Improvement of server type detection
    • __invoke() added to \cs\False_class
    • ๐Ÿ‘‰ Show information about module even if it is not installed

    ๐Ÿ—„ Deprecations:

    • DB::instance()->queries and ->time properties

    Possible partial compatibility breaking (very unlikely, but still possible):

    • โšก๏ธ Update support for Blogs module from very old versions removed (not likely to be an issue)

    ๐Ÿ— Latest builds on downloads page or download source code and build it yourself

  • v1.40.2 Changes

    ๐Ÿ†• New components:

    • New WebSockets module makes WebSockets usage with CleverStyle CMS ridiculously easy
    • New Shop module, provides simple, but highly extensible and customizable shopping functionality

    ๐Ÿ†• New features:

    • ๐Ÿ“„ $_SERVER superglobal is now wrapped by object to provide simplified, more functional and secure alternative to raw elements (while keeping original array-like behavior for compatibility)
    • \cs\Language::init() and ::url_language() methods added
    • ๐Ÿ”จ \cs\User::get_session() refactored to ::get_session_id() which much better explains what function actually do
    • ๐Ÿณ Possibility to attach volume to Docker container with demo
    • ๐Ÿ—„ Triggers are now Events, corresponding class Event added, Trigger still exists for backward compatibility, but uses Event under the hood (transition is simple - Trigger::register() -> Event::on(), Trigger::run() -> Event::fire(), also Event have some new functionality with methods ::off() and ::once(), events.php is used now instead trigger.php which is deprecated now
    • cs.Event object added on frontend similar to cs\Event on backend with the same methods

    โšก๏ธ Updates:

    • โšก๏ธ UIkit updated to latest upstream version + all components included since this version!
    • ๐Ÿ†• New upstream version of Polymer and WebComponents.js
    • ๐Ÿ†• New upstream version of jQuery (still from master branch)

    ๐Ÿ›  Fixes and small improvements:

    • ๐Ÿ’… Style fixes in DarkEnergy theme
    • Do not pass user session to third-party services in HybridAuth, use md5 from provider and session instead
    • ๐Ÿ›  Fix for warning during docker image building
    • ๐Ÿ‘‰ Make clickable license, readme and API icons look like buttons
    • ๐Ÿ‘ Better modals handling in module and plugin admin pages (and no colored text anymore)
    • Do not use TIME constant for sessions, because it now may be used for long-living cases and constant will not reflect real current time
    • Events System/User/del_session/before and System/User/del_session/after now passes session id to callback

    ๐Ÿ—„ Deprecations:

    • User::$user_agent, ::$ip, ::$forwarded_for and ::$client will trigger E_USER_DEPRECATED, $_SERVER should be used instead
    • ๐Ÿ—„ \cs\User\get_session() still exists and backward-compatible with old format (throws deprecated warning in log), but now is used to get all session details
    • ๐Ÿ—„ trigger.php is deprecated in favor of events.php with the same functionality

    Possible partial compatibility breaking (very unlikely, but still possible):

    • Reverse signature of shutdown_function() function
    • โšก๏ธ \cs\Config::update_clangs() method removed
    • \cs\Language::reload_core_config() method removed
    • Encryption improvement, but will not be able to decode old encrypted data (not likely to have big impact):
      • Initial vector is random and returned with encrypted data
      • Blowfish changed in favor of Twofish
      • Good random key generated on installation with the help of openssl_random_pseudo_bytes()
    • \cs\User::get_session_user() refactored to ::load_session() which much better explains what function actually do

    ๐Ÿ— Latest builds on downloads page or download source code and build it yourself

  • v1.22.2 Changes

    ๐Ÿ†• New features:

    • ๐ŸŒ Inverse dependency through provide property in meta.json like Blog/post_patch (crucial for same name extending of Web Components).
    • โž• Added controller-based routing support in addition to files-based (documentation)
    • ๐Ÿ”Š Atom feed in Blogs module (for all posts, specific category, specific tag)
    • ๐Ÿ†• New Prism plugin for source code highlighting on pages

    ๐Ÿ›  Fixes and small improvements:

    • ๐Ÿ›  Fix for TypeError: (intermediate value).parentNode is null in Polymer
    • ๐Ÿ›  Fix for body[unresolved] was not actually working
    • โœ‚ Removed hack for older versions HHVM that fixed installation/upgrade, now fix available upstream in HHVM itself
    • ๐Ÿ›  Fix for content items list displaying when there are no items yet in Content module
    • Small fix to improve customizations possibilities of user block
    • ๐Ÿ›  Fix for Firefox freezing on modal opening
    • ๐Ÿ‘ Better code formatting (not in single line as before)
    • ๐Ÿ›  Fixes and improvements in DarkEnergy theme
    • ๐Ÿ‘ Better control over drafts access in Blogs module
    • โฌ‡๏ธ Drop part of URL after ? to comply with standards, otherwise it created unnecessary difficulties in many cases
    • ๐Ÿ— Builder fix: didn't include some files from core directory
    • React on X-Facebook-Locale header and switch language regardless from URL

    ๐Ÿš€ There is shop branch with WIP version of Shop module, will be merged into master as soon as will be ready (very likely to be included in next release).

    ๐Ÿ— Latest builds on downloads page or download source code and build it yourself

  • v1.16.0 Changes

    ๐Ÿ†• New features:

    • ๐ŸŒ wait cursor while web components are cooking
    • ๐Ÿ’… System styles are ShadowDOM-ready
    • ๐Ÿ“„ Extremely flexible patching of system classes
    • Possibility to extend Polymer element with the same name like <polymer-element name="some-element" extends="some-element">...
    • Service script to convert any CSS to ShadowDOM-ready (for instance, used for UIkit), service_scripts/make_css_shadow_dom_ready.php file

    โšก๏ธ Updates:

    • ๐Ÿ†• New upstream version of WebComponents.js
    • ๐Ÿ†• New upstream version of Polymer
    • ๐Ÿ†• New upstream version of BananaHTML
    • ๐Ÿ†• New upstream version of UIkit
    • ๐Ÿ†• New upstream version of Fotorama
    • ๐Ÿ†• New upstream version of jQuery 3.0 (Development version)

    ๐Ÿ›  Fixes and small improvements in components:

    • ๐Ÿ›  Fixed multilingual functionality
    • ๐Ÿ‘ Better navigation with tab key in sign in block
    • ๐Ÿ‘ Better errors handling during files uploading in Plupload module
    • ๐Ÿ›  Other small fixes

    Important patches of upstream third-party libraries:

    • jQuery patched to fix $.fn.offset() on elements inside ShadowsDOM (pull request)
    • WebComponents.js patched to handle properly relative path resolving in css (pull request)
    • Polymer patched to allow <polymer-element name="some-element" extends="some-element">... (discussion) (experimental git branch with patch applied)
    • ๐Ÿ’… UIkit styles converted to ShadowDOM-ready (using service script)
    • ๐Ÿ’… Fotorama style also wrapped to work inside ShadowDOM

    ๐Ÿšง There is shop branch with WIP version of Shop module, will be merged into master as soon as will be ready (most of major features ready, need some supplementary features and triggers to be more hackable).

    ๐Ÿ— Latest builds on downloads page or download source code and build it yourself