Releases
SilkMC release history, newest first. Each release ships a paperclip jar attached to the upstream GitHub release.
The full upstream notes live at tame-gg/SilkMC/releases.
v0.1.5-alpha
Builds on v0.1.4 — all v0.1.2 / v0.1.3 / v0.1.4 compatibility infrastructure remains in place.
Highlights
- Added per-plugin compatibility overrides through
silkmc-plugin-overrides.yml. - Added the
/silkmcoperator command withstatus,plugins,report <plugin>, andreload. - Added a curated plugin compatibility smoke test workflow for pull requests and pushes to
main.
Per-plugin overrides
- SilkMC auto-generates an empty
silkmc-plugin-overrides.ymlon first boot. - Operators can override plugin classification to
SAFE,COMPATIBLE,UNKNOWN,UNSAFE, orAUTO. force-load: truecan be used for reviewed plugins that would otherwise be blocked.- Override use is logged with the configured operator reason for auditability.
CI smoke test
- GitHub Actions builds SilkMC, creates the paperclip jar, boots a real server, and checks
latest.log. - The curated plugin pack is pinned by explicit versioned download URLs.
- The workflow fails on unexpected
ERRORorSEVERElog lines outsideci/smoke-test-allowlist.txt. - LuckPerms remains the key regression target for the scheduler bridge and delay/period clamp path.
v0.1.4-alpha
Introduces the SilkPluginCompatibilityManager — a pre-load JAR inspection and classification system that decides what to do with each plugin before it is enabled.
Plugin Compatibility Manager
Every plugin JAR is inspected before it is enabled. The manager:
- Inspects the JAR — reads
plugin.yml/ Paper plugin metadata and scans all class bytes for known API and NMS references. - Classifies the plugin into
SAFE,COMPATIBLE,UNSAFE, orUNKNOWN. - Decides whether to load normally, load with shims, or block — and prints a structured rejection log for blocked plugins.
- Activates shims for COMPATIBLE plugins (scheduler bridge, teleport bridge, lifecycle classifier).
Configuration
compatibility:
strict-mode: true
allow-unknown-plugins: false
log-analysis: true Known limitations
- Bytecode inspection uses byte-string scanning of the class constant pool rather than full data-flow analysis. The trade-off is zero new runtime dependencies and very fast scanning.
- The classifier intentionally errs on the side of
COMPATIBLEfor plugins that only use surface Bukkit/Paper APIs. - Plugins whose JARs cannot be opened are classified
UNKNOWN.
v0.1.3-alpha
Bug-fix release on top of v0.1.2-alpha. Resolves a crash that prevented LuckPerms and similar plugins from enabling.
Fixes
- Scheduler bridge:
Delay ticks may not be <= 0— the legacyBukkitScheduler.runTask()path passesdelay=0to the bridge. The bridge now routesdelay <= 0for one-shot tasks throughGlobalRegionScheduler.run(...), clampsperiodto a minimum of 1 tick for repeating tasks, and clamps any positivedelayfor repeating tasks to at least 1 tick. - Compatibility classifier — recognizes
IllegalArgumentExceptionmessages containing"delay ticks may not be","period ticks may not be", and"initial delay must be"and reports them as clean compatibility failures.
v0.1.2-alpha
Focused on massively improving plugin compatibility with the Paper, Bukkit, and Spigot ecosystems while preserving Folia's regional multithreading performance.
- Scheduler bridging: legacy
BukkitSchedulercalls are bridged to the Global Region Scheduler instead of throwing. - Teleport compatibility: sync teleports route to
teleportAsyncwhen safe; cross-region warns and returns optimistically. - Plugin loading policy: unmarked plugins can load in warning mode by default; warn / require / auto-disable modes available.
- silk-supported metadata: both
silk-supportedand legacyfolia-supportedare honored. - Branding: startup banners, build metadata, version fetcher, and metrics report
SilkMC.
v0.1.0-alpha
The initial public release. SilkMC begins as a compatibility-focused fork of Folia's latest stable upstream with its own branding, documentation, CI, and release flow.
- Preserve regional multithreading.
- Improve plugin compatibility pragmatically.
- Keep vanilla gameplay stable.