v1.0.0-RC.1 - 2023-03-07
caendesilva
released this
07 Mar 22:14
·
10977 commits
to master
since this release
What's Changed
- Update the RealtimeCompiler package by @caendesilva in #561
- Added XML support to File.php by @LunarMarathon in #563
- Add more matrix tests by @caendesilva in #567
- Flush the component cache when tearing down the test by @caendesilva in #565
- Breaking: Set minimum PHP version to 8.1 by @caendesilva in #572
- Code cleanup by @caendesilva in #573
- Add a version constant to the HydeKernel by @caendesilva in #574
- Change version method to return the new version constant instead of using Composer by @caendesilva in #575
- Refactor internal metadata handling by @caendesilva in #576
- Refactor navigation data handling by @caendesilva in #577
- Remove interface ActionContract.php by @caendesilva in #578
- Inline single usage trait askToRebuildSite by @caendesilva in #580
- Breaking: Move $outputPath property to the Site class by @caendesilva in #581
- Partially revert #576 by @caendesilva in #583
- Code refactors by @caendesilva in #582
- Simplify internal metadata API by @caendesilva in #584
- Refactor: Add strict types declaration to all Framework PHP source files by @caendesilva in #586
- Refactor: Import classes in the global namespace by @caendesilva in #588
- Code refactors by @caendesilva in #590
- Reorganize almost all Framework namespaces by @caendesilva in #594
- Dissolve the projects monorepo directory by @caendesilva in #595
- Move Commands namespace into Hyde\Console namespace by @caendesilva in #596
- Remove "Hyde" prefix from the console command class names by @caendesilva in #597
- Clean up and normalize console command classes by @caendesilva in #598
- Handle console commands in new HydeConsoleServiceProvider by @caendesilva in #599
- Further restructure namespaces by @caendesilva in #601
- Structure namespaces by domain by @caendesilva in #602
- Restructure build tasks namespace by @caendesilva in #603
- Begin rewrite of how page objects are constructed by @caendesilva in #604
- Move routing related classes to new Routing namespace and refactor them by @caendesilva in #605
- Extract facades and simplify public API usage by @caendesilva in #606
- Restructure concerns and contracts by @caendesilva in #607
- Refactor validation service by @caendesilva in #608
- Refactor semantic documentation article feature by @caendesilva in #609
- Refactor the author model by @caendesilva in #611
- Refactor the featured image model and view by @caendesilva in #612
- Breaking: Rename "credit" front matter and class property to "attributionUrl" for blog post images by @caendesilva in #613
- Add more factories by @caendesilva in #610
- Implement the file model's array representation by @caendesilva in #614
- Add a simple session handler by @caendesilva in #615
- Normalize internal image path storage by @caendesilva in #617
- Aggressively simplify and inline action FindsContentLengthForRemoteImageObject by @caendesilva in #616
- Refactor FeaturedImage component to handle all semantic HTML assembly logic in the view by @caendesilva in #618
- Simplify featured images by splitting into new classes by @caendesilva in #619
- Add featured image factory by @caendesilva in #620
- Refactor to use the new featured image classes by @caendesilva in #621
- Remove CBench as Laravel now offers a great benchmarking helper by @caendesilva in #622
- Made port default to value specific in config file or in .env by @caendesilva in #626
- Merge branch 'master' into 'upcoming' by @caendesilva in #628
- Refactor internal command class structures by @caendesilva in #629
- Make the Features class mockable so it's easier to test by @caendesilva in #630
- Remove ConstructsPageSchemas schemas trait by @caendesilva in #632
- Refactor the page data factory pipeline by @caendesilva in #631
- HydePHP v1.0 Goals - Massive Internal Restructure by @caendesilva in #623
- Change schema.org identifiers to use https by @caendesilva in #633
- HydeRC: Use getOrFail instead of get by @caendesilva in #635
- Start creating documentation category for advanced usage by @caendesilva in #636
- Internal: Add full site test fixtures by @caendesilva in #637
- Refactor the make:post command action by @caendesilva in #638
- Refactor the make:page command action by @caendesilva in #639
- Clean up the MakePostCommand class by @caendesilva in #640
- Remove unused test files by @caendesilva in #641
- Allow navigation group to be set with category key by @caendesilva in #642
- Improve the redirect helper by @caendesilva in #645
- Apply code refactors from Rector by @caendesilva in #646
- Minor code refactors by @caendesilva in #647
- Refactor XML services by @caendesilva in #648
- Rewrite XML sitemap and RSS feed generators by @caendesilva in #649
- Code refactors by @caendesilva in #650
- Add class aliases for all facades by @caendesilva in #652
- Refactor Markdown classes by @caendesilva in #651
- Extract trait for methods used to flatten documentation pages by @caendesilva in #653
- Refactor DiscoveryService.php by @caendesilva in #654
- Bump loader-utils from 1.4.0 to 1.4.1 by @dependabot in #655
- Add facades for the foundation collection classes by @caendesilva in #656
- Improve code API between the File model and collections by @caendesilva in #657
- The ValidationService should not hardcode page paths by @caendesilva in #663
- Add an easy configuration option to store all source directories in a subfolder by @caendesilva in #660
- Refactor publishable templates by @caendesilva in #664
- Clean up the build service class by @caendesilva in #666
- Add a Hyde::markdown() helper by @caendesilva in #670
- Bump loader-utils from 1.4.1 to 1.4.2 by @dependabot in #671
- Add HtmlPage tests by @caendesilva in #672
- Add HydeKernel method to get all discovered page classes by @caendesilva in #673
- Allow media assets to be in subdirectories by @caendesilva in #674
- Rename BaseMarkdownPage::make() parameter $body to $markdown to match constructor by @caendesilva in #676
- Unslash page source and output paths by @caendesilva in #677
- Internal: Revert "Internal: Add full site test fixtures" by @caendesilva in #684
- Add configurable feature to load styles from the TailwindCSS Play CDN by @caendesilva in #683
- Internal: Add custom static analysis tool by @caendesilva in #691
- Internal: Refactor static analyser by @caendesilva in #692
- Internal: Update static analyser to provide GitHub Actions statuses by @caendesilva in #693
- Add a
Hyde::pathToAbsolute()
alias for theHyde::path()
helper by @caendesilva in #696 - Add Hyde facade helper to get the Filesystem instance by @caendesilva in #699
- Add helper to implode path components into a proper path string by @caendesilva in #700
- Add a Filesystem facade for easier and safer filesystem access by @caendesilva in #695
- Update the filesystem facade by @caendesilva in #701
- Add a serializable contract by @caendesilva in #703
- Refactor filesystem facade to move logic to the underlying class by @caendesilva in #704
- Add baseline page unit tests by @caendesilva in #705
- Update the HydePage class to unslash source directory when returning the source path by @caendesilva in #706
- Extract filesystem forwarding to internal trait by @caendesilva in #707
- Method FrontMatter::get() now returns the instance instead of data array when no key is specified by @caendesilva in #711
- Breaking: Rename method 'get' to 'data' in InteractsWithFrontMatter by @caendesilva in #712
- Add static HydePage::get() method to get pages from the page collection by @caendesilva in #713
- Refactor and add more baseline page unit tests by @caendesilva in #710
- Use sourcePath helper instead of concatenation for validating existence by @caendesilva in #714
- Add baseline unit tests for BaseMarkdownPage methods by @caendesilva in #717
- Internal: Update testing helpers by @caendesilva in #718
- Create render helper to canonicalize the schema for data passed to renders by @caendesilva in #719
- Refactor markdown file parsing by @caendesilva in #723
- Move Markdown end-of-document normalizer from parser to constructor by @caendesilva in #724
- Normalize CRLF sequences to LF in parsed Markdown objects by @caendesilva in #725
- Add base class for invokable action classes by @caendesilva in #728
- Fix visual bug where there is no spacing before the finishing message of a site build by @caendesilva in #738
- Get page routes from the route index by @caendesilva in #739
- Increase type coverage of DocumentationSidebar class by @caendesilva in #742
- Make navigation behaviour for nested pages configurable by @caendesilva in #740
- Turn navigation items with groups into automatic dropdowns by @caendesilva in #744
- Refactor navigation services by @caendesilva in #746
- Add helper to strip indentation from a Markdown string by @caendesilva in #747
- Create a simple UI kit package by @caendesilva in #668
- Internal: Clean up monorepo files by @caendesilva in #749
- Remove deprecated interface DocumentationPageSchema by @caendesilva in #750
- Refactor the navigation data factory by @caendesilva in #751
- Add Filesystem::unlinkIfExists helper by @caendesilva in #753
- Refactor filesystem models by @caendesilva in #752
- Internal: Clean up and normalize
@internal
PHPDoc annotations by @caendesilva in #754 - Minor ChecksumService refactors by @caendesilva in #756
- Refactor internal code by @caendesilva in #755
- Add simple class to compile any Blade file without having to register it as a view path by @caendesilva in #758
- Wrap the file path in brackets for the FileNotFoundException by @caendesilva in #759
- Internal: Refactor testing helpers by @caendesilva in #761
- Add normalizeNewlines helper to the Hyde facade and refactor related methods by @caendesilva in #762
- Reimplement stripNewlines helper in the Hyde facade and refactor related helpers by @caendesilva in #763
- Update and run Rector by @caendesilva in #772
- Cherry pick publications feature changes by @caendesilva in #779
- Internal: Update .editorconfig to match Laravel by @caendesilva in #780
- Display maximum memory used during the site build by @caendesilva in #783
- General code refactors by @caendesilva in #784
- Update global helper functions by @caendesilva in #785
- Document colored blockquotes and code block filepaths by @caendesilva in #796
- Refactor Markdown processing to improve usability and remove unnecessary internal code by @caendesilva in #798
- Update ConvertsArrayToFrontMatter to support passing flags to dumper by @caendesilva in #801
- Update PR test matrix to also run tests on PHP 8.2 by @caendesilva in #803
- Apply fixes from StyleCI by @caendesilva in #805
- Add experimental package developer hook to discover custom page types by @caendesilva in #806
- Update HydePage::fileExtension() getter to trim trailing periods to support extensionless page types by @caendesilva in #810
- Create VirtualPage class to make it easier for package developers to create pages without source files by @caendesilva in #809
- Create a DynamicPage interface for HydePages without (or with dynamic) source files by @caendesilva in #811
- Refactor and improve virtual page feature by @caendesilva in #812
- Bump json5 from 1.0.1 to 1.0.2 by @dependabot in #819
- Improve the public page and route discovery API by @caendesilva in #820
- Refactor build service to not use deprecated method by @caendesilva in #824
- Remove deprecated Hyde::getDiscoveredPageTypes method by @caendesilva in #823
- Refactor kernel booting to defer until all providers have been registered by @caendesilva in #825
- Refactor and update the ValidatesExistence trait by @caendesilva in #829
- Create a simple framework for Hyde extensions by @caendesilva in #828
- Virtual page improvements by @caendesilva in #831
- Add a pagination component by @caendesilva in #832
- Add yaml helper functions by @caendesilva in #838
- Clean up tests by @caendesilva in #844
- Clean up code by @caendesilva in #845
- Mark FilesystemContract interface as internal by @caendesilva in #847
- Remove duplicate discovery calls as they are now handled dynamically by the registered page class feature by @caendesilva in #848
- Refactor Markdown service helper for normalizing indentation by @caendesilva in #849
- Improve type coverage by @caendesilva in #850
- Improve type coverage by @caendesilva in #851
- Fix static analysis issues and improve type coverage by @caendesilva in #852
- Create base command class containing refactored helpers for shared code by @caendesilva in #853
- Extract trait for classes that track execution time by @caendesilva in #854
- Simplify inherited class structure of featured image models by @caendesilva in #846
- Minor code refactors and cleanups by @caendesilva in #855
- Add additional output formatting helpers to the base command class by @caendesilva in #856
- Remove unused deprecated testing helper method by @caendesilva in #857
- Remove deprecated support for setting page rendering data via the view facade by @caendesilva in #858
- Narrow down mixed return types by @caendesilva in #859
- Remove unused internal/experimental session feature by @caendesilva in #860
- Internal: Configure increased Psalm support by @caendesilva in #861
- Deprecate base class InvokableAction by @caendesilva in #862
- Remove base class InvokableAction by @caendesilva in #863
- Minor RealtimeCompiler code cleanup by @caendesilva in #864
- Replace dynamic static constructor with strongly typed child class override by @caendesilva in #865
- Create CI job to build and upload the upcoming documentation by @caendesilva in #866
- Bugfix: Do not hide documentation pages in subdirectories by @caendesilva in #868
- Add spaces to type annotations in views so they don't get rendered as comments by @caendesilva in #869
- Add a dashboard feature to the realtime compiler by @caendesilva in #870
- Update front matter in documentation pages for the new schema changes by @caendesilva in #871
- Remove cache config file by @caendesilva in #872
- Add a command to automatically change source directories by @caendesilva in #876
- Remove execution time tracking from the DataCollection class by @caendesilva in #878
- Breaking: Change default DataCollection directory from
_data
toresources/collections
by @caendesilva in #879 - Make DataCollections part of the Framework core by @caendesilva in #880
- Apply fixes from StyleCI by @caendesilva in #883
- Allow the FileConflictException message to be fully overridden by @caendesilva in #885
- Refactor the ChangeSourceDirectoryCommand class by @caendesilva in #886
- Update InfoComment command helper to dynamically format output from a single fluent string by @caendesilva in #887
- Compile TailwindCSS for production by @caendesilva in #889
- Cherry pick base command changes from publications feature by @caendesilva in #892
- Update export-ignore Git attributes in the Hyde/Hyde package by @caendesilva in #893
- Move storage directory into the app directory by @caendesilva in #894
- Create new logic for converting Markdown to plain text for the search index generation by @caendesilva in #895
- Clean up the documentation search service class by @caendesilva in #896
- Documentation search code cleanups by @caendesilva in #898
- Remove search generation guesstimation time as it's so much faster now by @caendesilva in #899
- Refactor the InteractsWithDirectories trait to use absolute paths for filesystem interactions by @caendesilva in #900
- Breaking: Make
Site::$outputPath
protected and accessible through setter/getters by @caendesilva in #902 - Add method alias to fluently interact with the HydeKernel through the Hyde facade by @caendesilva in #903
- Add JetBrains PhpStorm Attributes package to monorepo dev-dependencies by @caendesilva in #905
- Move internal data store for the site output directory to the HydeKernel by @caendesilva in #906
- Remove the $sourceRoot constructor parameter from the HydeKernel by @caendesilva in #907
- Add source root and output path to kernel array representation by @caendesilva in #908
- Rename HydeKernel property and accessors outputPath to outputDirectory by @caendesilva in #909
- HydeKernel refactors by @caendesilva in #904
- Update monorepo
.styleci.yml
configuration to disable thealpha_ordered_imports
rule by @caendesilva in #910 - Add method Site::path() to match similar model helper methods by @caendesilva in #911
- Move config/app.php to app/config.php by @caendesilva in #890
- Internal: Split out static analysis to dedicated workflow by @caendesilva in #913
- Internal: Update GitHub action to exit more or less gracefully with skipped status instead of fail by @caendesilva in #914
- Internal: Fix Psalm action by @caendesilva in #915
- Create vendor:publish command by @caendesilva in #912
- Streamline publishing command internals by @caendesilva in #916
- Cleanup publish views command class by @caendesilva in #918
- Remove PublishableView system and refactor it to use the publish command by @caendesilva in #917
- Publishable code cleanup by @caendesilva in #919
- Refactor filesystem forwarding to dynamically qualify paths using reflection by @caendesilva in #921
- Add
Hyperlinks::mediaLink()
method by @caendesilva in #922 - Add tests for the head component by @caendesilva in #923
- Refactor internal data store of LocalFeaturedImage $source property to not include directory information by @caendesilva in #924
- Make the media directory configurable by @caendesilva in #920
New Contributors
- @LunarMarathon made their first contribution in #563
- @rgasch made their first contribution in hydephp/framework#560
Full Changelog: v0.64.0-beta...v1.0.0-RC.1