HydePHP v2.0.0 - 2025-10-01 #700
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
HydePHP v2.0 Release Notes
Overview
HydePHP v2.0 represents a major evolution of the framework, introducing significant improvements to the asset system, navigation API, and overall developer experience. This release modernizes the frontend tooling by replacing Laravel Mix with Vite, completely rewrites the navigation system for better flexibility, and introduces numerous performance optimizations throughout the framework.
This document will give you an overview of the changes. When you're ready to upgrade your site, take a look at the Upgrade Guide.
Major Features
🚀 Modern Frontend Tooling with Vite
We've replaced Laravel Mix with Vite for a faster, more modern development experience:
_mediafolder for cleaner buildsnpm run buildinstead ofnpm run prod(or--viteduring the site build)🎨 Enhanced Asset Management System
The new consolidated Asset API provides a more intuitive interface for handling media files:
getLink(),getLength(), andgetMimeType()🧭 Redesigned Navigation API
The navigation system has been completely rewritten for maximum flexibility:
📝 Improved Documentation Features
Documentation pages now benefit from several enhancements:
🎯 Better Developer Experience
Numerous quality-of-life improvements for developers:
booting()andbooted()methodsUpgrading to v2.0
📖 For complete step-by-step upgrade instructions, see the Upgrade Guide.
Important: PHP 8.2+ is now required. Laravel Mix has been replaced with Vite, and Tailwind CSS has been upgraded to v4.
Breaking Changes
High Impact Changes
1. Tailwind CSS v4 Upgrade
We've upgraded from Tailwind CSS v3 to v4. Run the automated upgrade tool to migrate your custom classes:
Review the Tailwind v4 Upgrade Guide for detailed breaking changes.
2. ESM Module Migration
Frontend tooling now uses ESM modules instead of CommonJS. If you have custom JavaScript, update to ESM syntax:
Before:
After:
3. Navigation Configuration Format
Update your navigation configuration to use the new array-based format:
Before:
After:
4. Features Configuration
Replace static method calls with enum values in your
config/hyde.php:Before:
After:
'features' => [ Feature::HtmlPages, Feature::MarkdownPosts, ],General Impact Changes
Post Author System
The blog post author feature has been significantly improved:
Configuration changes:
Key changes:
Author::create()returns an array instead of aPostAuthorinstanceAuthor::get()returnsnullif not found (previously created new instance)Hyde::authors()method provides access to all site authorsThe way this system now works is that you first define authors in the config, Hyde then loads this during the booting process, and you can then access them using the get method.
Medium Impact Changes
Asset API Updates
All asset methods now return
MediaFileinstances instead of strings. This instance can be cast to a string which will automatically resolve to a relative link at that time. You can also call helper methods on it. When using Blade templates, thanks to the Stringable implementation no change will happen.Configuration changes:
hyde.enable_cache_bustingtohyde.cache_bustinghyde.hydefront_versionandhyde.hydefront_cdn_urlRoutes Facade API
Methods renamed to follow Laravel conventions:
DataCollection API
DataCollectionstoDataCollectionParseExceptionfor malformed filesroutefunction now throwsRouteNotFoundExceptionif route not foundLow Impact Changes
Includes Facade Return Types
Methods now return
HtmlStringobjects:{{ e(Includes::html('foo')) }}for user-generated content.Documentation Search Generation
The documentation search page is now generated as an
InMemoryPageinstead of a post-build task, meaning it appears in the dashboard and route list.Sidebar Configuration
Documentation sidebar configuration has been reorganized:
docs.sidebar_order→docs.sidebar.orderdocs.table_of_contents→docs.sidebar.table_of_contentsdocs.sidebar_group_labels→docs.sidebar.labelsNew Features
Enhanced Blog Posts
Hyde::authors()Improved Build System
Developer Tools
booting()andbooted()methods[Home](/_pages/index.blade.php))Package Updates
Realtime Compiler
HydeFront
Performance Improvements
Dependency Updates
Removed Features
Deprecated Method Removals
PostAuthor::getName()- use$author->namepropertyFeaturedImage::isRemote()- useHyperlinks::isRemote()DocumentationPage::getTableOfContents()- use Blade componentMarkdownService::withPermalinks()andcanEnablePermalinks()Build Commands
npm run prod- replaced bynpm run build--run-devand--run-prodflags - replaced by--vite--run-prettierflag and Prettier dependency removedConfiguration Options
hyde.hydefront_versionandhyde.hydefront_cdn_url- now handled automaticallyhyde.enable_cache_busting- renamed tohyde.cache_bustinghyde.navigation.subdirectories- renamed tohyde.navigation.subdirectory_displayComponents and Files
hyde.cssfrom HydeFront - all styles now inapp.csstable-of-contents.css,heading-permalinks.css,blockquotes.css- styles now use Tailwind.torchlight-enabledCSS class<x-hyde::docs.search-input />and<x-hyde::docs.search-scripts />components - replaced by<x-hyde::docs.hyde-search />Support & Resources
For the complete changelog with all pull request references, see the full changelog.