Releases: Schlaefer/Saito
4.0.0
What's new
All changes of 4.0.0-RC - 4.0.0-RC3 and
- ✓ Inline Answering not working with SecurityComponent enabled #261
- ✓ blob → mediumblob conversion for ecaches table was not applied in installer
- Δ changes default cookie encryption to AES
- Δ deactivates form autofill in login and registration form
4.0.0-RC3
What's new
- ✓ fixes logout not working
- ✓ fixes non collapsing back links in responsive design
- Δ Updates CakePHP to 2.5.1
4.0.0-RC2
What's new
- ✓ thread cache isn't checked appropriately and reads/saves wrong output
- ✓ skip not implemented and failing pgsql simple search test case
- Δ code refactoring
Links
4.0.0-RC
What's new
- + Don't update view counter on search engine robots #243
- + extended crawler/robots detection
- + improves autolinking of URLs next to punctuation marks
- + shows used cache engines in system info admin panel
- + add doc link and "where to edit" info to /users/map #247
- + sort threads by last answer is default now
- + /users/index is always sorted alphabetically after primary sort parameter
- + PostgreSQL support #259 (except for simple search)
- ✓ show date on older shoutbox entries #251
- ✓ absolute date in mobile view is gobbled #170
- ✓ limit map boundaries and minimum zoom-level
- ✓ [bbcode] urls are not parsed in lists #256
- ✓ theme error on /users/edit on validation error #244
- ✓ deleting last bookmark should show "no bookmarks" message #75
- ✓ installation creates
BLOB
instead ofMEDIUMBLOB
field inecaches
table - ✓ global help button is not activated on answering form
- ✓ i18n decimal divider in generation time
- ✓ fixes no pointer cursor on .btn-strip hover
- ✓ Double entries in UserOnline slidebar #157
- ✓ accession 1 entries-url should not be in sitemap
- Δ rewritten user login #254
- + shows info if user account is not activated yet
- + autofill username on failing login in login-form
- + autofocus/select username in login-form
- + log failing logins
- Δ rewritten user registration #253
- + shows info if sending of confirmation email failed
- + log if sending of confirmation email failed
- + shows info if confirmation link failed
- + shows info if account was already activated
- + adds navigation back-links to registration views
- Δ l10n changes
- !confirmation-URL in activation-email changed
- Δ rewritten user change password #255
- + log change attempts for non-existing users
- + log change attempts by non-authorized users
- Δ refactors bookmark edit
- + log edit attempts by non-authorized users
- Δ refactors contact messaging
- + advanced email address configuration #223
- + show disclaimer on global contact form
- + adds navigation back-link
- + logs if sending of contact email failed
- + CakePHP
dummy_data
shell to generate artificial content for development - Δ changes disclaimer l10n strings
- Δ Update to CakePHP 2.5.0 #246
- Δ replaces underscore.js with lo-dash
- Δ activate CakePHP's SecurityComponent by default
- Δ renames log file
auth.log
tosaito-auth.log
- Δ add staticPage layout for all
pages
esp. TOS #257 - Δ consolidates database field types
- Δ consolidates database index names
- Δ removes unused database fields
Other bugfixes and improvements. This updates includes important security enhancements.
Migration Notes
DB Changes
Note: If you use a table prefix you have to prepend it to the table name.
Note: Depending on DB-size these may run some time. Make a DB backup and apply separately.
DROP TABLE IF EXISTS `useronline`;
CREATE TABLE `useronline` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uuid` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`user_id` int(11) DEFAULT NULL,
`logged_in` tinyint(1) NOT NULL,
`time` int(14) NOT NULL DEFAULT '0',
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `useronline_uuid` (`uuid`),
KEY `useronline_userId` (`user_id`),
KEY `useronline_loggedIn` (`logged_in`)
) ENGINE=MEMORY AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
ALTER TABLE `bookmarks` DROP INDEX `entry_id-user_id`;
ALTER TABLE `bookmarks` ADD INDEX `bookmarks_entryId_userId` (`entry_id`, `user_id`);
ALTER TABLE `bookmarks` DROP INDEX `user_id`;
ALTER TABLE `bookmarks` ADD INDEX `bookmarks_userId` (`user_id`);
ALTER TABLE `entries` DROP INDEX `user_id`;
ALTER TABLE `entries` ADD INDEX `entries_userId` (`user_id`);
ALTER TABLE `entries` DROP INDEX `user_id-time`;
ALTER TABLE `entries` ADD INDEX `entries_userId_time` (`time`, `user_id`);
ALTER TABLE `entries` CHANGE `last_answer` `last_answer` TIMESTAMP NULL DEFAULT NULL;
UPDATE `entries` SET last_answer=NULL WHERE last_answer='0000-00-00 00:00:00';
ALTER TABLE `entries` CHANGE `edited` `edited` TIMESTAMP NULL DEFAULT NULL;
UPDATE `entries` SET edited=NULL WHERE edited='0000-00-00 00:00:00';
ALTER TABLE `users` CHANGE `last_login` `last_login` TIMESTAMP NULL DEFAULT NULL;
UPDATE `users` SET last_login=NULL WHERE last_login='0000-00-00 00:00:00';
ALTER TABLE `users` CHANGE `registered` `registered` TIMESTAMP NULL DEFAULT NULL;
ALTER TABLE `users` CHANGE `last_refresh` `last_refresh` TIMESTAMP NULL DEFAULT NULL;
UPDATE `users` SET last_refresh=NULL WHERE last_refresh='0000-00-00 00:00:00';
ALTER TABLE `users` CHANGE `last_refresh_tmp` `last_refresh_tmp` TIMESTAMP NULL DEFAULT NULL;
UPDATE `users` SET last_refresh_tmp=NULL WHERE last_refresh_tmp='0000-00-00 00:00:00';
ALTER TABLE `users` CHANGE `personal_messages` `personal_messages` TINYINT(1) NOT NULL DEFAULT '1';
ALTER TABLE `users` CHANGE `user_lock` `user_lock` TINYINT(1) NOT NULL DEFAULT '0';
ALTER TABLE `users` CHANGE `user_signatures_hide` `user_signatures_hide` TINYINT(1) NOT NULL DEFAULT '0';
ALTER TABLE `users` CHANGE `user_automaticaly_mark_as_read` `user_automaticaly_mark_as_read` TINYINT(1) NOT NULL DEFAULT '1';
ALTER TABLE `users` CHANGE `user_sort_last_answer` `user_sort_last_answer` TINYINT(1) NOT NULL DEFAULT '1';
ALTER TABLE `users` CHANGE `show_recententries` `show_recententries` TINYINT(1) NOT NULL DEFAULT '0';
ALTER TABLE `users` CHANGE `user_category_custom` `user_category_custom` VARCHAR(512) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL;
ALTER TABLE `users` CHANGE `activate_code` `activate_code` INT(7) NOT NULL DEFAULT '0';
ALTER TABLE `entries` DROP `uniqid`;
ALTER TABLE `users` DROP `last_logout`;
ALTER TABLE `users` DROP `hide_email`;
ALTER TABLE `users` DROP `user_show_own_signature`;
INSERT INTO `settings` (`name`, `value`) VALUES ('email_contact', NULL);
INSERT INTO `settings` (`name`, `value`) VALUES ('email_register', NULL);
INSERT INTO `settings` (`name`, `value`) VALUES ('email_system', NULL);
If you're using MySQL and the field value
in the ecaches
table is of type BLOB
change it to MEDIUMBLOB
:
ALTER TABLE `ecaches` CHANGE `value` `value` MEDIUMBLOB NOT NULL;
Links
3.5.1
3.5.0
What's new
- [new] Community Map #238
- [task] consolidates paginator navigation
- [task] updates CakePHP to 2.4.7 #241
- [task] updates Marionette, Backbone, Underscore to AMD versions
- [task] updates JS test frameworks, but disables CLI tests (see #242)
Migration Notes
The new map feature utilizes MapQuest to render maps. You have to enter a MapQuest API-key in the admin area which you can issue for free at http://developer.mapquest.com/.
DB Changes
Note: If you use a table prefix you have to prepend it to the table name.
ALTER TABLE `users` ADD `user_place_lat` FLOAT NULL DEFAULT NULL AFTER `user_place`;
ALTER TABLE `users` ADD `user_place_lng` FLOAT NULL DEFAULT NULL AFTER `user_place_lat`;
ALTER TABLE `users` ADD `user_place_zoom` TINYINT(4) NULL DEFAULT NULL AFTER `user_place_lng`;
INSERT INTO `settings` (`name`, `value`) VALUES ('map_enabled', '0');
INSERT INTO `settings` (`name`, `value`) VALUES ('map_api_key', '');
Links
3.4.1
3.4.0
What's new
- [new] improves entry semantic page structure
- [new] show entry view counter only for logged in users
- [new] show category title on every
view
andmix
subentry - [new] exclude all
/users/…
pages fromrobots.txt
- [new] detects protocol-less absolute urls in [url] BBCode-tag
- [fix] FE notification messages are not localized
- [fix] sitemap entries improved timing
- [fix] sitemap entries
lastmod
ignores edits - [fix] missing l10n
- [fix] Paz CSS tweaks
- [task] removes unused database fields
Overall refactoring and performance improvements.
Migration Notes
DB Changes
Note: If you use a table prefix you have to prepend it to the table name.
ALTER TABLE `users` DROP `new_posting_notify`;
ALTER TABLE `users` DROP `new_user_notify`;
ALTER TABLE `users` DROP `time_difference`;
ALTER TABLE `users` DROP `user_view`;
ALTER TABLE `users` DROP `pwf_code`;
ALTER TABLE `users` DROP `user_forum_hr_ruler`;
Links
3.3.0
What's new
- [new] Show number of helpful answers in user-profile #222
- [new] admin-panel: performance improvements in user list
- [new] Saito installable via composer #232
- [new] Create sitemap.xml for Entries #20 ]
- [new] additional admin statistics #233
- [fix] Admin setting Thread Indent Depth is not applied #234
- [fix] Notification emails are not send #236 (regression from 3.2.0)
- [task] Switch user table from MyISAM to InnoDB #228
- [task] Update CakePHP to 2.4.6 #231
- [task] updates robots.txt #235
- [task] automated dev setup (see
docs/
) #225, #209
Migration Notes
DB Changes
Note: If you use a table prefix you have to prepend it to the table name.
For MySQL databases the user table default engine is InnoDB now:
ALTER TABLE `users` ENGINE = InnoDB;