Preparing for release.
h3rald h3rald@h3rald.com
Wed, 03 Jun 2026 16:31:58 +0200
6 files changed,
49 insertions(+),
51 deletions(-)
M
next-release.md
→
next-release.md
@@ -1,4 +1,3 @@
- ### BREAKING CHANGES * The symbol `aes` now requires min to be compiled with `-d:ssl`.
M
site/contents/get-started.md
→
site/contents/get-started.md
@@ -20,35 +20,22 @@ ### Building from source
By default, min should run without issues on any [platform supported by the Nim programming language](https://github.com/nim-lang/Nim/blob/devel/lib/system/platforms.nim). -To build min, you can clone the [git repository](https://github.com/h3rald/min) and also build the following static libraries first: - -* libssl (OpenSSL) -* libcrypto (OpenSSL) -* libpcre (PCRE) - -When compiling, specify additional flags to specify where to get the static libraries from: - -`nim c -d --passL:"-static -L<dir> -lpcre -lssl -lcrypto"` +To build min, you can clone the [git repository](https://github.com/h3rald/min) and compile it using Nim, like this: -Where `<dir>` is the directory containing the `*.a` files for the static libraries listed above. - -> %tip% -> -> Alternatively, if you can also opt out from OpenSSL and PCRE support by: -> -> * Specifying `-d:nossl` -> * Specifying `-d:nopcre` +```shell +nim c -d:release +``` ### Additional build options -#### -d:ssl +#### -d:ssl / -d:nossl -If the **-d:ssl** flag is specified when compiling, min will be built with SSL support, so it will be possible to: +By default, this build option will be _on_ by default so that min is built with SSL support, so it will be possible to: * perform HTTPS requests with the {#link-module||http#}. * use all the cryptographic symbols defined in the {#link-module||crypto#}. -If this flag is not specified: +If this flag is not specified (by setting `-d:nossl`): * It will not be possible to perform HTTPS requests * Only the following symbols will be exposed by the {#link-module||crypto#}:@@ -60,13 +47,23 @@ * {#link-operator||crypto||decode#}
#### -d:nopcre -If the **-d:nopcre** is specified when compiling, min will be built _without_ PCRE support, so it will not be possible to use regular expressions and the following symbols will _not_ be exposed by the {#link-module||global#}: +If `-d:nopcre` is specified when compiling, min will be built _without_ PCRE support, so it will not be possible to use regular expressions and the following symbols will _not_ be exposed by the {#link-module||global#}: * {#link-global-operator||search#} * {#link-global-operator||match?#} * {#link-global-operator||search-all#} * {#link-global-operator||replace#} * {#link-global-operator||replace-apply#} + +#### -d:static + +If `-d:static` is specified, min will attempt to statically link the following libraries: + +* libssl (OpenSSL) +* libcrypto (OpenSSL) +* libpcre (PCRE) + +Note that for this to work, the relevant `.a` file _must_ be placed in the appropriate `vendor/<library>/<os>/<arch>` subdirectory. For some architectures and operating systems, the correct files are versioned along with the source code — if your architecture is not listed, you need to place your libraries in a `vendor/<library>/unknown` subdirectory. ## Running the min shell
A
site/contents/news/v0.48.0.md
@@ -0,0 +1,29 @@
+----- +content-type: "post" +title: "Version 0.48.0 released" +slug: v0.48.0 +date: 2026-06-03 +----- +{@ _defs_.md || 0 @} + +This is a minor release with some new functionalities and a small breaking change. The main focus is _performance_ and improve overall memory usage. + +### BREAKING CHANGES + +* The symbol `aes` now requires min to be compiled with `-d:ssl`. + +### New Features + +* By default, nimble builds are no longer statically linking other libraries. +* Removed acyclic pragmas and now successfully compiling with `--mm:orc` for better memory management. + +### Fixes and Improvements + +* Ensured that all the relevant procs are gcsafe. +* No longer using ref for `MinValue` objects. +* No longer performing a deep copy when dequoting. +* Optimized the way debug information is stored to reduce memory usage. +* Avoiding creating unnecessary scopes when possible (withScope macro already creates a scope). +* Fixed `setSigil` incorrectly calling `setSymbol`. +* Improved handling of hash bang. +* No longer using (unoptimised) tail-recursion for symbol resolution, now doing iterative lookups.
M
site/rules.min
→
site/rules.min
@@ -140,33 +140,7 @@ output-fwrite
) ) :: -( - symbol download-latest-min-exes - (==>) - ( - "Downloading latest min executables..." io.notice! - settings.version :version - ("windows" "macosx" "linux") - ( - :opsys - "https://github.com/h3rald/min/releases/download/v$1/min_v$1_$2_x64.zip" (version opsys) =% :remote - "min_$#.zip" (opsys) =% :local - "wget $# -O $#" (remote local) =% :cmd - cmd sys.system - "assets/downloads/$#/" (opsys) =% :dir - "assets/downloads/" sys.mkdir - "unzip $# -o -d $#" (local dir) =% @cmd - cmd system! - local sys.rm - ) foreach - ) -) :: - ;Main - -((('wget "" !=) ('zip sys.which "" !=)) &&) - (download-latest-min-exes) -when "Processing contents..." io.notice!