Skip to content

Commit 815ae1c

Browse files
chore: release nostream@3.10.2
1 parent 38b29cf commit 815ae1c

3 files changed

Lines changed: 9 additions & 8 deletions

File tree

‎.changeset/admin-moderation-greptile-941.md‎

Lines changed: 0 additions & 7 deletions
This file was deleted.

‎CHANGELOG.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# nostream
22

3+
## 3.10.2
4+
5+
### Patch Changes
6+
7+
- [#986](https://github.com/cameri/nostream/pull/986) [`3696f3e`](https://github.com/cameri/nostream/commit/3696f3e418063418e027cd2a5756dfe19fe8ad58) Thanks [@Ferryx349](https://github.com/Ferryx349)! - fix(admin): Greptile follow-ups for moderation limits and activity stats
8+
9+
Moderation limit PATCH and ban/unban actions could interleave read–update–save across workers and drop updates. Those paths now run under an async settings write lock that yields while waiting and reclaims stale locks without deleting a fresh holder’s file. Activity stats windows filter on `first_seen` (when the relay first saw the event), not `event_created_at`, with partial indexes on live rows for those queries. IPv6 addresses on the rate-limit bypass list are normalized the same way as connection IPs so bypass rules cannot be skipped by formatting, including when removing entries stored in another spelling. PATCH rejects kind ranges with `start` greater than `end`. PATCH and moderation actions return the normalized limits read back from settings after save.
10+
311
## 3.10.1
412

513
### Patch Changes

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nostream",
3-
"version": "3.10.1",
3+
"version": "3.10.2",
44
"packageManager": "pnpm@10.33.0",
55
"private": true,
66
"description": "A Nostr relay written in Typescript.",

0 commit comments

Comments
 (0)