Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Note: this release changes how symbolic links are handled. See below.
- TMSU now compiles for Mac O/S. (Thanks to https://github.com/pguth.)
- The VFS no longer lists files alongside the tag directories under
Instead there are
resultsdirectories at each level, within which you can
find the set of symbolic links to the tagged files.
- Symbolic links are now followed by default. This means that if you tag a
symbolic link, the target file is tagged instead. To instruct TMSU to not
follow symbolic links (previous behaviour) use the new
option on the relevant subcommands.
- Added new setting
symlinkFingerprintAlgorithmto allow the fingerprint
algorithm for symbolic links to be configured separately to regular files.
- By default duplicate files will now be reported when tagging. A new setting
reportDuplicatescan be used to turn this off.
- Slashes are now permitted within tags and values, useful for recording URLs.
In the virtual filesystem, similar looking Unicode characters are used in
tagsubcommand to allow tags to be applied to
the set of files matching a query.
- The VFS tags directory will now relist tags that have values so that
multiple values can be specified, e.g. tags/color/=red/color/=blue.
- It is now possible to list tags that use a particular value with the new
--valueoption on the 'tags' subcommand.
- Made it possible to upgrade the database schema between releases.
- Bug fixes.
Fixes crash when accessing an empty tag in the virtual filesystem.
(Microsoft Windows users please continue to use v0.6.0 as this bug fix is not relevant to that platform.)
- Relaxed restrictions on tag and value names: in particular whitespace is now supported.
- Tag values are no longer automatically deleted when last usage is removed: they must now be managed manually. (Removing these checks improve performance of untagging operations.)
- Tag values can now be renamed, deleted and merged using the new
--valueoption on the corresponding subcommands.
- Tag values can now be used in implications.
- Fixed "too many SQL variables" bug.
- Output of
filescan now be sorted using the
statssubcommand has been replaced by a
--statsoption on the new
- Included some scripts for making destructive changes to the filesystem. (By having these operations in separate scripts rather than as core functionality TMSU remains non-destructive.)
tmsu-fs-rmremoves a file from the filesystem and TMSU database
tmsu-fs-mvmoves a file elsewhere on the filesystem and updates the TMSU database
tmsu-fs-mergedeletes all but that last argument and merges their tags in the TMSU database
And other bug fixes and performance improvements.
Fixes an issue (issue #28) where concurrent access to the virtual filesystem would cause a runtime panic.
This release fixes a bug with automatic tag creation.
(Windows binary to follow.)
Warning: there is a bug in this version that means the database will not be created if the
.tmsu directory does not exist. Please create the directory by hand (e.g.
mkdir ~/.tmsu) until this is fixed.
Note: This release has some important changes, including the renaming of
some options, the introduction of local databases and a switch from absolute
to relative paths in the database. Please read the following release notes
- The --untagged option on the 'files' and 'status' subcommands has been
replaced by a new 'untagged' subcommand, which should be more intuitive.
- The --all option on the 'files', 'tags' and 'values' subcommands has been
removed. These commands now list the full set of files/tags/values when run
without arguments. For the 'tags' subcommand this replaces the previous
behaviour of listing tags for the files in the working directory: use 'tmsu
tags *' for approximately the previous behaviour.
- The 'repair' subcommand --pretend short option has changed from -p to -P (so
that -p can be recycled for --path).
- The 'repair' subcommand's argument now specify paths to search for moved
files and no longer limit how much of the database is repaired. A new --path
argument is provided for reducing the repair to a portion of the database.
- A new --manual option on the 'repair' subcommand allows targetted repair of
moved files or directories.
- The exclamation mark character (!) is no longer permitted within a tag or
value name. Please rename tags using the 'rename' command. (Value names will
need to be updated manually using the Sqlite3 tooling.)
- Added --colour option to the 'tags' subcommand to highlight implied tags.
- 'tag' subcommand will, by default, no longer explicitly apply tags that are
already implied (unless the new --explicit option is specified).
- Added subcommand aliases, e.g. 'query' for 'files'.
- It is now possible to tag a broken symbolic link: instead of an error this
will now be reported as a warning.
- It is now possible to remove tags with values via the VFS.
- 'tag' subcommand can tag multiple files with different tags by reading from
standard input by passing an argument of '-'.
- TMSU will now automatically use a local database in .tmsu/db in working
directory or any parent. The new 'init' subcommand allows a new local
database to be initialized. See Switching Databases for detail.
- Paths are now stored relative to the .tmsu directory's parent rather than as
absolute paths. This allows a branch of the filesystem to be moved around,
shared or archived whilst preserving the tagging information. Existing
absolute paths can be converted by running a manual repair:
tmsu repair --manual / /
- Added 'config' subcommand to view and amend settings.
- The 'help' subcommand now wraps textual output to fit the terminal.
- Rudimentary Microsoft Windows support (no virtual filesystem yet).
- TMSU can now be built without the Makefile.
- Bug fixes.
- Fixed bug where 'dynamic:MD5' and 'dynamic:SHA1' fingerprint algorithms were actually using SHA256.
Note: This release changes the database schema to facilitate tag values. To upgrade your existing v0.3.0 database please run the following:
$ cp ~/.tmsu/default.db ~/.tmsu/default.db.backup $ sqlite3 -init misc/db-upgrade/0.3_to_0.4.0.sql ~/.tmsu/default.db .q
- Added support for tag values, e.g. 'tmsu tag song.mp3 country=uk' and the querying of files based upon these values, e.g. 'year > 2000'.
- 'tags' and 'values' subcommands now tabulate output, by default, when run from terminal.
- Added ability to configure which fingerprint algorithm to use.
- Implied tags now calculated on-the-fly when the database is queried. This results in a (potentially) smaller database and ability to have updates to the implied tags affect previously tagged files.
- Added --explicit option to 'files' and 'tags' subcommands to show only explicit tags (omitting any implied tags).
- Added --path option to 'files' subcommand to retrieve just those files matching or under the path specified.
- Added --untagged option to 'files' subcommand which, when combined with --path, will also include untagged files from the filesystem at the specified path.
- Removed the --recursive option from the 'files' subcommand which was flawed: use 'tmsu files query | xargs find' instead.
- Added ability to configure whether new tags and values are automatically created or not or a per-database basis.
- Added --unmodified option to 'repair' subcommand to force the recalculation of fingerprints of unmodified files.
- Renamed --force option of 'repair' subcommand to --remove.
- Added support for textual comparison operators: 'eq', 'ne', 'lt', 'gt', 'le' and 'ge', which do not need escaping unlike '<', '>', &c.
- Improved Zsh completion with respect to tag values.
- Significant performance improvements.
- Removed support for '-' operator: use 'not' instead.
- Bug fixes.