Skip to content

1.13.0

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Mar 00:14
· 77 commits to master since this release
79900c2

1.13.0 - 2026-03-10

Compared to 1.12.1: 136 commits across 37 merged pull requests.

Compare: 1.12.1...1.13.0

Highlights

  • Added lockfile support with pawn.lock, lockfile integrity tracking, runtime/build resolution recording, and init/install integration.
  • Added package-level presets so packages can declare a default runtime/compiler target such as openmp directly in the package definition.
  • Added the component:// dependency schema to better model component-style dependencies separately from plugins.
  • Added tag generation and improved handling for previously tagless dependencies.
  • Added an experimental build include file feature for build-time constants and metadata.
  • Reworked build, package, runtime, git, and remote-fetch flows to use clearer abstractions and improved testability.
  • Consolidated filesystem and cache handling through the newer fs, cache, resource, and download helpers.
  • Improved private repository support and auth handling across GitHub release downloads, git, and ensure flows.
  • Hardened watch/build/run behavior with debounce logic, child-process cancellation fixes, and fewer flaky tests.
  • Expanded the documentation set significantly, including package, runtime, CI, container, dependency, quickstart, and migration guides.

Added

  • pawn.lock generation and lockfile-aware dependency resolution.
  • component:// dependency support.
  • Root-level package preset support.
  • Automatic tag assignment for tagless dependencies.
  • Experimental build file generation for compile-time constants.
  • A large new offline fixture and regression test suite across package, runtime, resource, and download flows.
  • Dedicated documentation for migrating from SA-MP to open.mp.

Changed

  • Init/ensure flows were aligned so init prepares dependencies more like ensure.
  • Runtime paths are normalized more consistently.
  • local no longer needs to be explicitly set in the root package definition in common cases.
  • Bash completion and several command helpers were consolidated.
  • Release interactions were abstracted behind an interface for easier testing.
  • Remote resource fetching, cache layout, and filesystem helpers were consolidated and cleaned up.
  • The project documentation moved away from a README-heavy layout into a fuller docs set.

Fixed

  • Private repo release downloads now use authenticated GitHub client flows where needed.
  • Git auth is now applied more consistently across HTTPS and SSH operations.
  • Compiler path resolution now uses the correct repository/user-aware base path.
  • Compiler source path handling for issue #587 was corrected.
  • Build watchers now debounce file changes and avoid re-extract collisions.
  • Child-process cancellation no longer leaks into subsequent watcher runs.
  • Plugin/component install-location regressions were corrected.
  • Include-path regressions introduced by newer schema work were addressed.
  • Scoop install docs and manifest handling were corrected after naming changes.
  • Retry logic now avoids retrying non-5xx failures and handles GitHub backoff more safely.
  • Config-file permissions were tightened.
  • Several flaky and fixture-dependent tests were stabilized.

Compatibility Notes

  • Legacy samp.json-related code was removed.
  • Legacy sampctl-runtime-manifest.json handling was removed.
  • Packages adopting presets, lockfiles, or component dependencies may want to refresh their docs and CI to match the newer workflow.

Documentation

  • Reworked and expanded docs across install, quickstart, package definitions, runtime configuration, dependencies, plugin resources, testing, CI, caching, troubleshooting, and global config.
  • Added a library creator guide.
  • Added a migration guide for moving packages from SA-MP to open.mp.
  • Improved runtime field documentation, especially for open.mp.

Dependency And Tooling Updates

  • Bumped github.com/go-git/go-git/v5 from 5.16.4 to 5.17.0 over two updates.
  • Bumped golang.org/x/sys from 0.38.0 to 0.41.0 over two updates.
  • Bumped golang.org/x/text from 0.31.0 to 0.34.0 over two updates.
  • Bumped golang.org/x/oauth2 from 0.33.0 to 0.35.0 over two updates.
  • Bumped github.com/jedib0t/go-pretty/v6 from 6.7.5 to 6.7.8 over two updates.
  • Bumped actions/upload-artifact from 5 to 7 over two updates.
  • Bumped docker/login-action from 3 to 4.
  • Bumped goreleaser/goreleaser-action from 6 to 7.

Merged Pull Requests In This Release

  • #565 More refactoring
  • #566 feat: added component schema for dependencies (fixes #563)
  • #555 chore(deps): bump golang.org/x/sys from 0.38.0 to 0.39.0
  • #561 chore(deps): bump actions/upload-artifact from 5 to 6
  • #556 chore(deps): bump golang.org/x/oauth2 from 0.33.0 to 0.34.0
  • #557 chore(deps): bump golang.org/x/text from 0.31.0 to 0.32.0
  • #558 chore(deps): bump github.com/jedib0t/go-pretty/v6 from 6.7.5 to 6.7.7
  • #567 Just a tweak in comments
  • #568 Add package preset
  • #569 fix: forgot to update init command usage to reflect preset runtime to preset replacement
  • #570 Refactor documentation
  • #571 feat: add tags to tagless dependencies (fixes #185)
  • #572 chore(deps): bump github.com/jedib0t/go-pretty/v6 from 6.7.7 to 6.7.8
  • #573 chore: add scoop install instructions to documentation
  • #574 Fix Scoop installation instructions to support automatic updates
  • #575 Additional docs
  • #576 fix: structuring openmp fields and documenting all runtime fields
  • #577 Refactor tweaks
  • #579 fix: scoop manifest was broken due to goreleaser naming convention changes
  • #580 fix: plugins being treated as components due to the legacy changes
  • #582 fix: attempt to fix the include path regression caused by new schema additions
  • #585 doc: added documentation for migrating from sa-mp to openmp
  • #586 Update command for initializing open.mp runtime
  • #553 add lockfile support
  • #592 fix: forced compiler to use base path as the source (fixes #587)
  • #588 chore(deps): bump golang.org/x/sys from 0.39.0 to 0.41.0
  • #589 chore(deps): bump github.com/go-git/go-git/v5 from 5.16.4 to 5.16.5
  • #591 chore(deps): bump golang.org/x/oauth2 from 0.34.0 to 0.35.0
  • #590 chore(deps): bump golang.org/x/text from 0.32.0 to 0.34.0
  • #594 fix: private repos were using FromNet which does not pass auth headers
  • #596 feat: added new build file under experimental feature flags
  • #599 chore(deps): bump goreleaser/goreleaser-action from 6 to 7
  • #600 chore(deps): bump github.com/go-git/go-git/v5 from 5.16.5 to 5.17.0
  • #602 chore(deps): bump docker/login-action from 3 to 4
  • #601 chore(deps): bump actions/upload-artifact from 6 to 7
  • #603 fix: git auth for HTTPS/SSH was not used for all git operations where it made sense
  • #604 fix: added watcher debounce and checks to prevent re-extracting compiler which can cause access collisions
  • #609 Refactor app workflow

Contributors In This Range

  • ADRFranklin
  • themxp
  • mxp96
  • timel0st
  • Nexius
  • dependabot[bot]
  • copilot-swe-agent[bot]