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 usingcs\CRUD
trait (currently includessearch
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 updatesign_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 byfalse
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 asdb
field inmeta.json
meta/storage.json
contents of components now available asstorage
field inmeta.json
versions.json
contents of components now available asupdate_versions
field inmeta.json
๐ Latest builds on SourceForge downloads page (details about installation process) or download source code and build it yourself
- ๐ if you're running any old version - you need to update system to
-
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)
- Do not allow custom elements (with dash in name or regular elements with
๐ 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, usepackage
frommeta.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 withecho
+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 plugin
- ๐ 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 intoevents.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 otherapplication/something+json
request content types - ๐ New function
_header()
introduced to be used instead ofheader()
, arguments are the same - ๐ New
\ExitException
instead of justexit
ordie
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 oncs\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 namestart_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 usesEvent
under the hood (transition is simple -Trigger::register() -> Event::on()
,Trigger::run() -> Event::fire()
, alsoEvent
have some new functionality with methods::off()
and::once()
,events.php
is used now insteadtrigger.php
which is deprecated now cs.Event
object added on frontend similar tocs\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
andSystem/User/del_session/after
now passes session id to callback
๐ Deprecations:
User::$user_agent
,::$ip
,::$forwarded_for
and::$client
will triggerE_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 ofevents.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 inmeta.json
likeBlog/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
- ๐ Inverse dependency through
-
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
- ๐