beam.com 0.1.0-rc.6 → 0.1.0-rc.7

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/NOTICE CHANGED
@@ -33,7 +33,7 @@ Cosmopolitan Libc 4.0.2 (the C runtime of the APE file)
33
33
  shows them.
34
34
  https://github.com/jart/cosmopolitan
35
35
 
36
- OpenSSL 4.0.2 (libcrypto, for the crypto NIF)
36
+ OpenSSL 4.0.3 (libcrypto, for the crypto NIF)
37
37
  Copyright The OpenSSL Project Authors.
38
38
  Apache License 2.0 (LICENSE).
39
39
  https://github.com/openssl/openssl
@@ -76,9 +76,20 @@ of lazy_html in lib/beam_com/priv/nifs; only a program with lazy_html
76
76
  lexbor: Copyright 2018-2020 Alexander Borisov. Apache License 2.0
77
77
  (LICENSE). https://github.com/lexbor/lexbor
78
78
 
79
+ sha1collisiondetection (SHA-1 with collision detection, the library of
80
+ git; in the helper program git_sha1dc of the git client)
81
+ Copyright 2017 Marc Stevens and Dan Shumow.
82
+ MIT License (licenses/sha1collisiondetection.txt).
83
+ https://github.com/cr-marcstevens/sha1collisiondetection
84
+
85
+ The Public Suffix List (lib/beam_com/priv/public_suffix_list.dat, for
86
+ the warning of --allow-net=*.DOMAIN; only beam.com contains it)
87
+ Mozilla Public License 2.0 (licenses/mpl-2.0.txt).
88
+ https://publicsuffix.org
89
+
79
90
  The WebAssembly runtime (beam.wasm and beam.mjs in the zip, for
80
91
  --target wasm32)
81
- Erlang/OTP 29.1.1 and OpenSSL 4.0.2, as above, compiled with
92
+ Erlang/OTP 29.1.1 and OpenSSL 4.0.3, as above, compiled with
82
93
  Emscripten. The runtime contains the system libraries of Emscripten:
83
94
  - Emscripten: MIT License and University of Illinois/NCSA Open Source
84
95
  License (licenses/emscripten.txt). https://github.com/emscripten-core/emscripten
@@ -94,4 +105,25 @@ Custom builds (build.sh) can also contain:
94
105
  - picosat_elixir (EXTRA_NIFS): Apache License 2.0, with PicoSAT (MIT
95
106
  License, Copyright 2006-2015 Armin Biere, Johannes Kepler University;
96
107
  licenses/picosat.txt).
108
+ - vix (EXTRA_NIFS): MIT License, with libvips and glib (GNU LGPL 2.1 or
109
+ later), libheif (GNU LGPL 3.0), aom (BSD 2-Clause License, with the
110
+ Alliance for Open Media Patent License 1.0), Little CMS (MIT
111
+ License), cgif (MIT License), libimagequant (the BSD 2-Clause License
112
+ of its fork by sharp-libvips) and the other libraries of
113
+ scripts/libvips.sh, each with its own license (see their sources).
114
+ - rusty_csv (EXTRA_NIFS): MIT License. The Rust crates of its NIF
115
+ (rustler and others) have the MIT License or the Apache License 2.0;
116
+ see its Cargo.lock.
117
+ - ex_pdfium (EXTRA_NIFS): MIT License. Its NIF has PDFium (BSD 3-Clause
118
+ License, Copyright 2014 The PDFium Authors,
119
+ https://pdfium.googlesource.com/pdfium) and the third-party code of
120
+ PDFium: FreeType (the FreeType License: portions of this software are
121
+ copyright The FreeType Project, https://freetype.org, all rights
122
+ reserved), Abseil (Apache License 2.0), ICU (Unicode License v3),
123
+ zlib (zlib License), libjpeg-turbo (IJG License and BSD 3-Clause
124
+ License), OpenJPEG (BSD 2-Clause License), Little CMS (MIT License),
125
+ Anti-Grain Geometry 2.3, fast_float and BigInteger. Their license
126
+ texts are in licenses/pdfium of such a build. The Rust crates of the
127
+ NIF (pdfium-render, rustler and others) have the MIT License or the
128
+ Apache License 2.0; see the Cargo.lock of ex_pdfium.
97
129
  - More OTP applications (OTP_APPS): as Erlang/OTP above.
package/README.md CHANGED
@@ -79,7 +79,13 @@ rebar3 in the file, or a file without Elixir, SQLite or WebAssembly? Open
79
79
  an issue with the form
80
80
  [A custom build of beam.com](https://github.com/sntran/BEAM.com/issues/new?template=custom_build.yml).
81
81
  CI builds and tests the file with your choices, and puts it on the issue.
82
- You need no toolchain. See "A custom build" in
82
+ Without a GitHub account, use the form of
83
+ [mkfifo.com/beam.com](https://mkfifo.com/beam.com?form): it gives the
84
+ file in the browser, or sends its link to your email address. A script
85
+ gets the same file with one request, as
86
+ `curl -fo beam.com 'https://mkfifo.com/beam.com?apps=mnesia&nifs+=vix'`,
87
+ and `curl -fo beam.com https://mkfifo.com/beam.com` gives the default
88
+ build. You need no toolchain. See "A custom build" and "A build URL" in
83
89
  [`docs/BUILDING.md`](docs/BUILDING.md).
84
90
 
85
91
  ## Quick start
@@ -219,7 +225,7 @@ jobs:
219
225
 
220
226
  Then turn on Pages one time: Settings, Pages, Source "GitHub Actions". The
221
227
  `GITHUB_TOKEN` cannot do this step. Until the release `v0.1.0`, use the
222
- release candidate `@v0.1.0-rc.6` in place of `@v0.1.0`. With `@main`, the
228
+ release candidate `@v0.1.0-rc.7` in place of `@v0.1.0`. With `@main`, the
223
229
  workflow uses the `edge` build of `beam.com`.
224
230
 
225
231
  The workflow ([`pages-app.yml`](.github/workflows/pages-app.yml)) builds
@@ -286,7 +292,7 @@ Each GitHub release from 0.1.0-rc.2 also holds the package, the same
286
292
  file as on npm. npm installs it with no registry:
287
293
 
288
294
  ```sh
289
- npm install https://github.com/sntran/BEAM.com/releases/download/v0.1.0-rc.6/beam.com-0.1.0-rc.6.tgz
295
+ npm install https://github.com/sntran/BEAM.com/releases/download/v0.1.0-rc.7/beam.com-0.1.0-rc.7.tgz
290
296
  ```
291
297
 
292
298
  - `BEAM_COM`: the path of a `beam.com` to use. Then nothing is
@@ -346,7 +352,8 @@ the Erlang shell in your browser is at
346
352
  | File | What |
347
353
  |---|---|
348
354
  | [`docs/PROGRAMS.md`](docs/PROGRAMS.md) | Run and build programs: the inputs, Hex packages, command line programs, native files (`--target`), distributed Erlang, a release in the zip, debugging. |
349
- | [`docs/ELIXIR.md`](docs/ELIXIR.md) | Elixir programs, the tools (`mix`, `iex`, `elixir`), Phoenix from source, the file watcher. |
355
+ | [`docs/ELIXIR.md`](docs/ELIXIR.md) | Elixir programs, the tools (`mix`, `iex`, `elixir`), Phoenix from source, Phoenix in one file, the file watcher. |
356
+ | [`docs/DEPLOY.md`](docs/DEPLOY.md) | Deploy a Phoenix app to a Linux server: a build on the server or in CI, systemd, migrations, new code with no restart, and what needs a restart. |
350
357
  | [`docs/WORKERS.md`](docs/WORKERS.md) | Cloudflare Workers, Deno Deploy and web pages: `app.com` with the npm package, Durable Objects, Ecto SQLite, HTTP through `fetch()`, snapshots, tenants, static sites (`--page`), and limits. |
351
358
  | [`docs/NOTEBOOKS.md`](docs/NOTEBOOKS.md) | The documentation as notebooks that run in your browser: a tour of beam.com, the WebAssembly VM, the anatomy of the file, WebAssembly programs, hosts and storage, networking, and building programs. |
352
359
  | [`docs/LIBRARIES.md`](docs/LIBRARIES.md) | Crypto and TLS, SQLite, and WebAssembly in Erlang code. |
@@ -378,7 +385,7 @@ the Erlang shell in your browser is at
378
385
  |---|---|
379
386
  | Linux x86_64 and aarch64, WSL2 | ✅ |
380
387
  | macOS arm64 and x86_64 | ✅ |
381
- | Windows x86_64 | ✅ (no port programs) |
388
+ | Windows x86_64 | ✅ |
382
389
  | FreeBSD, NetBSD, OpenBSD 7.3 | ✅ |
383
390
  | OpenBSD 7.4 and later | ❌ (not supported by Cosmopolitan) |
384
391
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "beam.com",
3
- "version": "0.1.0-rc.6",
3
+ "version": "0.1.0-rc.7",
4
4
  "description": "Erlang/OTP and Elixir in one executable file: npx beam.com, and the WebAssembly runtime for a native app.com",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {