@lossless.org/objectstorage 9.0.1 → 10.0.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/.smartconfig.json CHANGED
@@ -4,7 +4,6 @@
4
4
  "linux_amd64",
5
5
  "linux_arm64"
6
6
  ],
7
- "static": true,
8
7
  "remapLocalPaths": true
9
8
  },
10
9
  "@git.zone/cli": {
Binary file
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "69ed2c147a15f12990b77079718b1b84a678c9f4b18c2feade7094621e03a213",
3
+ "binarySha256": "c8fc51f2ed2aff60df7be1a037239f1a97555f67be93fea42012d53cfdf7caf0",
4
4
  "buildInfo": {
5
5
  "projectName": "@lossless.org/objectstorage",
6
- "projectVersion": "9.0.1",
7
- "gitCommit": "5a1a8217407b558153061cec5caa29fb8fcd3da4",
6
+ "projectVersion": "10.0.0",
7
+ "gitCommit": "f984d0b62a8125ce911b3c7d19b48b107264f01a",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-09-09T14:07:25.559Z",
9
+ "builtAt": "2026-09-09T15:33:27.377Z",
10
10
  "tsrustVersion": "1.13.0",
11
11
  "binary": "ruststorage",
12
12
  "target": "linux_amd64"
Binary file
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "5545cee78021361e80dab9c355707f70395f1ec49fe2412174f2631e6344dabc",
3
+ "binarySha256": "2e64b08d10866aa540760464e7364b03d1efc3a3d8cf3e7a223a30f6b912d36b",
4
4
  "buildInfo": {
5
5
  "projectName": "@lossless.org/objectstorage",
6
- "projectVersion": "9.0.1",
7
- "gitCommit": "5a1a8217407b558153061cec5caa29fb8fcd3da4",
6
+ "projectVersion": "10.0.0",
7
+ "gitCommit": "f984d0b62a8125ce911b3c7d19b48b107264f01a",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-09-09T14:07:26.456Z",
9
+ "builtAt": "2026-09-09T15:33:27.705Z",
10
10
  "tsrustVersion": "1.13.0",
11
11
  "binary": "ruststorage",
12
12
  "target": "linux_arm64"
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@lossless.org/objectstorage',
6
- version: '9.0.1',
6
+ version: '10.0.0',
7
7
  description: 'A Node.js TypeScript package to create a local S3-compatible storage server using mapped local directories for development and testing purposes.'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSw2QkFBNkI7SUFDbkMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLGtKQUFrSjtDQUNoSyxDQUFBIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSw2QkFBNkI7SUFDbkMsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLGtKQUFrSjtDQUNoSyxDQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lossless.org/objectstorage",
3
- "version": "9.0.1",
3
+ "version": "10.0.0",
4
4
  "private": false,
5
5
  "description": "A Node.js TypeScript package to create a local S3-compatible storage server using mapped local directories for development and testing purposes.",
6
6
  "main": "dist_ts/index.js",
@@ -31,6 +31,8 @@
31
31
  "dist_ts_web/**/*",
32
32
  "assets/**/*",
33
33
  "third_party_licenses/**/*",
34
+ "third-party-notices.md",
35
+ "license.md",
34
36
  "cli.js",
35
37
  ".smartconfig.json",
36
38
  "readme.md"
package/readme.md CHANGED
@@ -85,6 +85,18 @@ pnpm add @lossless.org/objectstorage -D
85
85
 
86
86
  > **Note:** The package ships with precompiled Rust binaries for `linux_amd64` and `linux_arm64`. No Rust toolchain needed on your machine.
87
87
 
88
+ Version 10 uses dynamically linked GNU/Linux binaries. Both architectures require
89
+ glibc 2.34 or later, its dynamic loader and `libm.so.6`, plus `libgcc_s.so.1`.
90
+ The amd64 test suite runs natively on Ubuntu 24.04 with glibc 2.39. ARM64 storage
91
+ and restart checks run in a full-system QEMU guest with an Alpine 6.18.35 kernel
92
+ and Ubuntu 24.04 glibc 2.39 libraries; this does not qualify physical ARM hardware
93
+ or a complete Ubuntu ARM installation. Musl-only systems such as a default
94
+ Alpine installation are unsupported. This is a platform requirement
95
+ change from version 9's static executables; executable names, IPC, public APIs and
96
+ storage formats are unchanged. Verify the deployed host or container's libraries
97
+ before upgrading. See [third-party notices](./third-party-notices.md) for the
98
+ glibc LGPL terms, Cargo licenses and native distribution inventory.
99
+
88
100
  ## Quick Start
89
101
 
90
102
  ### Standalone Mode (Dev & Test)
@@ -0,0 +1,103 @@
1
+ # Native distribution notices
2
+
3
+ These notices accompany ObjectStorage's `ruststorage_linux_amd64` and
4
+ `ruststorage_linux_arm64` executables. ObjectStorage's own code remains licensed
5
+ under [MIT](./license.md).
6
+
7
+ ## GNU C Library use and platform requirements
8
+
9
+ ObjectStorage 10 uses the GNU C Library (glibc), licensed under the
10
+ [GNU Lesser General Public License, version 2.1 or later](./third_party_licenses/glibc-lgpl-2.1.txt).
11
+ The [upstream glibc license inventory](./third_party_licenses/glibc-license.txt)
12
+ is also retained. These executables dynamically load the system's glibc, dynamic
13
+ loader, `libm.so.6` and `libgcc_s.so.1`; those libraries are not bundled into the
14
+ npm package. Users can replace the shared libraries with modified, interface
15
+ compatible versions. ObjectStorage imposes no restriction on modification for
16
+ the user's own use or reverse engineering to debug such modifications.
17
+
18
+ Both executables require glibc 2.34 or later and the matching system libraries.
19
+ Both are built using Ubuntu 24.04/glibc 2.39. The amd64 suite runs natively there.
20
+ ARM64 IPC, HTTP object write/read, stats, clean shutdown and persisted-object
21
+ restart checks pass in a full-system QEMU TCG guest with an Alpine 6.18.35 kernel,
22
+ Ubuntu 24.04 glibc 2.39 libraries and a disposable ext4 disk. This is emulation,
23
+ not physical ARM hardware or complete Ubuntu ARM distribution qualification.
24
+ The amd64 loader is
25
+ `/lib64/ld-linux-x86-64.so.2`; the arm64 loader is `/lib/ld-linux-aarch64.so.1`.
26
+ Musl-only systems, including default Alpine installations, are unsupported.
27
+ This changes version 9's static-binary portability and is released as a major
28
+ version. Public APIs, executable names, IPC and stored formats are unchanged.
29
+
30
+ ## Locked Cargo graph
31
+
32
+ [Cargo dependency notices](./third_party_licenses/cargo-dependencies.html)
33
+ contain the selected license texts and original attributions for 258 packages.
34
+ The complete locked graph also contains three feature-inactive packages:
35
+ [aho-corasick 1.1.4](./third_party_licenses/aho-corasick-1.1.4-license.txt),
36
+ [valuable 0.1.1](./third_party_licenses/valuable-license.txt) and
37
+ [zerocopy-derive 0.8.47](./third_party_licenses/zerocopy-derive-0.8.47-license.txt).
38
+ Their exact MIT notices bring the inventory to all 261 locked third-party
39
+ packages, conservatively including build-only, development and inactive targets.
40
+ Listing a package does not claim that it is linked into either Linux executable.
41
+
42
+ MIT is selected where offered as an alternative. Other required terms include
43
+ Apache-2.0, ISC, BSD-3-Clause, Unicode-3.0, BSL-1.0 and CDLA-Permissive-2.0.
44
+ This covers the native graph's bincode/bytes MIT, subtle BSD, rustls-webpki ISC,
45
+ ICU4X Unicode and xxhash-rust Boost notices. Combined upstream files retain
46
+ their original scope statements and additional component terms.
47
+
48
+ The supplemental [MIT source attributions](./third_party_licenses/mit-source-attributions.txt)
49
+ retain cesu8's Rust Project/Eric Kidd headers, siphasher's Rust Project/Frank
50
+ Denis attribution and crc32c's declared author with the complete selected MIT
51
+ terms. The [crc32c Zlib notice](./third_party_licenses/crc32c-0.6.8-zlib-notice.txt)
52
+ retains its translated combine implementation's source attribution, marked
53
+ alterations and the corresponding upstream Zlib license. Exact Rustix and
54
+ linux-raw-sys `COPYRIGHT` notices supplement their selected MIT licenses.
55
+
56
+ The existing [ring 0.17.14 index](./third_party_licenses/ring-0.17.14/INDEX.md)
57
+ and all seven bundled license/index files remain unchanged. Its
58
+ [source attribution supplement](./third_party_licenses/ring-0.17.14/source-attributions.txt)
59
+ retains copyright-bearing source comments, grouping identical comments by path.
60
+ These notices were checked against the Cargo.lock-pinned crate archive with
61
+ SHA-256 `a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7`.
62
+ The existing base64 and crc32fast MIT copies are retained as well.
63
+
64
+ ## Rust runtime
65
+
66
+ `rust-toolchain.toml` pins Rust 1.95.0 and both GNU/Linux targets. The
67
+ [Rust standard-library inventory](./third_party_licenses/rust-standard-library.html)
68
+ is copied byte-for-byte from that official toolchain's
69
+ `share/doc/rust/COPYRIGHT-library.html`. Its inventory includes other targets
70
+ conservatively. The [compiler-builtins license](./third_party_licenses/compiler-builtins-license.txt)
71
+ preserves its MIT and Apache-2.0 WITH LLVM-exception terms and bundled component
72
+ notices. The separately installed npm dependency graph retains its own notices;
73
+ its packages are not embedded in the Rust executables.
74
+
75
+ ## Generation, verification and redistribution
76
+
77
+ Install cargo-about 0.9.1 and use the pinned Rust toolchain. From the repository
78
+ root, run:
79
+
80
+ ```sh
81
+ node scripts/generate-native-notices.mjs
82
+ pnpm exec tstest test/test.notices.node.ts --verbose --logfile
83
+ ```
84
+
85
+ The generator uses Cargo.lock and checksum-pinned local or Git license sources
86
+ from `rust/about.toml`. Network access is required for the pinned Git sources.
87
+ `rust/notices.sources.json` records supplemental upstream provenance and exact
88
+ bytes; the generator rejects changes to these reviewed copies. Refresh them
89
+ from their recorded upstream sources only as part of a distribution review.
90
+ For the ring supplement, verify its archive checksum and collect copyright
91
+ comments from `.rs`, `.c`, `.h`, `.S` and `.pl` source files; retain comment bytes
92
+ and source paths, grouping only identical comments.
93
+
94
+ The generated [inventory](./third_party_licenses/inventory.json) records the
95
+ complete package graph, selected licenses and input/output SHA-256 hashes.
96
+ Tests reject missing graph coverage, changed inputs or notices, generic copyright
97
+ placeholders, incomplete package paths and accidental static glibc linkage.
98
+ After changing the lockfile, compiler, target configuration or notice inputs,
99
+ regenerate and review the inventory and qualify both native distributions.
100
+
101
+ Keep `license.md`, this index and the complete `third_party_licenses/` directory
102
+ beside any separately distributed executable. A deployment must verify its
103
+ actual host or container's glibc and shared-library compatibility before activation.
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Andrew Gallant
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
13
+ all 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
21
+ THE SOFTWARE.