Special Ops 2.50
[specialops2.git] / docs / changelog.xhtml
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB">
3 <head>
4 <title>SO2 Changelog</title>
5 <link rel="stylesheet" type="text/css" href="../css/fm.css"/>
6 </head>
8 <body>
9 <h1><span>Special Ops 2 Changelog</span></h1>
10 <ul id="navbar" class="nl">
11 <li><a href="http://specialops.ath.cx/">Special Ops</a></li>
12 <li><a href="http://specialops.ath.cx/boards/">SO Boards</a></li>
13 <li><a href=".">Documentation Index</a></li>
14 </ul>
16 <p>This is sort of in reverse chronological order.</p>
18 <div class="content c0">
19 <h2>SO 2.50 - This is SPARTAAAAAAAAAAAAAAAAAAAAAA!!!1</h2>
20 <p>Everything has been completely redone in this version. The main highlights are speed improvements, security
21 improvements, UI improvements... everything really.</p>
22 <p>Most of the speed optimisation in this version was made possible thanks to XDebug [http://xdebug.org].</p>
23 <ul>
24 <li>Added <var class="file">docs/</var> dir, changelog</li>
25 <li>Got rid of the ugly <var class="function">User::has_priv()</var> function and replaced it with a much better
26 designed <var class="function">User::has_access()</var>, which also enabled finer-grained board access control.</li>
27 <li>Implemented SO1-style userlevels and board access controls</li>
28 <li>Rewrote themeing system to allow more fine-grained control of custom CSS, and cleaned up the theme page</li>
29 <li>Added a few more HTML form utility classes</li>
30 <li>Added a full, correct timezone setting instead of an hour offset - DST works automatically</li>
31 <li>Fixed up the HTTP caching slightly</li>
32 <li>Moved <var class="function">namelink()</var> and <var class="function">fdate()</var> functions out of
33 <var>User</var> and into <var>Page</var> class, which also required making <var class="file">user.php</var>
34 partially viewable for anonymous users.</li>
35 <li>Replaced per-page username cache with memcache-based one. This has had major side-effects, in particular a bunch of
36 SQL query joins used to speed up the old namelink code are now completely unnecessary (and gone!)</li>
37 <li>Rewrote the FO3 messagelist display to display quotes only when it makes sense to do so (in the threaded view, this
38 is almost never; HTML output is much smaller now).</li>
39 <li>Rewrote (message|topic)list paging code, previously it was an appaling mess of nested ternary operators.</li>
40 <li>Rewrote options.php with cleaner code and slightly better UI.</li>
41 <li>Rewrote <var class="file">stuff.php</var> - stats code many times smaller, text moved into separate XML files in
42 <var class="file">res/</var>.</li>
43 <li>Moved sensitive data out of <var class="file">con.php</var> into <var class="file">res/config.ini</var></li>
44 <li>Removed all mysqli code, now using <var>SO2_PDO</var> class.</li>
45 <li>Made a <var>SO2::*</var> container class for stuff that used to use <var>$GLOBALS</var></li>
46 </ul>
47 </div>
49 <div class="content c1">
50 <h2>SO 2.14 - This is madness!</h2>
51 <p>Beginning of rewriting everything for PDO.</p>
52 <p>This one works, but it's half finished and a mess (two DB objects for nothing).</p>
53 </div>
54 </body>
55 </html>