Skip to main content

Overview

Core follows Semantic Versioning. Patch and minor updates are generally safe to apply directly. Major updates may require code changes documented in UPGRADE.md.
Update typeWhat to expect
Patch (0.x.Y)Bug fixes only. No code changes required.
Minor (0.X.0)New features, backwards compatible. Review release notes.
Major (X.0.0)Breaking changes. Follow the upgrade guide.
Core does not yet have a stable v1. All APIs are experimental and may change in minor versions. Always read the upgrade guide when updating, even on minor releases.

Updating Core

Use the /update-core agent skill in Cursor to perform these steps automatically. The agent will update the package, review the upgrade guide, apply any required code changes, and run tests — all with your approval before making changes.
1

Update the package

composer update inly/core
2

Publish updated assets

php artisan core:update
This re-publishes any Core stubs and assets that have changed since your current version.To update to a specific version, branch, or constraint, pass it as an argument:
php artisan core:update 1.2.3          # Specific version
php artisan core:update dev-main       # Branch (e.g. main)
php artisan core:update ^1.0           # Constraint (latest 1.x)
If you’re already on the right version but things are out of sync (e.g. after symlink or merge issues), use sync instead of update to re-publish and re-align without changing the package version:
php artisan core:sync
3

Review the upgrade guide

Check vendor/inly/core/UPGRADE.md for breaking changes and follow any migration instructions for the version you are upgrading to.
4

Regenerate types and permissions

composer generate-ts
php artisan permissions:generate
5

Build and test

pnpm run build
composer test

Reading the Upgrade Guide

UPGRADE.md in the Core repository documents every breaking change and how to migrate. Each entry is scoped to a version range:
## Upgrading to 0.14.0 from 0.13.x

### CoreTable column API changed
The `sortable()` method now accepts a column name instead of a boolean...
Changes are listed from newest to oldest. Only follow the sections relevant to your upgrade path — if you are jumping from 0.11 to 0.14, follow all sections from 0.12, 0.13, and 0.14.

Pinning Versions

Your composer.json should pin to the current minor version to avoid accidental breaking updates:
"inly/core": "0.1.*"
Update the constraint deliberately when you are ready to upgrade to a new minor version.