Skip to content

Releases: blob42/gosuki

v1.3.0: ArchiveBox Integration, Enhanced Search & Import Options

17 Oct 10:18
a43c2d2

Choose a tag to compare

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 archivebox marktab action
  • Add a bookmark tagged with, or stored within a folder named @archivebox
  • The marktab rule is triggered
  • The archivebox-docker-ssh script 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 search command for comprehensive bookmark searching
  • Advanced tag filtering capabilities:
    • suki fuzzy|search [term...] :tag1,tag2 - Filter by multiple tags with logical AND
    • suki 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 search command
  • sudki fuzzy|search [term...] :tag1,tag2 to filter by tags with logical AND
  • sudki fuzzy|search [term ...] :OR tag1,tag2 to filter by tags with logical OR
  • updated queries and api to filter by query and many tags
  • Add unix manpages for gosuki and suki commands

Fixed

  • import: fix pocket import from csv format
  • html-autoimport: parse hash tags from title
  • Display browser flavor in bookmark's module field

New Contributors

Full Changelog: v1.2.1...v1.3.0

Release v1.2.1

09 Aug 18:49
e1b7712

Choose a tag to compare

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

08 Aug 01:04
b6622db

Choose a tag to compare

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-path is now named database.path and 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: --db flag 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 list and gosuki modules list commands
  • upgraded to schema v3: introduced the version and node_id on the gskbookmarks table 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

29 Jul 17:49
9707c3d

Choose a tag to compare

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

29 Jul 09:59
0a2e1e3

Choose a tag to compare

Added

  • github module: periodic import of starred repos
  • import bookmarks from Pocket csv export with buku import pocket
  • cli: --slient and -S to 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 xhsum column for efficient synchronization and conflict resolution
  • Two-level database cache (L1/L2) for improved performance and consistent data state
  • CLI command buku import for importing a buku DB to gosuki
  • Schema versioning tracking in schema_version table
  • bookmarks view with INSTEAD OF triggers for Buku compatibility
  • Example bookmark launcher with rofi contrib/rofi.sh

Changed

  • gosuki buku import becomes gosuki import buku
  • Refactored cli to use urfave cli v3
  • BREAKING: Database schema modified to allow future upgrades
  • Schema migration: gskbookmarks table replaces bookmarks (legacy bookmarks remains 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

12 Jul 17:01
9178e57

Choose a tag to compare

Release v1.0.0-rc1

07 Jul 17:04
51f9f3a

Choose a tag to compare