Skip to content

Releases: barrydeen/haven

v1.2.2

28 Feb 13:14
v1.2.2
45d835f

Choose a tag to compare

Changelog

Others

  • 45d835f chore(config): remove deleted npub from whitelisted_npubs.example.json
  • c1dfeba chore: update repository references from bitvora to barrydeen (#123)

v1.2.1

28 Feb 12:22
v1.2.1
1f81770

Choose a tag to compare

Changelog

Bug fixes

  • 1f81770 fix(config): quote WOT_REFRESH_INTERVAL value in .env.example (#122)

Others

  • f7aeb91 docs(README): add feature complete note
  • f064850 docs(README): fix broken link syntax in feature complete note

v1.2.0

21 Feb 01:31
v1.2.0
95fb1e7

Choose a tag to compare

Changelog

Changelog

This release introduces a ton of new features long requested by Haven users.

Highlights

  • Multi-pubkey Support: Haven now supports multiple npubs (whitelisting).
  • Blacklisting: Added support for blacklisting specific public keys.
  • JSONL Backup and Restore: The backup system has been rewritten using a portable JSONL format. This includes support for manual commands (haven backup), specific relay exports, and periodic backups to the cloud. A brand new haven restore command has been introduced to import notes in JSONL format, compatible with Haven backups, as well as JSONL files generated by other relays and other Nostr tools.
  • WoT Depth and Refresh: The Web of Trust functionality now has a working configurable depth level, and a new periodic WoT refresh mechanism.

Features

  • e91b368 feat(access-control): add blacklist support
  • 5c64553 feat(access-control): enforce auth requirement for REQ chat relay
  • 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
  • b844c9e feat(config): add user-agent for relay requests (#117)
  • 3ccce6e feat(config): make blastr timeout configurable
  • 5d5bd1f feat(export): add command to export relay data to compressed jsonl
  • 501c6b6 feat(goreleaser): enable automatic prerelease configuration
  • 9cef5ca feat(import): exit after import completes
  • 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
  • 3e481dc feat(logging): add logging for blacklisted pubkeys count
  • 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
  • d78a610 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
  • c85d0fb feat: add support for multiple npubs
  • 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

  • ceae909 fix(config): correct empty array in blacklisted_npubs.example.json
  • f898afd fix(config): reintroduce WhitelistedPubKeys
  • 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
  • ee18018 fix(import): use FetchMany instead of FetchManyReplaceable
  • c539d87 fix(wot): moving initialization of wot before its usage (#112)
  • ea334d5 fix(wot): prevent double-counting followers of followers

Code Refactoring

  • 4e6747f refactor(config): remove unused import query interval configuration
  • 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
  • 20d00cc refactor(wot): extract WoT functionality to its own package
  • e24ea48 refactor(wot): move wot into pkg directory
  • 2b2cb8d refactor: extract cloud storage functionality to internal/cloud 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

  • 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
  • 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
  • aae1890 build(goreleaser): features should come first
  • 65838b5 Change MemoryLimit to MemoryMax in README
  • 1c28aa4 chore(config): clarify optional whitelisting and blacklisting file paths
  • 43aa631 chore(config): clean up docker lefovers from env.example
  • 6757852 chore(config): update default timeout for owner notes fetch to 60s
  • 0be714c chore(pgp): extend haven subkey expiration to 2028-02-24
  • 5bf446b chore(workflows): update actions versions in release workflow
  • 403534d chore(wot): merge log messages for pruning pubkeys
  • 8d7f66e chore(wot): replace log with slog
  • 9ae2f4c chore(wot): update WoT refresh interval from 1h to 24h
  • 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
  • 1660149 Correct Apache configuration code block formatting
  • 4cb371b docs(backup): enhance backup and restore documentation
  • d5682e1 docs(jsonl): add dedicated JSONL export/import documentation
  • c621ddd docs(readme): add badges for Go version, license, CI, and Go report card
  • 55bc70b docs(readme): add Go project version badge and update Go version badge
  • 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
  • 3cd9c49 docs(verify): improve and fix formatting in GPG guide
  • eef8b18 docs(wot): add dedicated Web of Trust documentation
  • 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
  • fed34bd docs: add documentation for whitelisting and blacklisting
  • 3bcecdc docs: document autostart Haven on macOS
  • 5f13d53 docs: review documentation for v1.2.0 release
  • 95fb1e7 docs: small improvements to formatting
  • ee9782f docs: update formatting and reword notes in backup and wot documentation
  • b0f722c Improve formatting of Certbot command in RE...
Read more

v1.1.0

18 Aug 21:11
v1.1.0
cb9daef

Choose a tag to compare

Changelog

Features

  • 851c1fe feat(blossom)!: create dedicated database for blossom metadata
  • fc05678 feat(blossom): add migration script for Blossom metadata
  • 07cd704 feat: add version retrieval and log startup message with version

Code Refactoring

  • 671e12a refactor(blossom): pass BlossomServer instance to metadata migration

Others

  • cb94003 build(dependencies): bump khatru to v0.0.0-20250807015656-5425e6f793a0
  • 26dd313 build(dependencies): bump khatru version to v.0.18.2
  • 6c1b9e0 build(dependencies): replace khatru with custom forked version
  • ecccd74 build(deps): bump khatru version to v0.17.7
  • 2891dd9 build(docker): update .dockerignore to include the docs directory
  • 77de155 build: include docs directory in release assets
  • cb9daef chore(release): prepare Haven v1.1.0
  • 96e1d31 chore: remove docker stuff from main repository 9813579
  • 2e69771 ci(goreleaser): exclude merge commits from changelog
  • 416b9d1 ci(goreleaser): fix missing index.html file in templates
  • 4848569 ci(goreleaser): group changelog entries by commit type
  • 87698f8 ci(goreleaser): removegpg2 command from signing configuration
  • 212a1b0 ci(goreleaser): replace GPG_FINGERPRINT env variable with static key
  • 1268ff2 ci(goreleaser): update GoReleaser configuration to v2
  • 8df1f92 ci(goreleaser): update changelog exclusion filters
  • b70ede4 ci(release): add GPG signing for artifacts
  • c377df4 ci(release): migrate to goreleaser with zig-based cross-compilation
  • 8ea4b3a ci(release): pin goreleaser action version to v2
  • 038bdc5 ci(release): simplify workflow and remove zig-based SDK configuration
  • d75e125 ci(release): use sign subkey fingerprint for signing the checksum
  • 0f8466e ci(workflows): update release workflow name
  • 3f8f6a4 ci: add GitHub Actions workflow for releasing Go binaries
  • 223c8eb ci: add binary name configuration to release workflow
  • d7fb831 ci: exclude arm64 Windows builds from release workflow
  • 5951fa9 ci: remove arm64 architecture from Windows build in release workflow
  • 091b60f ci: update release workflow to overwrite existing files
  • 98b7750 docs(build): extract build instructions to documentation simplify README
  • 7a57ce1 docs(build): improve Go installation instructions
  • fec5152 docs(migration): update database migration instructions for older versions
  • 4b6a69d docs(readme): add installation instructions for binaries
  • 4e489ae docs(readme): fix broken import link to the import section
  • 0579e0e docs(verify): expand verification and GPG trust instructions
  • 2c365d7 docs: Use PGP instead of GPG in verify.md
  • cfb4f16 docs: add instructions for verifying Haven binaries
  • 684cbdf feature(config): trim example relay lists

⚠️ Breaking changes

If you’re upgrading from v1.0.5 or earlier, you may hit a BadgerDB migration issue. Please back up your database before upgrading. If you see something like this during startup

error running migrations: failed to delete index key 07935dc9483d36f24464b36e6c000001b9: Txn is too big to fit into one request

delete the db folder and reimport your notes.

v1.0.6

24 Jul 23:02
de0a1ae

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.5...v1.0.6

v1.0.5

09 Feb 02:22
a7912c4

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.4...v1.0.5

v1.0.4

28 Jan 21:34
05128ee

Choose a tag to compare

What's Changed

Full Changelog: v1.0.3...v1.0.4

v1.0.3

23 Dec 13:49
d70cd31

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.0...v1.0.3

v1.0.0

29 Oct 23:08
e6c9b28

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.1...v1.0.0

v0.4.1

09 Oct 15:50
9a5f795

Choose a tag to compare

What's Changed

  • remove docker, fix eventstore, fix inbox import, relays by json by @barrydeen in #33

Full Changelog: v0.2.3...v0.4.1