1 What's changed in loggerhead?
2 =============================
7 - Loggerhead now serves bzr branches over HTTP and exposes the URL
8 to branch them. Addresses bug #240577. (Jonathan Lange)
10 - Leading blank lines in commit messages no longer result in an
11 empty summary. (Colin Watson)
13 - Added syntax highlighting to annotate view using
14 python-pygments. Partially addresses bug #306631. (Peter Bui)
16 - Convert newlines in commit messages to HTML line breaks for
17 annotate and changelog views. Addresses bug #273688. (Peter
20 - serve-branches now errors if run behind a proxy without
21 paste.deploy installed.
23 - Loggerhead should now handle file and directory names that need
24 URL escaping without crashing.
26 - The start-loggerhead script properly sets the wsgi.url_scheme
27 from the server.webpath option. (neror)
29 - The revision page defaults to unified style again, and can
30 convert to a side-by-side view using Javascript.
32 - Leading blank lines in commit messages no longer result in an
33 empty summary. (Colin Watson)
35 - The user-confusing "next" and "previous" links now read "older"
36 and "newer" respectively.
38 - The annotate view now contains line number anchors.
40 - The annotate view does syntax highlighting using the "pygments"
43 - Changelog messages are now displayed with newlines preserved.
46 - serve-branches now has an option, --use-cdn, to load YUI from
47 Yahoo!'s CDN. (Matt Nordhoff)
49 - Fix errors when using serve-branches --log-folder or --user-dirs.
50 (It was calling config.get_option() incorrectly.) (Matt Nordhoff,
53 - Move some caching from RAM to the disk, and other caching and
54 memory usage improvements. (Michael Hudson)
56 - Add a --cache-dir option to serve-branches to choose where to
57 place the SQL cache, and only create one temporary SQL dir per
58 process. (Matt Nordhoff, #358322)
60 - Replace homebrew memory profiling code with Dozer. (Paul Hummer)
62 - Use the branch's public_branch as the default suggested URL to
63 branch from (Matt Nordhoff, #369767)
65 - Fix a file descriptor leak (Matt Nordhoff, #370845)
67 - Use transport API internally, so it is possible to specify a remote
68 URL to serve-branches. (Jelmer Vernooij, #371787)
73 - Add startup deamon script for Linux (Marius Kruger)
75 - Switch navigation from file_ids to paths. Fixes bugs #260363,
76 #269365 and #128926. (Martin Albisetti)
78 - Fix bug #258710 ("the /files page explodes in an empty branch").
79 Also minor improvements to the /files and /changes pages.
82 - Added --port, --host and --prefix options to serve-branches
83 script. (Martin Albisetti)
85 - Fixed broken template for project browsing with start-loggerhead
88 - Added --reload options to restart the application when a python
89 file change. (Guillermo Gonzalez)
91 - Added error handling middleware. (Guillermo Gonzalez)
93 - Fix bug #243415 ("Tracebacks go to console but not log
94 file"). Also minor improvements to logging in serve-branches and
95 start-loggerhead. (Guillermo Gonzalez)
100 - Download a diffs between revisions. (Martin Albisetti)
102 - Modified templates to make loggerhead's theme easier to
103 change. (Paul Hummer)
105 - Default sqlite interface is now sqlite3. (Robert Collins)
107 - New ninja theme sponsored by Canonical (Martin Albisetti)
109 - Added COPYING file and clarified copyright headers (John Arbash Meinel)
111 - Remove the .py extension requiered by the Debian Policy.
114 - New startup script serve-branches will serve Loggerhead without
115 the need of configuration, and allow you to browse through directories
116 and branches. (Michael Hudson)
118 - Loggerhead is no longer a TurboGears application, but rather a
119 WSGI application built using Paste (see http://wsgi.org/ and
120 http://pythonpaste.org/ for more about WSGI and Paste).
122 - URLs now use revision numbers instead of revision ids (Martin Albisetti)
124 - The scripts no longer insist on Python 2.4 -- loggerhead works
127 - Bazaar as of version 1.5 has improved in performance enough that
128 the revision cache no longer gave any noticeable benefit, so it
129 was removed (the files-changed cache is still useful).
131 - The templates were rewritten in Zope's TAL markup, powered by
132 the simpleTAL library -- improving both the performance and
133 memory consumption of rendering by a factor of around 3 for
134 large pages over the old Kid templates.
136 - Loggerhead's poorly performing text index was disabled. bzr-search
137 is now used if the plugin is installed and a text index is present
138 on the branch being viewed. (Martin Albisetti, Robert Collins).
140 - Loggerhead no longer depends on bzrlib functions deprecated in
141 Bazaar 1.5 and removed in 1.6 (Martin Albisetti).
143 - The daemonization code was made more regular, fixing bugs
144 #139161 ("Starting loggerhead process may not close its stdin
145 and stdout properly") and #211526 ("Codebrowse log directory has
146 unnecessarily permissive permissions")
148 - Some confusion about what the 'file_id' query argument means was
149 cleared up: filter_file_id now means "filter revisions to those
150 that affect this file" in all views and file_id means "examine
151 this file/directory" in the annotate and inventory views.
153 - Dates are present more compactly.
155 - The loggerhead.conf file can specify which network interface to
156 bind to (Mattias Eriksson)
161 - The changelog view was out of order when not using the revision
166 - Michael Hudson <michael.hudson@canonical.com> has mostly taken
167 over the maintenance of loggerhead.
169 - loggerhead now has a simple test suite -- use 'nosetests' in the
170 loggerhead directory to run it.
172 - The rendering performance of pages that display large amounts of
173 text was improved by a factor of 4 or so.
175 - loggerhead no longer caches the text of the diffs between
176 revisions. It rarely helped and wasted a lot of disk space.
178 - The layout of most pages was made more "tight" to waste less
179 screen real estate, and some other UI improvements (Kent
182 - Much dead code was removed.
184 - Loggerhead now computes the files changed between revisions only
185 when it needs to know this. This is a fairly expensive
186 operation in Bazaar, and doing it less massively improves
187 performance and memory usage in some situations.
189 - Loggerhead now takes a read lock on the branch being viewed for
190 the duration of each request, which improves performance
193 - Loggerhead no longer uses the corruption-prone Berkely DB-backed
194 shelve module for its caches, and rather (ab)uses a sqlite
197 - The creation of History objects is much faster for large
198 branches (Aaron Bentley).
200 - Allow the construction of URLs using revnos and file paths as
201 well as revids and fileids (bug #98826):
203 - For changes pages, append the newest revno to display to the
204 URL, like http://.../changes/<revno>
206 - For annotate pages, append the revno to display to the URL,
207 followed by the path, like http://.../annotate/<revno>/<path>
209 - For file listing and revision pages append the revno to
210 display to the URL, like http://.../files/<revno>
212 Loggerhead still generates URLs using revision and file ids for
215 - Many bugs were fixed:
217 - Loggerhead does not escape special characters when embedding a
218 revision ID in a URL (bug #88286)
220 - Improved robustness in the face of ghosts.
222 - Don't crash on displaying a commit with an empty message (bug
225 - codebrowse fails with infinite redirections (James Henstridge,
228 - Loggerhead fails to browse revisions that change binary files
229 (James Henstridge, bug #91686)
231 - Loggerhead atom feeds expose internal hostname (James
232 Henstridge, bug #93585)
234 - loggerhead don't like page break character (0x0C) in text
237 - codebrowse source listings don't contain line number anchors
240 - only serve up unescaped user content with "Content-Disposition:
243 - viewing the file listing consumes a lot memory (bug #116869)
245 - loggerhead can't handle empty branches (bug #119228)
247 - upgrading the format of a branch behind loggerhead could make
248 it fail for that branch (bug #118673)
250 - Error parsing non-ascii content (bug #117799)
252 - Loggerhead failed on whitespace-only commit messages.
254 - Links to diffs from within a revision do not work (bug
257 - UTF-8 patches served as ISO-8859-1, fixed by served bundles as
258 application/octet-stream (bug #121336)
260 - TurboGears was turning query arguments into unicode, and bzr
261 stopped accepting unicode revids (bug #175228)
267 - fix broken inventory page (oops!)
269 - fix a few rendering problems with kid and safari
275 - new feature to compare two revisions to each other
277 - inserted text in diffs is now blue instead of green
279 - fixed to start and stop as a daemon now (use "-f" to run in the
280 foreground), and all config is in loggerhead.conf (no need to mess with
283 - renamed show/hide javascript buttons to expand/collapse, and made them
286 - added an atom-feed link to each branch on the browse page [elliot
289 - auto-publish feature for multiple branches under a single folder (see
290 loggerhead.conf.example)
292 - added the ability to share cache files per-project instead of just
295 - added side-by-side diff display for the revision page (which is the
296 default), with a button to switch between side-by-side and unified diff
299 - made caching use file locking, and close cleanly on shutdown
301 - miscellaneous speed and page-size improvements