Changelog
Features
- b844c9e feat(config): add user-agent for relay requests (#117)
- 3ccce6e feat(config): make blastr timeout configurable
- 85e5214 feat(policies): modularize relay policies for auth and access control
- 1b5aad8 feat(template): update favicon
- f6c5d5b feat(workflows): add lint workflow with golangci-lint
- c85d0fb feat: add support for multiple npubs
- 986c21b feat(backup): add
--from-cloudflag to restore backups from cloud - 83004f6 feat(backup): add
--to-cloudflag to upload backups to cloud storage - 5d44388 feat(backup): remove deprecated aws and gcp backup providers
- f0a6343 feat(backup): unify backup and restore commands with portable JSONL
- 5d5bd1f feat(export): add command to export relay data to compressed jsonl
- 9cef5ca feat(import): exit after import completes
- c89c437 feat(jsonl): add import and export commands for relay data
- b5e7058 feat(jsonl): ensure deterministic export ordering and deduplication
- 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
- b3eb02f feat: automatic WoT refresh
- 018282e feat: owner public key was added to configuration
- d336fd9 feat: passing context to main goroutines
- ef4bc0c feat: updating wot refresh interval from hours to duration
Bug fixes
- af14b61 fix(config): update relay icons in .env.example
- 1cbd030 fix(dependencies): bump golang.org/x/crypto to v0.45.0
- ee18018 fix(import): use FetchMany instead of FetchManyReplaceable
- ea334d5 fix(wot): prevent double-counting followers of followers
- c539d87 fix(#112): moving initialization of wot before its usage
Code Refactoring
- ddd2e31 refactor(import): remove embedded struct indirection in import.go
- b714e69 refactor(jsonl): replace getDBs and getDBByName with unified dbs map
- 2223acf refactor(main): extract help message into separate function
- e24ea48 refactor(wot): move wot into pkg directory
- 2b2cb8d refactor: extract cloud storage functionality to internal/cloud package
- 20d00cc refactor(wot): extract WoT functionality to its own package
- 4df9125 refactor: polishing rough edges
- 9b38a01 refactor: removing direct use of config from periodicRefreshWot
- b8b65e4 refactor: replacing integer slice with set for allowedKinds
- 7ed8445 refactor: simplifying batching for wot map
Performance Improvements
- e16fd13 perf(main): delay WoT computation until necessary
- 82a9945 perf(wot): reduce memory usage in Refresh by using atomic counters
- 66f5495 perf: defer expensive relay initialization for CLI commands
Others
- 5f13d53 docs: review documentation for v1.2.0 release
- 95fb1e7 docs: small improvements to formatting
- 5c64553 feat(access-control): enforce auth requirement for REQ chat relay
- 5bf446b chore(workflows): update actions versions in release workflow
- 403534d chore(wot): merge log messages for pruning pubkeys
- d6f8cbf ci(workflows): add write perms for statuses in PR validation workflow
- 9c2acf3 ci(workflows): fix syntax error in PR conventional commit validation
- f62e0fd ci(workflows): update permissions for PR validation workflow
- dc81301 ci(workflows): write permissions in PR validation workflow
- 2edef83 ci: add PR conventional commit validation workflow
- 4cb371b docs(backup): enhance backup and restore documentation
- 55bc70b docs(readme): add Go project version badge and update Go version badge
- c621ddd docs(readme): add badges for Go version, license, CI, and Go report card
- adc5b9e docs(readme): add links to Go version and license badges
- b023435 docs(readme): fix GitHub release badge link
- 9cc39e3 docs(readme): update badges for Go version and release
- 8277a70 docs(wot): enhance WoT configuration and level descriptions
- 94a4865 docs(wot): improve WoT Documentation + mermaid diagram
- 8ad7c80 docs(wot): improvements to mermaid diagram
- c52d650 docs(wot): remove AI correctio message
- ee9782f docs: update formatting and reword notes in backup and wot documentation
- c79871d revert(workflows): remove PR conventional commit validation workflow
- 3cd9c49 docs(verify): improve and fix formatting in GPG guide
- 6563150 Add Apache as an option for serving in README
- fe85bca Add Apache reverse proxy config to README
- 3bce82a Added Apache proxy information to README.md
- 65838b5 Change MemoryLimit to MemoryMax in README
- 1660149 Correct Apache configuration code block formatting
- b0f722c Improve formatting of Certbot command in README
- aedfcb1 Update README for nginx configuration instructions
- c41867a Update README.md
- 45bdcb3 build(dependencies): bump khatru to v0.19.0
- 9761e45 build(dependencies): bump various dependencies to latest versions
- 6db9e4b build(dependencies): bump xsync to v4.4.0
- 43aa631 chore(config): clean up docker lefovers from env.example
- 0be714c chore(pgp): extend haven subkey expiration to 2028-02-24
- 8d7f66e chore(wot): replace log with slog
- 9ae2f4c chore(wot): update WoT refresh interval from 1h to 24h
- d5682e1 docs(jsonl): add dedicated JSONL export/import documentation
- eef8b18 docs(wot): add dedicated Web of Trust documentation
- 3bcecdc docs: document autostart Haven on macOS