2010-04-05 (1.0rc2) - new: annotate files directly from the workspace or the changeset browser / files view of a revision - improved: the changeset browser has been overhauled quite a bit: * it crawls now revisions one after another (no longer wait for automate ancestors and automate toposort to complete) - closes FS#46 * merge revisions and revisions which are not on the same branch are now colored differently (this can also be configured) * the possibility to stop the crawling has been added - improved: revision certificates are now rendered as rich text including simple formatting for changelog entries; also certificates are now visually grouped by the key which signed them. - improved: the node info panel now displays the last change as HTML and handles multiple certs of the same type gracefully - bugfix: workspace find-as-you-type works now as expected (closes FS#42) - bugfix: incremental workspace expansion works again (closes FS#39) - bugfix: guitone now tries harder to keep the current expanded directory node even when the view needs to be rebuild completely - bugfix: disallow the rename of the workspace root item (there is an extra command for that, pivot_root, which we eventually support sometime) - bugfix: long-running background processes like f.e. netsync operations or file history fetching are now properly stopped if the specific dialog is closed - bugfix: if a running thread should be aborted from within an automate command and the thread in question no longer exists, a warning is now issued - bugfix: when a node is right-clicked in the inventory view, only the actual default action is rendered bold, not any of the previous ones 2010-02-15 (1.0rc1) NOTE: You need monotone 0.46 or later for this version - new: create new monotone databases and setup new project with a newly created or already existing given database - new: synchronize with other monotone server nodes via netsync - new: update workspaces to the selected revision; warn if the new revision is part of another source tree - new: add, drop, rename, revert, ignore and unignore items in the workspace view and add new options to create new versioned files and directories as well as removing unknown or ignored ones - new: find-as-you-type search for workspace items - new: change the passphrase of a key and remember the entered passphrase of a key for later usage, f.e. in commits or for netsync actions; also sort and filter the key list - new: actually rename items in the "unaccounted renames" dialog - new: select a specific key to sign a revision in the commit dialog - new: link to monotone manual from the help menu (FS#23) - improved: lighter, more eye-friendly colors for diff views (FS#24) - bugfix: the changeset browser is now able to browse branches with no hierarchical history, i.e. zero ancestors (FS#29) - bugfix: guitone no longer considers the workspace to be invalid if the last file is physically removed from it. Also, the amount of inventory reloads has been lowered since we only notify about changed paths every 500ms - bugfix: limit the amount of watched paths with an LRU cache to avoid problems or even crashes on systems like Mac OS X where the number of allowed concurrent open files may max out rather quickly. - bugfix: no longer load the user's default hooks under ~/.monotone/monotonerc or _MTN/monotonerc whose out-of-band output might interfer with our stdio interface. The user can however choose to still load these files in the preferences. - bugfix: no longer crash the changeset browser when a database contains no revisions and the user clicks on "more/all changes" - bugfix: if _MTN/revision can't be read or parsed (for whatever reason), don't abort the program. Instead, log a critical message and try it again next time. - bugfix: no longer crash if a renamed file (target) is inspected via the node info panel - bugfix: clear previous parents from the parent dropdown in the commit dialog; also disable the dropdown if there are no parents for the check-in - bugfix: remove a stupidity which prevented the ability to commit only non-content changes 2008-10-04 (0.9) - new: panel to inspect an selected workspace item - shows several mtn and fs-specific data on the item and links to the birth revision of the node, if any - new: possibility to select the file encoding of a file in the diff dialog; the preference can be saved to the special file attribute "guitone:file-encoding" which is read out next time you diff the file. Note that you need a checked-out workspace for this; if you diff a not-checked-out file, the attribute must already be present in the manifest of the base revision and an encoding change cannot be saved there. - improved: UI of select revision dialog slightly revamped, now by default the first found revision is automatically selected and queried for certs - bugfix: in workspace mode the database variables panel has not been initialized, thus guitone crashed when "update" was clicked - bugfix: if the user tries to save one or more files from the manifest view more than once, guitone crashed on an invariant; this is fixed (missing re-initialization in the underlying model) - bugfix: the dialog titles of the file diff and manifest dialog are now properly set if the dialog is opened another time - bugfix: rows should no longer be doubled in the revision list of the changeset browser if one double-clicks on them; a couple of double-click related crashes should also be fixed - bugfix: if you change the selection of items in the workspace view the attribute view should now get properly updated properly under all circumstances - bugfix: the file diff dialog now shows the correct current name of the file which is diffed in the window's title bar - bugfix: guitone no longer crashes if you try to commit a workspace which has no parent i.e. which has just been set up - bugfix: fixed a crash which occured if you tried to opened the manifest view of some revision for the second time (a memleak triggered an invariant) - bugfix: if a monotone database was opened on Mac OS X f.e. through the Finder and guitone was not yet opened, both, the startup prompt and the database dialog were displayed on app start while the former blocked the usage of the latter 2008-05-25 (0.8) - starting from this version (0.8) guitone is distributed under the terms of the GNU General Public License Version 3 - new: possibility to call single dialogs (i.e. commit, file history, etc.) from the command line without a running main window which should be useful for all kinds of operating systems integration (a TortoiseMTN version is already been developed by Christof Petig); please check README.driver for more information about this interface - new: its now possible to restrict commits to certain files and / or directories - just right-click one or more entries in your workspace and hit "commit" - new: its possible to double-click on patched entries in the commit dialog and changeset browser and open the diff dialog for these files - new: the workspace view is now updated live if changes happen to it in the background f.e. when files and directories are added, removed or changed; there is, however, also a new option to do these updates by hand if you right-click on any node or the blank space in the tree or list view - new: support for viewing the complete changeset for merge revisions in the changeset browser - new: a panel to view and edit database variables (open it via View > Panels > Database Variables) - new: possibility to skip a new program version in the native dialog - new: guitone now checks if a file is executable and if its extension is included in a list of known precarious file formats before it greenly tries to open it. If it find such a file, it prompts the user to verify his decision. This check and the list of extensions can be configured in the Preferences dialog. (closes FS#10) - new: an installer for win32 which takes care of needed libraries and proper uninstallation - new: colors for diff views can now be configured in the preferences - new: settings can now be reset to their defaults in the preferences dialog - improved: startup dialog slightly changed - now contains the possibility to edit the preferences, open recent databases and workspaces. Removed this functionality from the initialization phase of the application which was rather unpredictable. - improved: database window now contains a few quick-access buttons to ease the access of common tasks - improved: parsing stdio/basicio formats is now several factors faster for huge workloads (f.e. big chunks of inventory output) - improved: incremental workspace loading can now be enabled in the preferences - improved: the file history dialog now reads and displays the changes ad-hoc, so you don't need to wait until the complete history of a particular long- living file is read - improved: the diff dialogs are now more aware of diffs which change the line ending at the end of the file: the revision diff dialog shows "missing \n" after the type of the line, the detailed diff dialog you get this information in a tooltip when hovering over the particular line. This needs a monotone installation >= 0.40 - improved: in file diff dialogs the correct line numbers for the old / new file is shown - improved: the commit dialog now supports auto-completion of filenames which are part of the current changeset; also a splitter has been placed between the change list and the changelog entry which might be useful under certain circumstances; lastly, guitone no longer annoys people by displaying the most recent log message as default changelog entry automatically - bugfix: a running mtn instance for a workspace is now properly re-used if needed for a database-only task - bugfix: fixed a crash which occured when an internal thread was deleted to early before it could clean up itself - bugfix: if the file history dialog is closed, guitone now actually stops reading data - bugfix: on export and checkout, the mtn:execute attribute is now honored, i.e. an exported executable file is made user-executable. (closes FS#12) - bugfix: fixed a crash when the detailed file diff dialog should display a diff where the left side (the original file) was completly empty - bugfix: if a not supported mtn version is found and the user hits cancel in the preferences dialog, guitone is now closed properly and does not sit in the background doing nothing - bugfix: if guitone is closed too fast (f.e. before the internal mtn thread could be started), the application wasn't closed properly, but only removed all open windows - bugfix: if a window is closed with ctrl-w we now make sure that the app doesn't crash... - bugfix: fixed a problem in the Select Revision dialog when a certain user input lead to spurious, unexpected output from the running monotone process - bugfix: previously if a different directory was selected in the workspace view any items selected in the file list kept selected (but invisible) in the background, thus making right-clicks in the empty space still popping up the popup menu for these hidden items); this has been fixed insofar we always clear selections if the file list lists a different directory 2008-04-06 (0.7.1) - new: possibility to suppress the upper version check which lets guitone partially work with newer, yet untested versions of monotone; the 0.7 development line currently only supports monotone version 0.37 and 0.38 completly. Now If you have monotone 0.39 or newer installed, you can still start and work with guitone, but at your own risk. One thing that will f.e. not work with 0.7.x and monotone >= 0.39 is the commit functionality. If you need this, please stick to an earlier, supported version. guitone 0.8 will, of course, support newer versions of monotone, but I still have no release date set for this. - bugfix: make guitone compile cleanly on Mac OS X 10.5 Leopard 2008-01-16 (0.7) - new: possibility to display the history of a single file in chronological order: In the workspace view, right-click on any tracked file and hit "History"; the history is also available from the manifest view of a revision - new: find unaccounted renames in your workspace (i.e. finds those renames which only happened in the filesystem). Matches files by content and directories by name (actual renaming not yet implemented) - new: add, drop and edit file attributes directly in the workspace view - new: its now possible to actually copy the public key data to the clipboard in the key management dialog - new: possibility to display a file diff from the revision diff dialog - new: the changelog in the browser is now displayed in an extra field which understands basic text formattings (weblinks, lists, and others) - new: support for monotone's new inventory format and incremental workspace queries / updates (not yet enabled because of certain implementation bugs upstream) - improved: input field in the select revision dialog now acts on ENTER - improved: new simpler icon set which makes it easier to detect which files have been changed in a workspace; also added a panel (Window > Panels > Icon help) which contains explanations for all states - improved: monotone databases are now properly recognized and distinguished from empty files, non-sqlite dbs and even non-monotone sqlite dbs - improved: non-registered file types on Windows are now opened through the system's "Open with" dialog - bugfix: binary files can now be committed just like regular text files - bugfix: the workspace is now properly updated after a commit - bugfix: the global qt translation is now loaded properly - bugfix: double-clicking on mtn databases on Mac OS X no longer leads to application hangs - bugfix: the file diff dialog no longer tries to show binary diffs - change: the proper monotone version is now solely determined by looking at the output of interface version. An upper limit has been introduced for that as well; the dialogs now show the interface version of the installed mtn version to the user. - internal: major rewrite of the process handling code; mtn processes run in their own threads which should make the whole application more responsible for GUI tasks. - internal: massive gui code rewrite: different dialogs can be opened side by side and remember their last state properly 2007-08-20 (0.6.4) - compatibility with monotone 0.36 (and any upcoming monotone with an interface_version above 5.0 and below 5.99) - IMPORTANT NOTICE: do not update to this version if you're still using monotone 0.34 or monotone 0.35. This version of guitone won't work with earlier versions of monotone! 2007-04-25 (0.6.3) - add RELEASE_CHECKLIST so I don't forget a dozen things for the next release - bugfix: no I() crash if an enclosure of appcast.xml is missing the sparkle:version attribute - set GUITONE_VERSION in guitone.pro correctly 2007-04-25 (0.6.2) internal release - added Win32 icon file - adapted NEWS (this file) - fixed FS#3 "Incorrect language in Mac OS X" - noted bugtracker URL in README 2007-04-20 (0.6.1) internal release - improved: better algorithm to shorten the branch name displayed in the window title in workspace mode - bugfix: replaced Qt assert macro by self-defined macro which should now make guitone properly build in release mode - bugfix: guitone should now build properly on 64bit machines (thanks to Christian Stoitner for giving advice) - bugfix: removed NULL in GetRevision.cpp model as it seems to be undefined on some platforms (thanks again to Christian Stoitner) - bugfix: disabled branch name querying on Win32 for the root item, apparently this does put the Monotone wrapper in an endless loop waiting for data. the fix is a big hack since I still don't know what is going on there (thanks to Howard Spindel for pointing out the problem) - internal: replaced left qDebug, qWarning and qCritical messages with our own macros, this also means that in release builds now absolutely no debug messages should be logged or displayed on console - build.sh now by default configures guitone to build in release mode 2007-04-10 (0.6) - new: possibility to commit a revision via Workspace > Commit revision (note: the update of the existing workspace is not yet supported) - new: a changeset browser which makes it easy to track recent commits (thanks to Jean-Louis!) - new: possibility to check-out files via Database > Checkout revision - new: possibility to view and export files for any revision from the standard Select Revision or Changeset Browser dialogs (just double- or right-click on any revision) - new: workspace update dialog (stub) - new: possibility to diff two distinct revisions from the Select Revision dialog (available via Checkout, Commit or Update dialog) - new: guitone now checks for application updates automatically on all platforms (can be disabled in the preference), while using the Sparkle framework on OSX (an appcast is available under http://guitone.thomaskeller.biz/appcast.xml) - new: possibility to open single databases and trigger actions on them - new: possibility to have several open windows at once (either in database or workspace mode), proper window management - new: possibility to define databases or workspaces as command line arguments; on Mac OS X integration into the Event Manager to receive open events from the Finder and other apps (also registered *.mtn as type to be handled by guitone and included a fancy file logo) - new: configurable application logging - logfile is written in your home directory as "guitone.log" - new: workspace/database-specific dialogs are displayed as sheets under OSX (so-called document-modal), all dialogs are in mac-metal style - improved: better grouping in the View-menu, Alt-modifier for view options to avoid clashes with input widgets - improved: monotone icon on all windows for easier recognition - improved: if a new key is generated, the key management dialog hides and is shown afterwards again - improved: about dialog now has a little "Lobhudelei" wrt #qt irc channel on freenode - improved: the main window now handles context menus requested on multiple-item selections (no associated actions yet) - improved: the root directory of a loaded workspace is now by default expanded and loaded in the rightside list - improved: new column "additional info" in the workspace view which shows the source/ target path of a renamed item - improved: universal builds are disabled by default on Mac OS X (faster builds) - bugfix: hide ignored files now actually shows not ignored ones - bugfix: guitone no longer crashes if a binary is tried to be diffed - bugfix: the select revision dialog should no longer show an empty dummy rev at the end - bugfix: menu shortcuts are properly translated - bugfix: cleaned embedded guitone svg logo (no more warnings on console) - bugfix: close all the communication pipes before terminating the mtn process (lead to crashes on some platforms) - bugfix: icon overlays should now work properly on all platforms (have been wrongly scaled before because of the assumption that only OSX knows bigger icon sizes...) - bugfix: proper handling of 0 Byte payload in StdioParser - bugfix: cd-up is no longer shown if you are in the root directory of a workspace - internal: MainWindow class is now based on a Qt form as well - internal: global version number defined in project file - internal: all token parsers have now a common base class and work on byte arrays rather than strings - internal: all dialogs are now subclassed from a general Dialog class which properly saves the state of the dialog and provides the sheet functionality on OSX - internal: made the Monotone wrapper class more standalone so it's more useful for other projects; also this works now sequential with command numbers rather than relying on mutexes which could create deadlocks. furthermore support for binary data on stdin of the mtn process (needed for mtn automate put_file) - internal: ripped subdirs setup since libqanava seems to be dead - internal: fixed many memory leaks (thanks again to Jean-Louis) - internal: started on unit test setup - internal: lots of refactorings and renamings 2006-12-28 (0.5) - new: completion support in the switch workspace revision dialog's input - new: key management dialog which includes the possibility to generate new keys and some simple clipboard copy functionality - new: if there are uncommitted changes, the appropriate dirs and files are recursively printed bold - new: possibility to open files from guitone with the default registered program - new: file diff dialog which shows differences in individual files in context and with a nice bar on the right - new: revision diff dialog which shows all differences in a selected dir (context: "Diff all") - new: about dialog for contact info and license display - improved: more view states available - its now possible to only show the file/tree view with files of a certain state - improved: default actions (item doubleclick) are now visualized with bold text - improved: mtn version is now checked also on program startup, additionally the output of interface_version is taken into consideration (if a recent version of guitone needs a recent version of monotone which is yet unreleased, the interface_version is already bumped, the release version probably not...) - fixed: do not read attributes for deleted items - fixed: removed "one level up" label in favor of much simpler ".." - fixed: file/folder list is now sorted ascending by default - fixed: osx: about and preferences dialogs should be properly put into the app menu (yet untranslated, however) - fixed: utf8 data (filenames, ...) should now work proper with the monotone wrapper - internal: code cleanup and tons of minor bugfixes - internal: guitone should now also compile cleanly without pch enabled, also made this more verbose and error-prone for universal builds where pch need to be disabled - internal: moved codebase into a subdir config to support easy drop-ins of external libraries, libqanava should have been the first giving guitone a fancy graphical revision view, but this didn't work because the software is still incomplete and thus was removed - internal: removed dependency of AutomateCommand from the Monotone wrapper, now this should be easier to use in other projects as well... 2006-10-03 (0.4) - Interims release, mainly to show we're still alive =) - support for different monotone binaries, configurable via preferences dialog (version check added, guitone now requires mtn >= 0.29) - revision browser (later used for switching the workspace revision, etc.) - new attributes view (utilizes mtn automate attributes) - improved error handling (fatal errors) - OSX application icon and updated logo - localized application menu on OSX - states of tree and list views (column sizes and positions) are now remembered - minor fixes - internal: added BasicIO parser - internal: removed OSX < 10.4 warning - internal: i18n files are now managed via qrc as well - internal: inventory items can get a label setting (independent of the path) 2006-06-17 (0.3) - Move to Qt4 - Icon overlays for workspace states - Translation support - Better handling of interface to monotone 2006-04-06 (0.2) - Fixes to let it work with 0.26pre3 2006-03-05 (0.1) - Initial release