Buku 3.0 2017-04-26 What's in? - Edit bookmarks in EDITOR at prompt - Import folder names as tags from browser html (thanks @mohammadKhalifa) - Append, overwrite, delete tags at prompt using >>, >, << (familiar, eh? ;)) - Negative indices with `--print` (like `tail`) - Update in EDITOR along with `--immutable` - Request HTTP HEAD for immutable records - Interface revamp (title on top in bold, colour changes...) - Per-level colourful logs in colour mode - Changes in program OPTIONS - `-t` stands for tag search (earlier `--title`) - `-r` stands for regex search (earlier `--replace`) - Lots of new automated test cases (thanks @rachmadaniHaryono) - REST APIs for server-side apps (thanks @kishore-narendran) - Document, notify behaviour when not invoked from tty (thanks @The-Compiler) - Fix Firefox tab-opening issues on Windows (thanks @dertuxmalwieder) ------------------------------------------------------------------------------- Buku 2.9 2017-02-20 Modifications - New option `--write` to compose and edit bookmarks in text editor - Support positional arguments as search keywords - New option `--oa` to search and open results directly in browser - Autodetect Markdown mode by file extension during export, import - Shortened options: - `--nc` replaces `--nocolor` - `--np` replaces `--noprompt` - `-V` replaces `--upstream` - Option `--markdown` removed as the mode is autodetected now ------------------------------------------------------------------------------- Buku 2.8 2017-01-11 Modifications - Multithreaded full DB refresh with delayed writes - Customize number of threads for full DB refresh (default 4) - Support search and update search results in a go - Support shortened URL expansion - Support multiple bookmarks with `--open` - Support `--nocolor` (for scripting, Windows users) - Support https_proxy with `--upstream` and `--shorten` - Remove trailing `/` from search tokens (like Google search) - Support `--version` to show program version - Fixed #109: Missing + when shortening URL - Performance optimizations, few module dependency removals ------------------------------------------------------------------------------- Buku 2.7 2016-11-30 Modifications - Continuous search at (redesigned) prompt - urllib3 for all HTTP operations - Use HTTP HEAD method for pdf and txt mime types - Add user agent (Firefox 50 on Ubuntu) - Support URL shortening - List bookmarks by tag index in tag list - Show tag usage count in tag list - Store tags in lowercase (use undocumented option `--fixtags` to fix old tags) - Support environment variable *https_proxy* - Support option `--immutable` to pin titles - Keyword `immutable` to search (`-S`) pinned titles - Show index in Json output - New key *q* to quit prompt - Support deflate compression - Add option `--tacit` to reduce verbosity of some operations - **Removed** option `--st`, only `--stag` to search tags - Support custom DB file location (for library, not exposed to user) ------------------------------------------------------------------------------- Buku v2.6 2016-11-04 Modifications - Support Markdown import/export - Support regex search - New option `--upstream` to check latest upstream version - Fix search and delete behaviour - Lot of code reformatting, performance improvements - Use delayed commit wherever possible (e.g. bulk deletion cases) - When a range is specified, consider 0 as ALL - Added option to control verbosity in some APIs - In-source documentation update ------------------------------------------------------------------------------- Buku v2.5 2016-10-20 Modifications - Export specific tags to HTML - Fixed obvious issues on Windows - Open a random bookmark with option --open - Support lists and ranges with --print - Show a bookmark on tag append - Show only title with --format=3 - PEP8 compliance fixes - Buku GUI integration documented ------------------------------------------------------------------------------- Buku v2.4 2016-09-12 Modifications - Exact word match support using regex (**default**) - New option --deep to scan matching substrings - Support DB index lists and ranges in update operation - Open a list or range of search results in browser - Open all search results in browser - A more concise prompt - PEP8 compliance (almost) - Tons of new test cases added (thanks @wheresmyjetpack) ------------------------------------------------------------------------------- Buku v2.3 2016-07-14 Modifications - Delete a range or a list of indices - Delete tag from tagset by bookmark index - Delete results of a particular search - Linked to rofi front-end script project for Buku - Use the logging framework for debug info instead of print - Fixed an issue with gzip stream decoding - Using only relative path to fetch resource on server - Fixed auto-completion errors with zsh - A lot of code cleanup and globals removed, additional test cases ------------------------------------------------------------------------------- Buku v2.2 2016-06-12 Modifications - Export bookmarks to Firefox bookmarks formatted HTML - Merge Buku database - .deb package for Debian and Ubuntu family - Switch from PyCrypto to cryptography (thanks @asergi) - Append tags support - Filter tags for duplicates and sort alphabetically - Travis CI integration, more test cases (thanks @poikjhn) - Show DB index in bold in search results - Several performance optimizations ------------------------------------------------------------------------------- Buku v2.1 2016-05-28 Modifications - Import bookmarks from Firefox, Google Chrome or IE html bookmark exports - Support comments on bookmarks - Prettier output using symbols (`>` title, `+` comments, `#` tags) - New option (`--st`, `--stag`) to search by tag - New option (`--noprompt`) for noninteractive mode - New options (`--url` and `--tag`) - `--update` now handles each option (url, tag, title, comment) independently - Several messages removed or moved to debug ------------------------------------------------------------------------------- Buku v2.0 2016-05-15 Modifications To begin with, 2.0 is a significant release with respect to options. `Buku` now has fewer options with more (and merged) functionality. Please go through the program help at least once to understand the changes. - Replace getopt with argparse for parsing arguments - Long options for each short option - Options changed - insert: removed as automatic DB compaction serves the purpose (previously `-i`) - iterations: removed as optional argument to `-l` and `-k` (previously `-t`) - title: `-t` is now the short option to set title manually (previously `-m`) - Special search keywords for ALL search (`-S`): - tags: show all tags (previously `-g`) - blank: show bookmarks with empty tags (previously `-e`) - lock/unlock: now accepts number of hash iterations to generate key - format: print formatting option changed to `-f` (previously `-x`) - help: option added to show program help - Following options apply to ALL bookmarks without arguments - `-u`, `--update` - `-d`, `--delete` - `-p`, `--print` - Shell-completion scripts for Bash, Fish and Zsh - Warn if URL is not HTTP(S) - More comprehensive help - Fix a bug with deletion when only one entry in DB - Some import dependencies removed or late loaded (if optional) - Handle exception if DB file is encrypted or invalid ------------------------------------------------------------------------------- Buku 1.9 2016-04-23 Modifications - **New location for database file** (refer to README or man page). The old database file, if exists, is migrated automatically. - **Removed options** - `-P`: (print all) is now `-p 0` - `-D`: (delete all) is now `-d 0` - `-R`: (update all) is now `-u 0` - `-w`: title web fetch is now the default behaviour, override with `-m title` option - **Change in search behaviour** - `-s`: search bookmarks for ANY keyword in URL, title or tags - `-S`: search bookmarks for ALL keywords in URL, title or tags - Update only title of a bookmark (`-u N`) - Set empty title (`-m none`) - Support HTTP(S) gzip compression - Optional JSON output for `-p` and `-s` options (thanks @CaptainQuirk) - Reformatted help and man page with general options on top - Optimize add and insert: ensure URL is not in DB already - Handle URLs passed with %xx escape - Retry with truncated resource path on HTTP error 500 - Several code optimizations - Catchier errors and warnings - Version added to debug logs ------------------------------------------------------------------------------- Buku 1.8 2016-03-26 Modifications - Auto compact DB on single record removal - Handle piped input - Better tag management - Tag modify or delete support - Show unique tags alphabetically - Full DB refresh - Fix stuff broken earlier - Optimize to update titles only - Update titles only if non-empty to preserve earlier data - Redirection - Handle multiple redirections - Detect redirection loop and break - Show redirected link in bold - List all bookmarks with no title or tags (for manual bookkeeping) - Confirm full DB removal - Better comma (`,`) separator handling for tags - Help - Place regular options before power options in program help - Help added in man page for quick reference - Additional examples for new features - Errors & warnings - Error out if both encrypted and flat DB files exist - Catchier error and warning messages ------------------------------------------------------------------------------- Buku 1.7 2016-03-15 Modifications - Add title manually using option `-m` - Unquote redirected URL - Quit on `Ctrl-d` at prompt - More dynamic shebang for python3 ------------------------------------------------------------------------------- Buku 1.6 2016-01-22 Modifications - Stronger encryption: 256-bit salt, multi-hash key. - Allow user to specify number of iterations to generate key (check option `-t`). ------------------------------------------------------------------------------- Buku 1.5 2015-12-20 Modifications - Project name changed to `Buku` to avoid any copyright issues. This also means old users have to move the database file. Run:
$ mkdir ~/.cache/buku/ $ mv ~/.cache/markit/bookmarks.db ~/.cache/buku/bookmarks.db $ rm -rf ~/.cache/markit/bookmarks.db- Manual AES256 encryption and decryption support (password protection) implemented. This adds dependency on PyCrypto module. Installation instructions updated in README. - Some typos fixed (thanks @GuilhermeHideki) ------------------------------------------------------------------------------- MarkIt v1.4 2015-11-13 Modifications - Refresh full bookmark database. Fetch titles from the web, retain tags. - Notify empty titles in red during online add or update. ------------------------------------------------------------------------------- MarkIt v1.2 2015-11-11 Modifications - Introduced `-S` search option to match ALL keywords in URL or title - Introduced `-x` option to show unformatted selective output (for creating batch scripts) - Added examples on batch add and update (refresh) scripts - Handle multiple title tags in page - Handle title data within another tag (e.g. head) - Show DB index in search results, removal and update confirmation message ------------------------------------------------------------------------------- MarkIt v1.1 2015-11-10 Modifications - Replace Unicode chars in title data before UTF-8 decoding (for parser to succeed). -------------------------------------------------------------------------------