~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: William Grant
  • Date: 2011-03-24 23:02:29 UTC
  • mfrom: (441.1.7 xss-fix)
  • Revision ID: william.grant@canonical.com-20110324230229-zq85fy6aqvlyylbu
Improve escaping of filenames in revision views. Fixes a couple of XSS holes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
What's changed in loggerhead?
 
2
=============================
 
3
 
 
4
1.19 [???]
 
5
----------------
 
6
 
 
7
    - Add ``bzr load-test-loggerhead`` as a way to make sure loggerhead can
 
8
      handle concurrent requests, etc. Scripts can be written that spawn
 
9
      multiple threads, and issue concurrent requests.
 
10
      (John Arbash Meinel)
 
11
 
 
12
    - HEAD requests should not return body content. This is done by adding
 
13
      another wsgi middleware that strips the body when the REQUEST_METHOD is
 
14
      HEAD. Note that you have to add the middleware into your pipeline, and
 
15
      it does not decrease the actual work done.
 
16
      (John Arbash Meinel, #716201)
 
17
 
 
18
    - If we get a HEAD request, there is no reason to expand the template, we
 
19
      shouldn't be returning body content anyway.
 
20
      (John Arbash Meinel, #716201, #716217)
 
21
 
 
22
    - Merge the pqm changes back into trunk, after trunk was reverted to an old
 
23
      revision. (John Arbash Meinel, #716152)
 
24
 
 
25
    - Redirect ``/files/file.txt`` to ``/view/file.txt`` and ``/view/dir`` to
 
26
      ``/files/dir``. (Jasper St. Pierre, #569358)
 
27
 
 
28
    - Remove ``start-loggerhead`` and ``stop-loggerhead`` which were already
 
29
      deprecated. (John Arbash Meinel)
 
30
 
 
31
    - Show "Author(s)" as separate from "Committer". And label them
 
32
      correctly. (John Arbash Meinel, #733015)
 
33
 
 
34
    - The json module is no longer claimed to be supported as alternative for 
 
35
      simplejson. (Jelmer Vernooij, #586611)
 
36
 
 
37
    - Viewing the ``/changes`` page only iterates enough of the history to show
 
38
      the actual revisions displayed, rather than walking the whole mainline.
 
39
      Improves performance on projects with long histories like emacs.
 
40
      (John Arbash Meinel)
 
41
 
 
42
    - Fix escaping of filenames in revision views.
 
43
      (William Grant, #740142)
 
44
 
 
45
 
 
46
1.18 [10Nov2010]
 
47
----------------
 
48
 
 
49
    - Syntax highlighting is no longer applied for files greater than 512K,
 
50
      reducing codebrowse.launchpad.net overloading.
 
51
      (Max Kanat-Alexander, #513044)
 
52
 
 
53
    - Documentation added in the docs directory. README simplified
 
54
      accordingly. (Tres Seaver).
 
55
 
 
56
    - Show svn/git/hg revision ids in loggerhead revision view.
 
57
      (Jelmer Vernooij)
 
58
 
 
59
    - Fix .bzr/smart access to branches in shared repos. (You also need
 
60
      a version of bzr with bug #348308 fixed.) (Andrew Bennetts)
 
61
 
 
62
    - Support FastCGI, SCGI and AJP using flup. (Denis Martinez)
 
63
 
 
64
    - Repository.get_revision_inventory() was removed in bzr 2.2; use
 
65
      Repository.get_inventory() instead. (Matt Nordhoff, #528194)
 
66
 
 
67
    - Ignore readonly+ prefix when checking if Loggerhead is serving a
 
68
      local location. (Reported by Tres Seaver.) (Matt Nordhoff)
 
69
 
 
70
    - Set Cache-Control and Expires headers on static pages.
 
71
      (John Arbash Meinel)
 
72
 
 
73
    - Generate relative links where possible (everywhere but HTTP
 
74
      redirects and feed IDs). (Michael Hudson, Matt Nordhoff)
 
75
 
 
76
    - Fix bad redirect when visiting "/download" or "/download/".
 
77
      (Matt Nordhoff, #247992)
 
78
 
 
79
 
 
80
1.17 [20Aug2009]
 
81
----------------
 
82
 
 
83
    - Add bug links in revision informations (Alexandre Garnier, #314052)
 
84
 
 
85
    - Make sure that binary files aren't annotated. (Martin Albisetti,
 
86
      #258848)
 
87
 
 
88
    - Loggerhead now serves bzr branches over HTTP and exposes the URL
 
89
      to branch them. Addresses bug #240577. (Jonathan Lange)
 
90
 
 
91
    - Leading blank lines in commit messages no longer result in an
 
92
      empty summary. (Colin Watson)
 
93
 
 
94
    - Added optional syntax highlighting to annotate view using
 
95
      python-pygments.  Partially addresses bug #306631. (Peter Bui)
 
96
 
 
97
    - Convert newlines in commit messages to HTML line breaks for
 
98
      annotate and changelog views.  Addresses bug #273688. (Peter
 
99
      Bui)
 
100
 
 
101
    - serve-branches now errors if run behind a proxy without
 
102
      paste.deploy installed. (Michael Hudson)
 
103
 
 
104
    - Loggerhead should now handle file and directory names that need
 
105
      URL escaping without crashing.
 
106
 
 
107
    - The start-loggerhead script properly sets the wsgi.url_scheme
 
108
      from the server.webpath option. (neror, #260547)
 
109
 
 
110
    - The revision page defaults to unified style again, and can
 
111
      convert to a side-by-side view using JavaScript. (Michael Hudson)
 
112
 
 
113
    - Clean up and improve performance of the annotate view. (Michael
 
114
      Hudson)
 
115
 
 
116
    - Finish converting JavaScript from MooTools to YUI 3. (Michael
 
117
      Hudson)
 
118
 
 
119
    - Improve compatibility with IE 6. (Michael Hudson)
 
120
 
 
121
    - Leading blank lines in commit messages no longer result in an
 
122
      empty summary. (Colin Watson)
 
123
 
 
124
    - Clip long lines in side-by-side diff view. (Michael Hudson,
 
125
      #334837)
 
126
 
 
127
    - The user-confusing "next" and "previous" links now read "older"
 
128
      and "newer" respectively. (Michael Hudson, #297930)
 
129
 
 
130
    - The annotate view now contains line number anchors. (Michael
 
131
      Hudson)
 
132
 
 
133
    - Fix inventory pages using "//" in links. (Michael Hudson, #329668)
 
134
 
 
135
    - Fix problems viewing files and directories containing spaces and
 
136
      other funny characters. (Peter Bui)
 
137
 
 
138
    - Changelog messages are now displayed with newlines preserved.
 
139
      (Peter Bui, #273688)
 
140
 
 
141
    - Offer a link to see the full file diffs for a file path. (Michael
 
142
      Hudson, #333797)
 
143
 
 
144
    - Fix annotate error caused by Pygments stripping trailing
 
145
      whitespace. (Michael Hudson, #338762)
 
146
 
 
147
    - Loggerhead can be installed as a Bazaar plugin and run by
 
148
      'bzr serve --http'. (Martin Pool)
 
149
 
 
150
    - Load parts of the changelog and revision pages via XMLHttpRequest
 
151
      to improve performance. This adds a dependency on simplejson or
 
152
      json. Partially addresses bug #253950. (Michael Hudson)
 
153
 
 
154
    - Various improvements to the animation JavaScript. (Michael Hudson)
 
155
 
 
156
    - Fix HTML content of source files being displayed unescaped when
 
157
      Pygments was unavailable. (Michael Hudson, #344970)
 
158
 
 
159
    - Fix serve-branches's path argument. (Michael Hudson, #353230)
 
160
 
 
161
    - serve-branches now has an option, --use-cdn, to load YUI from
 
162
      Yahoo!'s CDN. (Matt Nordhoff)
 
163
 
 
164
    - Fix certain race conditions for loading bzr-search. (Robert
 
165
      Collins, #334250)
 
166
 
 
167
    - Fix errors when using serve-branches --log-folder or --user-dirs.
 
168
      (It was calling config.get_option() incorrectly.) (Matt Nordhoff,
 
169
      bug #361238)
 
170
 
 
171
    - Move some caching from RAM to the disk, and other caching and
 
172
      memory usage improvements. (Michael Hudson)
 
173
 
 
174
    - Add a --cache-dir option to serve-branches to choose where to
 
175
      place the SQL cache, and only create one temporary SQL dir per
 
176
      process. (Matt Nordhoff, #358322)
 
177
 
 
178
    - Replace homebrew memory profiling code with Dozer. (Paul Hummer)
 
179
 
 
180
    - Use the branch's public_branch as the default suggested URL to
 
181
      branch from (Matt Nordhoff, #369767)
 
182
 
 
183
    - Fix a file descriptor leak (Matt Nordhoff, #370845)
 
184
 
 
185
    - Use transport API internally, so it is possible to specify a remote
 
186
      URL to serve-branches. (Jelmer Vernooij, #371787)
 
187
 
 
188
    - Fix internal server errors when using start-loggerhead. (Matt
 
189
      Nordhoff, #375948)
 
190
 
 
191
    - Fix annotating non-UTF-8 files when Pygments is disabled. (Matt
 
192
      Nordhoff, #376957)
 
193
 
 
194
    - Fix 'bzr serve --http' errors. (Matt Nordhoff, #377551)
 
195
 
 
196
    - Added the option to hide branches by setting http_serve = False
 
197
      in locations.conf (Martin Albisetti)
 
198
 
 
199
    - Fix serving branches over HTTP. (Matt Nordhoff, Jelmer Vernooij,
 
200
      #380026)
 
201
 
 
202
    - Install loggerhead as a bzr plugin by default (Jelmer Vernooij)
 
203
 
 
204
    - Fix logging 404 Not Found responses (Matt Nordhoff, #381029)
 
205
 
 
206
    - Bumped minimunm bzrlib version to 1.13 (Martin Albisetti)
 
207
 
 
208
    - Make sure the Atom feeds (nearly) validate. (Matt Nordhoff, #247162)
 
209
 
 
210
    - Support serving branches over HTTP using the smart server protocol.
 
211
      (Jelmer Vernooij, #306853)
 
212
 
 
213
    - Serving branch data was broken when --allow-writes was *not*
 
214
      passed. (Michael Hudson, #388730)
 
215
 
 
216
    - http_serve config values are interpreted more forgivingly.
 
217
      (Michael Hudson)
 
218
 
 
219
    - When specifying a remote url to serve-branches, do not share
 
220
      connections between threads. (Michael Hudson, #390972)
 
221
 
 
222
    - http_serve values from locations.conf are now applied to
 
223
      non-branch .bzr data (e.g shared repositories). (Michael Hudson)
 
224
 
 
225
    - tags are now displayed. (Cris Boylan, Alexandre Garnier, Michael
 
226
      Hudson, #246739)
 
227
 
 
228
    - Display Loggerhead's version number at the bottom of the page, and
 
229
      add a <meta> generator tag also including the version numbers of
 
230
      its dependencies. (Matt Nordhoff, #370155)
 
231
 
 
232
 
 
233
1.10 [22Dec2008]
 
234
----------------
 
235
 
 
236
    - Add startup deamon script for Linux (Marius Kruger)
 
237
 
 
238
    - Switch navigation from file_ids to paths. Fixes bugs #260363,
 
239
      #269365 and #128926. (Martin Albisetti)
 
240
 
 
241
    - Fix bug #258710 ("the /files page explodes in an empty branch").
 
242
      Also minor improvements to the /files and /changes pages.
 
243
      (Marius Kruger)
 
244
 
 
245
    - Added --port, --host and --prefix options to serve-branches
 
246
      script. (Martin Albisetti)
 
247
 
 
248
    - Fixed broken template for project browsing with start-loggerhead
 
249
      (Martin Albisetti)
 
250
 
 
251
    - Added --reload options to restart the application when a python
 
252
      file change. (Guillermo Gonzalez)
 
253
 
 
254
    - Added error handling middleware. (Guillermo Gonzalez)
 
255
 
 
256
    - Fix bug #243415 ("Tracebacks go to console but not log
 
257
      file"). Also minor improvements to logging in serve-branches and
 
258
      start-loggerhead. (Guillermo Gonzalez)
 
259
 
 
260
1.6 [15Aug2008]
 
261
----------------
 
262
 
 
263
    - Download a diffs between revisions. (Martin Albisetti)
 
264
 
 
265
    - Modified templates to make loggerhead's theme easier to
 
266
      change. (Paul Hummer)
 
267
 
 
268
    - Default sqlite interface is now sqlite3. (Robert Collins)
 
269
 
 
270
    - New ninja theme sponsored by Canonical (Martin Albisetti)
 
271
 
 
272
    - Added COPYING file and clarified copyright headers (John Arbash Meinel)
 
273
 
 
274
    - Remove the .py extension requiered by the Debian Policy.
 
275
      (Jelmer Vernooij)
 
276
 
 
277
    - New startup script serve-branches will serve Loggerhead without
 
278
      the need of configuration, and allow you to browse through directories
 
279
      and branches. (Michael Hudson)
 
280
 
 
281
    - Loggerhead is no longer a TurboGears application, but rather a
 
282
      WSGI application built using Paste (see http://wsgi.org/ and
 
283
      http://pythonpaste.org/ for more about WSGI and Paste).
 
284
 
 
285
    - URLs now use revision numbers instead of revision ids (Martin Albisetti)
 
286
 
 
287
    - The scripts no longer insist on Python 2.4 -- loggerhead works
 
288
      fine with 2.5.
 
289
 
 
290
    - Bazaar as of version 1.5 has improved in performance enough that
 
291
      the revision cache no longer gave any noticeable benefit, so it
 
292
      was removed (the files-changed cache is still useful).
 
293
 
 
294
    - The templates were rewritten in Zope's TAL markup, powered by
 
295
      the simpleTAL library -- improving both the performance and
 
296
      memory consumption of rendering by a factor of around 3 for
 
297
      large pages over the old Kid templates.
 
298
 
 
299
    - Loggerhead's poorly performing text index was disabled. bzr-search
 
300
      is now used if the plugin is installed and a text index is present
 
301
      on the branch being viewed. (Martin Albisetti, Robert Collins).
 
302
 
 
303
    - Loggerhead no longer depends on bzrlib functions deprecated in
 
304
      Bazaar 1.5 and removed in 1.6 (Martin Albisetti).
 
305
 
 
306
    - The daemonization code was made more regular, fixing bugs
 
307
      #139161 ("Starting loggerhead process may not close its stdin
 
308
      and stdout properly") and #211526 ("Codebrowse log directory has
 
309
      unnecessarily permissive permissions")
 
310
 
 
311
    - Some confusion about what the 'file_id' query argument means was
 
312
      cleared up: filter_file_id now means "filter revisions to those
 
313
      that affect this file" in all views and file_id means "examine
 
314
      this file/directory" in the annotate and inventory views.
 
315
 
 
316
    - Dates are present more compactly.
 
317
 
 
318
    - The loggerhead.conf file can specify which network interface to
 
319
      bind to (Mattias Eriksson)
 
320
 
 
321
1.2.1  [06mar2008]
 
322
------------------
 
323
 
 
324
    - The changelog view was out of order when not using the revision
 
325
      cache.
 
326
 
 
327
1.2  [04mar2008]
 
328
 
 
329
    - Michael Hudson <michael.hudson@canonical.com> has mostly taken
 
330
      over the maintenance of loggerhead.
 
331
 
 
332
    - loggerhead now has a simple test suite -- use 'nosetests' in the
 
333
      loggerhead directory to run it.
 
334
 
 
335
    - The rendering performance of pages that display large amounts of
 
336
      text was improved by a factor of 4 or so.
 
337
 
 
338
    - loggerhead no longer caches the text of the diffs between
 
339
      revisions.  It rarely helped and wasted a lot of disk space.
 
340
 
 
341
    - The layout of most pages was made more "tight" to waste less
 
342
      screen real estate, and some other UI improvements (Kent
 
343
      Gibson).
 
344
 
 
345
    - Much dead code was removed.
 
346
 
 
347
    - Loggerhead now computes the files changed between revisions only
 
348
      when it needs to know this.  This is a fairly expensive
 
349
      operation in Bazaar, and doing it less massively improves
 
350
      performance and memory usage in some situations.
 
351
 
 
352
    - Loggerhead now takes a read lock on the branch being viewed for
 
353
      the duration of each request, which improves performance
 
354
      significantly.
 
355
 
 
356
    - Loggerhead no longer uses the corruption-prone Berkely DB-backed
 
357
      shelve module for its caches, and rather (ab)uses a sqlite
 
358
      database instead.
 
359
 
 
360
    - The creation of History objects is much faster for large
 
361
      branches (Aaron Bentley).
 
362
 
 
363
    - Allow the construction of URLs using revnos and file paths as
 
364
      well as revids and fileids (bug #98826):
 
365
 
 
366
      - For changes pages, append the newest revno to display to the
 
367
        URL, like http://.../changes/<revno>
 
368
 
 
369
      - For annotate pages, append the revno to display to the URL,
 
370
        followed by the path, like http://.../annotate/<revno>/<path>
 
371
 
 
372
      - For file listing and revision pages append the revno to
 
373
        display to the URL, like http://.../files/<revno>
 
374
 
 
375
      Loggerhead still generates URLs using revision and file ids for
 
376
      the moment.
 
377
 
 
378
    - Many bugs were fixed:
 
379
 
 
380
      - Loggerhead does not escape special characters when embedding a
 
381
        revision ID in a URL (bug #88286)
 
382
 
 
383
      - Improved robustness in the face of ghosts.
 
384
 
 
385
      - Don't crash on displaying a commit with an empty message (bug
 
386
        #86247)
 
387
 
 
388
      - codebrowse fails with infinite redirections (James Henstridge,
 
389
        bug #89854)
 
390
 
 
391
      - Loggerhead fails to browse revisions that change binary files
 
392
        (James Henstridge, bug #91686)
 
393
 
 
394
      - Loggerhead atom feeds expose internal hostname (James
 
395
        Henstridge, bug #93585)
 
396
 
 
397
      - loggerhead don't like page break character (0x0C) in text
 
398
        files (bug #113313)
 
399
 
 
400
      - codebrowse source listings don't contain line number anchors
 
401
        (bug #98826)
 
402
 
 
403
      - only serve up unescaped user content with "Content-Disposition:
 
404
        attachment"
 
405
 
 
406
      - viewing the file listing consumes a lot memory (bug #116869)
 
407
 
 
408
      - loggerhead can't handle empty branches (bug #119228)
 
409
 
 
410
      - upgrading the format of a branch behind loggerhead could make
 
411
        it fail for that branch (bug #118673)
 
412
 
 
413
      - Error parsing non-ascii content (bug #117799)
 
414
 
 
415
      - Loggerhead failed on whitespace-only commit messages.
 
416
 
 
417
      - Links to diffs from within a revision do not work (bug
 
418
        #119422)
 
419
 
 
420
      - UTF-8 patches served as ISO-8859-1, fixed by served bundles as
 
421
        application/octet-stream (bug #121336)
 
422
 
 
423
      - TurboGears was turning query arguments into unicode, and bzr
 
424
        stopped accepting unicode revids (bug #175228)
 
425
 
 
426
 
 
427
1.1.1  [24jan2007]
 
428
------------------
 
429
 
 
430
    - fix broken inventory page (oops!)
 
431
 
 
432
    - fix a few rendering problems with kid and safari
 
433
 
 
434
 
 
435
1.1  [20jan2007]
 
436
----------------
 
437
 
 
438
    - new feature to compare two revisions to each other
 
439
 
 
440
    - inserted text in diffs is now blue instead of green
 
441
 
 
442
    - fixed to start and stop as a daemon now (use "-f" to run in the
 
443
      foreground), and all config is in loggerhead.conf (no need to mess with
 
444
      dev.cfg)
 
445
 
 
446
    - renamed show/hide javascript buttons to expand/collapse, and made them
 
447
      much faster
 
448
 
 
449
    - added an atom-feed link to each branch on the browse page [elliot
 
450
      murphy]
 
451
 
 
452
    - auto-publish feature for multiple branches under a single folder (see
 
453
      loggerhead.conf.example)
 
454
 
 
455
    - added the ability to share cache files per-project instead of just
 
456
      per-branch
 
457
 
 
458
    - added side-by-side diff display for the revision page (which is the
 
459
      default), with a button to switch between side-by-side and unified diff
 
460
      format
 
461
 
 
462
    - made caching use file locking, and close cleanly on shutdown
 
463
 
 
464
    - miscellaneous speed and page-size improvements
 
465
 
 
466
 
 
467
1.0  [23dec2006]
 
468
----------------
 
469
 
 
470
    - initial release
 
471