Changelog
Updated
Unreleased
- Breaking: the package moved to the byteminus organisation. Install
byteminus/laravel-ai-bloginstead ofhawkforge/laravel-ai-blog, and changeuse AiBlog\...touse ByteMinus\AiBlog\...in your code. Published config files need the same change. - Fix: the AI features now work with laravel/ai 1.x. The assistant looked for a
Laravel\Ai\Facades\Aiclass that laravel/ai does not have, so every AI call failed with "need the laravel/ai SDK" even when it was installed. It now sends each request throughLaravel\Ai\AnonymousAgent. - Docs: the migrations publish tag is
ai-blog-migrations(the README saidlaravel-ai-blog-migrations, which publishes nothing), and MCP tool names are written the way clients see them, in kebab-case (list-posts,schedule-post). - Website with docs, a 107-question FAQ, diagrams and an AI-readable layer (
llms.txt, Markdown copies of every page): https://byteminus.github.io/laravel-ai-blog/
0.1.1 - 2026-10-14
- SEO: post pages now send a canonical URL by default (the post's own address),
og:url,og:site_name,article:modified_time, an absoluteog:imageandtwitter:image, and arobotstag that allows large image previews; empty description tags are no longer sent - SEO:
BlogPostingJSON-LD now includes the pageurl, thepublisherand an absoluteimage - SEO: index, category and tag pages send a description, canonical URL,
prev/nextlinks, an RSS link and a distinct title per page of results; newai-blog.seo.descriptionoption - Feed: RSS now declares its language and last build date and marks permalink GUIDs
- Docs: README says Laravel 10 to 13 throughout, lists what the pages send to search engines and answers common questions
0.1.0 - 2026-10-14
- Headless core: Post, Category, Tag; draft/scheduled/published lifecycle;
HasBlogSeotrait for existing models - SEO: on-page score with fixes, TF-IDF internal-link suggestions, stale-post detection, BlogPosting + FAQPage JSON-LD
- AI (laravel/ai): brief → draft, enrich SEO fields, rewrite, refresh suggestions, translate;
FakeAssistantfor tests and no-AI mode - MCP (laravel/mcp): BlogServer with list/get/create/update/draft-from-keyword/score/suggest-links/schedule tools and a style-guide resource
- Commands:
ai-blog:publish-scheduled,ai-blog:audit - Opt-in public routes, RSS feed, Blade components
- Safe fetching:
SafeFetcherwith URL and IP policy, DNS pinning, robots.txt, size and time caps; RSS/Atom/RDF/JSON Feed parser; text extraction that marks fetched content as untrusted - Command bus: abilities, idempotency keys, dry runs and an audit trail (
commandsandaudit_eventstables) - Requires PHP 8.2 to 8.5 and Laravel 10 to 13; tested at the newest and the oldest dependency versions
- Text extraction uses PHP 8.4's HTML5 parser where available and libxml2's HTML parser on older PHP