# 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.