Changelog
The intent of this changelog is to give an overview of the major changes
and fixes made to Blërg. For a detailed changelog, see the git log.
Verison 1.11 - released Thursday, March 5th, 2015
Features Added
- Password recovery - Passwords can now be recovered using a URL containing
authenticated reset information. These can be generated in advance for
safe-keeping (like recovery codes), or sent via email if you have registered an
email address.
- Email notifications - You can register an email address that will receive a
daily digest of updates to your feed. It also allows password resets via
email.
- The recovery and email features above as well as password changes have been
added to a new Account Center page.
- A new environment variable BLERG_HOME has been added to the install
environment that points to the root of the blerg data store.
HTTP API Changes
- Password recovery and email are configured via APIs on /aux/recovery and
/aux/email, respectively. They're implemented with new Perl CGIs in
aux/cgi. Documentation forthcoming.
Perl API Changes
- Missing documentation for auth functions has been added.
- A
configuration
module function has been created to access the
runtime configuration in blergconf
.
C API Changes
- There is now a function
auth_get_counter
which returns an
opaque 32-bit integer that will change when the password is changed. It's
intended to be used to invalidate things after a password change (like the
above recovery links).
Bugs Squashed
- Fixed a bug in the perl version of
subscription_list
where it
was fetching the first 50 entries instead of the last.
Version 1.10 - released Sunday, October 26th, 2014
Features Added
- When you are mentioned, the "Feed Your Vanity" button will now light up to
let you know. This is implemented internally by a "mentioned" flag on the
account. See the API changes below.
- Password storage and authentication have been compacted down to two files,
reducing size and disk seeks.
HTTP API Changes
- /feedinfo is now /status, which now handles both account status (new feed
entries and mentioned status) and subscription status for other users.
- /unsubscribe has been removed in favor of sending a boolean "subscribed"
parameter to /subscribe.
- The logged-in username is now part of the auth cookie, removing the need to
POST the username for authenticated requests.
- Authentication backend changes allow sessions to be expired. The session
timeout defaults to one hour, and can be changed by tweaking
AUTHENTICATION_TIMEOUT in config.h.
C API Changes
- Password retrieval functions (
auth_get_*
) are no longer part
of the C API.
blerg_{get,set}_mute(*blerg)
has been generalized into
blerg_{get,set}_status(*blerg, flags)
to support new mentioned
flag.
Features Deprecated
- Autoconf build system was removed because I don't care to maintain it. I
might revisit it later, but right now, it's misleading to have it available
when it doesn't work.
Bugs Squashed
- Password updates now use locks, eliminating a potential race condition that
could corrupt the password if two updates happened simultaneously.
- Fixed one instance of testing mmap result against NULL instead of
MAP_FAILED.
- Fixed a number of bugs with stringbucket implementation.
- Now building with
-Wall
, which has found a lot of small
bugs.
Version 1.9.1 - released Tuesday, June 17th, 2014
Features Added
- You can now use the enter key to advance through the login field and log in.
- RSS links added for tags, refs, and subscription feed.
Bugs Squashed
- Login form now properly defocuses after login.
Version 1.9 - released Sunday, June 1st, 2014
Features Added
- Added media support for images. Image links will now have a play button
that will replace the text with the image.
- Added a back-end Perl module for the file-level blerg API. The idea is to
allow ancilliary functionality (like RSS and mail notification) to be built in
Perl rather than C. Hardcore C and shit is good for core database structure,
but it's a royal pain for formatting/templating. The docs have also been
updated to describe this new low-level API.
- New, less brain-dead RSS implementation using above Perl module. It
supports RSS feeds for mentions, tags, and the subscription feed, but it's not
currently worked into the UI.
- Database location is now configurable with environment variables.
- Added a way of installing Blërg to an "environment directory" that includes
most of what you need to run Blërg (see
make
install-environment
). Still lots to do before I can make Blërg "make
install"-able.
Bugs Squashed
- Numerous fixes for 64-bit cleanliness, bad behaviour, and general
stupidity.
- Fixed media functionality for Firefox.
- Tested compilation with clang; fixed numerous warnings.
Version 1.8.3 - released Friday, March 21st, 2014
Features Added
- New full-screen editor dialog with preview and reply views.
- Add Markdown and GitHub Flavored Markdown-style code blocks, and GFM-style
strikethrough.
Bugs Squashed
- Fixed link clicking in Firefox and Chrome (and probably Safari and Opera).
My link handler would consume all clicks, preventing the user from opening
links in new tabs with middle-click, or getting a context-menu on right-click.
It now only activates on left-click.
Version 1.8.2 - released Monday, November 18th, 2013
Features(?) Added
- Updated frontpage style to better scale to different screen sizes,
and maybe even look better.
- Upgraded to Enyo 2.2.
Bugs Squashed
- After posting, you are now redirected to your user page. This was
intended behavior, but broken for the past few releases.
- Fix clicking on internal hash/user references in Firefox.
- Properly handle nonexistent/empty hash/user pages.
Version 1.8.1 - released Sunday, July 2, 2013
Features Added
- Added a flag to account metadata allowing accounts to be "muted" so
their posts do not update tags/references/subscription indices.
- Post indices are no longer preallocated, but instead created as
sparse files.
Bugs Squashed
- Numerous safety and integrity checks added
- The internal segment counter wasn't being updated when switching
segments, causing deadlock on the 65537th entry.
- Record count is now updated after successfully writing a record
rather than before.
Version 1.8 - released Thursday, May 30, 2013
Features Added
- Passwords are now hashed with scrypt instead of lame old MD5. Source
for scrypt 1.1.6 is embedded as it provides no readily usable
library.
- Password formats are automatically upgraded upon login.
- mailto: is now supported in markdown links
- Added new Privacy and Data
Policies
Editing
- Minor edits to the documentation.
Version 1.7 - released Wednesday, January 16, 2013
World Turned Upside-Down
- Rewrote front-end using Enyo 2.1
Bugs Squashed
- Links are now recognized inside parentheses/brackets, provided there
is whitespace ahead of it.
Version 1.6.3 - released Thursday, January 19, 2012
Features Added
- Added password change support
Bugs Squashed
- Added missing application/json Content-type to success/failure
responses
Version 1.6.2 - released Sunday, January 15, 2012
Features Deprecated
- Blerg.httpd (the standalone HTTP Blërg server) is now deprecated.
It will not get new features and has been removed as a default build
target. Libmicrohttpd is just too obtuse to continue to support. Look
for a FastCGI version in the future, or maybe a new standalone version
written using libevhtp.
Version 1.6.1 - released Monday, November 7, 2011
Features Added
- Added support for inline media formats (mp3/ogg) played via the
audio tag
- Added autoconf build system graciously provided by Boris
Manojlovic
Version 1.6 - released Monday, July 18th 2011
Features Added
- Passwords are now stored as MD5 hashes. See
tools/convert_to_md5_passwords.pl to convert old passwords.
- Added notification of new messages from subscribed feeds.
Bugs Squashed
- Users can now log in from multiple locations without clobbering
their previous login.
- Fixed some relative URL problems so that Blërg can be more easily
used on a subpath.
Version 1.5 - released Friday, March 4th 2011
Features Added
- Added "stalking" (follow)
- Added markdown-style headers (lines beginning with #), wiki-style
headers (lines beginning with =), lists (groups of lines beginning with
* separated by blank lines), and quoting (lines beginning with >)
- Added permalinks to posts
- Added a new kind of ref tag (@user/N) that links to a specific post,
as well as a reply link that auto-enters the perma-ref tag into the
content of your post
Bugs Squashed
- Removed the extra whitespace at the end of multi-line posts.
- Fixed paging so that each page is its own URL, which means the back
button works in more places
- Fixed a number of places where switching views would do nothing
- Allow formatting metachars to be escaped with backslashes
Version 1.0 - released Wednesday, February 9th 2011
Features Added
- Added recent tags and posts display
- Added a link to see chatter for users other than yourself
- Changed ref/tag link colors to be gray so that they aren't confused
with hyperlinks
Bugs Squashed
- Fixed a few XSS vulnerabilities in regex parsing for urls
- Fixed tag accessibility issues for longer tags
Version 0.ofuckreddit - released Thursday, Jan 13th 2011
Initial Release