Hi community,
Osclass 8.3.1 is now released!
This update brings ton of improvements, fixes, new features, new PHP version supports etc.
Thanks everyone for testing & feedback!
Found bug? Create a new topic. Do not reply with issues on this thread.
Changelog:
- IMPORTANT: Osclass now fully supports PHP 8.5 version.
This includes update of all major libraries used by Osclass - incl. PHP mailer. - Fixed backoffice bug with search items (by item id).
- Enhanced curl with headers and descriptive information.
- Enhancements in Debug/Error log section in backoffice:
It is now possible to select any file ending with .log located in oc-content folder (also osclass pay logs).
UI improvements. - IMPORTANT: Major rework on Session and Cookie classes and way how these are defined and stored in browser.
Update may cause users & admins to be logged out from Osclass.
All cookies are now stored with "httponly" set to True, means they cannot be read by Javascript.
In order to be able to read Cookie in Javascript, it's key must contain one of following: "_unsercure", "_unsec", "_js" or start with "ocjs_" and cannot start with "oc_", example: my_id_unsercure, secret_key_unsecure.
Besides that, all cookies, when SSL is used, has "secure" set to True, so they can only be transmitted over HTTPS.
These changes will significantly increase Osclass security and protects the cookie from being exposed to man-in-the-middle attacks on unencrypted connections, as well as cross-site scripting.
New standardized functions created to manage cookies: _get, _set, _drop.
This fix specific issues when non-friendly urls are stored into cookies causing problems to persist stable cookies like Saved Items Plugin.
Cookies are now by default encoded, to avoid issues with mod_security and WAF (Access denied with code 403, ... Cookie outside range: 1-255, ...Invalid character in request).
Cookies key (name) is sanitized and unsupported characters are removed from key. - IMPORTANT: Emoji update: Osclass will try to convert whole database into utf8mb4 for better compatiblity.
This includes change in connection, database and table charset & collate (utf8mb4 / utf8mb4_unicode_ci). All these are changed by Osclass upgrade, but this process may be extensive!
By default Osclass convert everything in upgrade process. If you getting errors for any reason, set constant UPGRADE_UTF8MB4_SOFT to do just soft charset/collate upgrade.
In that case only some tables are converted and others may require manual upgrage in PhpMyAdmin.
Use function osc_utf8mb4_sqls() to see list of remaining SQLs or just execute these directly on database (may take a while). - New helper functions osc_{get/set/drop}_{view/cookie/session/param}.
- Improved management and work with sorting types on search page.
- Search controller now use "iPerPage" param instead of "iPagesize", besides that allows logged admin to set also higher values (beyond general setting).
- Added new functions osc_get_prev_url() and osc_get_next_url() to be able to generate prev/next meta tags (head).
- Correction of osc_search_url() to no include iPage into URL in case it's <= 1.
- Fixed possible incorrect redirects after user login, caused by invalid URLs being saved into user navigation history.
- Comment settings link is now visible in Settings menu.
- Fixed bug with cache and search page, where cache cause pagination not to work.
Improved cache key generation on search page, added fix to mask dynamic time & timestamp values.
Added more conditions, filters and hooks included in key generation (does not apply to alerts). - New feature in backoffice - Email templates, that checks and removes duplicated email templates created as mistake (usually failed plugin uninstall/reinstall).
- It is now possible to create theme routes, where file points to theme directory, or to file in "custom" or "plugins" folder in theme directory.
- Fixed bug with user stats calculation (item counts) those now only include active listings and active comments.
- Fixed bug that incorrectly shown if email is visible on item page or not (in item form).
- New dedicated function osc_static_page_url_from_page($page, $locale = '') for static page URL generation created, that works in similar way as function for item URLs
- New layout for locations management in backoffice to improve user experience.
- Fixed bug on Sigma theme, when posting of comments for unregistered was disabled, whole comment section was hidden. Now only form to post comment is hidden.
- Fixed bug when it was possible to post comment using different email then email of logged user.
- When subdomain type is enabled/disabled, frontend cookies are dropped to avoid problems with duplicated cookies (different cookie domains). Users may also need to clean browser cookies.
- Fixed bug when user items url was returning 404 page after upgrade to Osclass 8.3.0.
- New warnings and checks added into Osclass core those will notify admin on home page e.g. about hourly cron not running properly or having built-in cron enabled.
- Added 2 new functions to help quickly add/drop email templates: osc_email_template_create($internal_name, $title, $text), osc_email_template_delete($internal_name).
- Fixed & improved feature that enable users to resend validation (activation) link. Link can be sent just once a 5 minutes.
- Comment reply email notification will now be sent to author of comment that user is replying to - if it's not identical email.
- Added support for routes super parameter "sParams", where value of 1 merged sParams are exploded into separate params.
sParams=param1,value1/param2,value2/param3,value3/... ==> param1=value1, param2=value2, param3,value3...
This helps to easily create and support versatile URLs like custom plugin search, where there are multiple optional parameters and creating many routes does not make sense. - Added support for routes query parameters, those are correctly stored as param values.
If there are params at the end of url in form: ?param1=value1¶m2=value2&... these are stored as param1=value1, param2=value2, etc.
Before, this query string would likely be attached to last specified route param, if exists. - Improved cleaning of static files cache (css, js) when optimization is enabled.
- Improved API key validation and other features related to external URL response.
- Added extra action buttons to user profile edit in backoffice.
- When searching plugin in backoffice, search term is persistent (stored in session) and not automatically cleaned. This helps to search & manage plugins, so after plugin action same selection of plugins is shown.
- Added option to block site indexing by search engines in Backoffice > Settings > Block indexing.
- Implemented order by "relevance" on search page, when search pattern is not empty.
- Fixed pagination problem with custom search rules.
- Added option to manually sync languages added into Osclass with file system (po files).
- Upgrade process (automated from osclass-classifieds.com) will now handle if oc-admin or oc-content folder is renamed. For manual upgrades (by uploading & extracting zip), manual folder name change is required.
- Improved TinyMCE editor on mobile devices.
- Temp folder (oc-content/uploads/temp) is now regularly cleaned using daily cron.
- Action logs improvements.
- Alerts are not send to banned email address anymore.
- Fixed issue with sending alert emails to non-registered users.