monotone

monotone Mtn Source Tree

Root/NEWS

1Fri Aug 3 06:08:36 UTC 2007
2
3 0.36 release.
4
5 Changes
6
7 - The help command is now able to show documentation on subcommands
8 (such as 'attr set').
9
10 - The help command now shows a brief abstract of each command,
11 instead of only listing their names.
12
13 - The command `list changed` now outputs the new path of any
14 renamed item making it easier to copy and paste these paths
15 for external program usage.
16
17 - `automate attributes` has been renamed to `automate get_attributes`,
18 also a bug has been fixed there so resurrected attributes are now
19 properly outputted as "new" and not "changed".
20
21 New features
22
23 - Two new commands to set and drop attributes over automate:
24 `automate set_attribute` and `automate drop_attribute`
25
26 - There is a new function available to the lua hooks,
27 'server_request_sync(what, address, include, exclude)', which will
28 initate a netsync connection to the server at "address", with the
29 given include and exclude patterns, and will sync, push, or pull,
30 as given in the "what" argument. If called from a monotone instance
31 which is not acting as a server, this function will do nothing.
32
33 - There is a new hook available,
34 'get_netsync_key(server, include, exclude)', which is called to
35 determine which key to use for netsync operations. Note that the
36 server calls this once at startup with the address it is listening
37 on, "*", and "" as arguments, rather than for each connection.
38
39 Other
40
41 - Giving the --confdir argument will automatically set the key store
42 directory to keys/ under that directory, unless --keydir is also
43 given. This is a bugfix.
44
45 - Fixed a regression in 0.35 that resulted in some databases
46 becoming significantly larger when storing new revisions. Existing
47 databases with this problem can be fixed by pulling into a fresh
48 database using 0.36.
49
50 - contrib/lua-mode.el, a Lua mode for GNU emacs.
51
52 - contrib/monotone-buildbot-notification.lua, a netsync hook to have a
53 server notify a buildbot when new changes have arrived. Useful for
54 anyone who uses a buildbot with monotone as source.
55
56 - contrib/monotone-cluster-push.lua, a netsync hook script to have
57 arriving changes be forwarded to other servers automatically. It
58 uses the new internal lua function 'server_request_sync'.
59
60 - contrib/mtn_makepermissions, a simple script to create
61 read-permissions and write-permissions from files in the directories
62 read-permissions.d and write-permissions.d, Debian style.
63
64 - contrib/Monotone.pm, a first attempt to write a Perl module to
65 interface with 'monotone automate stdio'.
66
67 - contrib/monotone-import.pl has been removed since monotone now has
68 an internal import command.
69
70 Internal
71
72 - Commands are now defined as a tree of commands instead of a
73 plain list, which allows the help system to look up information
74 of a command at an level in the tree.
75
76 - The command class, the automate class and all the associated
77 macros have been cleaned up.
78
79 - All C++ files now depend on base.hh, which includes the few things
80 that are used virtually everywhere. 'make distcheck' will check for
81 the presence of base.hh in all source files and will protest if
82 it's not there. This is explained further in HACKING.
83
84 - Update the internal SQLite to version 3.4.0.
85
86 - Updated Visual C building system, which now also builds the test
87 programs. The script visualc/runtests.bat can be used to run the
88 tests.
89
90 - Monotone can now be built successfully with Boost 1.34. Older
91 versions of monotone would sometimes seem to work depending on
92 the compiler used, but would have bugs in path normalization.
93
94 - Monotone now requires Boost 1.33 or later.
95
96 - The Boost filesystem library is no longer required.
97
98 - The Boost unit test system is no longer required.
99
100
101
102Mon May 7 14:08:44 UTC 2007
103
104 0.35 release.
105
106 Changes
107
108 - 'mkdir --no-respect-ignore PATH' now really skips any
109 ignore directives from .mtn-ignore or Lua hooks
110
111 - Private keys are now stored more safely, using file
112 permissions.
113
114 - The editable log summary (what you get in an editor when
115 committing without -m) now includes information about which
116 branch the commit applies to.
117
118 - The status command and the editable log summary now show
119 the same details about the change.
120
121 New features
122
123 - 'automate identify', an automate version of 'mtn identify'.
124
125 - 'automate roots', prints the roots of the revision graph,
126 i.e. all revisions that have no parents.
127
128 Other
129
130 - You can't drop the workspace root any more.
131
132 Internal
133
134 - Update the internal Lua to version 5.1.2.
135
136 - Added build files for Mac OS X.
137
138 - Update the internal SQLite to version 3.3.17.
139
140 - Code cleanup of app_state.
141
142
143
144Sun Apr 1 08:23:34 UTC 2007
145
146 0.34 release.
147
148 The internal data format has changed with this release;
149 migration is straight-forward. To upgrade your databases,
150 you must run:
151 $ mtn -d mydb.mtn db migrate
152 All of these operations are completely lossless, and 0.34
153 remains compatible with earlier versions all the way back
154 to 0.26 with regards to netsync.
155
156 Changes
157
158 - Text is now output at best of the environment's possibilities,
159 transliterating them or substituting '?' as needed.
160
161 - The lua hook get_author() now takes a second argument, a
162 key identity, in case someone wants to create an author based
163 on that and not only the branch name.
164
165 - The command 'chkeypass' became 'passphrase'.
166
167 - The commands 'drop', 'rename' and 'pivot_root' default to
168 always perform the operation in the file system as well.
169 They do not accept '--execute' any more, but will instead
170 take '--bookkeep-only' in case the user only wants to affect
171 bookkeeping files.
172
173 New features
174
175 - New hook note_mtn_startup(), which is called when monotone is
176 started.
177
178 - New Lua support function spawn_pipe(), which is used to run
179 a command and get back its standard input and standard output
180 file handles as well as the pid.
181
182 - Monotone will automatically add a monotone key in a resident
183 ssh-agent when it's first used, and will then use ssh-agent
184 for all subsequent signing. Thus, you will only need to give
185 the password once in one session.
186 - New command 'ssh_agent_export' to export a monotone key into
187 an SSH key.
188 - New command 'ssh_agent_add' to add a monotone key explicitly
189 to a resident ssh-agent.
190
191 - New command 'clone' that combines 'pull' and 'checkout'.
192
193 - 'automate put_file' and 'automate put_revision' stores a file
194 and a revision in the database.
195
196 - 'automate cert', an automate version of 'mtn cert'.
197 - 'automate db_set', an automate version of 'mtn set'.
198 - 'automate db_get', an automate version of 'mtn ls vars' with
199 a twist.
200
201 Other
202
203 - contrib/ciabot_monotone_hookversion.py now uses a real
204 basic_io parser and thus should send more precise
205 information to the cia server. Furthermore, it has become
206 more careful with creating zombies.
207
208 - contrib/monotone-log-of-pulled-revs-hook.lua, a lua hook
209 to display information about incoming revisions.
210
211 - contrib/monotone-mirror-postaction-push.sh, a post action
212 script that should be executed by contrib/monotone-mirror.sh
213 to automatically push data on to other servers.
214
215 - contrib/monotone-mirror.lua, a lua hook that executes
216 contrib/monotone-mirror.sh after any netsync session is done.
217
218 - contrib/monotone-mirror.sh now takes keydir and keyid
219 configuration and has better protection against overlapping
220 duplicate runs.
221
222 - contrib/monotone.bash_completion now handles signals.
223
224 - contrib/monotone.el now includes a commit button.
225
226 Internal
227
228 - Date and time display has now been reimplemented internally
229 to avoid Boost more. This means that we have lowered our
230 dependency from Boost 1.33.0 to 1.32.0.
231
232 - Lots of code cleanup.
233
234 - The heights cache got an index, making the processing faster.
235
236 - Update the internal SQLite to version 3.3.13.
237
238 - Algorithm to find uncommon ancestors has been rewritten, so
239 'pull' and 'regenerate_caches' should be faster.
240
241
242Wed Feb 28 22:02:43 UTC 2007
243
244 0.33 release.
245
246 The internal data format has changed with this release;
247 migration is straight-forward. To upgrade your databases,
248 you must run:
249 $ mtn -d mydb.mtn db migrate
250 All of these operations are completely lossless, and 0.33
251 remains compatible with earlier versions with regards to
252 netsync.
253
254 Changes
255
256 - "mtn ls unknown" no longer recurses into unknown directories.
257
258 - update will fail rather than clobbering unversioned files
259 that exist in the workspace.
260
261 - update will detect directories with unversioned files before
262 attempting to drop them and will refuse to run rather than
263 corrupting the workspace. such unversioned files must be
264 removed manually.
265
266 - the character set and line separator conversion hooks
267 (get_system_linesep, get_charset_conv and get_linesep_conv)
268 have been removed. Similar functionality (probably based on
269 file type attributes) is planned and will be added in a future
270 release.
271
272 - update will switch to the branch of a given revision if it
273 differs from the current workspace branch.
274
275 - add will now accept combinations of --unknown, --recursive and
276 --no-respect-ignore.
277
278 - import now imports unknown directory trees properly.
279
280 - use SQLite 3.3.12.
281
282 - schema migrator rebuilt and will now properly detect and report
283 if the database used is created by a newer monotone than the one
284 currently used.
285
286 - removed the man page mtn.1, as it hadn't been updated for a long
287 time.
288
289 New features
290
291 - "mtn merge_into_workspace" (still to be documented). This command
292 will allow you to review and fix up a merge in your workspace
293 before committing it to the repository. However, the conflict
294 resolution interface remains the same as that of the 'merge'
295 command for now (i.e. monotone will invoke your specified merge
296 tool on all files with conflicts and you must resolve them as they
297 are presented). Work on in-workspace conflict presentation and
298 resolution is planned for the future.
299
300 - "mtn log" will now print an ASCII revision graph alongside the
301 usual log text.
302
303 Speed improvements
304
305 - "mtn annotate file" should run even faster now. it exploits
306 the fact that we store deltas of rosters. by peeking at
307 these deltas, it can avoid reconstruction of whole rosters
308 in many cases.
309
310 Other
311
312 - contrib/monotone-mirror.sh and
313 contrib/monotone-mirror-postaction-update.sh, two scripts
314 to mirror and update directories automatically.
315
316 - contrib/monotone-run-script-post-netsync.lua, to automatically
317 update a directory as soon as new revisions or certs arrive for
318 a given branch.
319
320 - contrib/monotone.bash_completion had some improvemens.
321
322 - contrib/monotone.el had some improvements.
323
324 Internal
325
326 - Internally, the concept of "projects" has been introduced. It
327 currently doesn't mean anything, but will be used later, with
328 policy branches and similar.
329
330
331
332Wed Dec 27 09:57:48 UTC 2006
333
334 0.32 release.
335
336 Changes
337
338 - "mtn serve" no longer takes patterns on the command line.
339 Use the permissions hooks instead.
340
341 - the name of the option that denoted the revision from which
342 "mtn log" should start logging was renamed from "--revision"
343 to "--from"
344
345 - author selectors no longer have implicit wildcarding
346
347 - if you manually add entries to MTN/log while you are
348 working, in preparation for an eventual commit, you will now
349 be required to remove a "magic" template line from the file
350 before the commit will succeed. This, like the test for an
351 empty log file, helps to prevent accidents.
352
353 - the "db regenerate_caches" migration command replaces the
354 previous "db regenerate_rosters", generalising the task of
355 rebuilding or generating cached data that may be added
356 across an upgrade. Like "db migrate", which upgrades the
357 database schema, this command fills in the data for new
358 features. In this release, as well as rosters, it also adds
359 "heights" information used to speed up topology operations.
360
361 Speed improvements
362
363 - "mtn annotate file" and "mtn log file" are generally much
364 faster now, dependant on the number of revisions that
365 changed the file. Both commands as well as "mtn automate
366 toposort" make use of data called "heights" caching the
367 topological order of all revisions. In order to create and
368 use this data, the following must be run once for each db
369 after upgrading:
370
371 $ mtn -d mydb.mtn db regenerate_caches
372
373 New features
374
375 - "mtn automate content_diff"
376
377 - "mtn automate get_file_of" (same as get_file, but expects
378 a file path and optionally a revision)
379
380 - "mtn import" command
381
382 - "mtn log --to"
383
384 - netsync_note_* hooks are given much more information,
385 inlcuding a http/smtp/etc style status code
386
387 - includedirpattern(dir, fileglob) function for hooks
388
389
390 Bugs fixed
391
392 - bug in "automate stdio" that would result in monotone
393 garbling its input in some circumstances fixed
394
395 - "mtn annotate file" and "mtn log file" are generally much
396 faster now, dependant on the number of revisions that
397 changed the file. Both commands as well as "mtn automate
398 toposort" make use of data called "heights" caching the
399 topological order of all revisions.
400
401 - spawn_redirected hook function now understands a blank
402 filename to mean not to redirect that stream
403
404 - "mtn log" is now in proper topological order, also due to
405 the use of cached "heights" data
406
407 - reset options between "automate stdio" commands
408
409 - another compile fix for gcc3
410
411 - bug in localization code where option strings where not
412 always properly translated
413
414
415 Other
416
417 - botan library upgraded to 1.6.0
418
419 - accommodate changes in boost 1.34
420
421 - documentation for "mtn automate get_option"
422
423 - notes/ directory
424
425
426
427Sat Nov 11 11:06:44 PST 2006
428
429 0.31 release. Code cleanups and bug fixes.
430
431 New features:
432
433 - If multiple --message (or -m) arguments are passed to
434 'commit', then they will be concatenated on separate lines.
435
436 - The validate_commit_message hook is now told what branch the
437 commit is on.
438
439 Bugs fixed:
440
441 - The typo that prevented building with gcc 3.3 has been
442 fixed.
443
444 - Attempting to commit without a signing key available now
445 fails earlier.
446
447 - Command-line option parsing has been redone yet again; this
448 should fix a number of bugs caused by the use of
449 boost::program_options. For instance, command line error
450 messages are now l10nized again, "--depth=asdf" now gives a
451 sensible error message instead of crashing, and --key= now
452 works as an alternative to -k "".
453
454 - A bug in the new roster caching logic that caused assertion
455 failures on very large trees has been fixed.
456
457 - A rare bug in the "epoch refinement" phase of the netsync
458 protocol has been fixed.
459
460 - Accidental (and undocumented) change to 'automate inventory'
461 output format reverted; documentation is now correct again.
462
463 - Some obscure error conditions with 'pivot_root' fixed.
464
465 Many fixes to 'automate stdio':
466
467 - IO handling has been rewritten, to remove some
468 obscure bugs and clean up the code.
469
470 - automate commands can now take options (even when used with
471 'automate stdio').
472
473 - The default block size has been increased to 32k (which
474 should considerably reduce overhead).
475
476 - Many automate commands were flushing their output far too
477 often, causing major slowdowns when used with 'automate
478 stdio'; this has been fixed.
479
480 - Syntax errors now cause 'automate stdio' to exit, rather
481 than attempting to provide usage information for the calling
482 program to read.
483
484 Other:
485
486 - New large-coverage random testsuite for delta reconstruction
487 path finding algorithm.
488
489 - Miscellaneous code cleanups and improved error messages.
490
491 - Enhancements to debian packaging.
492
493 - New translation to es (Spanish).
494
495Sun Sep 17 12:27:08 PDT 2006
496
497 0.30 release. Speed improvements, bug fixes, and improved
498 infrastructure.
499
500 Several internal data formats have changed with this release;
501 migration is straight-forward, but slightly more complicated
502 than usual:
503 -- The formats used to store some cached data in the
504 database have changed. To upgrade your databases, you
505 must run:
506 $ mtn -d mydb.mtn db migrate
507 $ mtn -d mydb.mtn db regenerate_rosters
508 -- The metadata stored in _MTN in each workspace has been
509 rearranged slightly. To upgrade your workspaces, you
510 must run
511 $ mtn migrate_workspace
512 in each workspace.
513 All of these operations are completely lossless, and 0.30
514 remains compatible with earlier versions with regards to
515 netsync.
516
517 Speed improvements:
518
519 - Algorithm used to find branch heads rewritten, to use vastly
520 less memory and cpu. This not only makes 'mtn heads'
521 faster, but also 'mtn commit', 'mtn update', and other
522 commands, which were spending most of their time in this
523 code.
524
525 - The format used in the database to store the roster cache
526 was rewritten. This makes initial pull approximately twice
527 as fast, and somewhat improves the speed of restricted log,
528 annotate, and so on.
529
530 - The xdelta algorithm was further optimized.
531
532 - A memory leak in Botan was fixed, which was causing
533 excessive memory and CPU time to be spent during 'mtn
534 checkout'.
535
536 - Monotone has fast-paths for doing character set conversion
537 when the system it is running on uses plain ASCII. These
538 fast-paths now know that "646" is another name used for
539 ASCII, and systems that use this name (like some BSDs) now
540 benefit from the fast-paths.
541
542 - Miscellaneous other improvements.
543
544 Workspace format changes:
545
546 - It is now possible to write down a multi-parent (merge)
547 workspace. However, monotone will still refuse to work with
548 such a workspace, and there is no way to create one. This
549 change merely sets up infrastructure for further changes.
550
551 - _MTN/revision no longer contains only the parent revision
552 id; if you depended on this in scripts, use 'mtn automate
553 get_base_revision_id' instead. Also, _MTN/work has been
554 removed.
555
556 UI changes:
557
558 - 'mtn status' now includes the branch name and parent
559 revision id in its output.
560
561 - The output of 'mtn annotate' and 'mtn annotate --brief' has
562 been switched. The more human-readable output is now the
563 default.
564
565 - 'mtn pluck' now gives an error message if the requested
566 operation would have no effect.
567
568 - On command line syntax errors, usage information is now
569 printed to stderr instead of stdout. (Output requested with
570 --help still goes to stdout.) This should make it easier to
571 find bugs in scripts.
572
573 Bug fixes:
574
575 - While changelog messages have always been defined to UTF-8,
576 we were not properly converting messages from the user's
577 locale. This has now been fixed.
578
579 - An off-by-one error that caused some operations to abort
580 with an error message about "cancel_size <
581 pending_writes_size" has been fixed.
582
583 - In 0.29, --help output was not localized. This has been
584 fixed.
585
586 - In 0.29, setting merger = "emacs" would not work unless
587 EDITOR was also set to "emacs" (and similar for vi). This
588 has been fixed.
589
590 - A rare invariant violation seen when performing certain
591 sequences of renames/adds in the workspace has been fixed.
592
593 - If a user failed to resolve the conflicts in a text file, we
594 would continue asking them to resolve conflicts in remaining
595 files, even though the merge could not succeed. We now exit
596 immediately on failure.
597
598 - Work around some g++ 3.3 brokenness.
599
600 Documentation changes:
601
602 - Imported *-merge documents into the manual (they still need
603 to be cleaned up to fit in better).
604
605 Changes to automate:
606
607 - Bug fix in 'attributes': this command is supposed to list
608 attributes that were removed from a file in the current
609 revision; instead, it was listing all attributes that had
610 ever been removed from that file. Now fixed.
611
612 - New command 'get_corresponding_path': given a revision A, a
613 path P, and a revision B, looks up the file with name P in
614 revision A, and states what path it had in revision B.
615
616 - New command 'get_content_changed': given a revision A and a
617 path P, gives the ancestor of A in which P was last
618 modified.
619
620 - New command 'get_option': Fetches variables from
621 _MTN/options (e.g., the current workspace's branch and
622 database).
623
624 - New command 'genkey': an automate-friendly way to generate a
625 new monotone key.
626
627Sun Aug 20 15:58:08 PDT 2006
628
629 0.29 release. Code cleanups and bug fixes.
630
631 New features:
632
633 - The output of 'mtn status' has been changed significantly; the
634 output formerly used by 'mtn status --brief' has become the
635 default. For output similar to the old 'mtn status', see
636 'mtn automate get_revision'.
637
638 - It is now significantly easier to control what merger
639 monotone uses to resolve conflicts; for instance, to use
640 emacs to resolve conflicts, add:
641 merger = "emacs"
642 to your .monotonerc file. To override temporarily, you can
643 also use the environment variable MTN_MERGE, which takes the
644 same strings. Currently recognized strings are "kdiff3",
645 "xxdiff", "opendiff", "tortoisemerge", "emacs", "vim", and
646 "meld".
647
648 - Formerly, monotone's sync-over-ssh support required that an
649 absolute path be used, with a URL like:
650 ssh://venge.net/home/njs/my-db.mtn
651 The following syntaxes are now supported as well:
652 ssh://venge.net/~/my-db.mtn
653 ssh://venge.net/~njs/my-db.mtn
654
655 Bugs fixed:
656
657 - The bug where monotone would sometimes respond to a control-C
658 (or several other signals) by locking up and refusing to exit,
659 has been fixed.
660
661 - Monotone now properly respects SIGPIPE. In particular, this
662 means that 'mtn log | less' should now exit promptly when
663 'less' is exited.
664
665 - 'mtn log' now flushes its output after each message; this
666 makes 'mtn log <FILES>' significantly more usable.
667
668 - 'mtn log <FILES>' formerly listed irrelevant revisions (in
669 particular, any revision which contained a delete of any files
670 or directories, was always included). This has been fixed.
671
672 - If, during an update, two files both had conflicts, which,
673 when resolved, resulting the two files becoming identical, the
674 update would error out. This has been fixed.
675
676 - If _MTN/log exists and does not end in a newline, we now add a
677 newline before using the log message. This removes a problem
678 where the string "MTN:" would end up appended to the last line
679 of the log message.
680
681 - We no longer buffer up an arbitrarily large number of pending
682 writes in the database. This improves speed and memory usage
683 for 'commit', and fixes the problem where 'cvs_import' would
684 run out of memory.
685
686 - Monotone's tree walking code (used by 'ls unknown', 'ls
687 missing', and friends) now uses much less memory, especially
688 on reiserfs.
689
690 Automate changes:
691
692 - 'mtn automate stdio' now uses a configurable block size,
693 controlled by command-line option --automate-stdio-size. This
694 is mostly useful for testing speed/memory trade-offs.
695
696 - 'automate attributes' has a new format, which includes more
697 information.
698
699 Code cleanup:
700
701 - We now use boost::program_options to parse command line
702 options, rather than popt. The only user-visible change
703 should be that --option="" no longer works as a way to set
704 some option to the empty string; use --option "". (This
705 change also removes a lot of orphaned and historically buggy
706 code from monotone.)
707
708 Other:
709
710 - zsh completion script significantly revised and updated (see
711 contrib/monotone.zsh_completion).
712
713Sat Jul 22 01:39:51 PDT 2006
714
715 0.28 release. Cherrypicking, a new testsuite, and some fixes
716 and enhancements.
717
718 New features:
719
720 - Cherrypicking with the new "pluck" command. This takes (a restricted
721 subset of) the changes in a revision, or between two
722 revisions, and applies them to your workspace. That this
723 has happened is not recorded in history; it as if you
724 happened to make some very similar changes by hand in your
725 workspace.
726 - New automate commands, "automate tags" and "automate branches".
727 - "diff" now knows how to find enclosing function (or
728 whatever) bodies, just like GNU diff's "-p" option.
729 -- The regex that defines "enclosing function" can be chosen
730 on a per-file basis by a hook function; the default hook
731 knows about LaTeX, Texinfo, and most programming
732 languages.
733 -- This is enabled by default; use --no-show-encloser to
734 disable.
735
736 Enhancements:
737
738 - When netsync fails due to permission errors, the server returns a
739 semi-intelligible message before dropping the connection.
740 - When merging a branch with 3 or more heads, the order in which to
741 merge the heads will now automatically be chosen to minimize
742 the amount of repeated work that must be done.
743 - Crash dumps are now written to $CONFDIR/dump when no workspace is
744 available
745 - Path validation routines are faster.
746 - Inodeprints should be slightly more robust now.
747 - New hook get_mtn_command, used to determine the path to the
748 mtn binary on a remote host, when using ssh support.
749 - "diff" now accepts "-u" and "-c" as short for "--unified"
750 (the default) and "--context", respectively.
751
752 Bug fixes:
753
754 - "revert --missing" now works when run in a subdirectory.
755 - "revert --missing" now works without any additional files
756 being specified. (You don't have to say "mtn revert
757 --missing .".)
758 - Fix an edge case where monotone would crash if there was a
759 content conflict in a merge for which there was no lca.
760 - Fix a case where netsync would sometimes hang during refinement.
761 - "mtn help" and "mtn --help" now exit with return code 0.
762
763 Build environment:
764
765 - automake 1.9 is now required.
766 - The testsuite has been rewritten, and should be much faster now. It
767 also no longer relies on the presence of a *nix userland.
768 - Add workaround for gcc 4.1.[01] bug causing "multiple
769 definition" errors.
770
771 Internal:
772
773 - Restrictions have been split into path_restrictions and
774 node_restrictions, and generally cleaned up more.
775
776Sat Jun 17 14:43:12 PDT 2006
777
778 0.27 release. Minor bug fixes and enhancements, plus ssh
779 support.
780
781 Major new features:
782
783 - Monotone can now push/pull/synchronize over arbitrary
784 bidirectional streams, not just raw TCP.
785 - File-to-file synchronization is enabled out of the box,
786 e.g.:
787 $ mtn -d db1.mtn sync file:/path/to/db2.mtn
788 - SSH synchronization is enabled out of the box, e.g.:
789 $ mtn -d local.mtn sync ssh://njs@venge.net/home/njs/remote.mtn
790 Note that this requires mtn be installed on the remote
791 computer, and locks the remote database while running; it
792 is not ideal for groups accessing a shared database.
793 - New protocols can be defined with Lua hooks -- for
794 example, someone could in principle make "$ mtn sync
795 xmpp://njs@jabber.org" do something interesting.
796 - See section "Other Transports" under "Advanced Uses" in the
797 for more details.
798
799 Minor new features:
800
801 - Selectors now support escaping, e.g., b:foo\/bar can be used
802 to refer to a branch with name "foo/bar" (normally / is a
803 metacharacter that separates multiple selectors).
804 - Visual C++ can now build monotone on Windows. (Mostly
805 important because it allows better Windows debugging.)
806 - --quiet now turns tickers off, and does not turn warnings
807 off. New option --reallyquiet disables warnings as well.
808 - New command 'automate common_ancestors'.
809 - 'ls branches' now takes a pattern, e.g.:
810 $ mtn ls branches "*contrib*"
811
812 Speed improvements:
813
814 - Bug in select() loop fixed, server should no longer pause in
815 processing other clients while busy with one, but multiplex
816 fairly.
817 - The database has a new write buffer which gives significant
818 speed improvements in initial pulls by cancelling redundant
819 database writes.
820 - There's been a fair bit of performance tuning all around.
821
822 Bug fixes:
823
824 - Merge tools that exit in failure are now detected.
825 - Better reporting of operating system errors on Win32.
826 - Passphrases stored in ~/.monotonerc are no longer written to
827 the log file. (Passphrases entered at the terminal were
828 never written to the log file.)
829 - Fix sql injection bugs in selectors, making it safe to
830 expose slectors in web interfaces etc.
831 - Files marked with the mtn:execute attr now respect umask.
832 - 'automate' commands on Win32 now disable newline translation
833 on their output; this is especially important for 'automate
834 stdio'.
835 - 'db check' now calls the sqlite "PRAGMA integrity_check", to
836 validate the integrity of things like sqlite indices.
837 - 'mtn annotate nonexistent-file' now gives a proper error
838 message, instead of an assertion error.
839 - 'mtn revert --missing' now works correctly when run in a
840 subdirectory.
841 - 'automate inventory' no longer fails when _MTN/work contains
842 patch stanzas.
843
844 Other:
845
846 - Many, many internal code cleanups
847 - Including changes to somewhat reduce the size of the
848 binary
849 - New tutorial on using packets added to the manual
850 - Updated translations, improved error messages, etc.
851
852 Reliability considerations:
853
854 - In the two months since 0.26 was released, zero serious bugs
855 have been reported in the new code.
856
857Sat Apr 8 19:33:35 PDT 2006
858
859 0.26 release. Major enhancements and internal rewrites.
860 Please read these notes carefully, as significant changes are
861 described. In particular, you _cannot_ upgrade to 0.26
862 without some attention to the migration, especially if you are
863 working on a project with other people. See UPGRADE for
864 details of this procedure.
865
866 The changes are large enough that there were 3 pre-releases of
867 this code; the changes that occurred in each can be seen
868 below. However, for the convenience of those following
869 releases, all changes since 0.25 will be summarized in these
870 release notes. There is no need to read the pre-release notes
871 individually.
872
873 Major changes since 0.25:
874
875 - The most user-visible change is that the default name of the
876 monotone binary has changed to 'mtn'. So, for example, you
877 would now run 'mtn checkout', 'mtn diff', 'mtn commit',
878 etc., instead of 'monotone checkout', 'monotone diff',
879 'monotone commit'.
880 - Similarly, the name of the workspace bookkeeping directory
881 has changed from "MT" to "_MTN". As workspaces will
882 generally be recreated when migrating to this release,
883 this should not cause any problems.
884 - Similarly, built-in attrs like 'execute' have had 'mtn:'
885 prepended to their names. For example, executable files
886 should now have the attr 'mtn:execute' set to 'true' on
887 them. The migration code will automatically add this
888 prefix; no user intervention is needed.
889 - Similarly, the name of the ignore file has changed from
890 '.mt-ignore' to '.mtn-ignore'. The migration code will
891 automatically rename this file; no user intervention is
892 needed.
893 - Similarly, the recommended suffix for monotone db files is
894 now '.mtn'.
895 These changes are all purely cosmetic, and have no affect on
896 functionality.
897
898 - The most developer-visible change is that the data
899 structure for representing trees has been completely
900 replaced, and all related code rewritten. The new data
901 structure is called a 'roster'. You don't really need to
902 know this name; unless you are hacking on monotone or using
903 various debug operations, you will never see a roster.
904 It's mostly useful to know that when someone says something
905 about 'roster-enabled monotone' or the like, they're
906 referring to this body of new code.
907
908 This change has a number of consequences:
909 - The textual format for revisions and manifests changed.
910 There is no conceptual change, they still contain the same
911 information and work the same way. The formats were
912 merely cleaned up to correct various problems experience
913 showed us, and allow various enhancements now and in the
914 future. However, this change means that a flag-day
915 migration is required. See UPGRADE for details.
916 - Directories are now first-class objects. You can add an
917 empty directory, must drop a directory if you want it to
918 go away, etc.
919 - Attrs are now first-class objects. '.mt-attrs' no longer
920 exists; attrs are now described directly in the manifest,
921 and changes to them appear directly in revisions. The
922 migration code will automatically convert existing
923 .mt-attrs files to the new first-class attrs. If you have
924 custom attrs, those may require special handling -- if
925 this is the case, then the upgrader will tell you.
926 - The merge code has been rewritten completely. The
927 interface is currently the same (though this rewrite makes
928 it easier to improve the interface going forward); if you
929 have found merging in monotone to be easy in the past,
930 then you will not notice anything different. If you have
931 run into problems, then the new merger should make your
932 life substantially simpler. It has full support for
933 renames (of both directories and files), intelligent
934 merging of attrs, improved handling of file content
935 merges. Is the first known merger implementation based on
936 a provably correct algorithm (the "multi-*-merge"
937 algorithm), has exhaustive automated tests, and generally
938 should give accurate, conservative merges.
939 - The new code is generally faster, though not yet as
940 fast as it could be.
941
942 Netsync changes:
943
944 - The default netsync port has changed 5253 to 4691. 4691 is
945 our official IANA-assigned port. Please adjust firewalls
946 appropriately.
947
948 - Netsync code has also been largely reworked; new code should
949 provide better opportunities for optimizations going
950 forward.
951
952 - The protocol is incompatible with earlier versions of
953 monotone. This should not be a surprise, since the data it
954 carries is also incompatible (see above)...
955
956 New features:
957
958 - New option --brief to 'annotate', gives somewhat more
959 friendly output.
960
961 - Several enhancements to log:
962 - New option --next, to display descendent revisions
963 (rather than ancestor revisions).
964 - When 'log -r' is given an ambiguous selector, it now just
965 logs all matching revisions, instead of requiring the
966 selector be disambiguated.
967 - New option --no-files.
968
969 - New command 'show_conflicts', performs a dry run merge.
970
971 - New command 'ls changed'.
972
973 - 'rename' (and its alias 'mv') now accept a broader range of
974 syntax:
975 mtn rename foo some_dir
976 -> renames foo to some_dir/foo
977 mtn rename foo bar baz some_dir
978 -> moves foo, bar, and baz to some_dir/foo,
979 some_dir/bar, and some_dir/baz
980
981 - New hook 'validate_commit_message', which may be used to
982 verify that all commit messages meet arbitrary user-defined
983 rules.
984
985 - New option --log, to log monotone's output to a file.
986
987 - New option 'drop --recursive', to remove a directory and its
988 contents in one swoop.
989
990 - The root dir may now be renamed. This is a somewhat exotic
991 feature, but has some interesting uses related to splitting
992 up or joining together projects; see new commands
993 'pivot_root', 'merge_into_dir'.
994
995 Minor bug fixes:
996
997 - 'serve' with no --bind argument should now work on systems
998 where the C library has IPv6 support, but the kernel does
999 not.
1000
1001 - Stricter checking on the internal version of filenames to
1002 ensure that they are valid UTF-8.
1003
1004 - If the database is in the workspace, then it is always
1005 ignored.
1006
1007 - Monotone no longer errors out when using a French (fr)
1008 locale with a non-Unicode codeset.
1009
1010 Other changes:
1011
1012 - Packet commands ('rdata', 'fdata', etc.) have been moved to
1013 'automate'.
1014
1015 - Database storage now uses sqlite's blob support; database
1016 files should be ~1/4 smaller as a result.
1017
1018 - Monotone now uses sqlite 3.3; this means that older versions
1019 of the command line client (e.g., an 'sqlite3' command built
1020 against sqlite version 3.2) cannot be used to poke at a
1021 monotone 0.26 database. Solution is to upgrade your sqlite3
1022 program. Hopefully this is irrelevant to most users...
1023
1024 - Translations updated, and 3 new translations added (de, it,
1025 sv).
1026
1027 Reliability considerations:
1028
1029 - This new codebase has received much less testing under real
1030 world conditions than the codebase used in 0.25, simply
1031 because it is newer. It has been in active use for monotone
1032 development since 8 January 2006, and only a small number of
1033 bugs have been found; all bugs found so far have been very
1034 minor, and none stood any danger of corrupting data.
1035 Furthermore, we are much more confident in the theoretical
1036 underpinnings of the new approach than the old, and the test
1037 suite attempts to exhaustively exercise all new code paths.
1038
1039 However, none of this is or can be a substitute for real
1040 world experience. We advise caution in upgrading to this
1041 version of monotone, and suggest that (especially) those who
1042 upgrade aggressively should pay extra attention to the
1043 monotone mailing list before and after doing so.
1044
1045Wed Mar 29 05:20:10 PST 2006
1046
1047 0.26pre3 release. This release may be considered a "release
1048 candidate", in that while we need to write some tests and make
1049 sure some bugs are fixed, all features are in and we hope that
1050 no further bug fixes will be needed either. It is still a
1051 pre-release for testing. Do not package it. DO NOT USE THIS
1052 RELEASE UNLESS YOU WANT TO BE A DAREDEVIL.
1053
1054 But, PLEASE PLEASE TEST this release. There are some
1055 non-trivial changes since 0.26pre2, and this is your last
1056 chance!
1057
1058 Major changes since 0.26pre2:
1059
1060 - The name of the monotone binary has changed to 'mtn'.
1061 - Similarly, the name of the bookkeeping directory in
1062 workspaces has changed from 'MT' to '_MTN' (if you have an
1063 existing 0.26-line workspace, just rename the MT directory
1064 to _MTN).
1065 - Similarly, the name of the ignore file has changed from
1066 ".mt-ignore" to ".mtn-ignore". 'rosterify' will rename
1067 these automatically (if you have already rosterified, you
1068 get to rename them by hand).
1069 - Similarly, the recommended suffix for monotone db files is
1070 now ".mtn".
1071
1072 - We now perform stricter checking to make sure that filenames
1073 are valid UTF-8. It is in principle possible that this
1074 stricter checking will cause histories that used to work to
1075 break; if you have non-ascii filenames, it is strongly
1076 recommended to test with this release.
1077
1078 - Root dir renaming is now supported. See new commands
1079 'pivot_root', 'merge_into_dir'.
1080 - As a side-effect, it is now possible to run 'rosterify' on
1081 histories in which two independent lines of history were
1082 merged.
1083
1084 - The security fix released in 0.25.2 has been forward-ported
1085 to this release; this prevents some security exposure to
1086 people running monotone as a client on case-insensitive file
1087 systems.
1088
1089 Minor change since 0.26pre2:
1090
1091 - Database now uses sqlite blobs for storage; should be ~1/4
1092 smaller.
1093 - New command: show_conflicts, does a dry-run merge.
1094 - New option 'drop --recursive', to remove a directory and all
1095 its contents in one swoop.
1096 - Changes to 'log':
1097 - New option --no-files
1098 - Including merges is again the default (i.e., it now acts
1099 like 0.25, and not like 0.26pre2).
1100 - When 'log -r' is given an ambiguous selector, it now just
1101 logs all matching revisions, instead of requiring the
1102 selector be disambiguated.
1103 - New option --log, to log monotone output to a file.
1104 - Netsync changes:
1105 - Was sending far too much data in some cases; now does not.
1106 - Several bugs that caused it to lock up fixed
1107 - Tweak to allow 'usher' proxy to transparently redirect
1108 based on client's protocol version, to ease migration
1109 between incompatible protocol versions.
1110 - Packet commands have been moved to 'automate'.
1111 - Fixed bugs in 'db kill_rev_locally', should no longer leave
1112 an inconsistent db behind.
1113 - Translation updates
1114
1115 Other projects receiving notable work:
1116
1117 - Monotone's "dumb server" support (repo distribution over
1118 HTTP/FTP/SFTP etc.) has been ported to 0.26, a first command
1119 line version written, etc.
1120 - The 'usher' netsync proxy used for hosting many databases on
1121 a single machine has received significant cleanups, and the
1122 'webhost' project to provide a simple interface to shared
1123 monotone hosting providers has received even more work.
1124
1125Sat Feb 11 13:32:51 PST 2006
1126
1127 0.26pre2 release. Inching towards 0.26. If you are using
1128 0.25 or earlier, then make sure to read the very important
1129 notes for 0.26pre1, below. In particular, like 0.26pre1, this
1130 is a pre-release for testing. Do not package it. DO NOT USE
1131 THIS RELEASE UNLESS YOU WANT TO BE A DAREDEVIL.
1132
1133 (Though, in fact, in a month of usage, only one bug has been
1134 found in the new history code, and it was both minor and
1135 harmless. It has additionally been fixed.)
1136
1137 Database changes:
1138
1139 - SQLite 3.3.3 has been imported. 3.3 introduces a new database
1140 format that is not backwards compatible with earlier 3.x releases.
1141 New databases will be created using this new format. Existing
1142 databases remain compatible, and are not converted automatically.
1143 Existing databases can be converted by performing a database
1144 vacuum ('monotone db execute vacuum').
1145
1146 New features:
1147
1148 - New hook validate_commit_message -- use to verify that all
1149 commit messages meet arbitrary user-defined rules.
1150
1151 UI improvements:
1152
1153 - rename (and mv) commands now accept a broader range of
1154 syntax:
1155 monotone rename foo some_dir
1156 -> renames foo to some_dir/foo
1157 monotone rename foo bar baz some_dir
1158 -> moves foo, bar, and baz to some_dir/foo,
1159 some_dir/bar, and some_dir/baz
1160 - Print a warning if it looks like a user has made a quoting
1161 mistake on push/pull/sync/serve (windows cmd.exe has
1162 confusing rules here).
1163 - New command "ls changed".
1164 - New option "--next" to log, which displays descendents of
1165 the start revision.
1166 - Updating to an arbitrary revision now works again (as it did
1167 in 0.25 and earlier). This allows one to, for instance,
1168 switch a working copy to another head, or back up to an
1169 earlier version, while preserving uncommitted changes.
1170 - New option --brief to annotate, gives somewhat more friendly
1171 output.
1172 - Fixed bug that made ticker output from netsync inaccurate.
1173 - In 'log', --no-merges is now the default, use --merges to
1174 override.
1175 - If the database is in the working copy, then it is always
1176 ignored.
1177
1178 Bugs:
1179
1180 - 'serve' with no --bind should now work on systems where the
1181 C library has IPv6 support, but the kernel does not.
1182 - Compile fixes for GCC 4.1 pre-releases.
1183
1184 Other:
1185 - Better detection when users have not run "rosterify", and
1186 more helpful suggestions on what to do in this case.
1187 - Documentation, translation, error message,
1188 etc. improvements.
1189 - Updates to contrib/mtbrowse.sh, simple shell-based monotone
1190 interface.
1191 - Updates to many other contrib/ files, mostly to maintain
1192 compatibility with monotone changes.
1193
1194Sun Jan 8 01:08:56 PST 2006
1195
1196 0.26pre1 release. Massive rewrites, released for shakedown.
1197 This release is also dedicated to Shweta Narayan.
1198
1199 This release includes massive changes compared to 0.25. The
1200 core versioning code has all been replaced with a completely
1201 different mechanism. Data formats and the netsync protocol
1202 have changed in incompatible ways.
1203
1204 Migration to 0.26pre1 or later is irreversible and requires a
1205 flag day for your project. See UPGRADE for details. Note
1206 that we DO NOT recommend upgrading at this time; see below.
1207
1208 If you have been following the development list for the last
1209 few months, you may have heard about "rosters" -- this is the
1210 name for the new core data structure we use. While the code
1211 is completely different, the user experience should not be
1212 very different. You will never see a roster, unless you are
1213 debugging monotone itself; everything still revolves around
1214 revisions, manifests, and certs.
1215
1216 While this new code has extensive tests, because of these
1217 incompatibilities, it has never been used for real work. The
1218 purpose of this release is to make a version available for the
1219 monotone developers to begin using for day-to-day work, to
1220 shake out bugs.
1221
1222 Let's say that again in caps: THIS CODE IS PROBABLY BUGGY, DO
1223 NOT USE IT IN PRODUCTION UNLESS YOU WANT TO BE A DAREDEVIL.
1224
1225 However, testing of this version with real databases is a good
1226 idea, and we'd very much appreciate hearing about your
1227 experiences.
1228
1229 Some of the many changes:
1230 - New textual format for revisions and manifests; they remain
1231 conceptually the same, but have been tweaked. Manifests
1232 now use the same "basic_io" format as everything else in
1233 monotone, and contain entries for directories, revisions
1234 record file adds slightly differently and record directory
1235 adds for the first time, etc. Because of this format
1236 change, revision hashes are now different; converting
1237 rosters requires a full history rebuild and reissue of certs.
1238 - Directories are now first class. To get rid of a directory
1239 you must remove it; to create a directory, you must add it.
1240 You can add an empty directory.
1241 - Attrs are now first class. The .mt-attrs file is gone;
1242 attributes are now stored directly in the manifest.
1243 - New merge algorithm, based on "multi-*-merge", and more
1244 aggressive, less buggy merge ancestor selection code
1245 - Netsync's core has been largely rewritten. Code is now much
1246 clearer and more reliable, and now includes the ability to
1247 resume interrupted partial transfers. The netsync protocol
1248 version number has been bumped, and netsync now runs on the
1249 IANA-assigned port 4691 by default.
1250 - 100% fewer change_set.cc related bugs. 100% more roster.cc
1251 related bugs. But the idea of touching roster.cc does not
1252 terrify people.
1253
1254Thu Dec 29 23:10:03 PST 2005
1255
1256 0.25 release.
1257
1258 Incompatible command line changes:
1259 - 'monotone revert' now requires an argument. To revert your
1260 entire working copy,
1261 $ monotone revert
1262 no longer works; instead, go to the root of your working
1263 copy and run
1264 $ monotone revert .
1265
1266 New features:
1267 - Netsync now supports IPv6 (where OS support exists)
1268
1269 Bugs fixed:
1270 - 'revert' gives feedback describing what it changes
1271 - Database locking further tweaked, to allow more concurrent
1272 access in situations where this is safe.
1273 - On win32, ticker display was fixed, so that it no longer
1274 prints a new line at each update.
1275 - 'read' can now understand (and migrate) privkey packets
1276 generated by monotone version 0.23 or earlier.
1277 - 'log --diffs <files>' now prints only diffs for the given
1278 files (previously, it would print only revisions in which
1279 the given files changed, but would print all diffs for those
1280 revisions).
1281 - Win9x and WinNT 4 compatibility fixes.
1282
1283 New translations:
1284 - pt_BR
1285
1286Sat Nov 27 22:29:38 PST 2005
1287
1288 0.24 release.
1289
1290 Configuration change (Windows only):
1291 - Configuration directory on Windows has changed. It used to
1292 be some complicated and varying function of %HOME%,
1293 %USERPROFILE%, %HOMEDRIVE%\%HOMEPATH%, whether you were
1294 running in mingw/cygwin, etc. It is now, always,
1295 %APPDATA%\monotone. For instance, if your configuration
1296 file used to be named
1297 ...\Documents and Settings\user\.monotone\monotonerc
1298 it will now be named
1299 ...\Documents and Settings\user\Application Data\monotone\monotonerc
1300 Please rename files appropriately.
1301
1302 Major key management changes:
1303 - Private keys are no longer stored in your database. They
1304 are stored in ~/.monotone/keys/ (Unix, OS X) or
1305 %APPDATA%\monotone\keys\ (Windows). 'db migrate' will
1306 automatically move your keys out of your database and into
1307 their proper location. Consequences:
1308 - 'genkey' no longer requires a database. Simply run it
1309 once when you first start using monotone, even before you
1310 have created a database.
1311 - Running 'genkey' once will suffice to give all databases
1312 on one computer access to your key. No more fiddling with
1313 'read'.
1314 - When you want to make your key available on another
1315 computer, simply copy over the appropriate file from your
1316 'keys' directory to the corresponding directory on the new
1317 computer.
1318 - Private keys also use a more standard on-disk envelope
1319 encoding ("PBE-PKCS5v20(SHA-1,TripleDES/CBC)") instead of
1320 previous ARC4. More secure, and with extra crypto karma.
1321
1322 Netsync changes:
1323 - Command line syntax for 'serve' changed; administrators WILL
1324 have to adjust scripts.
1325 monotone serve my.host.com "*"
1326 becomes
1327 monotone serve --bind=my.host.com "*"
1328 or simply
1329 monotone serve "*"
1330 (to serve on the default port, on all interfaces).
1331 - Speaking of which, we can now bind to all interfaces; run
1332 'serve' without passing --bind, or with passing
1333 --bind=:port, and monotone will listen on all interfaces.
1334 - New option '--key-to-push' for 'push', 'sync', allows
1335 administrator to push a new user's public key into a running
1336 server without restarting it.
1337 - Netsync permission hooks have new defaults that read a
1338 description of allowed access out of a standard,
1339 basic_io-based textfile (the same stanza-based format that
1340 revisions use). Current hooks will continue to work, but
1341 users may prefer to transition to this format; see manual
1342 for details.
1343 - Between these, it is now straightforward to change
1344 permissions and add users without restarting your server.
1345 - Improvements to experimental "usher" facility.
1346
1347 UI improvements:
1348 - New convenience options "add --unknown", "drop --missing",
1349 "revert --missing" do what you'd expect -- add all
1350 non-ignored non-versioned files, drop all
1351 deleted-but-undropped files, and restore all
1352 deleted-but-undropped files, respectively.
1353 - New selector "h:" to select heads of a branch. "h:" means
1354 heads of current branch, "h:mybranch" means heads of
1355 mybranch.
1356 - Similarly, "b:" selector with no argument now refers to
1357 current branch.
1358 - Commit messages now have a blank line at the top so you can
1359 start typing directly.
1360 - No more obscure error messages when multiple monotone
1361 processes attempt to access a single database at the same
1362 time; we now fail early with a more sensible error message.
1363 (Concurrent access has never caused database corruption;
1364 this simply makes the corruption prevention less frustrating
1365 for the user.)
1366 - New handlers for SIGTERM, SIGINT to rollback database
1367 transactions. Not visible to users (unless you're really
1368 looking carefully). (Again, killing monotone has never been
1369 able to cause database corruption; this simply causes the
1370 transactions to be rolled back immediately, rather than the
1371 next time monotone runs, which improves robustness in some
1372 theoretical way.)
1373
1374 Changes in 'automate':
1375 - New command 'automate keys' to get information on existing
1376 keys in basic_io format.
1377
1378 Updated translations:
1379 - fr
1380
1381 Smaller changes:
1382 - Improved handling of multibyte characters in message
1383 displays.
1384 - Fixes to Botan's memory allocator, to avoid pathological
1385 slowdowns in some rare cases.
1386 - Fix bug in delta-storage code; we were not being as aggressive
1387 about delta-compressing files and manifests as we should
1388 have been.
1389 - Minor bugs fixed, error messages improved.
1390
1391 - Upgrading from 0.23: You must run 'db migrate' and
1392 provide your password, for each database.
1393
1394Fri Sep 30 02:50:05 PDT 2005
1395
1396 0.23 release.
1397
1398 Possibly incompatible changes:
1399 - hook_note_commit and hook_note_netsync_revision_received
1400 take a new argument containing the text of the revision that
1401 was received. (Timothy Brownawell <tbrownaw@gmail.com>)
1402 - 'cat FILENAME' now acts like the old 'cat file REV
1403 FILENAME'; use new commands 'automate get_revision',
1404 'automate get_manifest', 'automate get_file' to fetch
1405 objects by hash. (Grahame Bowland <grahame@angrygoats.net>)
1406
1407 General improvements:
1408 - .mt-ignore support (Martin Dvorak
1409 <jezek2@advel.cz>, Timothy Brownawell <tbrownaw@gmail.com>)
1410 - much work on making monotone more i18n friendly (Benoît
1411 Dejean <benoit@placenet.org>, Matt Johnston
1412 <matt@ucc.asn.au>)
1413 - support for more interactive merge tools:
1414 - FileMerge.app (comes with OS X) (Marcel van der Boom
1415 <marcel@hsdev.com>)
1416 - TortoiseMerge (Win32; comes with TortoiseSVN) (Matthew
1417 Gregan <kinetik@orcon.net.nz>)
1418 - rename and drop now actually perform the specified rename or
1419 deletion when the argument --execute is passed. (Richard
1420 Levitte <richard@levitte.org>)
1421 - 'help' command, same as --help (Matt Johnston
1422 <matt@ucc.asn.au>).
1423 - 'usher' support: experimental method for proxying multiple
1424 netsync servers through a single port (similar concept to
1425 vhosts) (Timothy Brownawell <tbrownaw@gmail.com>)
1426 - support long passphrases (Matt Johnston <matt@ucc.asn.au>)
1427 - Faster binary file detection (Eric Anderson
1428 <anderse-monotone@cello.hpl.hp.com>)
1429 - netsync speedups:
1430 - when handling large files (Eric Anderson
1431 <anderse-monotone@cello.hpl.hp.com>)
1432 - when handling many branches (Marcel van der Boom
1433 <marcel@hsdev.com>)
1434 - new system to allow crash logs to contain not just execution
1435 traces, but also dumps of data being handled when the error
1436 was detected -- greatly improves debuggability of user
1437 crashes.
1438 - complete rework of path handling code, for clarity,
1439 robustness, and speed. No user visible changes, except for
1440 the many bugs fixed. (Special thanks to Matthew Gregan
1441 <kinetik@orcon.net.nz> and Grahame Bowland
1442 <grahame@angrygoats.net>.)
1443 - however, if you have non-normalized paths in your history
1444 (symptom: fresh pulls with 0.18 work, but fresh pulls with
1445 0.19 do not), then 0.23 will report an error and refuse to
1446 handle the affected revisions. Since it is believed this
1447 only affects one project, and to conserve core developer
1448 time, implementing a migration was put off for now. If
1449 this causes problems or for more details, please send an
1450 email to monotone-devel@nongnu.org.
1451 - as always, many small bug fixes, speedups, and improved
1452 messages.
1453
1454 New translations:
1455 - fr (Benoît Dejean <benoit@placenet.org>)
1456 - ja (Satoru SATOH <ss@gnome.gr.jp>)
1457
1458 Other new monotone-related projects since 0.22:
1459 - mtsh by Timothy Brownawell:
1460 https://netfiles.uiuc.edu/brownawe/www/mtsh/
1461 GTK+ wrapper for monotone focusing on working copy
1462 operations -- add/drop/revert/rename/commit/update/diff and
1463 browsing. Has a mechanism for per-file commit comments.
1464
1465 - "dumb server" support by Nathaniel Smith (share your
1466 monotone repositories via HTTP/FTP, no netsync daemon
1467 needed):
1468 http://viewmtn.angrygoats.net//branch.psp?branch=net.venge.monotone.dumb
1469 Still needs a command-line frontend to be usable, among
1470 other things. Help wanted. In python.
1471
1472 - m7 by Larry Hastings <larry@hastings.org>
1473 http://www.midwinter.com/~lch/programming/m7/
1474 Experimental drop-in command-line wrapper for monotone.
1475 Uses certs to add local incrementing version numbers, and an
1476 enhanced annotate front-end.
1477
1478Mon Aug 8 23:23:53 PDT 2005
1479
1480 0.22 release. new crypto library, bug fixes, ui improvements
1481
1482 - switch from crypto++ to botan as underlying crypto library.
1483 this should not cause any user-visible changes; let us know
1484 if it does. special thanks to Matt Johnston
1485 <matt@ucc.asn.au>, Kaushik Veeraraghavan
1486 <kaushikv@gmail.com>, Matthew Gregan
1487 <kinetik@orcon.net.nz>.
1488 - incompatible change to netsync permission hooks: the
1489 get_netsync_anonymous_read_permitted hook has been removed;
1490 instead, get_netsync_read_permitted will be called with a
1491 key name of nil. server administrators should update/review
1492 their configuration
1493 - new option for merge and propagate: --lca. Until we get a
1494 long-term solution to the various 3-way merge problems, this
1495 should be more convenient than using explicit_merge.
1496 - many small improvements to error messages, fixes of minor
1497 annoyances, netsync tickers more accurate, etc.
1498
1499Sun Jul 17 16:48:26 PDT 2005
1500
1501 0.21 release. bug fixes, performance improvements, and ui
1502 improvements.
1503
1504 - fixes a number of major performance bugs in 0.20's netsync
1505 implementation. special thanks to Matt Johnston
1506 <matt@ucc.asn.au>.
1507 - fixes a number of major bugs in 0.20's (rewritten)
1508 cvs_import command.
1509 - configury kluges to work around g++ 4.0/boost 1.32
1510 incompatibilities. special thanks to Christof Petig
1511 <christof@petig-baender.de>, Matthew Gregan
1512 <kinetik@orcon.net.nz>, Jordan Breeding
1513 <jordan.breeding@mac.com>.
1514 - ui enhancements:
1515 - new netsync option "--exclude": branches are included if
1516 they match any of the given globs, unless they match any
1517 of the given --exclude globs. special thanks to Timothy
1518 Brownawell <tbrownaw@gmail.com>.
1519 - new netsync option client "--set-default": makes it easy
1520 to change default server/branches.
1521 - "diff" now takes options "--context" and "--external", to
1522 output context diffs and to invoke an external diff
1523 program for full control over output formatting. new
1524 option "--diff-args" pass arguments to external diff
1525 program; new hook "external_diff" allows further
1526 configuration. special thanks to Vladimir Vukicevic
1527 <vladimirv@gmail.com>.
1528 - b: and t: selectors now match exactly, instead of matching
1529 as substrings. globbing is supported for inexact
1530 matching. special thanks to Brian Downing
1531 <bdowning@lavos.net>, Jordan Breeding
1532 <jordan.breeding@mac.com>.
1533 - new command 'db kill_tag_locally'. special thanks to Jordan
1534 Breeding <jordan.breeding@mac.com>.
1535 - now uses sqlite3 prepared statements. special thanks to
1536 Derek Scherger <derek@echologic.com>.
1537 - 'db migrate' is now a complete no-op if there is no
1538 migration to do; automated scripts can now call it
1539 optimistically and cheaply to guarantee up-to-dateness.
1540 - new hash correctness tests. special thanks to Kaushik
1541 Veeraraghavan <kaushikv@gmail.com>.
1542
1543 - upgrading from 0.20: you must run 'monotone db
1544 migrate' once against each of your databases, to add
1545 new sql indexes.
1546
1547Tue Jul 5 23:57:10 PDT 2005
1548
1549 0.20 release. features, ui improvements, performance
1550 improvements, and bug fixes.
1551
1552 - major changes in netsync UI: serve/sync/push/pull now take a
1553 list of globs; clients can request arbitrary sets of
1554 branches, not just predefined "collections". write
1555 permissions are now granted on a per-db level (they were
1556 before anyway).
1557 - where you used to say, e.g., "monotone pull
1558 net.venge.monotone", you should instead say
1559 "monotone pull net.venge.monotone*". This may
1560 require shell-quoting.
1561 - 'get_netsync_write_permitted' hooks must be changed
1562 to take only one argument, the 'identity'.
1563 'get_netsync_{read,anonymous_read}_permitted' hooks
1564 now take a branch argument instead of a collection,
1565 and will be called for each branch that a client
1566 requests.
1567 - 0.19 clients cannot talk to 0.20 servers, and vice-versa.
1568 - special thanks to Timothy Brownawell
1569 <tbrownaw@gmail.com>, Richard Levitte
1570 <richard@levitte.org>.
1571 - other major changes:
1572 - cvs_import re-written; many bugs fixed. now
1573 supports tags.
1574 - many minor netsync changes:
1575 - netsync traffic is now cryptographically authenticated
1576 against corruption and man-in-the-middle attacks.
1577 special thanks to Ethan Blanton <elb@elitists.net>,
1578 Matt Johnston <matt@ucc.asn.au>.
1579 - new hooks that are called when server receives data:
1580 note_netsync_*_received. special thanks to Timothy
1581 Brownawell <tbrownaw@gmail.com>.
1582 - ancestry graphs that pass outside the given branch
1583 are now synchronized correctly. special thanks to
1584 Timothy Brownawell <tbrownaw@gmail.com>.
1585 - UI improvements:
1586 - 'log' options changed: --depth has become --last;
1587 new options --no-merges, --diffs, --brief.
1588 - 'status' has new option --brief. special thanks to
1589 Derek Scherger <derek@echologic.com>.
1590 - 'serve' has new option --pid-file. special thanks
1591 to Matthew Gregan <kinetik@orcon.net.nz>.
1592 - all commands taking restrictions now take option
1593 --depth, to limit recursion through subdirectories.
1594 special thanks to Joel Reed <joelwreed@comcast.com>.
1595 - merge command all take --author, --date now.
1596 - 'checkout', 'update' take --revision, instead of
1597 using positional arguments. special thanks to Derek
1598 Scherger <derek@echologic.com>, Richard Levitte
1599 <richard@levitte.org>.
1600 - 'commit' takes new --message-file option.
1601 - new features:
1602 - new commands: "db kill_branch_locally", "db
1603 kill_revision_locally", useful for correcting some
1604 mistakes. special thanks to Brian Campbell
1605 <brian.p.campbell@dartmouth.edu>, Sebastian Spaeth
1606 <Sebastian@sspaeth.de>.
1607 - new file attribute 'manual_merge', to prevent invocation of
1608 merger on binary files. hook added to guess correct
1609 value at 'add' time. special thanks to Riccardo
1610 Ghetta <birrachiara@tin.it>.
1611 - new 'earlier than', 'later than' selectors. special
1612 thanks to Riccardo Ghetta <birrachiara@tin.it>.
1613 - new automate commands:
1614 - 'stdio', for efficient use by
1615 front-ends. special thanks to Timothy Brownawell
1616 <tbrownaw@gmail.com>.
1617 - 'certs', for fetching certs on a revision in a
1618 parseable (basic io-based) format. special thanks
1619 to Grahame Bowland <grahame@angrygoats.net>.
1620 - 'inventory' output changed incompatibly; should be
1621 much more usable now, and stable. special thanks to
1622 Derek Scherger <derek@echologic.com>.
1623 - better memory/performance when handling large files.
1624 special thanks to Eric Anderson
1625 <anderse-monotone@cello.hpl.hp.com>, Timothy Brownawell
1626 <tbrownaw@gmail.com>, Matt Johnston <matt@ucc.asn.au>,
1627 Matthew Gregan <kinetik@orcon.net.nz>.
1628 - new text mode browser in contrib/mtbrowse.sh, by Henry
1629 Nestler <Henry@BigFoot.de>.
1630 - improved zsh completion in contrib/monotone.zsh_completion,
1631 by Joel Reed <joelwreed@comcast.com>.
1632
1633 - upgrading from 0.19: database and working copies are
1634 fully compatible. netsync clients and servers need
1635 to be upgraded together, as described above. the
1636 many ui changes may require script updates.
1637
1638Tue May 3 00:31:37 PDT 2005
1639
1640 0.19 release. performance improvements, features, ui
1641 improvements, and bug fixes.
1642
1643 - many operations sped up by another factor of 2 or better.
1644 - special thanks to Matt Johnston <matt@ucc.asn.au>.
1645 - first steps towards automated benchmarking. Thanks
1646 to Timothy Brownawell <tbrownaw@gmail.com>.
1647 - new major features:
1648 - "annotate" command; still requires optimization.
1649 Thanks to Emile Snyder <emile@alumni.reed.edu>.
1650 - "inodeprints" for fast change detection in large
1651 working dirs now fully supported; see manual for
1652 details.
1653 - new minor features:
1654 - new selector "c:name=value" for selecting on
1655 arbitrary certs. Thanks to Richard Levitte
1656 <richard@levitte.org>.
1657 - new hooks to automatically initialize attributes on
1658 add; monotone now automatically sets execute bit on
1659 executables. Thanks to Joel Reed
1660 <joelwreed@comcast.net>.
1661 - new automate command "select", to do selector
1662 expansion. Thanks to Richard Levitte
1663 <richard@levitte.org>.
1664 - new automate commands "graph", "parents",
1665 "children", "ancestors", to easily inspect history.
1666 Special thanks to Sebastian Spaeth
1667 <Sebastian@SSpaeth.de>.
1668 - new command "db kill_rev_locally". Thanks to
1669 Sebastian Spaeth <Sebastian@sspaeth.de>.
1670 - new arguments to "commit": --author, --date; useful
1671 for patch attribution and importing history.
1672 - new automate command "inventory" (output format will
1673 change in next release, however). Thanks to Derek
1674 Scherger <derek@echologic.com>.
1675 - ui improvements:
1676 - netsync progress ticker in kilobytes/megabytes.
1677 Thanks to Matt Johnston <matt@ucc.asn.au> and
1678 Sebastian Spaeth <Sebastian@sspaeth.de>.
1679 - tickers do not cause annoying scrolling when wider
1680 than window. Special thanks to Matthew Gregan
1681 <kinetik@orcon.net.nz>.
1682 - warn users when a commit creates divergence, and
1683 when an update ignores it. Thanks to Jeremy Cowgar
1684 <jeremy@cowgar.com>.
1685 - support for command-specific options (there is still
1686 no rule that such options must appear after the
1687 command on the command line, though). Thanks to
1688 Richard Levitte <richard@levitte.org>.
1689 - bug fixes:
1690 - many cvs_import bugs fixed. Special thanks to Jon
1691 Bright <jon@siliconcircus.com>, Emile Snyder
1692 <emile@alumni.reed.edu>, Hansjoerg Lipp
1693 <hjlipp@web.de>, Matthew Gregan
1694 <kinetik@orcon.net.nz>.
1695 - windows/unix working copy line ending conversion now
1696 works correctly. Thanks to Emile Snyder
1697 <emile@alumni.reed.edu>.
1698 - many fixes to i18n-ized filename support
1699 - "drop" and "rename" now affect file attributes as
1700 well. Thanks to Richard Levitte
1701 <richard@levitte.org> and Joel Reed
1702 <joelwreed@comcast.com>.
1703 - better error reporting in netsync. Thanks to
1704 Grahame Bowland <grahame@angrygoats.net>.
1705 - only set working directory's default branch on some
1706 commands (update, commit). Thanks to Florian Weimer
1707 <fw@deneb.enyo.de>.
1708 - "db check" now sets exit status correctly, for use
1709 in scripts. Thanks to Derek Scherger
1710 <derek@echologic.com>.
1711 - many others...
1712 - fantastic emacs integration in contrib/monotone.el. Thanks
1713 to Harley Gorrell <harley@panix.com>.
1714 - 45 new integration tests. total line coverage: ~84%.
1715
1716 - upgrading from 0.18: database and working copies are
1717 fully compatible. NOTE that the configuration file
1718 is now ~/.monotone/monotonerc, rather than old
1719 ~/.monotonerc. Simply create ~/.monotone, and
1720 rename any existing configuration file.
1721
1722Sun Apr 10 17:49:25 PDT 2005
1723
1724 0.18 release. performance improvements, features, and bug fixes.
1725This release is dedicated to Shweta Narayan.
1726
1727 - most operations sped up by a factor of 2 or better; many sped up
1728 by up several orders of magnitude.
1729 - special thanks to Matt Johnston <matt@ucc.asn.au>, Derek
1730 Scherger <derek@echologic.com>, Linus Torvalds
1731 <torvalds@osdl.org>.
1732 - new concept: "database vars". Used in several features below.
1733 - new features:
1734 - new file "MT/log" can be edited while you work,
1735 sets default changelog. (no change in behaviour if
1736 you do not edit it.) Thanks to Jeremy Cowgar
1737 <jeremy@cowgar.com>.
1738 - monotone now stores default netsync
1739 server/collection, initialized on first use of
1740 netsync.
1741 - you no longer need to manually import server
1742 keys, monotone will fetch the key from the server on
1743 first netsync.
1744 - monotone keeps track of keys of servers you have
1745 previously synced with, to prevent man-in-the-middle
1746 attacks.
1747 - several powerful new "automate" commands added.
1748- new command 'ls known', lists files that are under version
1749 control. Thanks to Florian Weimer <fw@deneb.enyo.de>.
1750- preliminary "inodeprints" functionality -- speeds up diff,
1751 status, etc. No UI or documentation yet -- in a working
1752 copy, 'touch MT/inodeprints' to enable, then commit or
1753 update to populate cache.
1754 - UI improvements:
1755 - Added short options -r, -b, -k, -m.
1756 - default to 'dot' ticker-style when stderr is
1757 not a tty, thanks to Derek Scherger
1758 <derek@echologic.com>.
1759 - New "-@/--xargs" option, helpful when using new
1760 automate commands. Thanks to Richard Levitte
1761 <richard@levitte.org>.
1762 - New "--depth" argument to 'log'. Thanks to Richard
1763 Levitte <richard@levitte.org>.
1764 - 'db info' gives statistics on space usage.
1765 - new command 'dropkey'. Thanks to Jeremy Cowgar
1766 <jeremy@cowgar.com>.
1767 - robustness improvement: if monotone crashes in a working
1768 directory and --dump and --debug were not specified, saves
1769 debug dump to "MT/debug" for analysis, instead of
1770 discarding.
1771 - new contributed scripts: CIA (cia.navi.cx) notification,
1772 email notification, Bash completion.
1773 - 33 new integration tests. total line coverage: ~82%.
1774 - many bug fixes
1775- Special thanks to Matt Johnston <matt@ucc.asn.au>,
1776 for going above and beyond to track down the last
1777 release blocker.
1778
1779 - upgrading from 0.17 requires only a 'db migrate'.
1780
1781Fri Mar 18 15:38:52 PST 2005
1782
1783 0.17 release. bug fixes and features.
1784
1785 - many, many robustness improvements
1786 - more careful checking everywhere
1787 - much more thorough test suite
1788 - all revisions subject to careful checks before
1789 entering database
1790 - not yet fully optimized; "pull" may be very
1791 slow and use lots of cpu
1792 - support for "epochs", to safely manage future
1793 rebuilds, hash migration, etc.
1794 - new "db check" command, thanks to Derek Scherger
1795 <derek@echologic.com>.
1796 - now uses sqlite3, thanks to Christof Petig
1797 <christof@petig-baender.de>.
1798 - removes most former size limitations
1799 - "restrictions" support, thanks to Derek Scherger
1800 <derek@echologic.com>.
1801 - most commands now take a list of files to limit
1802 their actions to
1803 - monotone can now be run from anywhere in the working
1804 directory (not just the root)
1805 - new command "monotone setup" required to create a
1806 working directory for a new project
1807 - important security fix -- don't use shell when calling
1808 external merge commands.
1809 - format change for "MT/options", ".mt-attrs"; you may have to
1810 edit these files
1811 - new command "attr" for managing .mt-attrs.
1812 - builds merkle tries in-memory -- netsync starts up many
1813 times faster
1814 - start of new "automate" interface, for shell scripts and
1815 others.
1816 - new command "cdiff": generates context diffs.
1817 - remove most of now-obsolete manifest/file cert support.
1818 - 60+ new integration tests.
1819 - many portability fixes
1820 - in particular, major win32 cleanups, thanks to Jon
1821 Bright <jon@siliconcircus.com>. win32 is once again
1822 fully and natively supported.
1823 - many bug fixes
1824
1825 - several incompatible changes: see file UPGRADE for
1826 migration information
1827
1828Thu Dec 30 01:37:54 EST 2004
1829
18300.16 release. bug fixes.
1831
1832- 50+ new integration tests
1833- many NetBSD portability fixes
1834- release build on gcc 3.4 / FC3
1835- masses of changeset bugs in 0.15 fixed
1836
1837- some bogus changesets were generated
1838 in the 0.16 development cycle. you will
1839 need to rebuild revision graph.
1840
1841
1842Sun Nov 7 14:06:03 EST 2004
1843
18440.15 release. major changes.
1845
1846- overhauled the internal representation of changes. see
1847 README.changesets for details
1848- fixed bugs in merkle trie synchronization code
1849- fixed echoing and progress UI bugs
1850 (helps when using in emacs)
1851- upgraded cryptopp to 5.2.1
1852- fixed bug 8715, diff hunk coordinate reporting
1853- added figures, new tutorial to manual
1854- improve accuracy of log command
1855- several build, configure, and linkage fixes
1856- some OSX / PPC portability fixes
1857
1858Sat Jul 31 15:38:02 EDT 2004
1859
18600.14 release. bug fixes.
1861
1862- some compile fixes for g++ 3.4
1863- made --dump=FILE option for saving traces,
1864 otherwise failures just print reason (no trace)
1865- some things disabled, as scheduled for replacement
1866 by upcoming changeset branch work
1867- disabled "disapprove" command due to bad semantics
1868- removed "bump" and .mt-nonce machinery
1869- several critical rename-merging bugs fixed
1870- renames vs. deletes
1871- renames vs. deltas
1872- parallel renames
1873- bugs fixed from savannah bug tracker:
1874- 9223 argv overflow
1875- 9075 empty commits
1876- 8919 rename --verbose to --debug
1877- 8958 rename debug to db execute
1878- 8920 empty passphrase message
1879- 8917 connection refused message
1880- 8913 testresult argument
1881- 8912 passphrase read on serve
1882- 8472 approve into branch
1883- 8428 duplicate key warning
1884- 8928 nonce uses too many bits
1885
1886Thu May 20 22:26:27 EDT 2004
1887
18880.13 release. bug fixes.
1889
1890- remove (file|manifest) in several commands
1891- "list missing" command
1892- fixed bugs:
1893- (critical) empty data netsync crash
1894- mkstemp, platform lua
1895- runtime error reporting chatter
1896- non-posix database names
1897- non-posix dirnames
1898- non-posix merge names
1899- 2-way merge algorithm and hook
1900- single-character filenames
1901- multiple password reads
1902- .svn ignore pattern
1903
1904Sun May 2 21:03:38 EDT 2004
1905
19060.12 release. win32 port, bug fixes and optimizations.
1907
1908- ported to native win32 (mingw)
1909- implemented human friendly version selectors
1910- added post-commit hook for change notification
1911- removed spirit-based parsers, reduced compile costs
1912- many netsync bugs removed, pipeline performance improved
1913- removed old, deprecated networking system
1914- several minor CVS import bugs fixed
1915- upgraded bundled netxx
1916
1917Sun Mar 28 12:41:07 EST 2004
1918
19190.11 release. bug fixes and optimizations.
1920
1921NOTE: this release expands the sqlite page size. YOU WILL NEED
1922to dump existing databases before upgrading and reload it
1923after upgrading, otherwise monotone will complain that the
1924database image appears malformed. this condition cannot
1925unfortunately be distinguished from a real malformed image on
1926disk. for example:
1927
1928$ monotone --db=my.db db dump >dump.sql
1929$ <upgrade to new monotone>
1930$ mv my.db my.db.backup
1931$ monotone --db=my.db db load <dump.sql
1932
1933- fixed bugs:
1934- aliasing bug on debian (-O2 now works)
1935- netsync ppc portability / checksums
1936- sha1 whitespace bug
1937- netsync broken formatter
1938- broken symlink handling
1939- merger execution pessimism
1940- LCA bitset calculation pessimism
1941- static object initialization order
1942- CVS single-version import
1943- CVS first-version changelog
1944- CVS branch inference and topology
1945- cryptographic SSE2 paths enabled on linux/x86.
1946- builds against boost 1.31.0.
1947- removed boost::socket
1948- removed documentation about old networking system.
1949- "officially" deprecated old networking system.
1950- enable building with system-local libraries.
1951- upgraded bundled sqlite.
1952- changed sqlite page size from 1k -> 8k
1953
1954Mon Mar 1 00:32:07 EST 2004
1955
19560.10 release. new "netsync" protocol implemented, allowing
1957direct monotone-to-monotone database synchronization. random
1958number underflow problem fixed. more tests added. database
1959schema changed, must migrate schema. added new QA logic to
1960update and merge algorithms (testresult / approval).
1961
1962Thu Jan 1 18:23:06 EST 2004
1963
19640.9 release. support international users (non-ASCII character
1965sets, locales). some corrections to update algorithm. line
1966merging algorithm reimplemented. support working copy
1967MT/monotonerc file. broke format compatibility with MT/work
1968files; commit any pending work before upgrading. permit
1969spaces, colons, other "funny" characters in filenames. support
1970HTTP 1.1, HTTP proxies, handle some corner cases in ancestry
1971graph and database faults.
1972
1973Fri Nov 21 20:25:26 EST 2003
1974
19750.8 release. row size increased to 16mb. more performance
1976improvements in cvs importer. cvs branch tags imported now.
1977minor UI improvements. new commands: SQL dump and load, vcheck
1978for enhanced collision detection, queue addtree for recursive
1979queueing. improved networking scalability. historical rename
1980certs and .mt-attrs file format changed to accomodate upcoming
1981i18n work.
1982
1983Sun Nov 2 23:38:09 EST 2003
1984
19850.7 release. many critical merge and patch set calculation
1986bugs fixed. groups merged with URLs, "monotone db migrate"
1987necessary. directory renames and explicit rename certs
1988supported. added SMTP support. incorporated adns library,
1989avoiding gethostbyname(). new queue commands.
1990
1991Sat Oct 18 22:10:09 EDT 2003
1992
19930.6 release. more stability and bug fixing, including fix to
1994some silent failures in LCA calculation. some minor new
1995features: persistent attributes (eg. 'the execute bit'),
1996rename and log commands. performance of cvs importer greatly
1997improved, lua system upgraded to 5.0, much expanded
1998documentation.
1999
2000Sat Sep 27 11:50:08 EDT 2003
2001
20020.5 release. stability and bug fixing. many UI issues
2003addressed, including SHA1 completion, persistent options, new
2004revert command and new diff modes. database migration,
2005inspection and debugging interfaces added. LCS algorithm and
2006line-merger overhauled. several multi-depot bugs
2007fixed. existing depot databases should be migrated (depot.cgi
2008migratedb).
2009
2010Thu Sep 4 15:40:07 EDT 2003
2011
20120.4 release. monotone is now self-hosting. database
2013compatibility broken since 0.3. depot uses RSA signatures now,
2014not mac keys. many bugs removed. depot database compatibility
2015broken. database schemas should now remain stable (or be
2016provided with safe schema-upgrading function).
2017
2018Mon Aug 25 18:00:37 EDT 2003
2019
20200.3 release. database compatibility broken. packet format
2021compatibility broken. dropped boost sandbox library dependency.
2022redid networking to support private HTTP+CGI depots along with
2023netnews. wrote depot. added 'propagate' command to move changes
2024between branches asymmetrically. rewrote testsuite in autotest.
2025cleaned up command line processing. expanded testsuite. improved
2026user-friendly error reporting.
2027
2028Fri Aug 8 10:20:01 EDT 2003
2029
20300.2 release. database compatibility broken. dropped many
2031library dependencies. hand-reimplemented xdelta, parts of
2032nana. incorporated subset of cryptopp and sqlite into
2033sources. added RCS and CVS importer. switched to piecewise
2034reconstruction. generally much more robust storage system.
2035scalability tests against real world CVS archives show
2036performance gap with CVS closing, but still present.
2037
2038Sun Apr 6 20:20:42 EDT 2003
2039
2040initial release

Archive Download this file

Branches

Tags

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