From 3de5efddcb28622c0b326a095a8bf22941387bf3 Mon Sep 17 00:00:00 2001 From: Emma De Silva Date: Tue, 30 Sep 2025 11:28:10 +0200 Subject: [PATCH] Remove experimental annotations from codebase Removed various @experimental comments and annotations from documentation, configuration, and source files to reflect stabilization of features and APIs. Updated documentation to indicate 'basic' rather than 'experimental' support for Blade front matter. No functional code changes were made. --- docs/getting-started/core-concepts.md | 2 +- docs/getting-started/front-matter.md | 2 +- monorepo/gh-pages/gh-pages-config-dev-docs/config/hyde.php | 4 ++-- monorepo/gh-pages/gh-pages-config/config/hyde.php | 4 ++-- packages/framework/src/Facades/Config.php | 2 +- .../src/Framework/Concerns/RegistersFileLocations.php | 2 +- .../Framework/Exceptions/InvalidConfigurationException.php | 2 -- .../framework/src/Framework/Exceptions/ParseException.php | 1 - .../src/Framework/Features/Navigation/NavigationGroup.php | 1 - .../Features/Navigation/NavigationMenuGenerator.php | 3 --- packages/framework/src/Support/Internal/RouteListItem.php | 1 - packages/framework/src/Support/Models/RouteKey.php | 2 -- .../realtime-compiler/src/Console/Commands/ServeCommand.php | 1 - packages/realtime-compiler/src/ConsoleOutput.php | 1 - packages/testing/src/FluentTestingHelpers.php | 6 ------ 15 files changed, 8 insertions(+), 26 deletions(-) diff --git a/docs/getting-started/core-concepts.md b/docs/getting-started/core-concepts.md index 47ed038ef70..678c2685f7c 100644 --- a/docs/getting-started/core-concepts.md +++ b/docs/getting-started/core-concepts.md @@ -134,7 +134,7 @@ Lorem ipsum dolor sit amet, etc. ### Front Matter in Blade -HydePHP has experimental support for creating front-matter in Blade templates, called [BladeMatter](front-matter#front-matter-in-blade), +HydePHP has basic support for creating front-matter in Blade templates, called [BladeMatter](front-matter#front-matter-in-blade), where code in `@php` directives are statically parsed into page object's front matter data where it can be accessed in your templates. ```blade diff --git a/docs/getting-started/front-matter.md b/docs/getting-started/front-matter.md index ea41a9fc581..bff39ed2ea1 100644 --- a/docs/getting-started/front-matter.md +++ b/docs/getting-started/front-matter.md @@ -58,7 +58,7 @@ Lorem ipsum dolor sit amet, etc. ### Front Matter in Blade -HydePHP has experimental support for creating front-matter in Blade templates, called BladeMatter. +HydePHP has basic support for creating front-matter in Blade templates, called BladeMatter. The actual syntax does not use YAML; but instead PHP. However, the parsed end result is the same. Please note that BladeMatter currently does not support multidimensional arrays or multi-line directives as the data is statically parsed. diff --git a/monorepo/gh-pages/gh-pages-config-dev-docs/config/hyde.php b/monorepo/gh-pages/gh-pages-config-dev-docs/config/hyde.php index b5a330ef97c..bfd18a3b10a 100644 --- a/monorepo/gh-pages/gh-pages-config-dev-docs/config/hyde.php +++ b/monorepo/gh-pages/gh-pages-config-dev-docs/config/hyde.php @@ -209,14 +209,14 @@ /* |-------------------------------------------------------------------------- - | Site Output Directory (Experimental 🧪) + | Site Output Directory |-------------------------------------------------------------------------- | | If you want to store your compiled website in a different directory than | the default `_pages`, you can change the path here. The Hyde::path() | helper ensures the path is relative to your Hyde project. While | you can set the path to an absolute path outside the project, - | this is not officially supported and may be unstable. + | that is not officially supported and may be unstable. | */ diff --git a/monorepo/gh-pages/gh-pages-config/config/hyde.php b/monorepo/gh-pages/gh-pages-config/config/hyde.php index 69892af9b0f..18a676fa739 100644 --- a/monorepo/gh-pages/gh-pages-config/config/hyde.php +++ b/monorepo/gh-pages/gh-pages-config/config/hyde.php @@ -208,14 +208,14 @@ /* |-------------------------------------------------------------------------- - | Site Output Directory (Experimental 🧪) + | Site Output Directory |-------------------------------------------------------------------------- | | If you want to store your compiled website in a different directory than | the default `_pages`, you can change the path here. The Hyde::path() | helper ensures the path is relative to your Hyde project. While | you can set the path to an absolute path outside the project, - | this is not officially supported and may be unstable. + | that is not officially supported and may be unstable. | */ diff --git a/packages/framework/src/Facades/Config.php b/packages/framework/src/Facades/Config.php index f9630af424b..77aaeeb0a67 100644 --- a/packages/framework/src/Facades/Config.php +++ b/packages/framework/src/Facades/Config.php @@ -44,7 +44,7 @@ public static function getFloat(string $key, ?float $default = null): float return (float) self::validated(static::get($key, $default), 'float', $key); } - /** @experimental Could possibly be merged by allowing null returns if default is null? Preferably with generics so the type is matched by IDE support. */ + /** @experimental */ public static function getNullableString(string $key, ?string $default = null): ?string { /** @var array|string|int|bool|float|null $value */ diff --git a/packages/framework/src/Framework/Concerns/RegistersFileLocations.php b/packages/framework/src/Framework/Concerns/RegistersFileLocations.php index b44c780865b..24c56ab8285 100644 --- a/packages/framework/src/Framework/Concerns/RegistersFileLocations.php +++ b/packages/framework/src/Framework/Concerns/RegistersFileLocations.php @@ -104,7 +104,7 @@ protected function getOutputDirectoryConfiguration(string $class, string $defaul private function getPageConfiguration(string $option, string $class, string $default): string { - return Config::getNullableString("hyde.$option.".Str::kebab(class_basename($class))) /** @experimental Support for using kebab-case class names */ + return Config::getNullableString("hyde.$option.".Str::kebab(class_basename($class))) ?? Config::getNullableString("hyde.$option.$class") ?? $default; } diff --git a/packages/framework/src/Framework/Exceptions/InvalidConfigurationException.php b/packages/framework/src/Framework/Exceptions/InvalidConfigurationException.php index 306b6fd4a51..f54ebfc084e 100644 --- a/packages/framework/src/Framework/Exceptions/InvalidConfigurationException.php +++ b/packages/framework/src/Framework/Exceptions/InvalidConfigurationException.php @@ -48,8 +48,6 @@ protected function findConfigLine(string $namespace, string $key): array /** * @internal - * - * @experimental */ public static function try(callable $callback, ?string $message = null): mixed { diff --git a/packages/framework/src/Framework/Exceptions/ParseException.php b/packages/framework/src/Framework/Exceptions/ParseException.php index 1611bdbd347..f3af4e6c0f6 100644 --- a/packages/framework/src/Framework/Exceptions/ParseException.php +++ b/packages/framework/src/Framework/Exceptions/ParseException.php @@ -12,7 +12,6 @@ use function sprintf; use function explode; -/** @experimental This class may change significantly before its release. */ class ParseException extends RuntimeException { /** @var int */ diff --git a/packages/framework/src/Framework/Features/Navigation/NavigationGroup.php b/packages/framework/src/Framework/Features/Navigation/NavigationGroup.php index 229960da009..59108e5644a 100644 --- a/packages/framework/src/Framework/Features/Navigation/NavigationGroup.php +++ b/packages/framework/src/Framework/Features/Navigation/NavigationGroup.php @@ -57,7 +57,6 @@ protected function containsOnlyDocumentationPages(): bool }); } - /** @experimental This method is subject to change before its release. */ public static function normalizeGroupKey(string $group): string { return Str::slug($group); diff --git a/packages/framework/src/Framework/Features/Navigation/NavigationMenuGenerator.php b/packages/framework/src/Framework/Features/Navigation/NavigationMenuGenerator.php index 02467e4c986..83cf0ea1449 100644 --- a/packages/framework/src/Framework/Features/Navigation/NavigationMenuGenerator.php +++ b/packages/framework/src/Framework/Features/Navigation/NavigationMenuGenerator.php @@ -19,9 +19,6 @@ use function in_array; use function strtolower; -/** - * @experimental This class may change significantly before its release. - */ class NavigationMenuGenerator { /** @var \Illuminate\Support\Collection */ diff --git a/packages/framework/src/Support/Internal/RouteListItem.php b/packages/framework/src/Support/Internal/RouteListItem.php index 43e11c1b9be..18a1ed06761 100644 --- a/packages/framework/src/Support/Internal/RouteListItem.php +++ b/packages/framework/src/Support/Internal/RouteListItem.php @@ -45,7 +45,6 @@ protected function stylePageType(string $class): string $page = $this->route->getPage(); - /** @experimental The typeLabel macro is experimental */ if ($page instanceof InMemoryPage && $page->hasMacro('typeLabel')) { $type .= sprintf(' (%s)', (string) $page->__call('typeLabel', [])); } diff --git a/packages/framework/src/Support/Models/RouteKey.php b/packages/framework/src/Support/Models/RouteKey.php index ab2dcf59d29..a97916c8263 100644 --- a/packages/framework/src/Support/Models/RouteKey.php +++ b/packages/framework/src/Support/Models/RouteKey.php @@ -57,8 +57,6 @@ public static function fromPage(string $pageClass, string $identifier): self } /** - * @experimental - * * @param class-string<\Hyde\Pages\Concerns\HydePage> $pageClass * */ protected static function stripPrefixIfNeeded(string $pageClass, string $identifier): string diff --git a/packages/realtime-compiler/src/Console/Commands/ServeCommand.php b/packages/realtime-compiler/src/Console/Commands/ServeCommand.php index bce230387a4..8b583284a8c 100644 --- a/packages/realtime-compiler/src/Console/Commands/ServeCommand.php +++ b/packages/realtime-compiler/src/Console/Commands/ServeCommand.php @@ -230,7 +230,6 @@ protected function handleViteOutput(): void } } - /** @experimental This feature may be removed before the final release. */ protected function isPortAvailable(int $port): bool { $addresses = ['localhost', '127.0.0.1']; diff --git a/packages/realtime-compiler/src/ConsoleOutput.php b/packages/realtime-compiler/src/ConsoleOutput.php index e756e026a76..26db520ab13 100644 --- a/packages/realtime-compiler/src/ConsoleOutput.php +++ b/packages/realtime-compiler/src/ConsoleOutput.php @@ -64,7 +64,6 @@ public function getFormatter(): Closure }; } - /** @experimental */ public function printMessage(string $message, string $context): void { $this->output->writeln(sprintf('%s ::context=[%s]', $message, $context)); diff --git a/packages/testing/src/FluentTestingHelpers.php b/packages/testing/src/FluentTestingHelpers.php index 117a339467b..f610841c77a 100644 --- a/packages/testing/src/FluentTestingHelpers.php +++ b/packages/testing/src/FluentTestingHelpers.php @@ -63,9 +63,6 @@ protected function assertAllSame(...$vars): void } } - /** - * @experimental Helper to print and die. - */ protected function dd($var): void { if (is_string($var)) { @@ -83,9 +80,6 @@ protected function dd($var): void exit; } - /** - * @experimental Helper function to format an array as a plain PHP array with [] syntax. - */ private function formatArray(array $array): string { $json = json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);