Releases: NullSablex/env-samp
Releases · NullSablex/env-samp
Release list
v1.0.0
env_samp v1.0.0
Built on top of rust-samp v3.0.0.
Artifacts
env_samp.so— Linux i686 (i686-unknown-linux-gnu).env_samp.dll— Windows i686 (i686-pc-windows-msvc).env_samp.inc— Pawn include, identical file for SA-MP and Open Multiplayer.
Compatibility
The binaries are universal: they run on SA-MP and on Open Multiplayer, on Linux and Windows alike.
- SA-MP: drop the binary into
plugins/and register it underplugins=inserver.cfg. - Open Multiplayer (native mode, recommended): drop the binary into the server's
components/folder. It is loaded automatically viaComponentEntryPoint, with access toICore,ITimersComponentand the remaining native APIs. Noconfig.jsonentry is required. - Open Multiplayer (legacy mode): drop the binary into
plugins/and declare it underpawn.legacy_pluginsinconfig.json. Same binary, no extra build flags.
Changelog
Initial public release. Built on top of rust-samp v3.0.0. The same .so / .dll loads on SA-MP and on Open Multiplayer (native component or legacy mode).
Added
- Universal binary. A single artifact runs on SA-MP and on Open Multiplayer. Open Multiplayer auto-loads it as a native component when dropped into the
components/folder (noconfig.jsonentry needed — the folder itself is the registration), or in legacy mode when dropped intoplugins/and declared underpawn.legacy_pluginsinconfig.json. - Natives
Env(key, dest, type, dest_len)andEnvCount()coveringENV_STRING,ENV_INT,ENV_FLOATandENV_BOOL. Unknown type values fall back toENV_STRINGwith a warning. .envparser with single/double quoting, escape sequences (\n,\r,\t,\\,\"), inline#comments (require preceding whitespace),exportskip, BOM stripping and duplicate-key "last wins" semantics.ENV_SAMP_VERSIONconstant inenv_samp.inc— string with the plugin version, auto-generated fromCARGO_PKG_VERSIONbybuild.rs.- Logger with banner and detailed log file at
logs/env.log. Configurable level (0–4); values are never logged. - Hard limit of 1 MiB on the
.envfile size — rejected with a warning if exceeded. - MkDocs Material documentation site published at https://env-samp.nullsablex.com/.
- CI:
build/test/clippy/fmt/audit/coveragejobs (.github/workflows/rust.yml), release workflow with tag-vs-Cargo.tomlsanity check and auto-extracted changelog section (.github/workflows/release.yml), MkDocs strict build + GitHub Pages deploy (.github/workflows/docs.yml).
Security
- The
.envis read once at startup. No runtime reload. - Values are never logged. Only error/warning messages about the file itself are emitted.
- Distributed under the GNU Affero General Public License v3.0 or later — modifications used on servers accessible over the network must have their source offered to the users interacting with that instance.
v0.1.0
Full Changelog: https://github.com/NullSablex/env-samp/commits/v0.1.0