@bumail/queue 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/roadmap.md +6 -18
- package/package.json +3 -3
package/docs/roadmap.md
CHANGED
|
@@ -6,24 +6,10 @@ only number on it.
|
|
|
6
6
|
|
|
7
7
|
## Now
|
|
8
8
|
|
|
9
|
-
Nothing in progress
|
|
10
|
-
one taken. The Redis store shipped in 0.3.0 (see Shipped).
|
|
9
|
+
Nothing in progress. The Redis store shipped in 0.3.0 (see Shipped).
|
|
11
10
|
|
|
12
11
|
## Next
|
|
13
12
|
|
|
14
|
-
More answers to the `QueueStore` contract, built for several instances of
|
|
15
|
-
a server sharing one queue — each claim atomic across them, each lease
|
|
16
|
-
taken back from an instance that crashed — and each held to the same
|
|
17
|
-
contract specs as the memory, `bun:sqlite`, PostgreSQL and Redis
|
|
18
|
-
stores. None adds a dependency.
|
|
19
|
-
|
|
20
|
-
- **A MongoDB store** — the contract answered structurally, against a
|
|
21
|
-
collection of the shape a MongoDB driver gives, so the package peers on
|
|
22
|
-
no driver: the application passes in its own collection; the claim a
|
|
23
|
-
`findOneAndUpdate`.
|
|
24
|
-
|
|
25
|
-
Then:
|
|
26
|
-
|
|
27
13
|
- **MTA-STS (RFC 8461) and TLS-RPT (RFC 8460)** — a recipient domain's
|
|
28
14
|
policy fetched, cached and enforced, `mxTls: 'required'` with the
|
|
29
15
|
certificate checked against the policy's MX names, and the reports.
|
|
@@ -53,8 +39,10 @@ Then:
|
|
|
53
39
|
|
|
54
40
|
- **A runtime dependency.** The memory store needs none, the `bun:sqlite`
|
|
55
41
|
store uses Bun's own SQLite, the PostgreSQL store Bun's own `Bun.sql`,
|
|
56
|
-
the Redis store Bun's own `Bun.redis
|
|
57
|
-
|
|
42
|
+
and the Redis store Bun's own `Bun.redis`.
|
|
43
|
+
- **A MongoDB store.** Several instances share one queue through
|
|
44
|
+
PostgreSQL, the database the mail store already needs for them, or
|
|
45
|
+
through Redis; a MongoDB store would add nothing a deployment lacks.
|
|
58
46
|
- **Relaying on its own.** The queue sends what the app enqueues; who may
|
|
59
47
|
send is decided before, by the SMTP server's AUTH or the app. No option
|
|
60
48
|
will make the queue accept mail from the network.
|
|
@@ -63,7 +51,7 @@ Then:
|
|
|
63
51
|
|
|
64
52
|
## Shipped
|
|
65
53
|
|
|
66
|
-
###
|
|
54
|
+
### 0.4.0
|
|
67
55
|
|
|
68
56
|
- **The PostgreSQL store's writes run at `READ COMMITTED`** — whatever
|
|
69
57
|
the client's sessions default to, so a client shared with code that
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bumail/queue",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "The outbound mail queue of a mail server: every recipient's state, retries with back-off, delivery status notifications (RFC 3464), leases for several workers, and a memory, a bun:sqlite, a PostgreSQL (Bun.sql) and a Redis (Bun.redis) store, delivering through @bumail/smtp/client",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -67,12 +67,12 @@
|
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"@bumail/dns": "^0.1.1",
|
|
69
69
|
"@bumail/mime": "^0.1.2",
|
|
70
|
-
"@bumail/smtp": "^0.
|
|
70
|
+
"@bumail/smtp": "^0.4.0",
|
|
71
71
|
"@types/bun": "^1.4.2"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
74
|
"@bumail/mime": "^0.1.2",
|
|
75
|
-
"@bumail/smtp": "^0.
|
|
75
|
+
"@bumail/smtp": "^0.4.0",
|
|
76
76
|
"typescript": "^6.0.3 || ^7.0.0"
|
|
77
77
|
},
|
|
78
78
|
"peerDependenciesMeta": {
|