{ "versions": { "Eminence": { "colour": "#6C3082", "builds": [ "20150508", "20150509", "20150509.1", "20150512", "20150523", "20150524", "20150525", "20150526", "20150529", "20150530", "20150602", "20150604", "20150619", "20150620", "20150621", "20150627", "20150628", "20150629", "20150630", "20150701", "20150702", "20150703", "20150704", "20150705" ] }, "Heliotrope": { "colour": "#DF73FF", "builds": [ "20150427", "20150427.1", "20150427.2", "20150427.3", "20150427.4", "20150427.5", "20150427.6", "20150427.7", "20150427.8", "20150428", "20150429", "20150430", "20150501", "20150502", "20150503", "20150503.1", "20150504", "20150504.1", "20150505", "20150505.1", "20150506" ] }, "Cyan": { "colour": "#4EC9B0", "builds": [ "20150221", "20150222", "20150308", "20150321", "20150322", "20150329", "20150330", "20150401", "20150402", "20150405", "20150406", "20150407", "20150408", "20150412", "20150413", "20150414", "20150417", "20150418", "20150419", "20150420", "20150421", "20150424", "20150425", "20150426" ] } }, "changelog": { "20150221": [ { "type": "ADD", "change": "Start work on new Flashii backend." }, { "type": "ADD", "change": "Display version in the footer." } ], "20150222": [ { "type": "ADD", "change": "Upload assets." } ], "20150308": [ { "type": "ADD", "change": "Dynamic SQL database library." }, { "type": "UPD", "change": "Add ROOT_DIRECTORY constant." }, { "type": "UPD", "change": "Slight changes to the templating system." }, { "type": "ADD", "change": "Add Configuration class for better configuration management." }, { "type": "FIX", "change": "Replace broken template tags." }, { "type": "ADD", "change": "Upload remaining assets." }, { "type": "REM", "change": "Remove per-file twig initialisation." }, { "type": "ADD", "change": "Start work on expanding the templates." }, { "type": "ADD", "change": "Add 404 page." }, { "type": "ADD", "change": "Add SQL to the repository." } ], "20150321": [ { "type": "UPD", "change": "Change entire system to static classes." }, { "type": "ADD", "change": "ReCAPTCHA verification function." }, { "type": "UPD", "change": "Add more features to SQL library." } ], "20150322": [ { "type": "ADD", "change": "Add sessions class." }, { "type": "UPD", "change": "Change namespace to Sakura." } ], "20150329": [ { "type": "ADD", "change": "Add files for sys.flashii.net." }, { "type": "REM", "change": "Deprecate sys.flashii.net." }, { "type": "UPD", "change": "Update SQL library." }, { "type": "ADD", "change": "Begin work on user system." }, { "type": "FIX", "change": "Login forms not showing when user is logged out." }, { "type": "FIX", "change": "More JavaScript fixes." }, { "type": "ADD", "change": "Add login form below the header." }, { "type": "ADD", "change": "Add common PHP function template tags." }, { "type": "ADD", "change": "Add remember me checkbox." }, { "type": "ADD", "change": "Add function to get a user's database row." }, { "type": "ADD", "change": "Add news post template." }, { "type": "ADD", "change": "Add function to get a group's database row." }, { "type": "ADD", "change": "Add function to get a certain amount of news posts." }, { "type": "ADD", "change": "Add avatar and background serving PHP script." }, { "type": "FIX", "change": "Fix a define collision." } ], "20150330": [ { "type": "ADD", "change": "Add chat directory." }, { "type": "FIX", "change": "Make getting news posts less heavy on the SQL server." }, { "type": "ADD", "change": "Add descriptive files." } ], "20150401": [ { "type": "ADD", "change": "Add more function descriptions." }, { "type": "ADD", "change": "Add template configuration parsing function." }, { "type": "ADD", "change": "Add template engine wrapper class." }, { "type": "ADD", "change": "Add GZIP compression." }, { "type": "ADD", "change": "Add .git* files and a license." }, { "type": "ADD", "change": "Add error logging." }, { "type": "REM", "change": "Remove GZIP compression (for now) relating to issues with the error handler." }, { "type": "UPD", "change": "Rename ROOT_DIRECTORY to ROOT." }, { "type": "REM", "change": "Remove affiliates section from the footer." }, { "type": "ADD", "change": "Add credits page." }, { "type": "ADD", "change": "Add infopage system (/r/page)." }, { "type": "UPD", "change": "Update SQL structure file." }, { "type": "FIX", "change": "Make markdown parsing function public." } ], "20150402": [ { "type": "ADD", "change": "Add hardcoded dummy group and user." }, { "type": "FIX", "change": "Make the markdown parsing function actually have access to the class." }, { "type": "ADD", "change": "Add news page." }, { "type": "FIX", "change": "Make frontpage stats actually work." }, { "type": "ADD", "change": "Add news XML feed." } ], "20150405": [ { "type": "ADD", "change": "Add example config." }, { "type": "UPD", "change": "Improve news functions." }, { "type": "UPD", "change": "Update SQL structure." } ], "20150406": [ { "type": "UPD", "change": "Open source'd and repository now hosted on GitHub." }, { "type": "REM", "change": "Remove static locations." }, { "type": "UPD", "change": "Update SQL structure and mistake in .htaccess." }, { "type": "ADD", "change": "Add session system." }, { "type": "ADD", "change": "Begin work on authentication." }, { "type": "UPD", "change": "Improve template engine wrapper." } ], "20150407": [ { "type": "UPD", "change": "Replace tabs with 4 spaces." } ], "20150408": [ { "type": "UPD", "change": "More work on the authentication pages." }, { "type": "ADD", "change": "Add login function." } ], "20150412": [ { "type": "FIX", "change": "Fix massive mistake causing all hashes to break." }, { "type": "ADD", "change": "Add a function to get users by the IP assigned to their user." }, { "type": "UPD", "change": "Reindex assets." } ], "20150413": [ { "type": "UPD", "change": "Update SQL structure." }, { "type": "ADD", "change": "Add logout function." }, { "type": "REM", "change": "Remove static locations from CSS files." } ], "20150414": [ { "type": "ADD", "change": "Add PayPal SDK." }, { "type": "ADD", "change": "Add function if the e-mail address used has a valid MX-Record." }, { "type": "ADD", "change": "Add some IP functions." }, { "type": "ADD", "change": "Add checking if an IP originates from CloudFlare and then replace the IP with the proper one set in the header." } ], "20150417": [ { "type": "UPD", "change": "Logging in works!" }, { "type": "ADD", "change": "Add proper session management." }, { "type": "ADD", "change": "Add delete function to SQL library." } ], "20150418": [ { "type": "UPD", "change": "Logging out works." }, { "type": "ADD", "change": "Add Sock Chat authentication file." }, { "type": "ADD", "change": "Add e-mail function." }, { "type": "ADD", "change": "Add function to get country code from CloudFlare header." }, { "type": "ADD", "change": "Add whois class." }, { "type": "ADD", "change": "Add HTML e-mail template." }, { "type": "ADD", "change": "Begin work on registration function." } ], "20150419": [ { "type": "ADD", "change": "Add automatic user activation." }, { "type": "UPD", "change": "Completely user registration function." } ], "20150420": [ { "type": "ADD", "change": "Add AJAX form submission." }, { "type": "FIX", "change": "Fix bug in registration process causing username cleaning to fail." } ], "20150421": [ { "type": "ADD", "change": "Add e-mail sanitising to registration process." }, { "type": "ADD", "change": "Add automatic activation e-mail resend function." }, { "type": "REM", "change": "Remove PayPal API since we don't need it for what we do." }, { "type": "ADD", "change": "Add password forget template." } ], "20150424": [ { "type": "UPD", "change": "Update .gitignore." }, { "type": "ADD", "change": "Add password entropy function." }, { "type": "UPD", "change": "Update links in the footer." }, { "type": "FIX", "change": "Make header login form properly responsive." }, { "type": "FIX", "change": "Display PDO errors." }, { "type": "ADD", "change": "Add authentication locking option." }, { "type": "REM", "change": "Remove method of determining password strength based on length (aaaaaaaaaaaaaaaaaaaaaaaaaaaa ain't strong just because it's long)." }, { "type": "FIX", "change": "Make logged in users unable to view the authentication page." } ], "20150425": [ { "type": "ADD", "change": "Add custom user colours." }, { "type": "ADD", "change": "Make users with the legacy algorhythm force-change their password." }, { "type": "ADD", "change": "Add password resetting functions." }, { "type": "ADD", "change": "Tell users to enable JavaScript." }, { "type": "REM", "change": "Remove development tools from the repository." }, { "type": "FIX", "change": "Fix the backend not expecting an empty users table." } ], "20150426": [ { "type": "FIX", "change": "The system thinking 0 is the rank ID for deactivated while it's 1." }, { "type": "ADD", "change": "Add some missing assets." }, { "type": "ADD", "change": "Add changelog page." } ], "20150427": [ { "type": "ADD", "change": "Begin work on profile system." }, { "type": "ADD", "change": "Created function to get profile data from a user." }, { "type": "UPD", "change": "Made profile data display properly." }, { "type": "FIX", "change": "Fix rank title not displaying on profiles." }, { "type": "ADD", "change": "Show country name on profile." }, { "type": "ADD", "change": "Show tenshi tag on user's profile if they're tenshi." }, { "type": "FIX", "change": "Actually update last online date." }, { "type": "FIX", "change": "Activation broken methods in the activation process." }, { "type": "ADD", "change": "Add glow around a user's avatar on their profile if they're online or offline (active in the last 5 minutes)." }, { "type": "ADD", "change": "Show all online users on the frontpage." }, { "type": "FIX", "change": "Fix JavaScript forms not submitting on hitting enter." }, { "type": "FIX", "change": "Fix chat redirect." } ], "20150427.1": [ { "type": "FIX", "change": "Fixed bug in registration process causing a PDO Exception." }, { "type": "FIX", "change": "Fixed bug in rank checking (e.g. system saying that you're activated and deactivated at the same time)." }, { "type": "FIX", "change": "Fixed the enter substitute not working on some forms." }, { "type": "FIX", "change": "Fixed activation system assigning incorrect rank after clicking the link." }, { "type": "FIX", "change": "Fixed off-site account links being displayed to guests." }, { "type": "FIX", "change": "Fixed /u/[username] not working." } ], "20150427.2": [ { "type": "FIX", "change": "Fixed bug caused by bug fix in login process (ironic)." } ], "20150427.3": [ { "type": "FIX", "change": "Fixed bug in rank checking function (didn't decode the json string)." } ], "20150427.4": [ { "type": "FIX", "change": "Fixed Canada not existing." }, { "type": "FIX", "change": "Fixed profiles not showing profile data to logged in users." } ], "20150427.5": [ { "type": "FIX", "change": "Fixed Youtubetype 1 displaying the channel ID as the link title." }, { "type": "UPD", "change": "Hide most of the profile if a user is deactivated." }, { "type": "ADD", "change": "Add avatar replacement for deactivated users." }, { "type": "UPD", "change": "Redid avatar serving script." } ], "20150427.6": [ { "type": "FIX", "change": "Hide abyss'd users." }, { "type": "REM", "change": "Remove origin check on CloudFlare country header." } ], "20150427.7": [ { "type": "ADD", "change": "Add members page." }, { "type": "ADD", "change": "Add members page pagination." } ], "20150427.8": [ { "type": "FIX", "change": "Fix long usernames exceeding the rectangle view." }, { "type": "FIX", "change": "Abyss'd users showing up in the member list." }, { "type": "FIX", "change": "Abyss'd user's names still showing up in the title of the profile." } ], "20150428": [ { "type": "ADD", "change": "Add base Sock Chat extensions." }, { "type": "REM", "change": "Removed remains of old templating system." }, { "type": "UPD", "change": "Move Sock Chat permissioning to database as opposed to a static file." } ], "20150429": [ { "type": "FIX", "change": "Fix chat online users counter on frontpage." }, { "type": "ADD", "change": "Added FAQ page." } ], "20150430": [ { "type": "ADD", "change": "Begin work on management panel." } ], "20150501": [ { "type": "UPD", "change": "Improve error page." } ], "20150502": [ { "type": "ADD", "change": "Add supporter page." } ], "20150503": [ { "type": "UPD", "change": "Improved manage navigation." }, { "type": "ADD", "change": "Begin work on forum script." } ], "20150503.1": [ { "type": "ADD", "change": "Added profile backgrounds." } ], "20150504": [ { "type": "REM", "change": "Removed blank background for inactive users (will make the backend handle removal)." } ], "20150504.1": [ { "type": "UPD", "change": "Changed profile background handling." }, { "type": "ADD", "change": "Add beginning parts of the warning systems." } ], "20150505": [ { "type": "UPD", "change": "getWarnings() can now return all warnings when the first parameter is false." }, { "type": "ADD", "change": "Added parallax effect to profile backgrounds." }, { "type": "ADD", "change": "Added comments to the Yuuno JavaScript." } ], "20150505.1": [ { "type": "ADD", "change": "Added Google Custom Search page." }, { "type": "UPD", "change": "Export new SQL structure (and example data)." } ], "20150506": [ { "type": "UPD", "change": "Add some content retrieval functions for the forum." }, { "type": "ADD", "change": "Added post count to the users table structure." }, { "type": "UPD", "change": "Moved panel on the right site of the index to its own template file." } ], "20150508": [ { "type": "ADD", "change": "Added notification system." } ], "20150509": [ { "type": "FIX", "change": "Fixed missing newline in a template file." }, { "type": "ADD", "change": "Added function to actually create notifications." }, { "type": "FIX", "change": "Fixed avatar border being depositioned." } ], "20150509.1": [ { "type": "UPD", "change": "Compactise (not a word but you get the meaning) array adding in the server-side notification system." }, { "type": "FIX", "change": "Fixed some redundancy in the news viewer." }, { "type": "FIX", "change": "Fixed CORS breaking notifications." }, { "type": "FIX", "change": "Fix a wrong way of assigning notifications to a user (Session::$userId instead of $user)." }, { "type": "UPD", "change": "Replace .cfg files and parser with the built in .ini parser." } ], "20150512": [ { "type": "FIX", "change": "Fix {{ sakura.currentpage }} redirecting to the php file that's being used without the right attributes." }, { "type": "UPD", "change": "Rebuilt news XML to be more modular as opposed to a pile of prints." } ], "20150523": [ { "type": "UPD", "change": "Move Manage and Forum to a subdirectory instead of a subdomain." }, { "type": "ADD", "change": "Add links to forum and management pages." }, { "type": "FIX", "change": "Fixed broken links because of the domainset changes." } ], "20150524": [ { "type": "UPD", "change": "Move site description and tags to the config." }, { "type": "UPD", "change": "Export SQL structure." }, { "type": "UPD", "change": "Added new favicon." }, { "type": "UPD", "change": "Moved Members button to the user part of the header menu and added a link to search." }, { "type": "UPD", "change": "Redid scroll to top button and added a cute little animation to it." }, { "type": "REM", "change": "Removed unused code for error logging." }, { "type": "ADD", "change": "Added flag to login function that doesn't set cookies." }, { "type": "ADD", "change": "Added a method to checkLogin to bypass cookies." }, { "type": "UPD", "change": "Made the manage footer sticky to the bottom." } ], "20150525": [ { "type": "FIX", "change": "Made the registration recaptcha refresh upon failure." }, { "type": "ADD", "change": "Added a JavaScript port of the password entropy function." }, { "type": "FIX", "change": "Made maximum and minimum username length configurable." }, { "type": "UPD", "change": "Split Yuuno CSS up in multiple files." }, { "type": "UPD", "change": "Changed the icons displayed on the side of the index when logged out." }, { "type": "ADD", "change": "Added JavaScript form checking to registration form." }, { "type": "ADD", "change": "Added smooth scroll to top thing." }, { "type": "FIX", "change": "Fixed subnet matching causing an error." } ], "20150526": [ { "type": "FIX", "change": "Redid the fonts." }, { "type": "REM", "change": "Removed ybabstat (for now)." } ], "20150529": [ { "type": "ADD", "change": "Added beginning bits for the permissioning system." }, { "type": "UPD", "change": "Altered details of the built in fallback user a bit." }, { "type": "FIX", "change": "Fixed feedback redirect going to a deleted forum." }, { "type": "ADD", "change": "Removed all jQuery dependencies in ybabstat." }, { "type": "UPD", "change": "Changed database engine handling." }, { "type": "UPD", "change": "Changed local configuration handling." }, { "type": "ADD", "change": "Readded GZIP compression." }, { "type": "FIX", "change": "Fix issue with GZIP compression in the error handler." }, { "type": "FIX", "change": "Remove chat from the global permissions (for now) and restore the old permissions table." }, { "type": "ADD", "change": "Add base for a novelty Mio template port." }, { "type": "ADD", "change": "Added permission checking functions." } ], "20150530": [ { "type": "ADD", "change": "Compress Yuuno back to one CSS file again." }, { "type": "UPD", "change": "Added configuration option to enable template caching." }, { "type": "FIX", "change": "Fixed logged out users inherit permission strings from random user groups." }, { "type": "FIX", "change": "Removed old deactivation checking method." } ], "20150602": [ { "type": "ADD", "change": "Added JSON indentation/pretty printing function." } ], "20150604": [ { "type": "UPD", "change": "Redid some of the users table structure." }, { "type": "ADD", "change": "Add /header to profile for spooky things." } ], "20150619": [ { "type": "ADD", "change": "Added notification history section contents to settings panel." } ], "20150620": [ { "type": "ADD", "change": "Added friends system." }, { "type": "FIX", "change": "Changed & to & in some URLs." }, { "type": "FIX", "change": "Fixed settings page being usable when logged out." }, { "type": "REM", "change": "Removed remaining code for the old profile API." } ], "20150621": [ { "type": "UPD", "change": "Changed the options next to the avatar on the index panel." }, { "type": "ADD", "change": "Added a bbcode parser." } ], "20150627": [ { "type": "UPD", "change": "Put the Forum Listing and Front Page in the same PHP file as they both request nearly identical info (only difference is probably news post/forum posts)." }, { "type": "UPD", "change": "Changed the die() in the version checker to a trigger_error()." }, { "type": "FIX", "change": "Fixed an error in the password reset process." }, { "type": "FIX", "change": "Made some of the functions in the Configuration class more readable." }, { "type": "ADD", "change": "Added support for infinite subforums." }, { "type": "ADD", "change": "Added basic topic list support." } ], "20150628": [ { "type": "REM", "change": "Removed getUserProfileData() which decodes the json in the userData column and do it in the getUser() function." }, { "type": "FIX", "change": "Fixed all (found) bugs related to the previously listed change." }, { "type": "FIX", "change": "Fixed bug in the friends system where getFriends() only returns one friend." }, { "type": "ADD", "change": "Added basic topic viewing support." }, { "type": "UPD", "change": "Changed Edit icon on profiles." } ], "20150629": [ { "type": "ADD", "change": "Added topic and post counters to the frontpage." }, { "type": "UPD", "change": "Changed SAKURA_VTYPE to a SAKURA_STABLE boolean that can be used for only showing things on stable or development builds." } ], "20150630": [ { "type": "ADD", "change": "Added Payments class (and some transaction function with help from kamilrakowski)." }, { "type": "ADD", "change": "Added automatic premium after payment." } ], "20150701": [ { "type": "FIX", "change": "Fixed a multitude of fuckups." }, { "type": "ADD", "change": "Added automatic rank management for premium." }, { "type": "UPD", "change": "Redid the supporter page." }, { "type": "FIX", "change": "Moved expire variable for the complete page out of the url and take the data straight from the database." }, { "type": "UPD", "change": "Made the maximum amount of month you get buy premium for changable." }, { "type": "ADD", "change": "Added basic API handler." } ], "20150702": [ { "type": "FIX", "change": "Fixed a mistake in the stylesheet causing the support page to deform when resized." }, { "type": "FIX", "change": "Made the sitename config variable shown on the title of the suport page instead of just Flashii" } ], "20150703": [ { "type": "ADD", "change": "Add basic example of the version 1 API framework." } ], "20150704": [ { "type": "FIX", "change": "Fixed profile rewrite rule causing errors in some environments (e.g. Win32)." }, { "type": "ADD", "change": "Removed ignore lines for Misaki files." } ], "20150705": [ { "type": "ADD", "change": "Added count functionality to database wrapper." }, { "type": "UPD", "change": "Make forum index page fully functional." }, { "type": "UPD", "change": "Add user data and post linking to viewforum." }, { "type": "ADD", "change": "Add 'x time ago' generator function." }, { "type": "FIX", "change": "Fix bug while decoding the country name JSON with systems that don't default to UTF-8." }, { "type": "REM", "change": "Removed some columns and replaced them with live stats." } ] } }