github bitvora/haven v1.2.0

7 hours ago

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-cloud flag to restore backups from cloud
  • 83004f6 feat(backup): add --to-cloud flag 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

Don't miss a new haven release

NewReleases is sending notifications on new releases.