Bugfixes:
- Use another region of the requested language if it exists instead of falling back to English
- Fix
project_import
metric - Don't use heuristics when importing .txt files
- Fix sending emails to names starting or ending with a dot
- Fix highlights appearing when created in another document
Enhancements:
- Automatically detect the character encoding of codebooks
- Add a metric for emails sent
- Add sort option for tags
- Add ability to search for tags in highlight modal
- Add scrolling to left panel
- Add validation to registration form
- Automatically pick a random password if prompting fails (no terminal)
Bugfixes:
- Fix highlighting in tables
- Fix error adding documents in some situations due to a race condition (seems to only happen when using Redis)
Bugfixes:
- Fix some validation on project import, filename mangling on document import
- Relax filename requirements
- When importing codebook, ignore case when looking at column names
- Fix the resource usage when using Redis, and avoid dropping events in specific conditions
- Fix the database warnings shown at startup
- Fix language setting sometimes being out of sync between devices
- Don't allow the creation of blank highlights (empty content, for example selecting a newline character)
Enhancements:
- Add Swedish translation
- Add Indonesian translation
- Add a script to validate the current database, useful if you have been using it across Taguette versions, or if you're writing to it programmatically
- When adding a document, automatically change to it
- Add
EXTRA_FOOTER
config setting to easily add information about a self-hosted instance - Enable SQLite's auto_vacuum mode on newly created databases
- Update the password hashing method to scrypt, more secure
- Perform password hashing and verification in background threads, to avoid locking up the application for everyone else
- Prevent clickjacking attacks by serving the relevant headers, in case they are not already set by your reverse proxy
- Add a script
register_user.py
to register a user even if registration is disabled - Allow more HTML tags in imported documents, like tables
- Add a 'disabled' flag to users and a script to delete all user data (only keeping the 'login' in the database to prevent re-use)
- Automatically select the new tag when creating a tag from the add/update highlight modal
Bugfixes:
- Fix JavaScript error when trying to import a SQLite3 file with no projects in it
- Fix
--database
option when not in server mode - Show a more meaningful error if importing an empty SQLite3 file, or a file that is not a SQLite3 database
- Fix importing a codebook with duplicated tags
- Fix importing a codebook with empty rows
- Fix empty lines in log from conversion process
Enhancements:
- Add support for importing subtitle files (.srt or .vtt)
- Strip leading and trailing whitespace from tag names in imported codebook
- "Taguette Guide" opens in a new window
- Add support for serving Taguette in a subdirectory (
BASE_PATH
setting) - Add health check endpoint (
/health
) - Internationalization improvements: add contexts, translate page titles
- Add extras to install a database driver:
pip install taguette[postgres]
(ormysql
) - Allow setting SQLAlchemy parameters from the config file, by making
DATABASE
a dictionary
Bugfixes:
- Add some database indexes, improving performance on larger installations
- Reload page when the server updates, avoiding clients on older versions if they never close the tab
- Fix error importing SQLite3 file on Windows (and other permission errors on temporary files)
- Show a helpful message if the imported codebook has rows that are too short, instead of 500 error
- Fix a 403 error when importing a project if no other form has been shown before (single-user mode, no project created)
Enhancements:
- Focus the name (path) field when creating a tag
- Add a keyboard shortcut to create a highlight: 'n' key (localizable)
- Enable portable install in Windows installer (no admin access)
Bugfixes:
- Don't cache documents forever in desktop mode (only server mode)
Bugfixes:
- Avoid error "document name too long" if no name was provided and the filename is used
- Don't deselect all tags from the highlight modal if it is open while creating a new tag
- Avoid
TimeoutError
due to the SQLAlchemy connection pool overflowing (mostly affects busy self-hosted non-SQLite deployments)
Enhancements:
- Add support for right-to-left documents
- Add importing tags from a codebook CSV file
This is a pip-only fix: binary installers, Docker, Poetry install are NOT affected.
Bugfixes:
- Fix incompatibility with SQLAlchemy 1.4
Bugfixes:
- Fix highlights disappearing when one of their tags is deleted
- Fix highlight modal showing "no tags" multiple times after removing the last tag repeatedly
- Add missing title in exported highlights HTML
Enhancements:
- Allow disabling SQLite3 file import from the configuration file
- Add option to use Redis to coordinate live collaboration if running Taguette in multiple processes
Bugfixes:
- Fix timezone issues on some SQL backends (PostgreSQL, not SQLite). Could cause recorded times to be wrong, and in some cases password reset links could be used multiple times
- Fix the activity detection used to pause/resume polling
- Fix default-config command outputing logs about umask, which could be piped into the new config file (for example when using Docker with
-t
) - Fix migrations on SQLite failing because of foreign key constraints when recreating tables
- Fix RTF export
- Fix retrying Calibre conversion with --enable-heuristics again
- Fix Calibre leaving behind temporary files if it times out
Enhancements:
- Show more details when document export or import fails
- Show the number of highlights per tag in exported codebooks
- Performance improvement of getting a document or tag with many highlights
- Add terms of service, which you can optionally set in your own instance
- Made document/highlights/codebook exporting functions available under
taguette.export
, for use in scripts and notebooks - Improve button placement in the left panel (put "add a document" and "create a tag" at the top)
- Add an HTML page for 404 errors
- Improve error message when Calibre is not found
- Add support for MariaDB (MySQL doesn't work because of error 1093, see https://stackoverflow.com/q/4429319)
- Add option to import or export a project as a SQLite3 database
- Allow a user to remove themselves from a project, without having to ask an admin
Bugfixes:
- Limit the number of page buttons
- SQL query performance improvements
- Force long document names to wrap (like long tag names)
Bugfixes:
- Check that tags exist in the project before adding them to highlights
Enhancements:
- SEO: Add page titles, robots.txt
- Remind user of their login in the password reset email
- Pause polling for changes when the window has been inactive for 10 minutes
- Improve the error message shown when document import fails
- Add pagination to the highlights view, which greatly improve performances for heavily used tags
- Update to Tornado 6.1, remove workaround for older versions
Bugfixes:
- Fix document conversion on Windows
Enhancements:
- Show spinner while loading document or tag view
- Show the tag names next to each highlight in document export
Bugfixes:
- Fix printed link not being flushed, causing it to be inaccessible e.g. running on Docker
- Fix incompatibility with Python 3.8
- Close DB connection during long polls, avoiding overflow of connection pool when using PostgreSQL
- Don't allow a password reset link to be used more than once
- Fix 'new highlight' button on Microsoft Edge
- If Calibre fails, run it again without heuristics
- Fix highlights being off in document export in non-ASCII paragraphs
Enhancements:
- Set umask to 077 by default (and add corresponding command-line options)
- Restore Python 3.5 compatibility
- Add a timeout to document conversion
- Add Calibre output limits to the config
- Fix some important messages being routed through log instead of direct to terminal
Bugfixes:
- Fix showing highlights for a tag with a slash in it
- Fix new tags showing NaN highlight count
- Fix export button being on top of text, if the first line is long
- Fix tag names containing '#' not working properly
- Fix "new highlight" button showing at the top of the page when scrolling on Safari
- Sort highlights in the exported highlights view as well
- Fix merging tags that have common highlights (previous 500 error)
Features:
- Export codebook to Excel (.xlsx)
- Show error details in alert messages (in English)
- Highlight the currently selected tag(s) in the left panel
- Don't show 403 if user can't change collaborators: show explanation, hide button
- Add export of highlights to CSV and Excel (.xlsx) formats
- Support PBKDF2 passwords (Taguette no longer requires 'bcrypt')
Bugfixes:
- Don't show 500 error on invalid email reset token
- Explicitly close DB connections, which might help with some warnings
- Don't show 'merge' button in modal when creating a new tag
- Fix getting logged out in single-user mode with
--debug
- Don't scroll to the top of the document when clicking on a disabled link
- Fix taguette --database=filename not working when filename does not contain directories
Features:
- Add limits on converted file size
- Don't have Calibre export image files from PDF, since we don't read them
- Add a scrollbar to modals, since they can grow big in projects with many tags
- Use the file name as document name if left blank
- Show cookie warning before setting any (optional in configuration)
- Add the REFI-QDA Codebook (.qdc) export format
- Improve the collaborator management modal
- Show the number of highlights which each tag in the "highlights" panel
Taguette can now be translated! You can help bring Taguette to your language on Transifex.
Bugfixes:
- Fix exporting highlights for non-ASCII tags
- Fix account page not accepting empty optional fields
- Fix document description being validated as its name
- Fix importing documents with completely non-ASCII filenames
Features:
- Merge tags
- Added internationalization
- French translation
- German translation
- Spanish translation
- Show tag names when hovering a highlight
Bugfixes:
- Make 'display' headings responsive
- Fix exported highlights being called "path"
- Fix possible weird characters in exported documents on Windows (depending on locale)
Features:
- Convert logins to lower-case (login and collaborator forms will convert too, so it should only affect display). Users with non-lowercase logins will be logged out on update
- Moved the
SECRET_KEY
to the config, no longer writing to~/.cache
- Let you know when you have been logged out or removed from a project while working
Bugfixes:
- Improve reading of OPF output from Calibre, which might fix compatibility with some combinations of Calibre versions and input formats
- Long tag names no longer stick out of the left pane
- Sort tags in highlight modal, documents in left pane, highlights and their tags in the highlights view
Features:
- Use a configuration file in server mode, rather than a growing list of command-line options
- Expose metrics to Prometheus
- Send errors to Sentry
- Add 'delete project' button
- Add account management page, to update email/password
- Add password recovery feature (if you have an email set)
- "New highlight" button shows up next to selected text rather than mouse, making it work with touch screens (mobile) and screen readers (hopefully)
- Convert old .DOC files (Word 97) using WV if available
- Add collaborator management modal, to add more members to a project
- Changed default port number from
8000
to7465
- Add spinning icon while requests are in progress, to prevent multiple submission of forms (document add takes ~10s for example)
Bugfixes:
- Fix error creating a highlight when a paragraph is selected to the end
- Correctly handle Calibre sometimes writing a
.xhtml
file instead of.html
- Also show highlights with no tags when selecting "See all highlights"
Bugfixes:
- Fix JavaScript error on a brand new project (no recorded Command)
- Fix Commands being sent to the wrong project
Features:
- Add
--xheaders
option for the hosted setup, showing correct IPs in the log - Show which document in the list is the current one
Bugfixes:
- Don't show highlights from a different document
- Handle non-ascii text better
- Fix real-time updates pausing if two changes happen in the same second
- Add messages boxes to signal when something goes wrong
- Sanitize name of uploaded files
Bugfixes:
- Log errors from async handlers to the console instead of hiding them
- Work around a problem computing highlight positions in documents when unicode is present (won't crash anymore, but positions might still be off, fix to come)
- Fix not being able to create tags with names that collide with tags in other projects, and error creating a project if another project still uses default tags
- Fix exporting a document that has 0 highlights
- Fix document export missing highlights
- Fix navbar expand button (shown on smaller screen sizes) not working
Bugfixes:
- Make sure to hide auth token from URL bar
- Fix tag description not showing up
- Don't allow two tags to have the same name
Features:
- Add confirmation dialogs before deleting tags or documents
- Create tag from the highlight window
- New theme matching website (thanks to Vicky Steeves)
- Add button to create a tag from the highlight modal
- Show messages from taguette.fr, such as new version available
- Add export options, allowing you to get your highlights or highlighted documents as HTML, DOCX, or PDF
- Add HTML and PDF options for codebook export as well
- Add an option to show (or export) all highlights, rather than only a specific tag
Bugfixes:
- Fix having to reload for changes to appear when working on project other than 1.
- Fix tags not being sorted by name
Features:
- Add 'backlight' mode, fading non-tagged text
- Add modal dialog to edit and delete documents
- Add migration system, to automatically upgrade the database to new schema version when required
Bugfixes:
- Accept list and numbered lists, as generated from Markdown documents
- Fix tag modal not able to add tags after a tag has been edited
Features:
- Add single-user mode, the default. Multi-user mode now needs
--multiuser
- Add login and registration pages
- Add codebook export to CSV and DOCX files (contains list of tags with their descriptions)
First version, proof of concept. Not very useful, but showcases the app, and can be installed by alpha testers.
- Can create projects
- Can import documents into the database as HTML
- Uses Calibre to convert supported documents into HTML
- Can highlight parts of documents, and assign tags
- Real-time notifications and collaboration
- "Acceptable" UI with bootstrap