search_hub

at 2ab9aa7 Raw

# Changelog

All notable changes to this project are documented here.

The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).

## [Unreleased]

## [0.4.0] - 2026-06-21

### Added
- `self-update` CLI command: checks abbaye Atom feed for new releases, downloads and replaces the binary
- `contrib/search-hub-self-update.{service,timer}` for weekly automated updates
- Wikipedia search engine (configurable `lang`, defaults to English)
- MDN Web Docs search engine (configurable `locale`, defaults to en-US)
- Generic HTML-scraped search engine (user-provided URL template + CSS selector)
- Container build (`Containerfile`, `.dockerignore`) and push to `oci.vit.am`
- `docker-compose.yaml` for one-command deployment
- `contrib/search-hub.container` (Podman Quadlet) for systemd-native container management
- SIGHUP reload: re-read config and swap engines without restart

### Changed
- Engine config switched from `HashMap` to `Vec<EngineConfig>` tagged enum
- Config option `enabled_engines` removed (the engine list itself defines what's active)
- `reqwest` switched from `native-tls` to `rustls-tls` (no system OpenSSL required)

### Changed (CLI)
- `release.sh` builds container image with `buildah` as part of release process


## [0.3.0] - 2026-06-19

### Added
- Unit and integration tests for search engines (24 unit + 4 integration)
- `tagging_enabled` config option (default: `false`) to opt into auto-tagging

### Changed
- Search results from multiple engines are now interleaved round-robin
- abbaye.toml: fix `$shema` -> `$schema` typo, add `clone_url` for git UI

### Documentation
- Update README to reflect opt-in auto-tagging


## [0.2.3] - 2026-06-19

### Added
- SearXNG integration (optional, configurable in `[engines.searxng]`)


## [0.2.2] - 2026-06-19

### Fixed
- Align abbaye version_index template with abbaye v0.8 API (dist_files -> dist_categories)
- Add abbaye build and rsync to release script

### Documentation
- Update README with SearXNG mention, binary downloads, and repository links

## [0.2.1] - 2026-06-19

### Added
- Abbaye release site theme matching the search_hub web UI aesthetic
  - Monospace, earthy palette, dark/light mode
  - Covers all 7 Jinja2 templates + markdown

## [0.2.0] - 2026-06-19

### Added
- Release automation script (`contrib/release.sh`) with version bump, test, build, tag
- Engine filter badges with client-side hide/show by engine
- Keyboard shortcuts: `/` focus search, `j`/`` next, `k`/`` prev, `o`/`Enter` open, `?` toggle help, `Esc` close
- Help overlay showing all shortcuts
- `accesskey="s"` on search input
- `init-config` CLI command to generate config file
- `-c`/`--config` flag for CLI
- Async main with tokio
- Engine config refactored to `[engines.*]` map
- Single-pass import with channel-based error reporting

### Changed
- Results split into side-by-side local/external columns in web UI
- Slogan: "search_hub // personal web index"

## [0.1.0] - 2026-06-17

### Added
- CLI importer for Firefox, Zen, Chrome, Chromium bookmarks
- Web UI with full-text search (FTS5 via SQLite)
- crates.io integration via public JSON API
- Auto-tagging via local ONNX embeddings (fastembed)
- Single-pass import: insert, fetch content, HTML->MD conversion, tagging
- Bookmark database in `~/.local/share/search_hub/bookmarks.db`
- OpenSearch protocol support for Firefox/Zen
- Systemd service and timer for automated Zen imports