@oniony oniony released this Nov 8, 2017 · 17 commits to master since this release

Assets 3

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 tags.
    Instead there are results directories 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 --no-dereference
    option on the relevant subcommands.
  • Added new setting symlinkFingerprintAlgorithm to 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
    reportDuplicates can 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
    their place.
  • Added --where option to tag subcommand 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
    --value option on the 'tags' subcommand.
  • Made it possible to upgrade the database schema between releases.
  • Added --count option to untagged.
  • Bug fixes.

@oniony oniony released this Mar 4, 2016 · 134 commits to master since this release

Assets 4

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.)

@oniony oniony released this Nov 23, 2015 · 134 commits to master since this release

Assets 5
  • 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 --value option on the corresponding subcommands.
  • Tag values can now be used in implications.
  • Fixed "too many SQL variables" bug.
  • Output of files can now be sorted using the --sort option.
  • stats subcommand has been replaced by a --stats option on the new info subcommand.
  • 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-rm removes a file from the filesystem and TMSU database
    • tmsu-fs-mv moves a file elsewhere on the filesystem and updates the TMSU database
    • tmsu-fs-merge deletes all but that last argument and merges their tags in the TMSU database

And other bug fixes and performance improvements.

@oniony oniony released this Mar 13, 2015 · 290 commits to master since this release

Assets 4

Fixes an issue (issue #28) where concurrent access to the virtual filesystem would cause a runtime panic.

@oniony oniony released this Feb 9, 2015 · 292 commits to master since this release

Assets 4

This release fixes a bug with automatic tag creation.

(Windows binary to follow.)

@oniony oniony released this Feb 8, 2015 · 298 commits to master since this release

Assets 5

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.

@oniony oniony released this Dec 6, 2014 · 504 commits to master since this release

Assets 4
  • Fixed bug where 'dynamic:MD5' and 'dynamic:SHA1' fingerprint algorithms were actually using SHA256.

@oniony oniony released this Dec 6, 2014 · 509 commits to master since this release

Assets 3
  • Tag values are now shown as directories in the virtual filesystem.

@oniony oniony released this Dec 6, 2014 · 514 commits to master since this release

Assets 3

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.