@push.rocks/smartmta 11.0.1 → 11.1.0

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/changelog.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-10-14 - 11.1.0
4
+
5
+ ### Features
6
+
7
+ - Run inside Node.js single executable applications: `@push.rocks/smartrust` moves from `^1.3.2` to `^2.6.0`, so inside a SEA `RustSecurityBridge` runs the sidecar embedded under `mailer-bin` (`@git.zone/tssea`) and searches no local path; outside a SEA the bundled `dist_rust` binaries are found as before. The public API is unchanged.
8
+
9
+ ### Fixes
10
+
11
+ - `engines.node` is `>=22.12.0`, the floor the dependencies need: `@push.rocks/smartsea` (through smartrust 2.6) requires Node.js 22.3 and `yargs-parser` 22 (through `@push.rocks/smartlog`) 22.12 on the 22 line. It said `>=22`.
12
+
13
+ ### Maintenance
14
+
15
+ - release tooling: pnpm 12.10.1, @git.zone/tstest 8.0.0, @git.zone/tsrust 4.5.1
16
+
17
+ ## 2026-10-13 - 11.0.2
18
+
19
+ ### Maintenance
20
+
21
+ - Use jemalloc with background purging for the Rust mail engine and refresh its native dependency notices.
22
+ - Build the release binaries with fat link-time optimisation and one codegen unit, the @git.zone/tsrust 4.5.0 release default, which shrinks the amd64 engine from 19.9 MB to 11.2 MB.
23
+ - release tooling: @git.zone/cli 8.11.0, @git.zone/tsrust 4.5.0, @git.zone/tstest 7.2.1, pnpm 12.10.0
24
+
3
25
  ## 2026-10-12 - 11.0.1
4
26
 
5
27
  ### Maintenance
Binary file
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "a7c4410e43d8cd0bccfd3118612db5eb4f2b10221905da66c8e2ff2aa83990ca",
3
+ "binarySha256": "d698d8d0af565269b930e9af77e6046ca80d5c159e5aca55d2e2aa0c73a96f14",
4
4
  "buildInfo": {
5
5
  "projectName": "@push.rocks/smartmta",
6
- "projectVersion": "11.0.1",
7
- "gitCommit": "085a1c1c501615986e8a20ef9ed80c79b1f480d5",
6
+ "projectVersion": "11.1.0",
7
+ "gitCommit": "f9dc39d8b543051ed3afae5b3708f1583b8c6630",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-10-12T20:00:11.555Z",
10
- "tsrustVersion": "4.1.0",
9
+ "builtAt": "2026-10-14T22:19:16.659Z",
10
+ "tsrustVersion": "4.5.1",
11
11
  "binary": "mailer-bin",
12
12
  "target": "linux_amd64"
13
13
  }
Binary file
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "b6282dbf60c747c4cb0b4499df2659366b2bce54a4e9691133add0abb7eb774a",
3
+ "binarySha256": "2e5502aaff345b35f16840f14c28e7b50c13b45f7015025021913006d6774f1c",
4
4
  "buildInfo": {
5
5
  "projectName": "@push.rocks/smartmta",
6
- "projectVersion": "11.0.1",
7
- "gitCommit": "085a1c1c501615986e8a20ef9ed80c79b1f480d5",
6
+ "projectVersion": "11.1.0",
7
+ "gitCommit": "f9dc39d8b543051ed3afae5b3708f1583b8c6630",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-10-12T20:01:09.345Z",
10
- "tsrustVersion": "4.1.0",
9
+ "builtAt": "2026-10-14T22:21:40.086Z",
10
+ "tsrustVersion": "4.5.1",
11
11
  "binary": "mailer-bin",
12
12
  "target": "linux_arm64"
13
13
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartmta',
6
- version: '11.0.1',
6
+ version: '11.1.0',
7
7
  description: 'A high-performance, enterprise-grade Mail Transfer Agent (MTA) built from scratch in TypeScript with Rust acceleration.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHlIQUF5SDtDQUN2SSxDQUFBIn0=
@@ -1640,6 +1640,8 @@ DEALINGS IN THE SOFTWARE.
1640
1640
  <li>jobserver 0.1.35</li>
1641
1641
  <li>pkg-config 0.3.33</li>
1642
1642
  <li>socket2 0.6.5</li>
1643
+ <li>tikv-jemalloc-sys 0.7.1+5.3.1-0-g81034ce1f1373e37dc865038e1bc8eeecf559ce8</li>
1644
+ <li>tikv-jemallocator 0.7.0</li>
1643
1645
  </ul>
1644
1646
  <pre>Copyright (c) 2014 Alex Crichton
1645
1647
 
@@ -3377,37 +3379,6 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
3377
3379
  DEALINGS IN THE SOFTWARE.
3378
3380
  </pre>
3379
3381
  </section>
3380
- <section>
3381
- <h2>MIT License (MIT)</h2>
3382
- <ul>
3383
- <li>mimalloc 0.1.52</li>
3384
- </ul>
3385
- <pre>Copyright 2019 Octavian Oncescu
3386
-
3387
- Permission is hereby granted, free of charge, to any
3388
- person obtaining a copy of this software and associated
3389
- documentation files (the &quot;Software&quot;), to deal in the
3390
- Software without restriction, including without
3391
- limitation the rights to use, copy, modify, merge,
3392
- publish, distribute, sublicense, and/or sell copies of
3393
- the Software, and to permit persons to whom the Software
3394
- is furnished to do so, subject to the following
3395
- conditions:
3396
-
3397
- The above copyright notice and this permission notice
3398
- shall be included in all copies or substantial portions
3399
- of the Software.
3400
-
3401
- THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF
3402
- ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
3403
- TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
3404
- PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
3405
- SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
3406
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
3407
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
3408
- IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
3409
- DEALINGS IN THE SOFTWARE.</pre>
3410
- </section>
3411
3382
  <section>
3412
3383
  <h2>MIT License (MIT)</h2>
3413
3384
  <ul>
@@ -3661,34 +3632,6 @@ furnished to do so, subject to the following conditions:
3661
3632
  The above copyright notice and this permission notice shall be included in all
3662
3633
  copies or substantial portions of the Software.
3663
3634
 
3664
- THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3665
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3666
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
3667
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3668
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3669
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3670
- SOFTWARE.
3671
- </pre>
3672
- </section>
3673
- <section>
3674
- <h2>MIT License (MIT)</h2>
3675
- <ul>
3676
- <li>libmimalloc-sys 0.1.49</li>
3677
- </ul>
3678
- <pre>MIT License
3679
-
3680
- Copyright (c) 2018-2025 Microsoft Corporation, Daan Leijen
3681
-
3682
- Permission is hereby granted, free of charge, to any person obtaining a copy
3683
- of this software and associated documentation files (the &quot;Software&quot;), to deal
3684
- in the Software without restriction, including without limitation the rights
3685
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
3686
- copies of the Software, and to permit persons to whom the Software is
3687
- furnished to do so, subject to the following conditions:
3688
-
3689
- The above copyright notice and this permission notice shall be included in all
3690
- copies or substantial portions of the Software.
3691
-
3692
3635
  THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3693
3636
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3694
3637
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -23,15 +23,15 @@
23
23
  },
24
24
  "files": {
25
25
  "notices/aws-lc-sys-0.43.0-fiat-license.txt": "43e358d7b6eb109d0f51f7b3a090fd82607965767c25fadee39e922475de2061",
26
- "notices/cargo-dependencies.html": "57184d99d43f7ebea3cfcaff9d23f091251cbf73d9d2410c2648d1e3b342e0ee",
26
+ "notices/cargo-dependencies.html": "da15f8294e17e302519c6f90839bba8cb6155f87640347a7219c650af4005576",
27
27
  "notices/compiler-builtins-license.txt": "ab6eec6caf0fa5775e411c7a8bc6a45c4ef2956b0980b157ab74fc5cd62a928b",
28
28
  "notices/crossbeam-channel-third-party.txt": "b16db96b93b1d7cf7bea533f572091ec6bca3234fbe0a83038be772ff391a44c",
29
29
  "notices/encoding-rs-copyright.txt": "7150a03eabe587e6ffc6945b50c8116cfa9b0fbb5713d523c88c2571cebcf1dd",
30
30
  "notices/glibc-copying-lesser.txt": "dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551",
31
31
  "notices/glibc-licenses.txt": "bba29819a3e938fae92674d6a88533e10605e389da8b51cdcba0a94f6221c5bc",
32
+ "notices/jemalloc-5.3.1-copying.txt": "94aa2caa98c25d942f58b956c71dba6a99ff98fc3a31cbc669fe2a4cd0268b53",
32
33
  "notices/libgcc-gpl-3.0.txt": "8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903",
33
34
  "notices/libgcc-runtime-exception.txt": "9d6b43ce4d8de0c878bf16b54d8e7a10d9bd42b75178153e3af6a815bdc90f74",
34
- "notices/mimalloc-license.txt": "82ade5d7d9b029044b5fbbc326207fc47c2d44ee4dd71e8a559c36d728217de9",
35
35
  "notices/moka-notice.txt": "f6d3f84b39d597c19748c6b50a04abe1634edb3c0b15392daa217ec44119f652",
36
36
  "notices/ring-0.17.14-fiat-license.txt": "9eacbcb81be660840c714a560a9d65ba07913db98dd4baf969f78dd499fdd60f",
37
37
  "notices/ring-0.17.14-license-boringssl.txt": "005fc765ddc5115da796cca915baa9557abae13ff35e0a47c47affc56f6c414d",
@@ -46,11 +46,11 @@
46
46
  "notices/zerocopy-derive-0.8.55-license-mit.txt": "1a2f5c12ddc934d58956aa5dbdd3255fe55fd957633ab7d0d39e4f0daa73f7df",
47
47
  "notices/zstd-license.txt": "7055266497633c9025b777c78eb7235af13922117480ed5c674677adc381c9d8",
48
48
  "rust/.cargo/config.toml": "c14d91a09686c17e2b7f8cab0b11acbf9441f905e00631ee26503a0d2d3db99e",
49
- "rust/Cargo.lock": "dce58c1d860f624c20ddd42d120fe8d7e63b0013e47e0ebcb112fa41c5f228b9",
50
- "rust/Cargo.toml": "91bd90549e6d772768d2e87b5ba083cb1df63997d16970eadcfe2f57cecdf1c8",
49
+ "rust/Cargo.lock": "1bcf9333bb489d3383d7f9d7e594df8d71f749f483506676ac700de6c3ad19d4",
50
+ "rust/Cargo.toml": "2a678e912517968d4eebfb9b72d51132633c4e18855146fdcdc8b9ccb40a36e1",
51
51
  "rust/about.hbs": "64873534562fc879efc20225cb704a2c6a621e2a38df24942433348f97d68bc3",
52
52
  "rust/about.toml": "eb5a8897ce7418ef64ca9b935f80476ed10aa89f1be780bf8ffdbd5ac3ba4a0a",
53
- "third-party-notices.md": "1d9b9d6428fcc190c9ca96a45f188ece21e38f50c66af9d77af6aafbdd53c5f3"
53
+ "third-party-notices.md": "8345376340e8c00d1d876cf16960be871df0f7aefbe4a411ebb1eb0a58c9d335"
54
54
  },
55
55
  "supplementalCargoNotices": {
56
56
  "js-sys@0.3.103": "notices/wasm-bindgen-license-mit.txt",
@@ -532,11 +532,6 @@
532
532
  "version": "0.2.186",
533
533
  "license": "MIT OR Apache-2.0"
534
534
  },
535
- {
536
- "name": "libmimalloc-sys",
537
- "version": "0.1.49",
538
- "license": "MIT"
539
- },
540
535
  {
541
536
  "name": "linux-raw-sys",
542
537
  "version": "0.12.1",
@@ -587,11 +582,6 @@
587
582
  "version": "2.8.3",
588
583
  "license": "Unlicense OR MIT"
589
584
  },
590
- {
591
- "name": "mimalloc",
592
- "version": "0.1.52",
593
- "license": "MIT"
594
- },
595
585
  {
596
586
  "name": "miniz_oxide",
597
587
  "version": "0.8.9",
@@ -907,6 +897,16 @@
907
897
  "version": "2.0.19",
908
898
  "license": "MIT OR Apache-2.0"
909
899
  },
900
+ {
901
+ "name": "tikv-jemalloc-sys",
902
+ "version": "0.7.1+5.3.1-0-g81034ce1f1373e37dc865038e1bc8eeecf559ce8",
903
+ "license": "MIT/Apache-2.0"
904
+ },
905
+ {
906
+ "name": "tikv-jemallocator",
907
+ "version": "0.7.0",
908
+ "license": "MIT/Apache-2.0"
909
+ },
910
910
  {
911
911
  "name": "time",
912
912
  "version": "0.3.54",
@@ -0,0 +1,27 @@
1
+ Unless otherwise specified, files in the jemalloc source distribution are
2
+ subject to the following license:
3
+ --------------------------------------------------------------------------------
4
+ Copyright (C) 2002-present Jason Evans <jasone@canonware.com>.
5
+ All rights reserved.
6
+ Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved.
7
+ Copyright (C) 2009-present Facebook, Inc. All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without
10
+ modification, are permitted provided that the following conditions are met:
11
+ 1. Redistributions of source code must retain the above copyright notice(s),
12
+ this list of conditions and the following disclaimer.
13
+ 2. Redistributions in binary form must reproduce the above copyright notice(s),
14
+ this list of conditions and the following disclaimer in the documentation
15
+ and/or other materials provided with the distribution.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS
18
+ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
20
+ EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
21
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ --------------------------------------------------------------------------------
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@push.rocks/smartmta",
3
- "version": "11.0.1",
3
+ "version": "11.1.0",
4
4
  "description": "A high-performance, enterprise-grade Mail Transfer Agent (MTA) built from scratch in TypeScript with Rust acceleration.",
5
5
  "keywords": [
6
6
  "mta",
@@ -31,10 +31,10 @@
31
31
  ".": "./dist_ts/index.js"
32
32
  },
33
33
  "devDependencies": {
34
- "@git.zone/cli": "^8.4.0",
34
+ "@git.zone/cli": "^8.11.0",
35
35
  "@git.zone/tsbuild": "^6.0.2",
36
- "@git.zone/tsrust": "^4.1.0",
37
- "@git.zone/tstest": "^7.2.0",
36
+ "@git.zone/tsrust": "^4.5.1",
37
+ "@git.zone/tstest": "^8.0.0",
38
38
  "@types/mailparser": "^3.4.6",
39
39
  "@types/node": "^26.6.4",
40
40
  "tsx": "^4.23.15"
@@ -43,7 +43,7 @@
43
43
  "@push.rocks/smartlog": "^4.0.4",
44
44
  "@push.rocks/smartmail": "^3.0.1",
45
45
  "@push.rocks/smartpath": "^6.0.0",
46
- "@push.rocks/smartrust": "^1.3.2",
46
+ "@push.rocks/smartrust": "^2.6.0",
47
47
  "@tsclass/tsclass": "^9.5.0",
48
48
  "lru-cache": "^11.5.2",
49
49
  "mailparser": "^3.9.14"
@@ -59,7 +59,7 @@
59
59
  "changelog.md"
60
60
  ],
61
61
  "engines": {
62
- "node": ">=22"
62
+ "node": ">=22.12.0"
63
63
  },
64
64
  "os": [
65
65
  "linux"
package/readme.md CHANGED
@@ -280,7 +280,7 @@ await emailServer.start();
280
280
 
281
281
  > 🔒 **Note:** `start()` will throw if the Rust binary is not compiled. Run `pnpm build` first.
282
282
  >
283
- > SmartMTA requires Node.js 22 or newer.
283
+ > SmartMTA requires Node.js 22.12 or newer.
284
284
  >
285
285
  > `hostname` is the public SMTP identity for greetings and outbound delivery by default. It is not a bind address.
286
286
  >
@@ -910,6 +910,8 @@ Performance-critical operations are implemented in Rust and communicate with the
910
910
  | `mailer-smtp` | Complete | Full SMTP protocol engine — TCP/TLS server + client, STARTTLS, AUTH, pipelining, connection pooling, in-process security pipeline |
911
911
  | `mailer-bin` | Complete | CLI + smartrust IPC bridge — wires everything together |
912
912
 
913
+ `RustSecurityBridge` finds `mailer-bin` in the package's `dist_rust/` (or a local `rust/target` build). Inside a Node.js single executable application (built with `@git.zone/tssea`), smartrust runs the sidecar the executable embeds under the name `mailer-bin` instead and searches nothing else; a sidecar the executable cannot provide makes `start()` resolve `false`, and background restarts look it up again.
914
+
913
915
  ### What Runs Where
914
916
 
915
917
  | Operation | Runs In | Why |
@@ -55,7 +55,7 @@ verbatim beside the generated inventory:
55
55
  generated inventory; its separately licensed
56
56
  [fiat-crypto component](./notices/aws-lc-sys-0.43.0-fiat-license.txt) is
57
57
  included here.
58
- - libmimalloc-sys 0.1.49: [the vendored mimalloc terms](./notices/mimalloc-license.txt).
58
+ - tikv-jemalloc-sys 0.7.1+5.3.1: [the bundled jemalloc 5.3.1 BSD-2-Clause terms](./notices/jemalloc-5.3.1-copying.txt).
59
59
  - zstd-sys 2.0.16+zstd.1.5.7: [the vendored Zstandard terms](./notices/zstd-license.txt)
60
60
  (BSD-3-Clause is selected; upstream also offers GPL-2.0).
61
61
  - moka 0.12.15: [its Apache-2.0 NOTICE file](./notices/moka-notice.txt), as
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartmta',
6
- version: '11.0.1',
6
+ version: '11.1.0',
7
7
  description: 'A high-performance, enterprise-grade Mail Transfer Agent (MTA) built from scratch in TypeScript with Rust acceleration.'
8
8
  }
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2018-2025 Microsoft Corporation, Daan Leijen
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.