packages feed

darcsden-1.1: CHANGES.md

# All changes by release


## darcsden 1.1 (2013/07/20)

  * finalise docs some more
  * bump hsp dependency to the ghc 7.6 compatible version
  * speed up user list on front page
  * add missing web app files to cabal file
  * consistent heading
  * add missing web app files to cabal file
  * update contributing/credits in the readme
  * disable repo packing with darcs 2.8 to fix a build problem
  * depend on darcs 2.8.4+ or darcs 2.9+
  * add missing modules to cabal file
  * bump version to 1.1
  * finalise changelog
  * finalise announcement
  * add "built" in footer
  * auto2 target, workaround for running dev builds as right user
  * update 1.1 announcement
  * changelog update
  * small clarifications to register screen
  * note the -E required to preserve env vars with sudo
  * Remove charset parameter from mime if present
  * Add test for edit/add file
  * Put the codemirror object into window
  * Add ability to create files
  * Resolve ambiguty of edit button, by
  * Add instructions for running tests
  * Add tests for Github OAuth, and 
  * Give more appropriate test failure messages
  * Add test for google sync
  * Add test for google login
  * Add test for creating account using google
  * When resetting state, remove userDir only if it exists
  * Reset state before running create user test
  * Add function to reset redis and couchdb states 
  * Move couchdb datbase creation from WebServer to State Util
  * Basic test for darcsden,
  * Cabal entry for darcsden-test
  * Configuration instructions for OAuth, Forgot Password, and File Edit
  * Add xdgMimePath to Settings,
  * If xdg-mime fails somehow, default mime to text/plain
  * Remove carriage returns before saving the file in file edit
  * Edit link when browsing a file will direct to edit file
  * Add repoBase', which allows custom pagenav
  * Create a page for edit file feature
  * Import codemirror 3.14 for edit file feature
  * Add the javascript to load codemirror editor into the edit file page
  * Add css rules for proper alignment of the editor form
  * Create handlers for edit file
  * markdown line break, test through the web editing
  * depend on newer ssh which builds with latest libs
  * add CHANGES.md showing all changes by release
  * 1.1 announcement WIP
  * update author spellings to improve darcs show authors
  * tools: a place to configure OAuth env vars for dev build
  * display "DEV" not "DEBUG" for developer builds
  * set version back for a bit, 1.1 release delayed
  * Use updated session variables if redirecting to register
  * Give option to build packs in repository settings page, and
  * Add a handler for creating packs to a repository
  * Initialize rBuiltPacks to Nothing when creating a repository
  * Add a field to the Repository model indicating the last time packs was built
  * Show a current password field in user settings only if the user has a password
  * Insist on old password when changing passwords only if the account has a password
  * Change OAuth access functions to use http-conduit
  * Use the new OAuth paths in user handlers
  * Change OAuth paths to use http-conduit
  * Switch to http-conduit instead of http-streams
  * Remove ghc option threaded from executable darcsden
  * Resolve conflict between branches
  * Add buttons for OAuth functions to the pages
  * Add handlers for OAuth registration, login, and link
  * Add a variable for oauth reg to Session
  * Add OAuth utility functions, which:
  * Update darcs import to match the latest API of screened
  * Start OpenSSL when starting the webserver 
  * Add names of the environment variables storing OAuth app authentication to
  * Add dependencies HSOpenSSL, network, http-streams for OAuth feature
  * Create HSPages for forgot password feature, and
  * Add handlers for Forgot password feature
  * Add mime-mail to darcsden's dependency list for sending mails
  * Add utility functions for forgot password:
  * Add settings sendEmail, and sendName. You should be able to
  * return the updated session with setUser
  * Add OAuth identities to User feild, and add utility functions
  * Change user handlers to the new password field
  * Change the password fields of the user, so  that they are optional
  * Load repository page after logging in
  * bump version and tested-with
  * tools: fix http port option
  * fix blaze-html warning, clarify dependency
  * fix WebServer warning
  * tools: use current ghc for dev builds, add ghci rule, don't use dev darcs/ssh by default
  * support current blaze-*
  * support/require pandoc 1.10+
  * document a couple of arguments to patches
  * stop Snap being verbose when running as a service
  * specify imports
  * conditionalise Windows service
  * document darcsden on Windows
  * document new options
  * renamed Win32-services-utils package
  * run as service
  * more debug utils
  * recognise OWNER/repo path in some case or other
  * add tested-with to cabal file
  * more updates for latest darcs
  * log accesses to ./access.log not console with a dev build
  * require newer ssh (#46)
  * we don't support pandoc 1.10 yet
  * tools: build all of darcsden, darcs and ssh in dev builds, for easier debugging
  * update for latest darcs
  * Rename repositories when forking, if neccessary
  * Support for Vagrant
  * getUsersWithRepos placeholder
  * old: disable hard-coded assignment & issue type fields, don't want to encourage enhancement issues right now
  * support/require blaze 0.5
  * check security question answer case-insensitively
  * drop some debug helpers now in the lib
  * 29: disconnect after ssh/scp to a bad path
  * 28: when forking, handle an existing private repo with the same name properly
  * 28: make bootstrapRepository less likely to put fs and db out of sync
  * make most headings bold again, I guess it is better
  * plain text readmes (and literal blocks in change notes) no longer have the gray bg & border
  * hide branches button when there are no forks
  * add bootstrap responsive design (width-adapting) styles, commented
  * front page: widen users column to reduce overlap in narrow windows
  * reduce source code font size a notch
  * show a border below file list; drop unnecessary readme heading
  * reduce heading sizes back towards normal browser defaults
  * set body font-size to 100% not 16px to respect browser settings better (per donri)
  * more robust layout of front page content and markdown lists generally
  * roll back some accidentally committed hunks
  * branches: use the "name's repo" format like all repos
  * changes: prevent line breaks in author name too
  * consistent change layout on changes and branches pages
  * drop unnecessary changes page header
  * use consistent style for next/prev buttons
  * all repos: whitespace fix
  * all repos: link "forks" to the parent repo's branches page as a convenience
  * all repos: show page controls at top also; increase page size from 50 to 500
  * don't show page controls if there is only one page
  * don't buttonize forks on branches page
  * another page layout: content at left, repo buttons at right, site buttons at top right (#16)
  * don't bother linking reporter name in issue list
  * use tables for more robust issue list layout with long issue names
  * allow prettier monospace font in markdown areas
  * let wide source code overflow to right as before
  * fix line numbers wrapping, enlarge & lighten source code
  * fix issue form bg color
  * don't gray out repo description
  * make issue page revise form layout a little more robust
  * lighten issues list
  * lighten branches list
  * fix branches page title
  * fluid page layout using bootstrap columns (#16)
  * lighten form styles
  * lighten headings
  * demote some more h1s I missed
  * begin using bootstrap's grid for page layout
  * adjust button icon alignment
  * make hyperlinks (other than main navigation links) blue
  * bump footer font size
  * where can I put this.. expose global layout more
  * drop the monospace font !
  * consistent non-dotted borders
  * drop excess heading line height
  * use bootstrap's default font family & size
  * restore patch page subheader
  * demote patch section headings and branch names to h3
  * more compact non-heading style for changes, issues, and patch file names
  * change secondary page headings to h2
  * remove dead code
  * keep bootstrap's pagination styles out of our pagination controls, minor cleanups
  * enable bootstrap css/js along with the rest
  * add bootstrap css/js to project
  * bump version description in footer
  * switch to 8901 for default dev instance port
  * include highlight.css only when built with highlighter
  * move javascripts back to the top, order matters
  * drop media=screen for consistency, till there's a clear need
  * move js scripts to end of page
  * bump jquery to latest release

## darcsden 1.0-hub (2012/09/19)

  * sync with latest docs/cabal file from 1.0
  * port the alternate highlightingkate/highlighter flags from 1.0
  * switch highlighting theme from kate to pygments
  * remove disabled font size styles
  * hcar participants update
  * move repos below users on the front page for now as suggested
  * Give better errors on SSH command misuse
  * Give better error on missing SSH key
  * bring HCAR up to date
  * bring draft announcement up to date
  * fix numbered list style in markdown
  * doMarkdown variant that doesn't escape html
  * clarify fixEscapes
  * remove unnecessary import from Base
  * indent list items in markdown
  * add moz and opera transition styles as for webkit
  * remove obsolete browser prefixes on border-radius, box-shadow styles
  * disable 36 of 40 font size adjustments, simplifying styling
  * remove unused .error class
  * unnecessary inline style
  * settings cleanup

The darcsden 1.0 and 1.0.1 releases diverged from this branch, here
are their approximate change logs:

> ## darcsden 1.0.1 (2012/09/20)
> 
>   * bump version
>   * readme/release note links for hackage
>   * point to 1.0 source repo
>   * restore missing highlightingkate/highlighter flags
>   * update HCAR
> 
> ## darcsden 1.0 (2012/09/15)
> 
>   * final 1.0 docs
>   * latest draft of cabal file from hub branch
>   * latest draft of release docs from hub branch
>   * fix numbered list style in markdown
>   * replace "highlighting" flag with "highlightingkate" (default) and "highlighter", to select one or other
>   * indent list items in markdown
>   * add moz and opera transition styles as for webkit
>   * remove obsolete browser prefixes on border-radius, box-shadow styles
>   * fix Control.Monad.Trans warning
>   * available patches -> branches button
>   * shorten explore button name
>   * revert many UI style changes from darcsden-hub branch, restoring "square" style

## darcsden-hub/-1.0 fork

  * create a repo -> new repo button
  * render markdown files to html instead of highlighting them
  * extract isMarkdown
  * don't show non-viewable private branches in branches view
  * try a little whitespace separating repo "view" and "action" buttons
  * try "branches" instead of "available patches" button
  * list all related repos on the patches page, even with nothing to merge
  * make Fork showable for debugging
  * small refactor in repoPatches
  * getForkChanges formatting
  * allow repo members to merge patches
  * add owst to credits
  * simplify flags description
  * clarify draft status of release announcement
  * add build flags to makefile
  * fix compilation warnings
  * Abstract out forked-from string generation. Now use it on users' repo listings
  * Fix build against current screeened darcslib
  * Fix build error due to missing definition of frontPageContent
  * cabal file updates
  * readme, announce updates
  * move db hosts/ports to Settings.hs
  * drop --readme option
  * tweak default settings
  * update release notes
  * re-enable new issue form's assignment and type fields in default build
  * draft 1.0 announcement, in progress
  * add .authorspellings to clean up darcs show authors
  * streamline front page layout, compress user/repo lists a little
  * code cleanup
  * tweak patch timeout error msg
  * show an error message on the patch page if fetching the patch times out
  * show the patch page right away, and the patch data when it's ready
  * fix compilation issues
  * potential fix for #12 - private repos being darcs gettable
  * set up the db view for browsing issues by tag
  * don't bother logging the full request in error log even in DEBUG mode
  * fix compilation warnings
  * drop unnecessary curly braces in cabal file
  * fix cabal build failure when ssh is enabled
  * update error message humanisations
  * add compile-time flag to control auto-closing of issues
  * add a flag to enable the ssh server
  * add flag to enable highlighting
  * use DARCS28 flag for subsidiary executables too
  * darcs 2.8 build fixes
  * fix favicon
  * fix clipped file/folder icons in files list
  * fix reversed file order in patch summary
  * 10: fix patch view hunk reverse-order regression
  * 7: give a proper 404 when viewing a nonexistent patch id
  * disable h-k's blue .fu style that is mysterious in haskell source
  * increase readme font size
  * let long source lines overflow right if they want
  * reorganise styles a bit
  * switch to "kate" highlighting theme
  * increase source code font size
  * /delay/SECS route for testing timeouts, prints a message after the specified delay up to 300s
  * more user-friendly error messages
  * enable line anchors in highlighted source
  * "patches from others" -> "available patches", fix button alignment
  * takeUpTo cleanups
  * elide large patches; reduce max request time to 10s and max file/patch display size to 200K
  * import both highlighting libs, make it easy to switch between them for testing
  * sync with latest darcs-screened
  * Darcs.Util renamed to Darcs.Util in latest darcs (respects DARCS28)
  * move log files to a subdirectory
  * keep user files in a subdirectory
  * fix a warning
  * Fix missing whitespace on replace summary
  * Remove extra whitespace
  * fix markdown pre/code block colours, second attempt
  * fix h-k styles interfering with markdown code blocks
  * keep line numbers aligned with highlighted lines
  * add the remaining h-k styles, use tango
  * add some more highlighting-kate styles, use "pygments" for now
  * use same source code font size in changes
  * simplify highlighting error handling, let it render binary since it seems able
  * bump source code font size a bit
  * mention utf8-string dependency
  * begin switch from highlighter to highlighting-kate
  * Fix background overflow on code blocks
  * Fix merging upstream patches
  * Fix indenting on withParent
  * Make /patches link active on forked repos
  * Show upstream changes on /patches
  * latest developer makefile
  * make request timeout a setting
  * 6: show logged-in users their private repos
  * refactor error pages, use same layout for 404, intentional 500, and exceptions
  * move exception handler's error page to WebUtils with the rest
  * move db schemas to their own module
  * give a prettier error page (and log message) when exceptions happen. First cut.
  * adjust darcs-screened api options following chat with gh
  * build with latest darcs-screened, if the on-by-default "darcs28" cabal flag is turned off
  * fix issue tracker flag warning in SSHServer
  * hide repo settings issue tracker checkbox when when issue trackers are disabled globally
  * alphabetise users
  * make page heading more consistent when browsing files
  * explore -> all repos button
  * refactor issues button
  * reword the patches button and gray it out when there are no forks
  * add an "all issues" view, keep issue view buttons visible
  * rounded button corners
  * tweak my repos, settings button icons
  * set NOINDEX meta tag on patch and misc. form pages to discourage search indexing
  * \#3: show a message instead of an error when browsing a file that can't be highlighted (eg images)
  * switch to underlining links by default
  * clarify renderHtml's source, import debug helpers
  * switch order of private and issue tracker checkboxes in repo settings
  * underlink links in issues
  * switch fork and issues buttons, keeping views and actions grouped
  * make the issue comment form consistent
  * fix clipping of issue comment headings
  * remove hard-coded issue assignment, type fields for now
  * let issue trackers be enabled/disabled per-repo
  * issues need the by_repository_and_number view now, update the db designs accordingly
  * when issues trackers are disabled disable url handlers as well
  * add a "my repos" button when logged in
  * drop cabal build flags since you have to edit Settings in any case
  * add DEBUG to version string in footer for debug builds
  * clearer elided message when viewing a patch with many hunks
  * Fix DSA public key identifier.
  * partial workaround for errors viewing too-large patches
  * README updates
  * footer layout; underline links there and in a few other places
  * move type signatures to the end of settings, and log everything to console in debug mode
  * add a footer with version and contact info, and debug build options, to settings
  * more messing around with changes font sizes
  * fix excessive borders in lists in patch notes, keep patch list font size consistent
  * increase maxlength of input fields to 1000
  * serve a /robots.txt, allowing all bots by default
  * build unthreaded by default, to avoid intermittent errors and eventual stylesheet loss due to non-threadsafe cwd setting by libdarcs
  * serve the public directory with an absolute path to be robust against thread cwd issues
  * move log file paths to Settings
  * don't hide fork/patches buttons in single-user builds
  * fix display of non-user patch authors with no real name part, showing email address up to @
  * replace patch author email addresses with usernames more reliably, eg in changes
  * make user list bold, again
  * keep log in/out buttons on one line
  * underline hyperlinks in the front page intro text
  * de-bold website links in repo list
  * show create repo button only on the user's own repo list
  * smoother change borders
  * show repo website link with consistent style
  * underlined hyperlinks, begone
  * embolden user list, directories in files view
  * lighten explore page styles
  * add a files button to repo sidebar
  * miscellaneous old and new style tweaks.. site font, whitespace, emphasize repo & patch names
  * improve pagination controls layout, show at top as well
  * less whitespace and decoration for changes and markdown content
  * disable the bootstrap feature, it is too slow/fragile  for now
  * make user page repo links absolute so they work when url has a trailing slash
  * show create repo button only when logged in
  * move explore repos button to the front page only
  * move create repo link to a sidebar button
  * don't hide the front page from logged-in users
  * fix setting TCP port on the command-line
  * three cabal build flags for personal use (multiuser, deletefiles, issuetrackers)
  * list users on front page
  * make breadcrumbs' site link and front page content configurable
  * make hostname, base path and base url configurable in Settings.hs
  * clean up cabal file a little, forget about ghc 6.12
  * fix remaining warnings
  * fix redundant imports
  * fix more Snap.Types warnings
  * fix a snap types warning
  * make text fields bigger
  * fix redirect after merging
  * extract global Settings.hs
  * centralise userRoot setting and change it to /home/darcsden
  * provide debug helpers from DarcsDen.Util
  * allow latest snap (0.9)
  * require darcs > 2.8.1 (with prim v1 job patch)
  * bump version to "0.6 alpha"
  * support latest GHC, darcs, and snap, aggregating previous work
  * discourage spam registrations with a security question similar to darcs wiki
  * disable browser autofill on register form fields
  * fix emailFrom with blank author info

## darcsden 0.5 (2012/04/14)

  * version 0.5
  * ignore LC_* env var set requests
  * add initial high-level darcslib wrapper
  * add favicon png
  * constrain snap version number
  * cabal file version updates
  * updates for latest darcs/blaze-html/snap
  * PostHook.hs takes into account the case where the repository is private
  * a less-scary error message when $DARCS_PATCHES_XML isn't set
  * use `get` for forking and bootstrapping rather than `init` and `pull`
  * added getOneOf for getting alternative attributes (i.e. if one was renamed); fixes changes made in an issue comment that changed something to an empty value
  * allow obliterate over ssh
  * allow scp -f without --
  * footer cleanups; added a donate button
  * sort in alphabetical order at /explore
  * corrected user name displayed in issue body
  * oi. really corrected commenting. note to self: don't read other things while I'm typing.
  * corrected commenting
  * bump up font size for inline code in markdown
  * correct double-escaping
  * show issue number in page title
  * use issue number for its URL. closes #9.
  * viewing issues by tag; use ^ for "and" and ~ for "or". closes #1.
  * keep track of "from" values in comment changes
  * allow revising an issue's description. closes #3.
  * minor change, again to test post-hooks (use strip in authorFrom). closes #5 (not really).
  * corrected post-hook
  * tiny meaningless change so I can test the closing mechanism. closes #5.
  * corrected getIssueByNumber
  * add comments for closing issues. closes #5.
  * allow a few other phrases for post-hook
  * added initial post-hook for closing issues
  * list issues with newest up top
  * corrected double shadow in blob view
  * woops; save issue numbers
  * a few defaults for some state object fields
  * update the "updated" field when updating an issue
  * issue numbers + some cleanups
  * use getAttr for other state objects, added getAttrOr/getTime/getID/getRev
  * list issues in reverse-chronological order
  * corrected comment author name
  * slight tweak for add-tag form
  * spruced up the new-issue form, implemented adding arbitrary tags
  * corrected issue closing, added reopening
  * correct issue comment gravatar sizes
  * sort issues and their comments by their updated date
  * properly escape text before markdown'ing it
  * any logged-in user can update issues
  * css fixes
  * --install now sets up issues and comments databases
  * initial work on issue commenting/updating
  * added getAttr helper for reading a value from a JSON object
  * normalize line endings before using pandoc for markdown
  * rMember record field is now a list of usernames, not user IDs (any repositories with members must be updated to reflect this)
  * don't set uid/gid/ just start it as the user
  * password changing
  * ensure we're only bootstrapping http/https urls, corrected `Or' validation, and added isEmpty validator
  * init ssh command with a given repository description
  * cleanups
  * shrunk the favicon a bit
  * added favicon
  * correct $PATH for darcsden god config
  * corrected SSH authorization, and log login attempts
  * added god file
  * hspygments -> highlighter, cleaned up DarcsDen.Handler.Repository.Util
  * issues system updates
  * use hspygments and text for highlighting and bytestring <-> string conversion, respectively
  * progress on the issues system, plus some cleanups
  * orphan a repository's forks when deleting it
  * /forks -> /patches, removed console.logs, plus other fixes to make /patches usable
  * improved checkbox ticking in forks view
  * corrected repo links being shadowed by the canvas
  * updated boringfile
  * update to darcs 2.5.1+, mtl, and snap 0.3+, correcting forks view along the way (thanks Heffalump!)
  * cleaned up main.js
  * cleaned up findAllDeps/etc.; removed HiddenFrom
  * removed QuickCheck dependency

## darcsden 0.4 (2010/12/20)

  * updated synopsis
  * updated description
  * added Setup.hs, version bumped to 0.4, bumped cabal-version
  * corrected non-markdown READMES getting the white-on-black treatment
  * don't check DBs for --readme or --install, and just generate a README from --readme
  * added a note to the README about --readme
  * moved INSTALL file to a --readme flag
  * added --install, which sets up CouchDB for you
  * tweaked location for keypair
  * UI tweaks
  * use new rsaKeyPairFromFile function in ssh 0.2.5 rather than convoluted .keypair format
  * corrected login button background CSS
  * /browse -> /explore, added button for it, and changed the main links to the button-style
  * corrected repository grouping at /browse
  * corrected changes list when there's a `darcs replace` log
  * highlight patch hunks in parallel
  * big ol' code style update
  * reorganization & cabal file cleanups
  * need ssh 0.2.4+
  * removed unused variable
  * corrected highlighting of source code containing utf8
  * atomo pygments lexer updates
  * corrected pygments highlighter; kills runaway processes
  * added Atomo lexer for pygments
  * corrected fallback highlighting
  * use Pygments for highlighting
  * slight forks list correction
  * /browse corrections; show forks of forks on their own for now
  * teeny tiny tweak
  * bumped ssh dependency to 0.2.2, which uses transformers
  * moved repository control links over to the left
  * reorganized breadcrumb for file browsing
  * group repository forks together at /browse
  * split the darcsden ssh server into another executable, plus misc. cleanups
  * improved scp security
  * use SHA512 for passwords
  * specify /srv/darcs for http logs
  * don't allow any tomfoolery with the scp path
  * corrected response for unknown requests, bumped ssh dependency number
  * ignore LANG env requests
  * handle scp requests
  * allow debug commands
  * removed Crypto and uuid dependency
  * updated darcs dependency version
  * split SSH server into its own package: http://darcsden.com/alex/ssh
  * bumped up snap versions
  * output invalid requests
  * ensure that redis/couchdb are usable at startup
  * use 127.0.0.1 rather than localhost
  * corrected notifications added during same response that shows the page
  * Corrected empty repository logic and fixed whitespace.
  * Corrected Python import in INSTALL file.
  * More INSTALL file stuff.
  * Updated INSTALL file.
  * Only show the "remove members" field if there are members to remove.
  * Show 404 pages rather than warnings for invalid repository views.
  * Show different messages with the proper push URLs when vieweing an empty repository.
  * Fixed SSH stuff using getRepository rather than getOwnerRepository.
  * Fixed repository viewing logic.
  * Members of private repositories can now access the repository.
  * Ability to edit repository private status.
  * Tweaked icon positioning for private repositories in user repo list.
  * Added repository public/private classes to user repository listings.
  * Don't include private repositories in getRepositories.
  * Fixed .private-repo class showing edit icon, tweaked icon positioning.
  * Save rIsPrivate as is_private in JSON Repository instance.
  * Private repositories.
  * Take HTTP/SSH port numbers as arguments.
  * Fixed getRepositories.
  * Cleanups.
  * Removed bin directory.
  * Specify cookie path as /; fixes weird logged in/logged out state possibly changing while browsing around.
  * Cleaned up DarcsDen's SSH request handling and verification; added init command for quick repository creation.
  * Channel cleanups and helper functions.
  * Use Redis for storing sessions.
  * Removed ssOutSeq (no longer used), cleaned up a few minor warnings.
  * Preemptively check if the handle is closed to prevent "end of file" messages.
  * Might as well bump up the version number (twice; once for the Snap changeover, another for the new SSH server).
  * Swapped a few lingering putStrLns that were used for debugging.
  * Woops, added DarcsDen.Debug module.
  * Converted print debugging statements to calls to a new DarcsDen.Debug.dump function.
  * Tweaked saneRepo to catch more odd cases.
  * Added KeyPair to SessionConfig for the server's private/public key.
  * Removed redundant rprivN; it's always in the pubkey anyway.
  * Removed CTR TODOs.
  * Initial integration of the new SSH server into DarcsDen, removed old Python server.
  * Tweaked PublicKey authentication to just contain a username and PublicKey.
  * Generalized read functions into NetReader, added blobToKey, plus various cleanups.
  * Added ssh-dss (DSA) public/private key support.
  * Send random bytes as padding.
  * Handle other AES key sizes.
  * Proper channel handling and reorganization to accomodate it.
  * Made SSH more flexible; authentication and channel requests are now handled by a configuration.
  * Keep track of window size and send WINDOW_ADJUST when we need to so that gigantic data transfers work.
  * Improved process I/O redirecting, fixed sending EOF in response to EOF, plus misc. cleanups.
  * Print a message when we lose the connection.
  * Ensure packets are sent sequentially by having a single "sender" thread that reads from a channel. Also added initial exec channel request support.
  * Naming convention tweaks for Packet monad and packet handlers.
  * Fixed `unmpint` and `toBlocks` overflow.
  * A much-needed cleanup.
  * Cryptography overhaul; proper CBC stream decryption/encryption, and use Crypto package instead of AES.
  * Initial SSH server work; transport layer (RFC 4253) functional.
  * Added CouchDB to required packages list for darcs-ssh.py.
  * Removed "code" class wrapping markdown patch notes.
  * Markdown patch notes, removed patch notes from atom feed summaries.
  * CSS tweaks for repository READMEs.
  * Fixed settings page.
  * Added access/error logging.
  * Fixed user viewing, this time keeping repository actions working.
  * Rolled back previous record since it breaks repo viewing instead.
  * Fixed / and /(user) conflicting.
  * Updated SSH server CouchDB URL.
  * fixed CSS class for preference changes in summary
  * No more warnings.
  * Serve static files without grabbing the user's session.
  * Fixed repository browsing, raw file viewing, and darcs get over HTTP.
  * Minor fixes for Snap, bumped required Snap version to 0.1.3, and changed the CouchDB port to 5984.
  * Initial Snap conversion work.
  * Fixed duplicates in patch summaries.
  * Added initial structure for private repositories. Not enabled or complete yet.
  * Tweaked ID for code lines; #L123 looks nicer than #LC123 in urls.
  * Fixed doubled title at user index.
  * Fixed "again" text on registration form.
  * Fixed viewing un-parseable source, and added clickable line numbers.
  * Fixed source code leaving `highlight' unescaped if the parse fails.
  * Refactored getReadme and added an isTooLarge function for checking blob source.
  * Added a filesize check to blob viewing, and added raw file viewing.
  * Fixed darcsden :: darcsden as title for /.
  * Fixed a few warnings.
  * Fixed some spots where raw authors would be displayed for patches, and fixed repositories with no changes showing up at /forks.
  * Small fixes in the ssh server.
  * Changed ssh server to run on a higher port number.
  * Use python 2.x syntax for exception catching.
  * More SSH server fixes and tweaks.
  * Updated the SSH server a bit.
  * Fixed full name in website field on settings page.
  * More readJSON cleanups and tweaks.
  * Fixed merge checkbox names, changed to merge:(rid):(pid).
  * Added initial installation instructions.
  * Fixed main updated tag in changes atom feed, and changed PatchLogs to contain UTCTimes instead of Strings for pDate.
  * Added member stuff back in; stored per repository. Also cleaned up Repository.readJSON.
  * Added getUserByID.
  * Grab the latest session when notifying the user of something so they don't just replace each other if more than one is displayed on a page.
  * Redirect to / after deleting a repository, rather than the user's profile.
  * Don't grab the session when we don't need to (e.g. /public). Also removed unneeded arguments from notFound and errorPage.
  * Moved the user-grabbing parts of toLog into a separate function that goes over the log and checks users only if they haven't already been checked. (30 CouchDB requests per page in the changelog -> number of different users in the log)
  * Fixed getRepositoryByID and repository forking.
  * Added old-time to cabal file (boo!), added a startup message so I don't sit there like a fool waiting for it to say something before I realize it doesn't, plus some more minor cleanups.
  * Re-added bootstrapping.
  * Grab forked repos much more effectively and less-crashingly. Also fixed some more whitespace quirks.
  * Cleaned up handler function.
  * Fixed serveDirectory for /public.
  * Lots of page serving tweaks.
  * Re-added serveDirectory (without MIME stuff) for serving public/ and _darcs directories, and cleaned up Main.hs.
  * Fixed double escaping and removed old commented-out code.
  * Bumped the version number.
  * Initial code for the rest of the repo pages, plus some helper functions for user/repo URLs.
  * Cleaned up and cabalized.
  * Lots o' cleanups.
  * Removed some more old unix stuff.
  * Removed setRepoPermissions.
  * Added submit button to init page.
  * Initial repo init and browse pages.
  * Fixed stale session being passed to pages.
  * Fixed settings form and tweaked register form for internal consistency.
  * Fixed User.showJSON
  * Only update the session if it has notifications to wipe.
  * Read the inputs and cookies once, and then store them in an Env. Fixes blocking on a second attempted input read.
  * Expanded that debug info.
  * Added base page wrapper around user pages.
  * Fixed the nav showing the wrong stuff for logged in/logged out.
  * Initial move to HSP and WAI, plus tons of other vaguely related stuff.
  * Removed defunct Darcsden.State module.
  * Initial conversion to CouchDB.
  * Added initial SSH server.
  * Added some styling for code in READMEs.
  * Show token replaces on patch views.
  * show long comment on changes view
  * show long comment on patch view
  * Dependency indicators at the forks listing.
  * Removed some debugging code.
  * Added dependency information to id/classes in the fork log.
  * Fixed up fork merging.
  * Notices now return IO () instead of a new Session; the reason it was like that before no longer applies.
  * Removed `merge' from the global scope in DarcsDen.State.User; it's only used in hashPassword.
  * DarcsDen.Validate.when -> DarcsDen.Validate.iff
  * Added forks listing page, which lets repo admins bring in patches from forked repos.
  * Fixed forkRepository setting the wrong information, and fixed the console help dialogue being wrong with "exit".
  * refactor: gather instance declarations
  * preliminary devmode setting, change this to run without creating users/groups
  * refactor: gather settings in one place
  * Show repo members with 'get group'.
  * user -> owner
  * Shell cleanups.
  * Fixed a typo in the shell help dialogue.
  * Fixed up admin shell stuff, and added unset command.
  * Added user and repository editing to the admin shell.
  * Reorganized some State stuff, and added an initial admin shell.
  * Added MonadIO instance for Dirty.
  * Forked repositories now keep a reference to the original. Also updated the User and Repository records to remove rUsers and uPubkeys, which are not used.
  * Added pubkeys to the registration form, plus slight cleanups.
  * Fixed checking if there are any repositories to show; show a message when viewing a user with no repositories.
  * Ignore case when sorting repositories.
  * HLint changes.
  * Sort repositories at /browse by their name rather than their owner.
  * Added public repository browsing.
  * Kill the web server thread on shutdown. Helpful for debugging in GHCi.
  * Fixed getting members of a repository.
  * Fixed removeMember.
  * Cleaned up Dirty usage and running shell commands.
  * Compile with -threaded to avoid blocking system calls.
  * New repositories can now be bootstrapped from a URL.
  * Added a improved system of working with shell commands and error handling.
  * Fixed others not being able to read public directories.
  * Added a repository fixer.
  * Change repository permissions so that others can read them.
  * Removed DarcsDen.Data; no longer needed.
  * workaround for "no instance ToSElem ClockTime" with ghc 6.10
  * feeds: various fixes to make the changes feed more valid
  * feeds: link to changes feed from repo and changes pages
  * add "extrahead" field to the base template
  * feeds: fix repo name
  * indentation
  * provide a .../changes/atom feed
  * restore the Makefile with tag/clean/ci rules for cleaning/tagging/auto-recompiling
  * fix "no instance ToSElem String" with 6.10
  * Removed the silly shell scripting in removeMember; use System.Posix again.
  * Slight cleanups.
  * Fixed empty file listings being shown.
  * Ensure that darcsden is run as root.
  * Replaced as many System.Cmd.system calls as possible with System.Posix usage.
  * add missing ghc option in Data.hs
  * adapt ghc-options to 6.10 also
  * Added ghc-options to cabal file and removed Makefile.
  * Fixed patch summaries.
  * Initial cabalization.
  * Switched to HStringTemplate.
  * Use Data.List.Split in State.Repository.
  * Heeded HLint.
  * Hash group names.
  * Oodles of icons.
  * When forking and the target repository name is already in use by the user, ask for a different one.
  * Removed chgrp hack; use setgid.
  * Cleanups.
  * Fixed up repository editing and renaming.
  * Fixed getInputs breaking with empty fields.
  * Notices will now re-grab the session to make sure nothing gets lost (e.g. repeated notices in a loop overwriting each other).
  * Use wordsBy rather than splitOn.
  * Moved a couple more functions to DarcsDen.Handler.Repository.Changes.
  * Added exhaustive pattern-match for pageFor.
  * Fixed index match for splitOn behaviour.
  * Split up Darcs.Handler.Repository a bit.
  * Use split package.
  * Fixed footer being smashed up against forms and other floating elements.
  * Handler cleanups.
  * Tweaked repository verification to only check if a repository is valid if it exists.
  * Added a footer.
  * Make repository directories unreadable by others.
  * Adding and removing members to/from repositories.
  * Removed redundant repository description from blob view.
  * Delete a repository's group when destroying it.
  * Added per-repository user groups; this will be the backbone of adding committers to repositories.
  * notFound now serves the proper error code.
  * Tweaked serveDirectory to take absolute paths.
  * Repository forking.
  * Handler reorganization; added a general handleRepo which does the common validations and moved to Handler.Repository, and moved serveDirectory to HackUtils.
  * Added a default crumb to repo-base.
  * Added edit/delete links.
  * Shortened repository handler names and removed some redundant definitions.
  * Moved repo desc/nav to a repo-base for all repo pages to extend.
  * make clean now removes Main
  * Fixed up patch view; summary links work, removed links for removed files, added files link to the files in the repo, and patch diffs link to the file they modify.
  * Removed ./ part of filenames in patch view.
  * Added Makefile.
  * Cleaned up all warnings.
  * Added GPL3 license.
  * Tweaked the intro page.
  * Repository editing and deleting.
  * Added some content to the index page when not logged in.
  * Shorter patch view URLs.
  * Only show the summary section if there's stuff to show.
  * Show preference changes in patch summaries.
  * Removed lib directory (highlighting-kate now has its own repository)
  * Removed text-press from lib/ (has its own repository now)
  * Added pagination links.
  * Fixed build-depends for text-press.
  * Repository handler cleanups.
  * Repository changes pagination.
  * Removed dist directories from tree.
  * Ignore dist directories.
  * Added Go syntax highlighting.
  * Change ownership of new repositories to its owner.
  * Added a few warning displays to failed validation branches, and automatically log the user in after successful registration.
  * Proper name sanity checking and filtering.
  * Cleaned up HackUtils.
  * Serve darcs repositories with HTTP at the repo's URL.
  * Added a little message to empty repositories so the user knows what the push target is.
  * Bumped up source code size a notch.
  * If a user's pubkey does not exist, return "".
  * Added settings link.
  * Redirect to login if they try to create a repo while not logged in.
  * Added user settings page and pubkey updating.
  * Added a README.
  * User registration now creates the user on the system.
  * Removed Hack.Contrib.Press dependency for now.
  * Sanitize repository paths.
  * Redirect and show errors on repository viewing failure.
  * Added repoDir for getting the path for a directory with a given user/repo name, changed repo dir to /jail/home/(username)/(reponame), and removed no-longer-needed withDirectory.
  * log -> changes
  * Added some basic navigation.
  * Add entire session for page context, not just notifications.
  * Use relatize-dates instead of building up a wonky string from a CalendarTime.
  * No need for the log description to link to the page we're already on.
  * Added notification system, and updated most templates to reflect the new style (especially form stuff).
  * Spruced up the index and user viewing pages, added a base template, and thinned up the diff add/remove indicators.
  * Added modified text-press library pending cleanup and sending patches back to creator.
  * {{var}} escapes var for safe output.
  * Added {{{var}}} for unescaped output.
  * Fixed {% if foo.bar %} being parsed as {% if foo.bar.baz %}
  * Make sure requested paths to public/ are sane.
  * Cleanups.
  * Get a user by a log's author's email address and use it (if a user exists for it) for log pages, etc. Also misc. css tweaks.
  * Added handling for Binary changes.
  * Initial patch viewing.
  * Initial site design, repository browsing, and initial log viewing.
  * Split User stuff into its own handler.
  * Reorganization; moved some things from Handler to HackUtils. Also added repository viewing and browsing.
  * Ignore boring repos dir.
  * Redirect to index on repo init.
  * Added repository viewing, and flipped how repository keys are stored: (name, user) -> (user, name)
  * Redirect to / on succesful registration, and only show your repositories at the index if you have any.
  * Added sessions, logging in, and repository creation, and repository listing.
  * Added basic logging-in (not actually functioning yet; no sessions), and cleaned up some debugging junk.
  * Fixed If validation not collecting the validations from the predicate.
  * Added Show instances for OK, Valid, and Invalid. (show Valid is just explain since some things are not easily Showable)
  * Swapped arguments for IOPred / io to make using them a bit nicer.
  * Added cookie setting/getting HackUtils.
  * Split Invalid and OK into their own types, Result is now an Either on both.
  * Removed listToOctets use, refactored password hashing to intersperse the salt through the password.
  * No need to use `show' on a string when explaining it.
  * Refactored validation, simplfying code and adding IO capabilities. Added username existence validation.
  * Added passwords to users, with a migration from the old form (mostly for practice).
  * Added a slightly prettier and less confusing naming for If validation.
  * Ignore my TODO file.
  * Initial user registration.
  * Added initial input validation system.
  * Added HackUtils module, moved getInput(s) to it.
  * Ignore compiled Main.
  * Slight State tweaks.
  * Added highlighting-kate library for later.
  * State updates; added main State type that is a combination of everything.
  * Slight cleanup for Handler.
  * Added .boring file.
  * Initial state structure.
  * Cleaned up DarcsDen.Handler a little bit.
  * Initial record.