mirror of
https://github.com/hoytech/strfry.git
synced 2025-06-16 08:18:51 +00:00
106 lines
6.0 KiB
Plaintext
106 lines
6.0 KiB
Plaintext
1.0.2
|
|
* New config param: relay.info.nips which allows you to override the NIPs
|
|
that are claimed to be supported (requested by ismyhc)
|
|
* New connectionTimeout parameter in router config (thanks Braydon Fuller!)
|
|
* Bugfix: IPv4-mapped IPv6 addresses in X-Real-IP headers were not parsed
|
|
correctly (reported by Petr Kracík)
|
|
|
|
1.0.1
|
|
* Prevent exporting a v2 DB using --fried. The packed representation will be
|
|
corrupted. Instead, you should downgrade to 0.9.7 to do the export, or do
|
|
it without fried.
|
|
* Fix build error on some platforms that don't include stdint.h in another
|
|
header. Reported by fiatjaf.
|
|
|
|
1.0.0
|
|
* Refactored database format to use a custom PackedEvent encoding, removed some
|
|
unnecessary indices. This reduces the size of the DB and should help improve
|
|
query performance in some cases.
|
|
* Because of the above, the DB version has been increased to 3, meaning events
|
|
will need to be exported and reimported into a new DB.
|
|
* Added a special `--fried` mode for import and export that greatly (10x or more)
|
|
speeds up the process.
|
|
* Removed prefix matching on ids and authors fields. This was removed from
|
|
NIP-01. Now, you must use exactly 32 byte (64 hex character) values.
|
|
* Upgraded negentropy to protocol version 1.
|
|
* Use the C++ negentropy implementation's BTree support to cache the results
|
|
of negentropy fingerprints over arbitrary nostr queries. By default the
|
|
query {} (the full DB) is tracked, but additional queries can be added
|
|
using the new `strfry negentropy` command.
|
|
* Advertises NIP-77 support (negentropy syncing). The negentropy version is now
|
|
also indicated in the NIP-11 relay information and the HTML landing page.
|
|
* Parsing-related error messages were greatly improved. Instead of just getting
|
|
"bad msg: std::get: wrong index for variant", in most situations you will
|
|
now get a more useful message such as "first element not a command like REQ"
|
|
* Refactored some critical areas like ActiveMonitors to use a precise 32-byte
|
|
type instead of std::string. This will reduce pointer chasing and memory
|
|
usage and, more importantly, improve CPU caching.
|
|
* The perl libraries needed at compile-time are now bundled in golpe, so they
|
|
do not need to be separately installed to build strfry.
|
|
* Bugfix: When querying for 2 or more tags where one of the tags was a prefix
|
|
of the other, matching events would not be returned. Reported by mrkvon.
|
|
* Updated and re-organised the README.md docs
|
|
|
|
0.9.7
|
|
* `--fried` support from 1.0.0 was back-ported, allowing export of DBs
|
|
in a fried format for efficient import by 1.0.0+ relays.
|
|
* Bugfix: The cron thread was incorrectly removing expireable events prior
|
|
to their expiry. Reported and fixed by KoalaSat.
|
|
* A `limitation` entry is now included in the NIP-11 output. This exposes
|
|
configured relay limits such as max message size. Added by Alex Gleason.
|
|
* Node info support added: The relay now replies to requests to /nodeinfo/2.1
|
|
and /.well-known/nodeinfo . Added by Alex Gleason.
|
|
* NIP-70 support: Events with a "_" tag are considered protected and relays
|
|
should only allow them to be posted by their author. Since strfry does
|
|
not yet support AUTH, these events are always rejected. Added by fiatjaf.
|
|
* NIP-11 icon support added by zappityzap.
|
|
* Preliminary FreeBSD support added by cosmicpsyop.
|
|
* Switch import to use WriterPipeline, allowing strfry import be used as a
|
|
general-purpose non-relay event ingester. To do so, users must ensure that
|
|
the stdout of their process they pipe into import is line buffered.
|
|
|
|
0.9.6
|
|
* Bugfix: Sometimes malformed or old-format negentropy messages would throw
|
|
uncaught exceptions which would cause the relay to crash. Now it properly
|
|
handles and reports this situation in both logs and to the other side
|
|
of the protocol.
|
|
* New config option: relay.negentropy.enabled. Default is true. Set this to
|
|
false if you wish to entirely stop the relay from handling negentropy messages.
|
|
|
|
0.9.5
|
|
* New feature: strfry router!
|
|
* INCOMPATIBLE change: The "lookbehind" feature of plugins was removed
|
|
* INCOMPATIBLE change to negentropy sync protocol! (again)
|
|
- The fingerprint function has now been changed to SHA-256, to protect the
|
|
integrity of the sync mechanism in the presence of adversarial event creators
|
|
- Going forward, the protocol now has mechanisms for backwards/forwards compatibility
|
|
* Bugfix: Prevent a crash when a non-indexOnly scan was paused and then one of the
|
|
buffered levIds was deleted or replaced before the scan resumed
|
|
* Plugins can now be specified as shell commands, so you can pass command-line switches
|
|
to them, set environment variables, use pipes/redirects, etc.
|
|
* Plugins now propagate the environment variables of the strfry process to the
|
|
plugin processes
|
|
* Now if you don't return a "msg" (or return an empty string), it will no longer
|
|
pollute your logs with "blocked event" messages
|
|
|
|
0.9.4
|
|
* INCOMPATIBLE change to negentropy sync protocol!
|
|
- Necessary because the protocol had an unfixable issue when syncing a very large DB
|
|
into a small DB while using frameSizeLimit (sorry!)
|
|
* If a client disconnects before its pending EVENT write messages have been processed,
|
|
drop those messages instead of trying to write them
|
|
* Bulk export commands now exit gracefully on a SIGPIPE
|
|
* Fixed a race condition when sync command exits
|
|
* Some optimisations in sync and export
|
|
* noReadAhead config option: can reduce IO usage on instances where DB size > memory
|
|
* Close the LMDB map file when execing plugins (works around LMDB bug)
|
|
|
|
0.9.3
|
|
* Limit on events that can be processed by a sync
|
|
- Configurable with relay.negentropy.maxSyncEvents
|
|
* Warn when NIP-11 pubkey is in incorrect format (#52)
|
|
* Bugfix: Setting rejectEphemeralEventsOlderThanSeconds larger than ephemeralEventsLifetimeSeconds did
|
|
not work because events were then considered expired
|
|
* Config parameter to silence "Rejected invalid event" logs: relay.logging.invalidEvents
|
|
* Detect overflows when rejectEvents* config params are set very large
|