Skip to content

Support Laravel 13 - #1

Merged
drscript merged 2 commits into
1.xfrom
cursor/laravel-13-support-b7ee
Sep 25, 2026
Merged

drscript merged 2 commits into
1.xfrom
cursor/laravel-13-support-b7ee

Conversation

@drscript

@drscript drscript commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

Summary

Wink now installs on PHP 8.3+ with Laravel 11, 12, or 13. Laravel 13 is the version this change is verified against.

  • composer.json requires php: ^8.3 and laravel/framework: ^11.0||^12.0||^13.0. league/commonmark is a direct dependency because posts render Markdown with it.
  • WinkAuthor implements getAuthPasswordName(), which the Authenticatable contract has required since Laravel 11. Without it, login cannot rehash passwords.
  • Route files import the Route facade, and password reset uses the Hash facade class. Fresh Laravel 11+ apps no longer register global facade aliases, so \Route and \Hash are not defined.
  • Routes only set a domain when wink.domain is non-empty. Laravel 13 matches domain routes ahead of host-agnostic routes.
  • wink:migrate loads migrations from the package directory instead of a hard-coded vendor/themsaid/wink path.
  • Default uploads use the public disk (wink/images). Laravel 11+ points the local disk at storage/app/private, which storage:link does not expose. Markdown rendering calls CommonMark's convert() API.

The Vue admin bundle is unchanged. Laravel 13 still provides the mix() helper those views use.

Public models, routes, commands, and the admin UI are unchanged.

Upgrade notes

Published config/wink.php files should set:

'storage_disk' => env('WINK_STORAGE_DISK', 'public'),
'storage_path' => env('WINK_STORAGE_PATH', 'wink/images'),

Files uploaded on Laravel 10 with the old defaults already live in storage/app/public/wink/images. Move any files that landed in storage/app/private/public/wink/images after a Laravel 11+ upgrade.

Verification

  • composer update in this package resolves laravel/framework v13.33.0 with Orchestra Testbench v11.3.0.
  • PHPUnit on PHP 8.3: 12 tests, 78 assertions, all passing. They cover migrations on the separate Wink connection, install/migrate commands, login, logout, password reset, post/page/tag/author APIs, Markdown rendering, and public image uploads.
  • A fresh laravel/laravel 13.10 app (laravel/framework v13.33.0) can composer require this branch. wink:install and wink:migrate succeed, /wink/login renders, a created author can sign in, and /wink/api/posts returns the paginated JSON the admin UI expects.
Open in Web Open in Cursor 

cursoragent and others added 2 commits September 25, 2026 14:56
Require PHP 8.3 and Laravel 11–13, and update Wink for the
authentication contract, facade aliases, and public upload disk.

Co-authored-by: Yeta Zulu <drscript@users.noreply.github.com>
The ^11.5 constraint only matched the 11.x dev branch. ^11.0
resolves to stable v11.3, which still runs the suite on Laravel 13.

Co-authored-by: Yeta Zulu <drscript@users.noreply.github.com>
@drscript
drscript marked this pull request as ready for review September 25, 2026 16:18
@drscript
drscript merged commit b6e33be into 1.x Sep 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants