Repository navigation
Releases: deymosh/sanctum
Releases · deymosh/sanctum
Release list
v0.1.0
Changelog
Features
- 3c7410c feat(admin): relay management console, notes browser and dashboard
- 986c21b feat(backup): add
--from-cloudflag to restore backups from cloud - 83004f6 feat(backup): add
--to-cloudflag to upload backups to cloud storage - f2bc32f feat(backup): deprecate GCP and AWS upload functions
- 5d44388 feat(backup): remove deprecated aws and gcp backup providers
- f0a6343 feat(backup): unify backup and restore commands with portable JSONL
- 851c1fe feat(blossom)!: create dedicated database for blossom metadata
- fc05678 feat(blossom): add migration script for Blossom metadata
- f6a11f1 feat(brand): rebrand the web UI
- 41c0035 feat(brand): sanctum icon set
- 82ecd2d feat(brand): vault-door logo
- 2f8e6fa feat(config): add timeout settings for importing notes and WOT fetching
- b844c9e feat(config): add user-agent for relay requests (barrydeen#117)
- 600491d feat(config): check file existence before reading relay list from file
- 3ccce6e feat(config): make blastr timeout configurable
- fa6fd10 feat(config): reduce fetch timeout defaults
- de0a1ae feat(config): trim example relay lists
- b511d54 feat(config): update relay list parsing
- 9ca7b57 feat(config): update relay list parsing
- bdeb2c7 feat(deletions): let the relay owner delete any event
- a9855e1 feat(docker): keep all relay data under ./data
- 088907d feat(docker): rebuild the deployment around the sanctum images
- 5d5bd1f feat(export): add command to export relay data to compressed jsonl
- 501c6b6 feat(goreleaser): enable automatic prerelease configuration
- 8d37542 feat(import): add relay connectivity checks during initialization
- 9cef5ca feat(import): exit after import completes
- 33ac005 feat(import): import gift-wrapped messages to chat relay
- 53000db feat(import): skip events from blacklisted public keys
- c89c437 feat(jsonl): add import and export commands for relay data
- b5e7058 feat(jsonl): ensure deterministic export ordering and deduplication
- bc8c76e feat(lmdb): delegate replace events to eventstore
- 5955118 feat(lmdb): make LMDB map size configurable
- 62da13e feat(logging): add configurable log level to environment and config
- 3e481dc feat(logging): add logging for blacklisted pubkeys count
- 85e5214 feat(policies): modularize relay policies for auth and access control
- 7e9120c feat(pool): add penalty box support to SimplePool initialization
- 1b5aad8 feat(template): update favicon
- f6c5d5b feat(workflows): add lint workflow with golangci-lint
- d78a610 feat(wot): add configurable WoT depth levels
- 75f9459 feat(wot): add configurable WoT depth levels
- 084e248 feat(wot): deduplicate Nostr events by Kind and PubKey
- 8ff9467 feat(wot): improve pruning logs to display eliminated pubkeys
- b73e169 feat(wot): lockless WoT refresh
- ffa80d1 feat(wot): log top pubkeys by follower count in debug mode
- 11401b7 feat: Add Docker support and update README
- 868e95c feat: Add Haven's public PGP key
- 7d0af1e feat: Add support for custom relay files
- 06d2c70 feat: add Tor proxy support for relay connections
- 8def459 feat: add example JSON files for relay imports
- 5b6fc4e feat: add management API to relays
- b97638b feat: add owner authorization guard, aggregate stats across all relays, and support icon updates
- c85d0fb feat: add support for multiple npubs
- c19cebe feat: add support for relay list from json file
- 07cd704 feat: add version retrieval and log startup message with version
- 1a4b0b8 feat: added 404 image for blossom files not found
- b3eb02f feat: automatic WoT refresh
- 47cd277 feat: explicitly reject not latest replaceable/addressable events
- 018282e feat: owner public key was added to configuration
- d336fd9 feat: passing context to main goroutines
- 353702b feat: setup tor docker-compose and import env flag
- 8f896f9 feat: update .gitignore and README files
- ef4bc0c feat: updating wot refresh interval from hours to duration
Bug fixes
- 46dc489 fix(backup): use sourceDir instead of hardcoded "db" in filepath.Walk
- 1827976 fix(backup):remove deprecated backup options from .env.example
- 7649d50 fix(blossom): Add CORS headers to root URL
- 17cc2ff fix(blossom): use io.ReadSeeker to load blobs
- f71afbb fix(brand): align the banner's T
- 428c217 fix(brand): regenerate the banner from the exact font glyphs
- 18a2947 fix(chat): update allowed chat kinds to match NIP-29
- ceae909 fix(config): correct empty array in blacklisted_npubs.example.json
- 8d26f9e fix(config): fail gracefully on malformed startup config (barrydeen#129)
- 1f81770 fix(config): quote WOT_REFRESH_INTERVAL value in .env.example (barrydeen#122)
- f898afd fix(config): reintroduce WhitelistedPubKeys
- 3e1c233 fix(config): rename import timeout variables
- b6ed5ee fix(config): survive missing or malformed relay and npub files
- 4923e83 fix(config): update backup interval default 24 value in .env.example
- af14b61 fix(config): update relay icons in .env.example
- 1cbd030 fix(dependencies): bump golang.org/x/crypto to v0.45.0
- 0fcf645 fix(docker): align the tor sidecar with its image docs and open the relay on loopback
- 087836d fix(docker): healthcheck the relay where a plain GET lands
- d75a783 fix(docker): make the tor bind mount work and pin the compose project name
- 165e960 fix(docker): remove readonly flags from mapped json files
- cbeba0e fix(import): add duplicate event check and improve logging during import
- ee18018 fix(import): use FetchMany instead of FetchManyReplaceable
- 10bd00c fix(proxy): dial the SOCKS5 proxy with DialContext
- e9002b6 fix(templates): fix templates routing
- 028ebe8 fix(templates): serve static files
- a9efd3e fix(templates): update favicon path to serve from static directory
- ea334d5 fix(wot): prevent double-counting followers of followers
- 1e03d39 fix: fix timeouts on import and wot
- 721fe40 fix: handle unchecked errors flagged by linter
- 50f2bf9 fix: remove root user from tor and fix gitignore for mapped volumes
- d0be8d2 fix: update private url
Code Refactoring
- 30dbf20 refactor!: rename the project from haven to sanctum
- 671e12a refactor(blossom): pass BlossomServer instance to metadata migration
- 4e6747f refactor(config): remove unused import query interval configuration
- 6bc9e77 refactor(go): migrate to fiatjaf nostr and align relay proxy/pool behavior
- e668f8b refactor(import): reduce request frequency by adding sleep in import loop
- ddd2e31 refactor(import): remove embedded struct indirection in import.go
- 50851fc refactor(import): remove git-wrapped import logging
- 3e3f08c refactor(import): remove sleep in import loop
- 869d367 refactor(init): simplify tag checking for inbox relay owne...