Skip to content
This repository was archived by the owner on May 10, 2026. It is now read-only.

Changelog

AME Bot edited this page Apr 19, 2026 · 3 revisions

πŸ“‹ Changelog

← Home

Full detailed changelog: docs/CHANGELOG.md


v4.0.3 β€” 2026-04-19

Dispatch Safety Refactor β€” All internal callback dispatch is now routed through a single auditable gateway.

  • New module: macro:core/dispatch/ β€” central function dispatch hub.
    • core/dispatch/run β€” reads macro:engine._dispatch.func from storage and invokes exec.
    • core/dispatch/exec β€” the only file in AME that executes $function $(func). Never call directly.
  • New tag: #macro:internal/dispatch β†’ ["macro:core/dispatch/run"]. Override this tag in your own overlay/pack to inject validation or audit logging at the dispatch layer without touching call sites.
  • Eliminated all $function $(func) occurrences from 29 call sites across the codebase (fiber, hook, queue, schedule, repeat, once, logic/if_*, for_each, geo, wand, trigger, uuid, region_watch, tick channels) and replaced with the _dispatch.func write + tag call pattern.
  • Mirrored to all legacy overlays: 1_20_3, 1_20_5.
  • Intentional exceptions (unchanged): multi_cmd/exec_func_macro (list-based), execute_validated/run (pre-validated, needs with storage macro:input {}), debug/tools/trigger/internal/exec_func (two-part $(ns):$(path) construction).

Pack authors: the public API (macro:input / macro:output) is unchanged. This refactor is internal only.


v4.0.1 β€” 2026-04-13

Load Confirmation Gate β€” ame_load:load/confirm / yes / no / timeout. Storage is never written until an admin confirms. Prevents silent data loss on /reload.

Dangerous Command Gate β€” ban, ban_ip, disable now go through ame_load:gate/ with 30-second auto-cancel.

Storage Safety β€” storages.mcfunction uses execute unless data guards on all fields.

Marker Entity Pattern β€” All gate messages use summon marker β†’ say β†’ kill for reliable server-log output on headless servers.


v4.0.1 β€” 2026-04-12

StringLib Integration β€” StringLib (CMDred, MIT) bundled directly. Access via macro:core/lib/string/* wrappers: concat, find, replace, split, insert, to_lowercase, to_uppercase, to_number, to_string.


v3.0.3 β€” 2026-04-11

New overlay: 1_20_5 (pack_format 41–47).
New: math/mul_div β€” overflow-safe aΓ—bΓ·c.


v3.0.2 β€” 2026-04-10

New overlay: 1_20_3 (pack_format 26).
New: queue/ multi-command queue system.
New: All hook advancements for 1_20_3 and 1_20_5 overlays.
New: spyglass.json static analysis config.
Fix: Trigger system unified into dispatch hub.


v3.0.1 β€” 2026-04-09

New: time/get_time, time/time_phase, hook/reset_all.
Fix: Version string mismatch in all overlays (v4.0.1 β†’ v3.0.1).


v4.0.1 β€” 2026-04-04

Breaking: rate_limit module fully rewritten β€” sub-function API removed. New check / tick / config pure-scoreboard API.


v2.2.9 β€” 2026-04-04

New: cooldown/pause, cooldown/resume, player/is_flying, string/repeat.


v2.2.8 β€” 2026-04-03

New: entity/for_each_in_radius, player/is_on_ground, player/is_burning, inv/offhand_item, world/get_time, nbt/merge, nbt/first, flag/set_if, flag/any.


v2.2.7 β€” 2026-04-02

New: math/round, math/sign_nonzero, string/truncate, string/pluralize, player/get_armor, player/is_sneaking, player/is_sprinting, entity/clear_effects, entity/set_health, entity/nearest, flag/set_if, flag/any.


v2.2.6 β€” 2026-03-30

New overlay: 1_20_3 compatibility fixes (predicates, loot tables, advancement display).


v2.2.2

New: cmd/swing, cmd/time_of, cmd/set_clock_rate.


v2.2.1 β€” 2026-03-23

Fix: Spurious Unknown function errors, wand/register errors, silent dialog fail.


v2.2.0 β€” 2026-03-22

New modules: lib/fiber/ (cooperative concurrency), math/vec/ (3D vectors), geo/region_watch/ (persistent region triggers), lib/batch/ (tick-spread processing).
New hook events: dimension_change, trade, advancement:<id>.


v2.1.2 β€” 2026-03-19

New: wand/ module β€” carrot-on-a-stick right-click detection with bind/unbind/cooldown system.
Fix: ame_load:load/internal/validate version mismatch on reload.
Fix: macro:api/cmd/save-all etc. wrapped via run_self to avoid single-player parse error.
Renamed overlay: -1_21_4 β†’ compat_1_21_4.


v2.0.3 β€” 2026-03-14

New: macro:version function, uuid/ module, math/lerp_clamped, cooldown/extend, state/toggle, event/fire_as, string/format_ticks, player/get_dimension.
New: Scheduler cmd variant functions (lib/schedule_cmd, lib/wait_cmd, etc.).
Fix: tools/utils/input_check version comparison (uppercase V β†’ lowercase v).


v2.0.2 β€” 2026-03-11

New: Player PID system β€” unique integer IDs for duplicate-name-safe targeting.
Fix: math/random distribution bias removed.


v2.0.0 β€” 2026-03-10

New: perm/ permission system (grant/revoke/check/run/exec).
New: perm/trigger/ β€” permission-protected named triggers.


v1.0.6-pre4 β€” 2026-03-06

New: Multi-command system, flag/open_toggle_system_menu.


v1.0.6-pre3 β€” 2026-03-05

New: Flag-controlled tick subsystem (5 independently-togglable subsystems).
Fix: flag/toggle_system macro variable conflict, double-execute race condition.


v1.0.5 β€” 2026-03-05

Breaking: action key β†’ callback, then β†’ invoke (v1.0.6-pre2).
Fix: dialog/close unreachable code after return run.


v1.0.3-pre

New: Log system (log/*), tick-guard (lib/tick_guard), trigger system (trigger/*).


v1.0.0

Initial release. Auto-HUD, string/progress_bar, load/warn dialog, base API.

Clone this wiki locally