Releases: blob42/gosuki
v1.3.0: ArchiveBox Integration, Enhanced Search & Import Options
This version brings many fixes and improvements to Gosuki. The most important addition is the ability to archive bookmarks using ArchiveBox.
ArchiveBox Integration
This is a temporary third-party solution for archiving until native archiving features are available in Gosuki. It relies on ArchiveBox, a popular self-hosted web archival solution.
The integration between Gosuki and ArchiveBox uses the Marktab feature:
- Enable the
archiveboxmarktab action - Add a bookmark tagged with, or stored within a folder named
@archivebox - The marktab rule is triggered
- The
archivebox-docker-sshscript is executed - The script connects to your ArchiveBox instance locally or remotely (via Docker or SSH)
- The URL is added to ArchiveBox with the appropriate tags
Improved suki cli search
The suki CLI search functionality has been significantly enhanced with the following features:
- New
suki searchcommand for comprehensive bookmark searching - Advanced tag filtering capabilities:
suki fuzzy|search [term...] :tag1,tag2- Filter by multiple tags with logical ANDsuki fuzzy|search [term ...] :OR tag1,tag2- Filter by multiple tags with logical OR
- Updated queries and API support for filtering by query terms and multiple tags simultaneously
- Fuzzy search functionality for more flexible keyword matching
- Enhanced search results display with improved tag-based filtering options
These improvements provide users with powerful new ways to discover and filter their bookmarks through the cli and API.
What's Changed
Added
- ArchiveBox integration using @ArchiveBox tag or folder
- internal: call bookmark hooks from anywhere using bit flags
- new export formats: pocket-html, json(pinboard/wallabag), generic XML-RSS
suki searchcommandsudki fuzzy|search [term...] :tag1,tag2to filter by tags with logical ANDsudki fuzzy|search [term ...] :OR tag1,tag2to filter by tags with logical OR- updated queries and api to filter by query and many tags
- Add unix manpages for
gosukiandsukicommands
Fixed
- import: fix pocket import from csv format
- html-autoimport: parse hash tags from title
- Display browser flavor in bookmark's
modulefield
New Contributors
- @mariusrugan made their first contribution in #16
Full Changelog: v1.2.1...v1.3.0
Release v1.2.1
What's Changed
Added
Fixed
- broken default db path on startup
New Contributors
Full Changelog: v1.2.0...v1.2.1
Release v1.2.0
Project Updates
This is a massive release that introduces multi-device synchronization capability using two methods:
P2P Auto Sync (gosuki+)
- Real-time peer-to-peer sync across any number of devices without third-party tools
- Synchronizes and merges all bookmark metadata data, including tags, across all devices
- Possibility to run gosuki as a self-hosted container node for a centralized access to all your bookmarks
- Exclusive to Gosuki+ owners and Patreon Gosuki+ tier supporters
- For mobile, you can use the syncthing workaround described below.
Using Syncthing (free alternative)
- Uses the existing HTML export / auto-import feature
- Only synchronizes URL, Title, and Description (tags not synchronized)
- Relies on Syncthing for file-based synchronization
- Requires manual setup but works on all devices including mobile
Breaking Changes
config.toml
database.db-pathis now nameddatabase.pathand should point to the database file[global]section is now at the root of the config file
Update your config.toml from the old to the new format.
config.toml (old format)
[global]
watch-all = true
[database]
db-path = "~/.local/share/gosuki"config.toml (new format)
watch-all = true
[database]
path = "~/.local/share/gosuki/gosuki.db"Added
- tui: improved tui ux: toggle logs, expand/collapse details, total db bookmarks
- cli: export to netscape html format
- cli:
--dbflag parameter to set a custom path for gosuki database - browsers: ability to set a custom profile path for firefox/chrome based browsers
- message/goroutine based inter-module communication
Changed
- config: global config options moved to root of toml file
- cli: improved
gosuki profile listandgosuki modules listcommands - upgraded to schema v3: introduced the
versionandnode_idon thegskbookmarkstable that is used by multi-device synchronization - refactored logging to allow setting levels per subsystem
- added Trace level for very noisy log
Fixed
- cli: many fixes to cli flag behavior
- enable generated imports modules in /mods package (enables mods for installs from source)
- Log browser profile path errors as warnings
- Reduce log verbosity on default level
Full Changelog: v1.1.1...v1.2.0
Release v1.1.1
Minor fix release to reduce the log verbosity and show errors related to browser profile paths as warnings (see #8)
Full Changelog: v1.1.0...v1.1.1
Release v1.1.0
Added
- github module: periodic import of starred repos
- import bookmarks from Pocket csv export with
buku import pocket - cli:
--slientand-Sto fully disable any log - Added support for brave browser (linux, snap, flatpak)
- Flatpak support for: google-chrome, chromium, firefox, librewolf
- Database schema upgrade to v2 with
xhsumcolumn for efficient synchronization and conflict resolution - Two-level database cache (L1/L2) for improved performance and consistent data state
- CLI command
buku importfor importing a buku DB to gosuki - Schema versioning tracking in
schema_versiontable bookmarksview with INSTEAD OF triggers for Buku compatibility- Example bookmark launcher with rofi
contrib/rofi.sh
Changed
gosuki buku importbecomesgosuki import buku- Refactored cli to use urfave cli v3
- BREAKING: Database schema modified to allow future upgrades
- Schema migration:
gskbookmarkstable replacesbookmarks(legacybookmarksremains as a view) - Hide helper script from public doc
Fixed
- UpsertBookmark: does not unset the title if the new value is empty
- Description field not being updated in some cases
- CLI: use custom path to config file
- CLI: fix watch-all flag
- TUI: disable tui code in daemon mode
Changes to DB Schema
Previously there was only a bookmarks table which contained a
few extra column compared to Buku. This table is renamed to
gskbookmarks which will be the native gosuki table schema.
Instead we provide a bookmarks view into gskbookmarks with INSERT and UPDATE trigger (INSTEAD OF) that allow Buku programs to use Gosuki DB as a buku database while still benifiting from gosuki specific features that will eventually be added to the schema.
Added also schema versioning that will be tracked in the table creatively named schema_version.
Full Changelog: v1.0.0...v1.1.0
Release v1.0.0
Full Changelog: v1.0.0-rc1...v1.0.0