monotone

monotone Mtn Source Tree

Root/NEWS

1Sat Jul 22 01:39:51 PDT 2006
2
3 0.28 release. Cherrypicking, a new testsuite, and some fixes
4 and enhancements.
5
6 New features:
7
8 - Cherrypicking with the new "pluck" command. This takes (a restricted
9 subset of) the changes in a revision, or between two
10 revisions, and applies them to your workspace. That this
11 has happened is not recorded in history; it as if you
12 happened to make some very similar changes by hand in your
13 workspace.
14 - New automate commands, "automate tags" and "automate branches".
15 - "diff" now knows how to find enclosing function (or
16 whatever) bodies, just like GNU diff's "-p" option.
17 -- The regex that defines "enclosing function" can be chosen
18 on a per-file basis by a hook function; the default hook
19 knows about LaTeX, Texinfo, and most programming
20 languages.
21 -- This is enabled by default; use --no-show-encloser to
22 disable.
23
24 Enhancements:
25
26 - When netsync fails due to permission errors, the server returns a
27 semi-intelligible message before dropping the connection.
28 - When merging a branch with 3 or more heads, the order in which to
29 merge the heads will now automatically be chosen to minimize
30 the amount of repeated work that must be done.
31 - Crash dumps are now written to $CONFDIR/dump when no workspace is
32 available
33 - Path validation routines are faster.
34 - Inodeprints should be slightly more robust now.
35 - New hook get_mtn_command, used to determine the path to the
36 mtn binary on a remote host, when using ssh support.
37 - "diff" now accepts "-u" and "-c" as short for "--unified"
38 (the default) and "--context", respectively.
39
40 Bug fixes:
41
42 - "revert --missing" now works when run in a subdirectory.
43 - "revert --missing" now works without any additional files
44 being specified. (You don't have to say "mtn revert
45 --missing .".)
46 - Fix an edge case where monotone would crash if there was a
47 content conflict in a merge for which there was no lca.
48 - Fix a case where netsync would sometimes hang during refinement.
49 - "mtn help" and "mtn --help" now exit with return code 0.
50
51 Build environment:
52
53 - automake 1.9 is now required.
54 - The testsuite has been rewritten, and should be much faster now. It
55 also no longer relies on the presence of a *nix userland.
56 - Add workaround for gcc 4.1.[01] bug causing "multiple
57 definition" errors.
58
59 Internal:
60
61 - Restrictions have been split into path_restrictions and
62 node_restrictions, and generally cleaned up more.
63
64Sat Jun 17 14:43:12 PDT 2006
65
66 0.27 release. Minor bug fixes and enhancements, plus ssh
67 support.
68
69 Major new features:
70
71 - Monotone can now push/pull/synchronize over arbitrary
72 bidirectional streams, not just raw TCP.
73 - File-to-file synchronization is enabled out of the box,
74 e.g.:
75 $ mtn -d db1.mtn sync file:/path/to/db2.mtn
76 - SSH synchronization is enabled out of the box, e.g.:
77 $ mtn -d local.mtn sync ssh://njs@venge.net/home/njs/remote.mtn
78 Note that this requires mtn be installed on the remote
79 computer, and locks the remote database while running; it
80 is not ideal for groups accessing a shared database.
81 - New protocols can be defined with Lua hooks -- for
82 example, someone could in principle make "$ mtn sync
83 xmpp://njs@jabber.org" do something interesting.
84 - See section "Other Transports" under "Advanced Uses" in the
85 for more details.
86
87 Minor new features:
88
89 - Selectors now support escaping, e.g., b:foo\/bar can be used
90 to refer to a branch with name "foo/bar" (normally / is a
91 metacharacter that separates multiple selectors).
92 - Visual C++ can now build monotone on Windows. (Mostly
93 important because it allows better Windows debugging.)
94 - --quiet now turns tickers off, and does not turn warnings
95 off. New option --reallyquiet disables warnings as well.
96 - New command 'automate common_ancestors'.
97 - 'ls branches' now takes a pattern, e.g.:
98 $ mtn ls branches "*contrib*"
99
100 Speed improvements:
101
102 - Bug in select() loop fixed, server should no longer pause in
103 processing other clients while busy with one, but multiplex
104 fairly.
105 - The database has a new write buffer which gives significant
106 speed improvements in initial pulls by cancelling redundant
107 database writes.
108 - There's been a fair bit of performance tuning all around.
109
110 Bug fixes:
111
112 - Merge tools that exit in failure are now detected.
113 - Better reporting of operating system errors on Win32.
114 - Passphrases stored in ~/.monotonerc are no longer written to
115 the log file. (Passphrases entered at the terminal were
116 never written to the log file.)
117 - Fix sql injection bugs in selectors, making it safe to
118 expose slectors in web interfaces etc.
119 - Files marked with the mtn:execute attr now respect umask.
120 - 'automate' commands on Win32 now disable newline translation
121 on their output; this is especially important for 'automate
122 stdio'.
123 - 'db check' now calls the sqlite "PRAGMA integrity_check", to
124 validate the integrity of things like sqlite indices.
125 - 'mtn annotate nonexistent-file' now gives a proper error
126 message, instead of an assertion error.
127 - 'mtn revert --missing' now works correctly when run in a
128 subdirectory.
129 - 'automate inventory' no longer fails when _MTN/work contains
130 patch stanzas.
131
132 Other:
133
134 - Many, many internal code cleanups
135 - Including changes to somewhat reduce the size of the
136 binary
137 - New tutorial on using packets added to the manual
138 - Updated translations, improved error messages, etc.
139
140 Reliability considerations:
141
142 - In the two months since 0.26 was released, zero serious bugs
143 have been reported in the new code.
144
145Sat Apr 8 19:33:35 PDT 2006
146
147 0.26 release. Major enhancements and internal rewrites.
148 Please read these notes carefully, as significant changes are
149 described. In particular, you _cannot_ upgrade to 0.26
150 without some attention to the migration, especially if you are
151 working on a project with other people. See UPGRADE for
152 details of this procedure.
153
154 The changes are large enough that there were 3 pre-releases of
155 this code; the changes that occurred in each can be seen
156 below. However, for the convenience of those following
157 releases, all changes since 0.25 will be summarized in these
158 release notes. There is no need to read the pre-release notes
159 individually.
160
161 Major changes since 0.25:
162
163 - The most user-visible change is that the default name of the
164 monotone binary has changed to 'mtn'. So, for example, you
165 would now run 'mtn checkout', 'mtn diff', 'mtn commit',
166 etc., instead of 'monotone checkout', 'monotone diff',
167 'monotone commit'.
168 - Similarly, the name of the workspace bookkeeping directory
169 has changed from "MT" to "_MTN". As workspaces will
170 generally be recreated when migrating to this release,
171 this should not cause any problems.
172 - Similarly, built-in attrs like 'execute' have had 'mtn:'
173 prepended to their names. For example, executable files
174 should now have the attr 'mtn:execute' set to 'true' on
175 them. The migration code will automatically add this
176 prefix; no user intervention is needed.
177 - Similarly, the name of the ignore file has changed from
178 '.mt-ignore' to '.mtn-ignore'. The migration code will
179 automatically rename this file; no user intervention is
180 needed.
181 - Similarly, the recommended suffix for monotone db files is
182 now '.mtn'.
183 These changes are all purely cosmetic, and have no affect on
184 functionality.
185
186 - The most developer-visible change is that the data
187 structure for representing trees has been completely
188 replaced, and all related code rewritten. The new data
189 structure is called a 'roster'. You don't really need to
190 know this name; unless you are hacking on monotone or using
191 various debug operations, you will never see a roster.
192 It's mostly useful to know that when someone says something
193 about 'roster-enabled monotone' or the like, they're
194 referring to this body of new code.
195
196 This change has a number of consequences:
197 - The textual format for revisions and manifests changed.
198 There is no conceptual change, they still contain the same
199 information and work the same way. The formats were
200 merely cleaned up to correct various problems experience
201 showed us, and allow various enhancements now and in the
202 future. However, this change means that a flag-day
203 migration is required. See UPGRADE for details.
204 - Directories are now first-class objects. You can add an
205 empty directory, must drop a directory if you want it to
206 go away, etc.
207 - Attrs are now first-class objects. '.mt-attrs' no longer
208 exists; attrs are now described directly in the manifest,
209 and changes to them appear directly in revisions. The
210 migration code will automatically convert existing
211 .mt-attrs files to the new first-class attrs. If you have
212 custom attrs, those may require special handling -- if
213 this is the case, then the upgrader will tell you.
214 - The merge code has been rewritten completely. The
215 interface is currently the same (though this rewrite makes
216 it easier to improve the interface going forward); if you
217 have found merging in monotone to be easy in the past,
218 then you will not notice anything different. If you have
219 run into problems, then the new merger should make your
220 life substantially simpler. It has full support for
221 renames (of both directories and files), intelligent
222 merging of attrs, improved handling of file content
223 merges. Is the first known merger implementation based on
224 a provably correct algorithm (the "multi-*-merge"
225 algorithm), has exhaustive automated tests, and generally
226 should give accurate, conservative merges.
227 - The new code is generally faster, though not yet as
228 fast as it could be.
229
230 Netsync changes:
231
232 - The default netsync port has changed 5253 to 4691. 4691 is
233 our official IANA-assigned port. Please adjust firewalls
234 appropriately.
235
236 - Netsync code has also been largely reworked; new code should
237 provide better opportunities for optimizations going
238 forward.
239
240 - The protocol is incompatible with earlier versions of
241 monotone. This should not be a surprise, since the data it
242 carries is also incompatible (see above)...
243
244 New features:
245
246 - New option --brief to 'annotate', gives somewhat more
247 friendly output.
248
249 - Several enhancements to log:
250 - New option --next, to display descendent revisions
251 (rather than ancestor revisions).
252 - When 'log -r' is given an ambiguous selector, it now just
253 logs all matching revisions, instead of requiring the
254 selector be disambiguated.
255 - New option --no-files.
256
257 - New command 'show_conflicts', performs a dry run merge.
258
259 - New command 'ls changed'.
260
261 - 'rename' (and its alias 'mv') now accept a broader range of
262 syntax:
263 mtn rename foo some_dir
264 -> renames foo to some_dir/foo
265 mtn rename foo bar baz some_dir
266 -> moves foo, bar, and baz to some_dir/foo,
267 some_dir/bar, and some_dir/baz
268
269 - New hook 'validate_commit_message', which may be used to
270 verify that all commit messages meet arbitrary user-defined
271 rules.
272
273 - New option --log, to log monotone's output to a file.
274
275 - New option 'drop --recursive', to remove a directory and its
276 contents in one swoop.
277
278 - The root dir may now be renamed. This is a somewhat exotic
279 feature, but has some interesting uses related to splitting
280 up or joining together projects; see new commands
281 'pivot_root', 'merge_into_dir'.
282
283 Minor bug fixes:
284
285 - 'serve' with no --bind argument should now work on systems
286 where the C library has IPv6 support, but the kernel does
287 not.
288
289 - Stricter checking on the internal version of filenames to
290 ensure that they are valid UTF-8.
291
292 - If the database is in the workspace, then it is always
293 ignored.
294
295 - Monotone no longer errors out when using a French (fr)
296 locale with a non-Unicode codeset.
297
298 Other changes:
299
300 - Packet commands ('rdata', 'fdata', etc.) have been moved to
301 'automate'.
302
303 - Database storage now uses sqlite's blob support; database
304 files should be ~1/4 smaller as a result.
305
306 - Monotone now uses sqlite 3.3; this means that older versions
307 of the command line client (e.g., an 'sqlite3' command built
308 against sqlite version 3.2) cannot be used to poke at a
309 monotone 0.26 database. Solution is to upgrade your sqlite3
310 program. Hopefully this is irrelevant to most users...
311
312 - Translations updated, and 3 new translations added (de, it,
313 sv).
314
315 Reliability considerations:
316
317 - This new codebase has received much less testing under real
318 world conditions than the codebase used in 0.25, simply
319 because it is newer. It has been in active use for monotone
320 development since 8 January 2006, and only a small number of
321 bugs have been found; all bugs found so far have been very
322 minor, and none stood any danger of corrupting data.
323 Furthermore, we are much more confident in the theoretical
324 underpinnings of the new approach than the old, and the test
325 suite attempts to exhaustively exercise all new code paths.
326
327 However, none of this is or can be a substitute for real
328 world experience. We advise caution in upgrading to this
329 version of monotone, and suggest that (especially) those who
330 upgrade aggressively should pay extra attention to the
331 monotone mailing list before and after doing so.
332
333Wed Mar 29 05:20:10 PST 2006
334
335 0.26pre3 release. This release may be considered a "release
336 candidate", in that while we need to write some tests and make
337 sure some bugs are fixed, all features are in and we hope that
338 no further bug fixes will be needed either. It is still a
339 pre-release for testing. Do not package it. DO NOT USE THIS
340 RELEASE UNLESS YOU WANT TO BE A DAREDEVIL.
341
342 But, PLEASE PLEASE TEST this release. There are some
343 non-trivial changes since 0.26pre2, and this is your last
344 chance!
345
346 Major changes since 0.26pre2:
347
348 - The name of the monotone binary has changed to 'mtn'.
349 - Similarly, the name of the bookkeeping directory in
350 workspaces has changed from 'MT' to '_MTN' (if you have an
351 existing 0.26-line workspace, just rename the MT directory
352 to _MTN).
353 - Similarly, the name of the ignore file has changed from
354 ".mt-ignore" to ".mtn-ignore". 'rosterify' will rename
355 these automatically (if you have already rosterified, you
356 get to rename them by hand).
357 - Similarly, the recommended suffix for monotone db files is
358 now ".mtn".
359
360 - We now perform stricter checking to make sure that filenames
361 are valid UTF-8. It is in principle possible that this
362 stricter checking will cause histories that used to work to
363 break; if you have non-ascii filenames, it is strongly
364 recommended to test with this release.
365
366 - Root dir renaming is now supported. See new commands
367 'pivot_root', 'merge_into_dir'.
368 - As a side-effect, it is now possible to run 'rosterify' on
369 histories in which two independent lines of history were
370 merged.
371
372 - The security fix released in 0.25.2 has been forward-ported
373 to this release; this prevents some security exposure to
374 people running monotone as a client on case-insensitive file
375 systems.
376
377 Minor change since 0.26pre2:
378
379 - Database now uses sqlite blobs for storage; should be ~1/4
380 smaller.
381 - New command: show_conflicts, does a dry-run merge.
382 - New option 'drop --recursive', to remove a directory and all
383 its contents in one swoop.
384 - Changes to 'log':
385 - New option --no-files
386 - Including merges is again the default (i.e., it now acts
387 like 0.25, and not like 0.26pre2).
388 - When 'log -r' is given an ambiguous selector, it now just
389 logs all matching revisions, instead of requiring the
390 selector be disambiguated.
391 - New option --log, to log monotone output to a file.
392 - Netsync changes:
393 - Was sending far too much data in some cases; now does not.
394 - Several bugs that caused it to lock up fixed
395 - Tweak to allow 'usher' proxy to transparently redirect
396 based on client's protocol version, to ease migration
397 between incompatible protocol versions.
398 - Packet commands have been moved to 'automate'.
399 - Fixed bugs in 'db kill_rev_locally', should no longer leave
400 an inconsistent db behind.
401 - Translation updates
402
403 Other projects receiving notable work:
404
405 - Monotone's "dumb server" support (repo distribution over
406 HTTP/FTP/SFTP etc.) has been ported to 0.26, a first command
407 line version written, etc.
408 - The 'usher' netsync proxy used for hosting many databases on
409 a single machine has received significant cleanups, and the
410 'webhost' project to provide a simple interface to shared
411 monotone hosting providers has received even more work.
412
413Sat Feb 11 13:32:51 PST 2006
414
415 0.26pre2 release. Inching towards 0.26. If you are using
416 0.25 or earlier, then make sure to read the very important
417 notes for 0.26pre1, below. In particular, like 0.26pre1, this
418 is a pre-release for testing. Do not package it. DO NOT USE
419 THIS RELEASE UNLESS YOU WANT TO BE A DAREDEVIL.
420
421 (Though, in fact, in a month of usage, only one bug has been
422 found in the new history code, and it was both minor and
423 harmless. It has additionally been fixed.)
424
425 Database changes:
426
427 - SQLite 3.3.3 has been imported. 3.3 introduces a new database
428 format that is not backwards compatible with earlier 3.x releases.
429 New databases will be created using this new format. Existing
430 databases remain compatible, and are not converted automatically.
431 Existing databases can be converted by performing a database
432 vacuum ('monotone db execute vacuum').
433
434 New features:
435
436 - New hook validate_commit_message -- use to verify that all
437 commit messages meet arbitrary user-defined rules.
438
439 UI improvements:
440
441 - rename (and mv) commands now accept a broader range of
442 syntax:
443 monotone rename foo some_dir
444 -> renames foo to some_dir/foo
445 monotone rename foo bar baz some_dir
446 -> moves foo, bar, and baz to some_dir/foo,
447 some_dir/bar, and some_dir/baz
448 - Print a warning if it looks like a user has made a quoting
449 mistake on push/pull/sync/serve (windows cmd.exe has
450 confusing rules here).
451 - New command "ls changed".
452 - New option "--next" to log, which displays descendents of
453 the start revision.
454 - Updating to an arbitrary revision now works again (as it did
455 in 0.25 and earlier). This allows one to, for instance,
456 switch a working copy to another head, or back up to an
457 earlier version, while preserving uncommitted changes.
458 - New option --brief to annotate, gives somewhat more friendly
459 output.
460 - Fixed bug that made ticker output from netsync inaccurate.
461 - In 'log', --no-merges is now the default, use --merges to
462 override.
463 - If the database is in the working copy, then it is always
464 ignored.
465
466 Bugs:
467
468 - 'serve' with no --bind should now work on systems where the
469 C library has IPv6 support, but the kernel does not.
470 - Compile fixes for GCC 4.1 pre-releases.
471
472 Other:
473 - Better detection when users have not run "rosterify", and
474 more helpful suggestions on what to do in this case.
475 - Documentation, translation, error message,
476 etc. improvements.
477 - Updates to contrib/mtbrowse.sh, simple shell-based monotone
478 interface.
479 - Updates to many other contrib/ files, mostly to maintain
480 compatibility with monotone changes.
481
482Sun Jan 8 01:08:56 PST 2006
483
484 0.26pre1 release. Massive rewrites, released for shakedown.
485 This release is also dedicated to Shweta Narayan.
486
487 This release includes massive changes compared to 0.25. The
488 core versioning code has all been replaced with a completely
489 different mechanism. Data formats and the netsync protocol
490 have changed in incompatible ways.
491
492 Migration to 0.26pre1 or later is irreversible and requires a
493 flag day for your project. See UPGRADE for details. Note
494 that we DO NOT recommend upgrading at this time; see below.
495
496 If you have been following the development list for the last
497 few months, you may have heard about "rosters" -- this is the
498 name for the new core data structure we use. While the code
499 is completely different, the user experience should not be
500 very different. You will never see a roster, unless you are
501 debugging monotone itself; everything still revolves around
502 revisions, manifests, and certs.
503
504 While this new code has extensive tests, because of these
505 incompatibilities, it has never been used for real work. The
506 purpose of this release is to make a version available for the
507 monotone developers to begin using for day-to-day work, to
508 shake out bugs.
509
510 Let's say that again in caps: THIS CODE IS PROBABLY BUGGY, DO
511 NOT USE IT IN PRODUCTION UNLESS YOU WANT TO BE A DAREDEVIL.
512
513 However, testing of this version with real databases is a good
514 idea, and we'd very much appreciate hearing about your
515 experiences.
516
517 Some of the many changes:
518 - New textual format for revisions and manifests; they remain
519 conceptually the same, but have been tweaked. Manifests
520 now use the same "basic_io" format as everything else in
521 monotone, and contain entries for directories, revisions
522 record file adds slightly differently and record directory
523 adds for the first time, etc. Because of this format
524 change, revision hashes are now different; converting
525 rosters requires a full history rebuild and reissue of certs.
526 - Directories are now first class. To get rid of a directory
527 you must remove it; to create a directory, you must add it.
528 You can add an empty directory.
529 - Attrs are now first class. The .mt-attrs file is gone;
530 attributes are now stored directly in the manifest.
531 - New merge algorithm, based on "multi-*-merge", and more
532 aggressive, less buggy merge ancestor selection code
533 - Netsync's core has been largely rewritten. Code is now much
534 clearer and more reliable, and now includes the ability to
535 resume interrupted partial transfers. The netsync protocol
536 version number has been bumped, and netsync now runs on the
537 IANA-assigned port 4691 by default.
538 - 100% fewer change_set.cc related bugs. 100% more roster.cc
539 related bugs. But the idea of touching roster.cc does not
540 terrify people.
541
542Thu Dec 29 23:10:03 PST 2005
543
544 0.25 release.
545
546 Incompatible command line changes:
547 - 'monotone revert' now requires an argument. To revert your
548 entire working copy,
549 $ monotone revert
550 no longer works; instead, go to the root of your working
551 copy and run
552 $ monotone revert .
553
554 New features:
555 - Netsync now supports IPv6 (where OS support exists)
556
557 Bugs fixed:
558 - 'revert' gives feedback describing what it changes
559 - Database locking further tweaked, to allow more concurrent
560 access in situations where this is safe.
561 - On win32, ticker display was fixed, so that it no longer
562 prints a new line at each update.
563 - 'read' can now understand (and migrate) privkey packets
564 generated by monotone version 0.23 or earlier.
565 - 'log --diffs <files>' now prints only diffs for the given
566 files (previously, it would print only revisions in which
567 the given files changed, but would print all diffs for those
568 revisions).
569 - Win9x and WinNT 4 compatibility fixes.
570
571 New translations:
572 - pt_BR
573
574Sat Nov 27 22:29:38 PST 2005
575
576 0.24 release.
577
578 Configuration change (Windows only):
579 - Configuration directory on Windows has changed. It used to
580 be some complicated and varying function of %HOME%,
581 %USERPROFILE%, %HOMEDRIVE%\%HOMEPATH%, whether you were
582 running in mingw/cygwin, etc. It is now, always,
583 %APPDATA%\monotone. For instance, if your configuration
584 file used to be named
585 ...\Documents and Settings\user\.monotone\monotonerc
586 it will now be named
587 ...\Documents and Settings\user\Application Data\monotone\monotonerc
588 Please rename files appropriately.
589
590 Major key management changes:
591 - Private keys are no longer stored in your database. They
592 are stored in ~/.monotone/keys/ (Unix, OS X) or
593 %APPDATA%\monotone\keys\ (Windows). 'db migrate' will
594 automatically move your keys out of your database and into
595 their proper location. Consequences:
596 - 'genkey' no longer requires a database. Simply run it
597 once when you first start using monotone, even before you
598 have created a database.
599 - Running 'genkey' once will suffice to give all databases
600 on one computer access to your key. No more fiddling with
601 'read'.
602 - When you want to make your key available on another
603 computer, simply copy over the appropriate file from your
604 'keys' directory to the corresponding directory on the new
605 computer.
606 - Private keys also use a more standard on-disk envelope
607 encoding ("PBE-PKCS5v20(SHA-1,TripleDES/CBC)") instead of
608 previous ARC4. More secure, and with extra crypto karma.
609
610 Netsync changes:
611 - Command line syntax for 'serve' changed; administrators WILL
612 have to adjust scripts.
613 monotone serve my.host.com "*"
614 becomes
615 monotone serve --bind=my.host.com "*"
616 or simply
617 monotone serve "*"
618 (to serve on the default port, on all interfaces).
619 - Speaking of which, we can now bind to all interfaces; run
620 'serve' without passing --bind, or with passing
621 --bind=:port, and monotone will listen on all interfaces.
622 - New option '--key-to-push' for 'push', 'sync', allows
623 administrator to push a new user's public key into a running
624 server without restarting it.
625 - Netsync permission hooks have new defaults that read a
626 description of allowed access out of a standard,
627 basic_io-based textfile (the same stanza-based format that
628 revisions use). Current hooks will continue to work, but
629 users may prefer to transition to this format; see manual
630 for details.
631 - Between these, it is now straightforward to change
632 permissions and add users without restarting your server.
633 - Improvements to experimental "usher" facility.
634
635 UI improvements:
636 - New convenience options "add --unknown", "drop --missing",
637 "revert --missing" do what you'd expect -- add all
638 non-ignored non-versioned files, drop all
639 deleted-but-undropped files, and restore all
640 deleted-but-undropped files, respectively.
641 - New selector "h:" to select heads of a branch. "h:" means
642 heads of current branch, "h:mybranch" means heads of
643 mybranch.
644 - Similarly, "b:" selector with no argument now refers to
645 current branch.
646 - Commit messages now have a blank line at the top so you can
647 start typing directly.
648 - No more obscure error messages when multiple monotone
649 processes attempt to access a single database at the same
650 time; we now fail early with a more sensible error message.
651 (Concurrent access has never caused database corruption;
652 this simply makes the corruption prevention less frustrating
653 for the user.)
654 - New handlers for SIGTERM, SIGINT to rollback database
655 transactions. Not visible to users (unless you're really
656 looking carefully). (Again, killing monotone has never been
657 able to cause database corruption; this simply causes the
658 transactions to be rolled back immediately, rather than the
659 next time monotone runs, which improves robustness in some
660 theoretical way.)
661
662 Changes in 'automate':
663 - New command 'automate keys' to get information on existing
664 keys in basic_io format.
665
666 Updated translations:
667 - fr
668
669 Smaller changes:
670 - Improved handling of multibyte characters in message
671 displays.
672 - Fixes to Botan's memory allocator, to avoid pathological
673 slowdowns in some rare cases.
674 - Fix bug in delta-storage code; we were not being as aggressive
675 about delta-compressing files and manifests as we should
676 have been.
677 - Minor bugs fixed, error messages improved.
678
679 - Upgrading from 0.23: You must run 'db migrate' and
680 provide your password, for each database.
681
682Fri Sep 30 02:50:05 PDT 2005
683
684 0.23 release.
685
686 Possibly incompatible changes:
687 - hook_note_commit and hook_note_netsync_revision_received
688 take a new argument containing the text of the revision that
689 was received. (Timothy Brownawell <tbrownaw@gmail.com>)
690 - 'cat FILENAME' now acts like the old 'cat file REV
691 FILENAME'; use new commands 'automate get_revision',
692 'automate get_manifest', 'automate get_file' to fetch
693 objects by hash. (Grahame Bowland <grahame@angrygoats.net>)
694
695 General improvements:
696 - .mt-ignore support (Martin Dvorak
697 <jezek2@advel.cz>, Timothy Brownawell <tbrownaw@gmail.com>)
698 - much work on making monotone more i18n friendly (Benoît
699 Dejean <benoit@placenet.org>, Matt Johnston
700 <matt@ucc.asn.au>)
701 - support for more interactive merge tools:
702 - FileMerge.app (comes with OS X) (Marcel van der Boom
703 <marcel@hsdev.com>)
704 - TortoiseMerge (Win32; comes with TortoiseSVN) (Matthew
705 Gregan <kinetik@orcon.net.nz>)
706 - rename and drop now actually perform the specified rename or
707 deletion when the argument --execute is passed. (Richard
708 Levitte <richard@levitte.org>)
709 - 'help' command, same as --help (Matt Johnston
710 <matt@ucc.asn.au>).
711 - 'usher' support: experimental method for proxying multiple
712 netsync servers through a single port (similar concept to
713 vhosts) (Timothy Brownawell <tbrownaw@gmail.com>)
714 - support long passphrases (Matt Johnston <matt@ucc.asn.au>)
715 - Faster binary file detection (Eric Anderson
716 <anderse-monotone@cello.hpl.hp.com>)
717 - netsync speedups:
718 - when handling large files (Eric Anderson
719 <anderse-monotone@cello.hpl.hp.com>)
720 - when handling many branches (Marcel van der Boom
721 <marcel@hsdev.com>)
722 - new system to allow crash logs to contain not just execution
723 traces, but also dumps of data being handled when the error
724 was detected -- greatly improves debuggability of user
725 crashes.
726 - complete rework of path handling code, for clarity,
727 robustness, and speed. No user visible changes, except for
728 the many bugs fixed. (Special thanks to Matthew Gregan
729 <kinetik@orcon.net.nz> and Grahame Bowland
730 <grahame@angrygoats.net>.)
731 - however, if you have non-normalized paths in your history
732 (symptom: fresh pulls with 0.18 work, but fresh pulls with
733 0.19 do not), then 0.23 will report an error and refuse to
734 handle the affected revisions. Since it is believed this
735 only affects one project, and to conserve core developer
736 time, implementing a migration was put off for now. If
737 this causes problems or for more details, please send an
738 email to monotone-devel@nongnu.org.
739 - as always, many small bug fixes, speedups, and improved
740 messages.
741
742 New translations:
743 - fr (Benoît Dejean <benoit@placenet.org>)
744 - ja (Satoru SATOH <ss@gnome.gr.jp>)
745
746 Other new monotone-related projects since 0.22:
747 - mtsh by Timothy Brownawell:
748 https://netfiles.uiuc.edu/brownawe/www/mtsh/
749 GTK+ wrapper for monotone focusing on working copy
750 operations -- add/drop/revert/rename/commit/update/diff and
751 browsing. Has a mechanism for per-file commit comments.
752
753 - "dumb server" support by Nathaniel Smith (share your
754 monotone repositories via HTTP/FTP, no netsync daemon
755 needed):
756 http://viewmtn.angrygoats.net//branch.psp?branch=net.venge.monotone.dumb
757 Still needs a command-line frontend to be usable, among
758 other things. Help wanted. In python.
759
760 - m7 by Larry Hastings <larry@hastings.org>
761 http://www.midwinter.com/~lch/programming/m7/
762 Experimental drop-in command-line wrapper for monotone.
763 Uses certs to add local incrementing version numbers, and an
764 enhanced annotate front-end.
765
766Mon Aug 8 23:23:53 PDT 2005
767
768 0.22 release. new crypto library, bug fixes, ui improvements
769
770 - switch from crypto++ to botan as underlying crypto library.
771 this should not cause any user-visible changes; let us know
772 if it does. special thanks to Matt Johnston
773 <matt@ucc.asn.au>, Kaushik Veeraraghavan
774 <kaushikv@gmail.com>, Matthew Gregan
775 <kinetik@orcon.net.nz>.
776 - incompatible change to netsync permission hooks: the
777 get_netsync_anonymous_read_permitted hook has been removed;
778 instead, get_netsync_read_permitted will be called with a
779 key name of nil. server administrators should update/review
780 their configuration
781 - new option for merge and propagate: --lca. Until we get a
782 long-term solution to the various 3-way merge problems, this
783 should be more convenient than using explicit_merge.
784 - many small improvements to error messages, fixes of minor
785 annoyances, netsync tickers more accurate, etc.
786
787Sun Jul 17 16:48:26 PDT 2005
788
789 0.21 release. bug fixes, performance improvements, and ui
790 improvements.
791
792 - fixes a number of major performance bugs in 0.20's netsync
793 implementation. special thanks to Matt Johnston
794 <matt@ucc.asn.au>.
795 - fixes a number of major bugs in 0.20's (rewritten)
796 cvs_import command.
797 - configury kluges to work around g++ 4.0/boost 1.32
798 incompatibilities. special thanks to Christof Petig
799 <christof@petig-baender.de>, Matthew Gregan
800 <kinetik@orcon.net.nz>, Jordan Breeding
801 <jordan.breeding@mac.com>.
802 - ui enhancements:
803 - new netsync option "--exclude": branches are included if
804 they match any of the given globs, unless they match any
805 of the given --exclude globs. special thanks to Timothy
806 Brownawell <tbrownaw@gmail.com>.
807 - new netsync option client "--set-default": makes it easy
808 to change default server/branches.
809 - "diff" now takes options "--context" and "--external", to
810 output context diffs and to invoke an external diff
811 program for full control over output formatting. new
812 option "--diff-args" pass arguments to external diff
813 program; new hook "external_diff" allows further
814 configuration. special thanks to Vladimir Vukicevic
815 <vladimirv@gmail.com>.
816 - b: and t: selectors now match exactly, instead of matching
817 as substrings. globbing is supported for inexact
818 matching. special thanks to Brian Downing
819 <bdowning@lavos.net>, Jordan Breeding
820 <jordan.breeding@mac.com>.
821 - new command 'db kill_tag_locally'. special thanks to Jordan
822 Breeding <jordan.breeding@mac.com>.
823 - now uses sqlite3 prepared statements. special thanks to
824 Derek Scherger <derek@echologic.com>.
825 - 'db migrate' is now a complete no-op if there is no
826 migration to do; automated scripts can now call it
827 optimistically and cheaply to guarantee up-to-dateness.
828 - new hash correctness tests. special thanks to Kaushik
829 Veeraraghavan <kaushikv@gmail.com>.
830
831 - upgrading from 0.20: you must run 'monotone db
832 migrate' once against each of your databases, to add
833 new sql indexes.
834
835Tue Jul 5 23:57:10 PDT 2005
836
837 0.20 release. features, ui improvements, performance
838 improvements, and bug fixes.
839
840 - major changes in netsync UI: serve/sync/push/pull now take a
841 list of globs; clients can request arbitrary sets of
842 branches, not just predefined "collections". write
843 permissions are now granted on a per-db level (they were
844 before anyway).
845 - where you used to say, e.g., "monotone pull
846 net.venge.monotone", you should instead say
847 "monotone pull net.venge.monotone*". This may
848 require shell-quoting.
849 - 'get_netsync_write_permitted' hooks must be changed
850 to take only one argument, the 'identity'.
851 'get_netsync_{read,anonymous_read}_permitted' hooks
852 now take a branch argument instead of a collection,
853 and will be called for each branch that a client
854 requests.
855 - 0.19 clients cannot talk to 0.20 servers, and vice-versa.
856 - special thanks to Timothy Brownawell
857 <tbrownaw@gmail.com>, Richard Levitte
858 <richard@levitte.org>.
859 - other major changes:
860 - cvs_import re-written; many bugs fixed. now
861 supports tags.
862 - many minor netsync changes:
863 - netsync traffic is now cryptographically authenticated
864 against corruption and man-in-the-middle attacks.
865 special thanks to Ethan Blanton <elb@elitists.net>,
866 Matt Johnston <matt@ucc.asn.au>.
867 - new hooks that are called when server receives data:
868 note_netsync_*_received. special thanks to Timothy
869 Brownawell <tbrownaw@gmail.com>.
870 - ancestry graphs that pass outside the given branch
871 are now synchronized correctly. special thanks to
872 Timothy Brownawell <tbrownaw@gmail.com>.
873 - UI improvements:
874 - 'log' options changed: --depth has become --last;
875 new options --no-merges, --diffs, --brief.
876 - 'status' has new option --brief. special thanks to
877 Derek Scherger <derek@echologic.com>.
878 - 'serve' has new option --pid-file. special thanks
879 to Matthew Gregan <kinetik@orcon.net.nz>.
880 - all commands taking restrictions now take option
881 --depth, to limit recursion through subdirectories.
882 special thanks to Joel Reed <joelwreed@comcast.com>.
883 - merge command all take --author, --date now.
884 - 'checkout', 'update' take --revision, instead of
885 using positional arguments. special thanks to Derek
886 Scherger <derek@echologic.com>, Richard Levitte
887 <richard@levitte.org>.
888 - 'commit' takes new --message-file option.
889 - new features:
890 - new commands: "db kill_branch_locally", "db
891 kill_revision_locally", useful for correcting some
892 mistakes. special thanks to Brian Campbell
893 <brian.p.campbell@dartmouth.edu>, Sebastian Spaeth
894 <Sebastian@sspaeth.de>.
895 - new file attribute 'manual_merge', to prevent invocation of
896 merger on binary files. hook added to guess correct
897 value at 'add' time. special thanks to Riccardo
898 Ghetta <birrachiara@tin.it>.
899 - new 'earlier than', 'later than' selectors. special
900 thanks to Riccardo Ghetta <birrachiara@tin.it>.
901 - new automate commands:
902 - 'stdio', for efficient use by
903 front-ends. special thanks to Timothy Brownawell
904 <tbrownaw@gmail.com>.
905 - 'certs', for fetching certs on a revision in a
906 parseable (basic io-based) format. special thanks
907 to Grahame Bowland <grahame@angrygoats.net>.
908 - 'inventory' output changed incompatibly; should be
909 much more usable now, and stable. special thanks to
910 Derek Scherger <derek@echologic.com>.
911 - better memory/performance when handling large files.
912 special thanks to Eric Anderson
913 <anderse-monotone@cello.hpl.hp.com>, Timothy Brownawell
914 <tbrownaw@gmail.com>, Matt Johnston <matt@ucc.asn.au>,
915 Matthew Gregan <kinetik@orcon.net.nz>.
916 - new text mode browser in contrib/mtbrowse.sh, by Henry
917 Nestler <Henry@BigFoot.de>.
918 - improved zsh completion in contrib/monotone.zsh_completion,
919 by Joel Reed <joelwreed@comcast.com>.
920
921 - upgrading from 0.19: database and working copies are
922 fully compatible. netsync clients and servers need
923 to be upgraded together, as described above. the
924 many ui changes may require script updates.
925
926Tue May 3 00:31:37 PDT 2005
927
928 0.19 release. performance improvements, features, ui
929 improvements, and bug fixes.
930
931 - many operations sped up by another factor of 2 or better.
932 - special thanks to Matt Johnston <matt@ucc.asn.au>.
933 - first steps towards automated benchmarking. Thanks
934 to Timothy Brownawell <tbrownaw@gmail.com>.
935 - new major features:
936 - "annotate" command; still requires optimization.
937 Thanks to Emile Snyder <emile@alumni.reed.edu>.
938 - "inodeprints" for fast change detection in large
939 working dirs now fully supported; see manual for
940 details.
941 - new minor features:
942 - new selector "c:name=value" for selecting on
943 arbitrary certs. Thanks to Richard Levitte
944 <richard@levitte.org>.
945 - new hooks to automatically initialize attributes on
946 add; monotone now automatically sets execute bit on
947 executables. Thanks to Joel Reed
948 <joelwreed@comcast.net>.
949 - new automate command "select", to do selector
950 expansion. Thanks to Richard Levitte
951 <richard@levitte.org>.
952 - new automate commands "graph", "parents",
953 "children", "ancestors", to easily inspect history.
954 Special thanks to Sebastian Spaeth
955 <Sebastian@SSpaeth.de>.
956 - new command "db kill_rev_locally". Thanks to
957 Sebastian Spaeth <Sebastian@sspaeth.de>.
958 - new arguments to "commit": --author, --date; useful
959 for patch attribution and importing history.
960 - new automate command "inventory" (output format will
961 change in next release, however). Thanks to Derek
962 Scherger <derek@echologic.com>.
963 - ui improvements:
964 - netsync progress ticker in kilobytes/megabytes.
965 Thanks to Matt Johnston <matt@ucc.asn.au> and
966 Sebastian Spaeth <Sebastian@sspaeth.de>.
967 - tickers do not cause annoying scrolling when wider
968 than window. Special thanks to Matthew Gregan
969 <kinetik@orcon.net.nz>.
970 - warn users when a commit creates divergence, and
971 when an update ignores it. Thanks to Jeremy Cowgar
972 <jeremy@cowgar.com>.
973 - support for command-specific options (there is still
974 no rule that such options must appear after the
975 command on the command line, though). Thanks to
976 Richard Levitte <richard@levitte.org>.
977 - bug fixes:
978 - many cvs_import bugs fixed. Special thanks to Jon
979 Bright <jon@siliconcircus.com>, Emile Snyder
980 <emile@alumni.reed.edu>, Hansjoerg Lipp
981 <hjlipp@web.de>, Matthew Gregan
982 <kinetik@orcon.net.nz>.
983 - windows/unix working copy line ending conversion now
984 works correctly. Thanks to Emile Snyder
985 <emile@alumni.reed.edu>.
986 - many fixes to i18n-ized filename support
987 - "drop" and "rename" now affect file attributes as
988 well. Thanks to Richard Levitte
989 <richard@levitte.org> and Joel Reed
990 <joelwreed@comcast.com>.
991 - better error reporting in netsync. Thanks to
992 Grahame Bowland <grahame@angrygoats.net>.
993 - only set working directory's default branch on some
994 commands (update, commit). Thanks to Florian Weimer
995 <fw@deneb.enyo.de>.
996 - "db check" now sets exit status correctly, for use
997 in scripts. Thanks to Derek Scherger
998 <derek@echologic.com>.
999 - many others...
1000 - fantastic emacs integration in contrib/monotone.el. Thanks
1001 to Harley Gorrell <harley@panix.com>.
1002 - 45 new integration tests. total line coverage: ~84%.
1003
1004 - upgrading from 0.18: database and working copies are
1005 fully compatible. NOTE that the configuration file
1006 is now ~/.monotone/monotonerc, rather than old
1007 ~/.monotonerc. Simply create ~/.monotone, and
1008 rename any existing configuration file.
1009
1010Sun Apr 10 17:49:25 PDT 2005
1011
1012 0.18 release. performance improvements, features, and bug fixes.
1013This release is dedicated to Shweta Narayan.
1014
1015 - most operations sped up by a factor of 2 or better; many sped up
1016 by up several orders of magnitude.
1017 - special thanks to Matt Johnston <matt@ucc.asn.au>, Derek
1018 Scherger <derek@echologic.com>, Linus Torvalds
1019 <torvalds@osdl.org>.
1020 - new concept: "database vars". Used in several features below.
1021 - new features:
1022 - new file "MT/log" can be edited while you work,
1023 sets default changelog. (no change in behaviour if
1024 you do not edit it.) Thanks to Jeremy Cowgar
1025 <jeremy@cowgar.com>.
1026 - monotone now stores default netsync
1027 server/collection, initialized on first use of
1028 netsync.
1029 - you no longer need to manually import server
1030 keys, monotone will fetch the key from the server on
1031 first netsync.
1032 - monotone keeps track of keys of servers you have
1033 previously synced with, to prevent man-in-the-middle
1034 attacks.
1035 - several powerful new "automate" commands added.
1036- new command 'ls known', lists files that are under version
1037 control. Thanks to Florian Weimer <fw@deneb.enyo.de>.
1038- preliminary "inodeprints" functionality -- speeds up diff,
1039 status, etc. No UI or documentation yet -- in a working
1040 copy, 'touch MT/inodeprints' to enable, then commit or
1041 update to populate cache.
1042 - UI improvements:
1043 - Added short options -r, -b, -k, -m.
1044 - default to 'dot' ticker-style when stderr is
1045 not a tty, thanks to Derek Scherger
1046 <derek@echologic.com>.
1047 - New "-@/--xargs" option, helpful when using new
1048 automate commands. Thanks to Richard Levitte
1049 <richard@levitte.org>.
1050 - New "--depth" argument to 'log'. Thanks to Richard
1051 Levitte <richard@levitte.org>.
1052 - 'db info' gives statistics on space usage.
1053 - new command 'dropkey'. Thanks to Jeremy Cowgar
1054 <jeremy@cowgar.com>.
1055 - robustness improvement: if monotone crashes in a working
1056 directory and --dump and --debug were not specified, saves
1057 debug dump to "MT/debug" for analysis, instead of
1058 discarding.
1059 - new contributed scripts: CIA (cia.navi.cx) notification,
1060 email notification, Bash completion.
1061 - 33 new integration tests. total line coverage: ~82%.
1062 - many bug fixes
1063- Special thanks to Matt Johnston <matt@ucc.asn.au>,
1064 for going above and beyond to track down the last
1065 release blocker.
1066
1067 - upgrading from 0.17 requires only a 'db migrate'.
1068
1069Fri Mar 18 15:38:52 PST 2005
1070
1071 0.17 release. bug fixes and features.
1072
1073 - many, many robustness improvements
1074 - more careful checking everywhere
1075 - much more thorough test suite
1076 - all revisions subject to careful checks before
1077 entering database
1078 - not yet fully optimized; "pull" may be very
1079 slow and use lots of cpu
1080 - support for "epochs", to safely manage future
1081 rebuilds, hash migration, etc.
1082 - new "db check" command, thanks to Derek Scherger
1083 <derek@echologic.com>.
1084 - now uses sqlite3, thanks to Christof Petig
1085 <christof@petig-baender.de>.
1086 - removes most former size limitations
1087 - "restrictions" support, thanks to Derek Scherger
1088 <derek@echologic.com>.
1089 - most commands now take a list of files to limit
1090 their actions to
1091 - monotone can now be run from anywhere in the working
1092 directory (not just the root)
1093 - new command "monotone setup" required to create a
1094 working directory for a new project
1095 - important security fix -- don't use shell when calling
1096 external merge commands.
1097 - format change for "MT/options", ".mt-attrs"; you may have to
1098 edit these files
1099 - new command "attr" for managing .mt-attrs.
1100 - builds merkle tries in-memory -- netsync starts up many
1101 times faster
1102 - start of new "automate" interface, for shell scripts and
1103 others.
1104 - new command "cdiff": generates context diffs.
1105 - remove most of now-obsolete manifest/file cert support.
1106 - 60+ new integration tests.
1107 - many portability fixes
1108 - in particular, major win32 cleanups, thanks to Jon
1109 Bright <jon@siliconcircus.com>. win32 is once again
1110 fully and natively supported.
1111 - many bug fixes
1112
1113 - several incompatible changes: see file UPGRADE for
1114 migration information
1115
1116Thu Dec 30 01:37:54 EST 2004
1117
11180.16 release. bug fixes.
1119
1120- 50+ new integration tests
1121- many NetBSD portability fixes
1122- release build on gcc 3.4 / FC3
1123- masses of changeset bugs in 0.15 fixed
1124
1125- some bogus changesets were generated
1126 in the 0.16 development cycle. you will
1127 need to rebuild revision graph.
1128
1129
1130Sun Nov 7 14:06:03 EST 2004
1131
11320.15 release. major changes.
1133
1134- overhauled the internal representation of changes. see
1135 README.changesets for details
1136- fixed bugs in merkle trie synchronization code
1137- fixed echoing and progress UI bugs
1138 (helps when using in emacs)
1139- upgraded cryptopp to 5.2.1
1140- fixed bug 8715, diff hunk coordinate reporting
1141- added figures, new tutorial to manual
1142- improve accuracy of log command
1143- several build, configure, and linkage fixes
1144- some OSX / PPC portability fixes
1145
1146Sat Jul 31 15:38:02 EDT 2004
1147
11480.14 release. bug fixes.
1149
1150- some compile fixes for g++ 3.4
1151- made --dump=FILE option for saving traces,
1152 otherwise failures just print reason (no trace)
1153- some things disabled, as scheduled for replacement
1154 by upcoming changeset branch work
1155- disabled "disapprove" command due to bad semantics
1156- removed "bump" and .mt-nonce machinery
1157- several critical rename-merging bugs fixed
1158- renames vs. deletes
1159- renames vs. deltas
1160- parallel renames
1161- bugs fixed from savannah bug tracker:
1162- 9223 argv overflow
1163- 9075 empty commits
1164- 8919 rename --verbose to --debug
1165- 8958 rename debug to db execute
1166- 8920 empty passphrase message
1167- 8917 connection refused message
1168- 8913 testresult argument
1169- 8912 passphrase read on serve
1170- 8472 approve into branch
1171- 8428 duplicate key warning
1172- 8928 nonce uses too many bits
1173
1174Thu May 20 22:26:27 EDT 2004
1175
11760.13 release. bug fixes.
1177
1178- remove (file|manifest) in several commands
1179- "list missing" command
1180- fixed bugs:
1181- (critical) empty data netsync crash
1182- mkstemp, platform lua
1183- runtime error reporting chatter
1184- non-posix database names
1185- non-posix dirnames
1186- non-posix merge names
1187- 2-way merge algorithm and hook
1188- single-character filenames
1189- multiple password reads
1190- .svn ignore pattern
1191
1192Sun May 2 21:03:38 EDT 2004
1193
11940.12 release. win32 port, bug fixes and optimizations.
1195
1196- ported to native win32 (mingw)
1197- implemented human friendly version selectors
1198- added post-commit hook for change notification
1199- removed spirit-based parsers, reduced compile costs
1200- many netsync bugs removed, pipeline performance improved
1201- removed old, deprecated networking system
1202- several minor CVS import bugs fixed
1203- upgraded bundled netxx
1204
1205Sun Mar 28 12:41:07 EST 2004
1206
12070.11 release. bug fixes and optimizations.
1208
1209NOTE: this release expands the sqlite page size. YOU WILL NEED
1210to dump existing databases before upgrading and reload it
1211after upgrading, otherwise monotone will complain that the
1212database image appears malformed. this condition cannot
1213unfortunately be distinguished from a real malformed image on
1214disk. for example:
1215
1216$ monotone --db=my.db db dump >dump.sql
1217$ <upgrade to new monotone>
1218$ mv my.db my.db.backup
1219$ monotone --db=my.db db load <dump.sql
1220
1221- fixed bugs:
1222- aliasing bug on debian (-O2 now works)
1223- netsync ppc portability / checksums
1224- sha1 whitespace bug
1225- netsync broken formatter
1226- broken symlink handling
1227- merger execution pessimism
1228- LCA bitset calculation pessimism
1229- static object initialization order
1230- CVS single-version import
1231- CVS first-version changelog
1232- CVS branch inference and topology
1233- cryptographic SSE2 paths enabled on linux/x86.
1234- builds against boost 1.31.0.
1235- removed boost::socket
1236- removed documentation about old networking system.
1237- "officially" deprecated old networking system.
1238- enable building with system-local libraries.
1239- upgraded bundled sqlite.
1240- changed sqlite page size from 1k -> 8k
1241
1242Mon Mar 1 00:32:07 EST 2004
1243
12440.10 release. new "netsync" protocol implemented, allowing
1245direct monotone-to-monotone database synchronization. random
1246number underflow problem fixed. more tests added. database
1247schema changed, must migrate schema. added new QA logic to
1248update and merge algorithms (testresult / approval).
1249
1250Thu Jan 1 18:23:06 EST 2004
1251
12520.9 release. support international users (non-ASCII character
1253sets, locales). some corrections to update algorithm. line
1254merging algorithm reimplemented. support working copy
1255MT/monotonerc file. broke format compatibility with MT/work
1256files; commit any pending work before upgrading. permit
1257spaces, colons, other "funny" characters in filenames. support
1258HTTP 1.1, HTTP proxies, handle some corner cases in ancestry
1259graph and database faults.
1260
1261Fri Nov 21 20:25:26 EST 2003
1262
12630.8 release. row size increased to 16mb. more performance
1264improvements in cvs importer. cvs branch tags imported now.
1265minor UI improvements. new commands: SQL dump and load, vcheck
1266for enhanced collision detection, queue addtree for recursive
1267queueing. improved networking scalability. historical rename
1268certs and .mt-attrs file format changed to accomodate upcoming
1269i18n work.
1270
1271Sun Nov 2 23:38:09 EST 2003
1272
12730.7 release. many critical merge and patch set calculation
1274bugs fixed. groups merged with URLs, "monotone db migrate"
1275necessary. directory renames and explicit rename certs
1276supported. added SMTP support. incorporated adns library,
1277avoiding gethostbyname(). new queue commands.
1278
1279Sat Oct 18 22:10:09 EDT 2003
1280
12810.6 release. more stability and bug fixing, including fix to
1282some silent failures in LCA calculation. some minor new
1283features: persistent attributes (eg. 'the execute bit'),
1284rename and log commands. performance of cvs importer greatly
1285improved, lua system upgraded to 5.0, much expanded
1286documentation.
1287
1288Sat Sep 27 11:50:08 EDT 2003
1289
12900.5 release. stability and bug fixing. many UI issues
1291addressed, including SHA1 completion, persistent options, new
1292revert command and new diff modes. database migration,
1293inspection and debugging interfaces added. LCS algorithm and
1294line-merger overhauled. several multi-depot bugs
1295fixed. existing depot databases should be migrated (depot.cgi
1296migratedb).
1297
1298Thu Sep 4 15:40:07 EDT 2003
1299
13000.4 release. monotone is now self-hosting. database
1301compatibility broken since 0.3. depot uses RSA signatures now,
1302not mac keys. many bugs removed. depot database compatibility
1303broken. database schemas should now remain stable (or be
1304provided with safe schema-upgrading function).
1305
1306Mon Aug 25 18:00:37 EDT 2003
1307
13080.3 release. database compatibility broken. packet format
1309compatibility broken. dropped boost sandbox library dependency.
1310redid networking to support private HTTP+CGI depots along with
1311netnews. wrote depot. added 'propagate' command to move changes
1312between branches asymmetrically. rewrote testsuite in autotest.
1313cleaned up command line processing. expanded testsuite. improved
1314user-friendly error reporting.
1315
1316Fri Aug 8 10:20:01 EDT 2003
1317
13180.2 release. database compatibility broken. dropped many
1319library dependencies. hand-reimplemented xdelta, parts of
1320nana. incorporated subset of cryptopp and sqlite into
1321sources. added RCS and CVS importer. switched to piecewise
1322reconstruction. generally much more robust storage system.
1323scalability tests against real world CVS archives show
1324performance gap with CVS closing, but still present.
1325
1326Sun Apr 6 20:20:42 EDT 2003
1327
1328initial release

Archive Download this file

Branches

Tags

Quick Links:     www.monotone.ca    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status