Skip to content

Releases

Luminesk-CLI v2.1.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 07:55

Luminesk-CLI 2.1.0

Luminesk 2.1 improves everyday server operation with a more responsive terminal
interface, safely rendered console colors, and a single command to start a
server and open its console. Official installers now use self-contained
application directories for Linux, macOS, and Windows.

Highlights

Start and attach in one command

nesk start --dir ./servers/example --attach

Luminesk waits for readiness before opening the full-screen console. If the
server is already running, it attaches without restarting the container.
Use Ctrl+D to detach, Ctrl+C to stop gracefully, or Ctrl+K to kill it.
--attach requires an interactive terminal and rejects --json and
--non-interactive before starting the server.

Clearer terminal output

  • Consistent colors and presentation across commands, prompts, and progress.
  • Measured progress for operations that report their size or completion.
  • Safe ANSI color rendering in streamed logs and the attached console;
    NO_COLOR disables color.
  • Faster --help and --version startup through deferred imports.

Self-contained application bundles

  • Installers use onedir ZIP bundles containing nesk and its runtime files.
    Python is not required on the host.
  • SHA-256 verification, installation smoke checks, and transactional
    activation protect installs and upgrades.
  • Existing installations managed by the one-line installer can be upgraded
    by rerunning it. Extract the complete ZIP when installing manually.
  • Platform fixes cover macOS archive handling and Windows installer validation.

Docker and project links

  • Runtime platform selection follows the Docker Engine's OS and architecture.
  • Image pulls are explicit and bounded, with progress and useful failures.
  • Documentation and installers use nesk.farin.cc.
    Repository, release, and catalog links use
    Farin Works.

Install or update

Linux or macOS:

curl -fsSL https://nesk.farin.cc/sh | sh -s -- --yes

Windows AMD64 (x64), PowerShell:

irm https://nesk.farin.cc/ps1 | iex

For a Python-managed installation, use Python 3.13+:

uv tool install luminesk-cli
# Upgrade an existing uv installation:
uv tool upgrade luminesk-cli

Docker Engine or Docker Desktop is required to run servers. On Windows, use
Linux containers. After upgrading, check nesk --version, run nesk doctor,
and refresh discovery with nesk catalog update.

Compatibility

Existing 2.x instances and pinned recipe locks remain supported, including
saved official-catalog origins. No manual lockfile or instance-state edits are
required. Keep using the same installation method for CLI upgrades.

Luminesk 1.x instances still require a
side-by-side migration.
Back up server data before changing a production installation.

Release files

  • luminesk-{linux,macos}-{amd64,arm64}.zip: Linux and macOS bundles.
  • luminesk-windows-amd64.zip: Windows AMD64 (x64) bundle.
  • Python wheel and source distribution.
  • SHA256SUMS: release-file checksums.
  • luminesk-cli.cdx.json: runtime dependency SBOM.
  • GitHub build provenance attestations for the Python artifacts and bundles.

See the installation guide,
command reference, and
full changelog.

v2.0.2

Choose a tag to compare

@github-actions github-actions released this 08 Sep 10:15
v2.0.2
4543032

Luminesk CLI 2.0.0

Luminesk 2.0 is a complete rewrite of the project. The 2.0 codebase, recipes,
lockfiles, instance state, cache, and runtime model cannot be combined with
Luminesk 1.1. There is no safe in-place upgrade: keep a backup, create a fresh
2.0 instance, and move only the server data you actually need. See the
migration guide.

Compared with 1.1, the MCBE-specific imperative create workflow and optional
local runtimes are gone. doctor, catalog discovery, recipe-based install,
and Docker-backed instances replace them. The old configuration, registry,
cache, and instance metadata are not read or converted by 2.0.

What is new

One workflow for Java and Bedrock

  • Install Java and Bedrock server cores through the same nesk interface.
  • Discover verified recipes with nesk search and inspect requirements with
    nesk info RECIPE before installing anything.
  • Install from the official catalog, a GitHub repository, or a local recipe.
  • Git is no longer required for normal installation or operation.

Reproducible recipes instead of opaque setup logic

  • A strict luminesk.toml describes sources, inputs, ownership, Docker runtime,
    ports, mounts, checks, and update policy.
  • luminesk.lock records exact artifact hashes, recipe revisions, platforms,
    and immutable Docker image digests.
  • Deterministic, independently verified .lumineskpkg packages form the
    installation boundary.
  • Image-only recipes are supported when the complete server already lives in
    the runtime image.

Safer installs and updates

  • Every install and update has a preview; --dry-run performs the complete
    planning path without applying it.
  • Ownership-aware transactions distinguish Luminesk-managed files, rendered
    files, editable configuration, and server data.
  • Local changes are never silently overwritten. Conflicts stop the operation.
  • Failed apply or readiness checks roll back the filesystem and, for a
    previously running server, attempt to restore and restart the old runtime.
  • nesk outdated, nesk diff, and nesk recover make update and recovery
    state explicit.

A CLI that explains what it needs

  • nesk info shows every recipe input, default, constraint, and the correct
    --set or --set-file option.
  • Interactive installs include an input wizard, including explicit Minecraft
    EULA acceptance where a recipe requires it.
  • Long downloads, image resolution, builds, transactions, and readiness waits
    show progress in a terminal.
  • Docker failures include a bounded, useful error tail instead of looking like
    a silent crash.
  • Human output is readable and colored; --json --non-interactive remains
    stable for automation.

Better day-to-day server operation

  • nesk list discovers locally registered instances; nesk import --scan can
    rebuild that index from valid instance state.
  • nesk logs loads recent history by default and supports --tail, --since,
    timestamps, and follow mode with bounded capture.
  • nesk attach is a full-screen console TUI with recent log history, live
    output, command input, scrolling, detach, graceful stop, and kill shortcuts.
  • Runtime state is reconciled with Docker instead of trusting stale metadata.

Security and distribution

  • Downloads, redirects, archives, recipe trees, logs, and package extraction
    are explicitly bounded.
  • Remote bytes are verified with SHA-256; OCI images and Dockerfile base images
    are locked to repository digests.
  • Recipes cannot execute host shell commands. Runtime and check commands are
    explicit argument arrays.
  • Secret inputs come from files, are never persisted, and cannot leak into
    runtime arguments or normal JSON output.
  • Releases include PyPI packages, Linux/macOS/Windows bundles for AMD64 and
    ARM64, checksums, an SBOM, and build provenance.

Install and try it

Linux or macOS:

curl -fsSL https://luminesk.taskov1ch.xyz/sh | sh -s -- --yes

Windows PowerShell:

irm https://luminesk.taskov1ch.xyz/ps1 | iex

Alternatively, install the Python package:

uv tool install luminesk-cli

Then:

nesk doctor
nesk catalog update
nesk search --type core
nesk info paper
nesk install paper --dir ./servers/example
nesk start --dir ./servers/example
nesk attach --dir ./servers/example

For automation, inspect a dry-run first and then provide both inputs and trust
approval explicitly:

nesk install paper --dir ./servers/example \
  --set eula=true --dry-run --json --non-interactive
nesk install paper --dir ./servers/example \
  --set eula=true --yes --json --non-interactive

Documentation: https://luminesk.taskov1ch.xyz

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 13:32

Version 1.1.0, brief changelog.

🔄 Global Rebranding: Luminesk ➔ Luminesk-CLI

As of this release, the project officially changes its name to Luminesk-CLI.
Why did this happen?
"Luminesk" was originally created as a tool exclusively for Nukkit-based cores. However, the project has outgrown these narrow limits. It is now a universal multi-core composer for managing Minecraft Bedrock Edition (MCBE) servers.

⚠️ BREAKING CHANGES:

  • Package Name Change: The internal Python module has been completely renamed from luminesk to luminesk_cli. If you used it as an API in your scripts, please note that import paths have changed!
  • Abstraction from Nukkit: All documentation, landing pages, and internal messages have been rewritten. We now position ourselves as a manager for the broad ecosystem of MCBE cores (Lumi, PowerNukkitX, Nukkit-MOT, Allay, Dragonfly, Endstone, and many others).

v1.0.5

Choose a tag to compare

@github-actions github-actions released this 10 Jul 12:07
e3a48ee

Full Changelog: v1.0.4...v1.0.5

v1.0.4

Choose a tag to compare

@Arkfarin Arkfarin released this 07 Jul 10:59
654e38e

What's Changed

  • deps: bump the python-deps group with 6 updates by @dependabot[bot] in #2
  • Bump the github-actions group across 1 directory with 6 updates by @dependabot[bot] in #1
  • Restructure Luminesk documentation into canonical task-oriented docs and align entrypoints by @Taskov1ch with @Copilot in #3
  • Copilot/create documentation for project by @Taskov1ch in #4
  • Refresh documentation and enhance CI workflow with community files by @Taskov1ch in #5

New Contributors

Full Changelog: https://github.com/task-v1/luminesk-cli/commits/v1.0.4