buku v4.9 2024-04-07 - fixed profile detection for multiple Firefox installs (#711) - added option `--offline` to add a bookmark without web connection - added a mini-guide for quick keyboard access to the bookmarklet - support environment variable `NO_COLOR` - fixed HTML encoding detection (#713) - fixed Windows profile detection (#683) - support python 3.11 (support for python 3.7 removed) - fixed readline internal error on Windows (#704) ------------------------------------------------------------------------------- buku v4.8 2023-02-18 - support Vivaldi browser - better XBEL compatibility - check for empty search results in piped operations - remove python 3.6 support, add 3.10 - API changes in bukudb (#660): - bookmark data tuples returned from methods `get_rec_all()` & `get_rec_by_id()`, now have user-friendly properties (`id`, `url`, `title`, `desc`, `tags`/`taglist`, `immutable`; as well as for raw DB fields – `tags_raw`, `flags`) - methods `get_rec_all()`, `list_using_id()`, `searchdb()`, `search_by_tag()`, `search_keywords_and_filter_by_tags()` & `exclude_results_from_search()` are now guaranteed to return a list (empty if no data is found) - methods `get_rec_id()`, `get_max_id()` & `add_rec()` now return `None` as the "no ID" value - methods `add_rec()`, `update_rec()` & `edit_update_rec()` now treat the value of `immutable` parameter as a boolean (the default/noop value for update calls is `None`) - a `FIELD_FILTER` dictionary is introduced that contains fields formatting description; also, in `format_json()` (and `print_json_safe()`), the output format now matches the one described in CLI help - IMPACT: If you have a local repo clone, remove .tox/ subfolder if it's there before you run tests for the first time ------------------------------------------------------------------------------- buku v4.7 2022-07-01 - support XBEL export/import (#569) - support for Microsoft Edge bookmarks (#585) - block web fetch on import - many bukuserver fixes (#543, #545, #547, #548, #553, #554, #559) - import nested directory names as tags on html import (#539) - fix slow/failed markdown import (#538) - fix SSL certificate identification not working on macOS (#528) - import tags from markdown (#523) - fix broken pipe error with oil (#520) ------------------------------------------------------------------------------- buku v4.6 2021-06-16 - use textwrap to wrap comments and tags when printing in terminal - show listing start and end index over prompt in interactive mode - option `--nostdin`: don't wait for input (must be first arg) (#513) - user-friendly prompt message when watiing for input in non-tty mode - several test framework improvements ------------------------------------------------------------------------------- buku v4.5 2020-12-29 - Fix encryption and decryption (#480) - Fix Wayback Machine API query - Support wayland native copier `wl-copy` - Add bookmarklet for bukuserver (#385) - Delete by tag without prompting for each bookmark (#458) - Fix issue with utf-8 characters in bookmark titles (#456) - Fix reomve all tags from prompt (#467) - Example to fuzzy search and preview in Quickstart section - Replace debug option `-z` with `-g` - Support python 3.9, retire python 3.5 ------------------------------------------------------------------------------- buku v4.4 2020-06-16 - optionally specify output file with `--json` - confirm auto-tag generation in chatty mode - unblock GUI browsers when running on WSL - handle up to 10 server redirects (#452) - fix issue with reverse proxy (#435) - use ImportError instead ModuleNotFoundError (#437) - import pyreadline on windows (#441) - auto-generated package refresh ------------------------------------------------------------------------------- Buku v4.3 2020-01-31 - Project renamed to `buku` (small `b`) - Export tags in markdown format as comments - Tag support for Org import/export - Better Windows 10 support - Reverse proxy support for `bukuserver` - Config `OPEN_IN_NEW_TAB` for `bukuserver` - Documentation updated - Fix Firefox default profile detection - Fix export to DB failing after search - Fix broken prompt colors - User agent updated ------------------------------------------------------------------------------- Buku v4.2.2 2019-05-02 - Fixes broken prompt due to PR #373 ------------------------------------------------------------------------------- Buku v4.2.1 2019-04-30 - A fix on top of v4.2 to address a packaging problem ------------------------------------------------------------------------------- Buku v4.2 2019-04-30 - Disabled appending tags from page on update - Improved Windows color support using colorama (optional dep) - New format option to show only title and tag - Python 3.4 is EOL, support discontinued - Several fixes and code refactor ------------------------------------------------------------------------------- Buku v4.1 2019-01-15 What's in? - Import firefox-exported json - Fix auto-import for firefox - Fix write to GNU Screen paste buffer - Some CVE fixes ------------------------------------------------------------------------------- Buku v4.0 2018-11-01 What's in? - Show records in pages with option `-p` (works with `-n`, default 10) - Enhanced clipboard support: `xclip`, tmux, GNU Screen, Termux - Prompt key `O` works with search results along with GUI browser toggling - Search by taglist id with prompt key `g` - Multiple fixes ------------------------------------------------------------------------------- Buku v3.9 2018-08-30 What's in? - Set number of search results per page (default 10) - Retrieve description and tags from page, if available - Visit cached version on Wayback Machine - Export works with all search options now - Changed user agent to Firefox on Ubuntu - Several dependencies made _required_ for installation - bukuserver will use Flask-Admin ------------------------------------------------------------------------------- Buku v3.8 2018-05-24 What's in? - A self-hosted http server, bukuserver, that exposes core functionality - browsable front-end on a local web host server - flask default cli interface is used instead custom one - handle not only API but also HTML request - statistic page - CRUD on bookmark - replaces the earlier API module - Import complete folder hierarchy as tags during auto-import - Merge tags on import even if bookmark URL exists - Orgfile import/export - Show bookmarks to be deleted before deletion - Merge tags during import if bookmark exists - Escape regex metacharacters in regex input ------------------------------------------------------------------------------- Buku v3.7 2018-03-28 What's in? - Exclude keywords in search (keyword filtering) - Search and filter by tags - Order search results by number of keyword matches - Copy URL to clipboard - Prompt shortcut 'O' to override text browsers - New official packagers: Fedora, Gentoo, OpenBSD, openSUSE ------------------------------------------------------------------------------- Buku v3.6 2018-01-09 What's in? - Skip bookmark addition if edit is aborted - Use urllib3 for handling http connections everywhere - Fix auto-import on FreeBSD - Generate packages for openSUSE Leap 42.3, Fedora 27 ------------------------------------------------------------------------------- Buku v3.5 2017-11-10 What's in? - Buku now has its own user agent - Search works with field filters - Edit the last record with `-w=-1` (useful when adding bookmark from GUI)a - Support for Chromium browser - Colors disabled by default on cmd (Windows), option `--colors` has to be used - Get default Firefox profile name from profiles.ini - Bash scriptlet to autogen records for testing - Some optimization in add record and suggest tags - A fresh utility Pinku to import Pinboard bookmarks to Buku ------------------------------------------------------------------------------- Buku v3.4 2017-09-18 What's in? - Export bookmarks (including specific tags) to Buku DB file using `--export` - Option `--import` can merge Buku DB files now, option `--merge` is retired - Option `--suggest` now works at prompt as well - Auto-import issue when Firefox is not installed fixed ------------------------------------------------------------------------------- Buku v3.3.1 2017-09-11 This is for all purposes the same as v3.3. We had to re-upload a new version to PyPi and hence the new tag. Functionality remains the same. The tagline is changed to - `Powerful command-line bookmark manager.` ------------------------------------------------------------------------------- Buku v3.3 2017-09-11 What's in? - Auto-import (`--ai`) bookmarks from Firefox and Google Chrome - Support custom colors (`--colors`) - Search multiple tags (with exclusion) - Timestamp (YYYYMonDD) tag in auto-imported bookmarks - Enable browser output for text browsers - Generate documentation in RTD using Sphinx (http://buku.readthedocs.io) - Integrated flake8 and pylint in Travis CI - Integrated PackageCore to auto-generate packages in Travis CI ------------------------------------------------------------------------------- Buku v3.2 2017-08-03 What's in? - Option `--suggest` to list and choose similar tags when adding a bookmark - Ask for a unique tag when importing bookmarks - Ignore non-generic URLs when importing browser exported bookmarks ------------------------------------------------------------------------------- Buku v3.1 2017-06-30 What's in? - Handle negative indices (like tail) with option `-p` - Support browsing bookmarks from prompt (key `o`) - Add program search keywords to history - Support XDG_DATA_HOME and HOME as env vars on all platforms - Replace %USERPROFILE% with %APPDATA% as install location on Windows ------------------------------------------------------------------------------- Buku v3.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 v2.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 v2.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 v2.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 v1.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 v1.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 v1.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 v1.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 v1.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 AES-256 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). -------------------------------------------------------------------------------