Remove /unsubscribe from htaccess config
[blerg.git] / www / doc / changelog.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Blërg Changelog</title>
5 <link rel="stylesheet" href="/css/doc.css">
6 </head>
7 <body>
8
9 <h1>Changelog</h1>
10
11 The intent of this changelog is to give an overview of the major changes
12 and fixes made to Blërg.  For a detailed changelog, see the git log.
13
14 <a name="v1.11"><h2>Verison 1.11 - released Thursday, March 5th, 2015</h2></a>
15
16 <h3>Features Added</h3>
17 <ul>
18 <li>Password recovery - Passwords can now be recovered using a URL containing
19 authenticated reset information.  These can be generated in advance for
20 safe-keeping (like recovery codes), or sent via email if you have registered an
21 email address.</li>
22 <li>Email notifications - You can register an email address that will receive a
23 daily digest of updates to your feed.  It also allows password resets via
24 email.</li>
25 <li>The recovery and email features above as well as password changes have been
26 added to a new Account Center page.</li>
27 <li>A new environment variable BLERG_HOME has been added to the install
28 environment that points to the root of the blerg data store.</li>
29 </ul>
30
31 <h3>HTTP API Changes</h3>
32 <ul>
33 <li>Password recovery and email are configured via APIs on /aux/recovery and
34 /aux/email, respectively.  They're implemented with new Perl CGIs in
35 aux/cgi. Documentation forthcoming.</li>
36 </ul>
37
38 <h3>Perl API Changes</h3>
39 <ul>
40 <li>Missing documentation for auth functions has been added.</li>
41 <li>A <code>configuration</code> module function has been created to access the
42 runtime configuration in <code>blergconf</code>.</li>
43 </ul>
44
45 <h3>C API Changes</h3>
46 <ul>
47 <li>There is now a function <code>auth_get_counter</code> which returns an
48 opaque 32-bit integer that will change when the password is changed.  It's
49 intended to be used to invalidate things after a password change (like the
50 above recovery links).</li>
51 </ul>
52
53 <h3>Bugs Squashed</h3>
54 <ul>
55 <li>Fixed a bug in the perl version of <code>subscription_list</code> where it
56 was fetching the first 50 entries instead of the last.</li>
57 </ul>
58
59 <a name="v1.10"><h2>Version 1.10 - released Sunday, October 26th, 2014</h2></a>
60
61 <h3>Features Added</h3>
62 <ul>
63 <li>When you are mentioned, the "Feed Your Vanity" button will now light up to
64 let you know. This is implemented internally by a "mentioned" flag on the
65 account.  See the API changes below.</li>
66 <li>Password storage and authentication have been compacted down to two files,
67 reducing size and disk seeks.</li>
68 </ul>
69
70 <h3>HTTP API Changes</h3>
71 <ul>
72 <li>/feedinfo is now /status, which now handles both account status (new feed
73 entries and mentioned status) and subscription status for other users.</li>
74 <li>/unsubscribe has been removed in favor of sending a boolean "subscribed"
75 parameter to /subscribe.</li>
76 <li>The logged-in username is now part of the auth cookie, removing the need to
77 POST the username for authenticated requests.</li>
78 <li>Authentication backend changes allow sessions to be expired.  The session
79 timeout defaults to one hour, and can be changed by tweaking
80 AUTHENTICATION_TIMEOUT in config.h.</li>
81 </ul>
82
83 <h3>C API Changes</h3>
84 <ul>
85 <li>Password retrieval functions (<code>auth_get_*</code>) are no longer part
86 of the C API.</li>
87 <li><code>blerg_{get,set}_mute(*blerg)</code> has been generalized into
88 <code>blerg_{get,set}_status(*blerg, flags)</code> to support new mentioned
89 flag.</li>
90 </ul>
91
92 <h3>Features Deprecated</h3>
93 <ul>
94 <li>Autoconf build system was removed because I don't care to maintain it.  I
95 might revisit it later, but right now, it's misleading to have it available
96 when it doesn't work.</li>
97 </ul>
98
99 <h3>Bugs Squashed</h3>
100 <ul>
101 <li>Password updates now use locks, eliminating a potential race condition that
102 could corrupt the password if two updates happened simultaneously.</li>
103 <li>Fixed one instance of testing mmap result against NULL instead of
104 MAP_FAILED.</li>
105 <li>Fixed a number of bugs with stringbucket implementation.</li>
106 <li>Now building with <code>-Wall</code>, which has found a lot of small
107 bugs.</li>
108 </ul>
109
110 <a name="v1.9.1"><h2>Version 1.9.1 - released Tuesday, June 17th, 2014</h2></a>
111
112 <h3>Features Added</h3>
113 <ul>
114 <li>You can now use the enter key to advance through the login field and log in.</li>
115 <li>RSS links added for tags, refs, and subscription feed.</li>
116 </ul>
117
118 <h3>Bugs Squashed</h3>
119 <ul>
120 <li>Login form now properly defocuses after login.</li>
121 </ul>
122
123 <a name="v1.9"><h2>Version 1.9 - released Sunday, June 1st, 2014</h2></a>
124
125 <h3>Features Added</h3>
126 <ul>
127 <li>Added media support for images.  Image links will now have a play button
128 that will replace the text with the image.</li>
129 <li>Added a back-end Perl module for the file-level blerg API.  The idea is to
130 allow ancilliary functionality (like RSS and mail notification) to be built in
131 Perl rather than C.  Hardcore C and shit is good for core database structure,
132 but it's a royal pain for formatting/templating.  The docs have also been
133 updated to describe this new low-level API.</li>
134 <li>New, less brain-dead RSS implementation using above Perl module. It
135 supports RSS feeds for mentions, tags, and the subscription feed, but it's not
136 currently worked into the UI.</li>
137 <li>Database location is now configurable with environment variables.</li>
138 <li>Added a way of installing Blërg to an "environment directory" that includes
139 most of what you need to run Blërg (see <code>make
140 install-environment</code>).  Still lots to do before I can make Blërg "make
141 install"-able.</li>
142 </ul>
143
144 <h3>Bugs Squashed</h3>
145 <ul>
146 <li>Numerous fixes for 64-bit cleanliness, bad behaviour, and general
147 stupidity.</li>
148 <li>Fixed media functionality for Firefox.</li>
149 <li>Tested compilation with clang; fixed numerous warnings.</li>
150 </ul>
151
152 <a name="v1.8.3"><h2>Version 1.8.3 - released Friday, March 21st, 2014</h2></a>
153
154 <h3>Features Added</h3>
155 <ul>
156 <li>New full-screen editor dialog with preview and reply views.</li>
157 <li>Add Markdown and GitHub Flavored Markdown-style code blocks, and GFM-style
158 strikethrough.</li>
159 </ul>
160
161 <h3>Bugs Squashed</h3>
162 <ul>
163 <li>Fixed link clicking in Firefox and Chrome (and probably Safari and Opera).
164 My link handler would consume all clicks, preventing the user from opening
165 links in new tabs with middle-click, or getting a context-menu on right-click.
166 It now only activates on left-click.</li>
167 </ul>
168
169 <a name="v1.8.2"><h2>Version 1.8.2 - released Monday, November 18th, 2013</h2></a>
170
171 <h3>Features(?) Added</h3>
172 <ul>
173 <li>Updated frontpage style to better scale to different screen sizes,
174 and maybe even look better.</li>
175 <li>Upgraded to Enyo 2.2.</li>
176 </ul>
177
178 <h3>Bugs Squashed</h3>
179 <ul>
180 <li>After posting, you are now redirected to your user page.  This was
181 intended behavior, but broken for the past few releases.</li>
182 <li>Fix clicking on internal hash/user references in Firefox.</li>
183 <li>Properly handle nonexistent/empty hash/user pages.</li>
184 </ul>
185
186 <a name="v1.8.1"><h2>Version 1.8.1 - released Sunday, July 2, 2013</h2</a>
187
188 <h3>Features Added</h3>
189 <ul>
190 <li>Added a flag to account metadata allowing accounts to be "muted" so
191 their posts do not update tags/references/subscription indices.</li>
192 <li>Post indices are no longer preallocated, but instead created as
193 sparse files.</li>
194 </ul>
195
196 <h3>Bugs Squashed</h3>
197 <ul>
198 <li>Numerous safety and integrity checks added</li>
199 <li>The internal segment counter wasn't being updated when switching
200 segments, causing deadlock on the 65537th entry.</li>
201 <li>Record count is now updated after successfully writing a record
202 rather than before.</li>
203 </ul>
204
205 <a name="v1.8"><h2>Version 1.8 - released Thursday, May 30, 2013</h2></a>
206
207 <h3>Features Added</h3>
208 <ul>
209 <li>Passwords are now hashed with scrypt instead of lame old MD5. Source
210 for scrypt 1.1.6 is embedded as it provides no readily usable
211 library.</li>
212 <li>Password formats are automatically upgraded upon login.</li>
213 <li>mailto: is now supported in markdown links</li>
214 <li>Added new <a href="/doc/privacy_data.html">Privacy and Data
215   Policies</a></li>
216 </ul>
217
218 <h3>Editing</h3>
219 <ul>
220 <li>Minor edits to the documentation.</li>
221 </ul>
222
223 <a name="v1.7"><h2>Version 1.7 - released Wednesday, January 16, 2013</h2></a>
224
225 <h3>World Turned Upside-Down</h3>
226 <ul>
227 <li>Rewrote front-end using Enyo 2.1</li>
228 </ul>
229
230 <h3>Bugs Squashed</h3>
231 <ul>
232 <li>Links are now recognized inside parentheses/brackets, provided there
233 is whitespace ahead of it.</li>
234 </ul>
235
236 <a name="v1.6.3"><h2>Version 1.6.3 - released Thursday, January 19, 2012</h2></a>
237
238 <h3>Features Added</h3>
239 <ul>
240 <li>Added password change support</li>
241 </ul>
242
243 <h3>Bugs Squashed</h3>
244 <ul>
245 <li>Added missing application/json Content-type to success/failure
246 responses</li>
247 </ul>
248
249 <a name="v1.6.2"><h2>Version 1.6.2 - released Sunday, January 15, 2012</h2></a>
250
251 <h3>Features Deprecated</h3>
252 <ul>
253 <li>Blerg.httpd (the standalone HTTP Blërg server) is now deprecated.
254 It will not get new features and has been removed as a default build
255 target.  Libmicrohttpd is just too obtuse to continue to support.  Look
256 for a FastCGI version in the future, or maybe a new standalone version
257 written using <a href="https://github.com/ellzey/libevhtp">libevhtp</a>.</li>
258 </ul>
259
260 <a name="v1.6.1"><h2>Version 1.6.1 - released Monday, November 7, 2011</h2></a>
261
262 <h3>Features Added</h3>
263 <ul>
264 <li>Added support for inline media formats (mp3/ogg) played via the
265 audio tag</li>
266 <li>Added autoconf build system graciously provided by Boris
267 Manojlovic</li>
268 </ul>
269
270 <a name="v1.6"><h2>Version 1.6 - released Monday, July 18th 2011</h2></a>
271
272 <h3>Features Added</h3>
273 <ul>
274 <li>Passwords are now stored as MD5 hashes. See
275 tools/convert_to_md5_passwords.pl to convert old passwords.</li>
276 <li>Added notification of new messages from subscribed feeds.</li>
277 </ul>
278
279 <h3>Bugs Squashed</h3>
280 <ul>
281 <li>Users can now log in from multiple locations without clobbering
282 their previous login.</li>
283 <li>Fixed some relative URL problems so that Blërg can be more easily
284 used on a subpath.</li>
285 </ul>
286
287 <a name="v1.5"><h2>Version 1.5 - released Friday, March 4th 2011</h2></a>
288
289 <h3>Features Added</h3>
290 <ul>
291 <li>Added "stalking" (follow)</li>
292 <li>Added markdown-style headers (lines beginning with #), wiki-style
293 headers (lines beginning with =), lists (groups of lines beginning with
294 * separated by blank lines), and quoting (lines beginning with &gt;)</li>
295 <li>Added permalinks to posts</li>
296 <li>Added a new kind of ref tag (@user/N) that links to a specific post,
297 as well as a reply link that auto-enters the perma-ref tag into the
298 content of your post</li>
299 </ul>
300
301 <h3>Bugs Squashed</h3>
302 <ul>
303 <li>Removed the extra whitespace at the end of multi-line posts.</li>
304 <li>Fixed paging so that each page is its own URL, which means the back
305 button works in more places</li>
306 <li>Fixed a number of places where switching views would do nothing</li>
307 <li>Allow formatting metachars to be escaped with backslashes</li>
308 </ul>
309
310 <a name="v1.0"><h2>Version 1.0 - released Wednesday, February 9th 2011</h2></a>
311
312 <h3>Features Added</h3>
313 <ul>
314 <li>Added recent tags and posts display</li>
315 <li>Added a link to see chatter for users other than yourself</li>
316 <li>Changed ref/tag link colors to be gray so that they aren't confused
317 with hyperlinks</li>
318 </ul>
319
320 <h3>Bugs Squashed</h3>
321 <ul>
322 <li>Fixed a few XSS vulnerabilities in regex parsing for urls</li>
323 <li>Fixed tag accessibility issues for longer tags</li>
324 </ul>
325
326 <a name="v0"><h2>Version 0.ofuckreddit - released Thursday, Jan 13th 2011</h2></a>
327
328 <h3>Initial Release</h3>
329
330 </body>
331 </html>