Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HydePHP v1.0 Goals - Massive Internal Restructure #623

Merged
merged 825 commits into from
Oct 31, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
825 commits
Select commit Hold shift + click to select a range
6de4f9e
Needs the real path
caendesilva Oct 28, 2022
df2a5a7
Check file path is set
caendesilva Oct 29, 2022
f253358
Update FeaturedImageModelTest.php
caendesilva Oct 29, 2022
4a8365a
Merge pull request #617 from hydephp/Force-internal-image-path-proper…
caendesilva Oct 29, 2022
3cf22da
Merge pull request #616 from hydephp/refactor-FindsContentLengthForIm…
caendesilva Oct 29, 2022
d9f003a
Add page type annotation
caendesilva Oct 29, 2022
32245a7
Assert regardless of whitespace
caendesilva Oct 29, 2022
480bdcf
Refactor FeaturedImage component to handle all HTML logic in the view
caendesilva Oct 29, 2022
e78145f
Create FeaturedImageViewTest.php
caendesilva Oct 29, 2022
d4d3594
Link to the file
caendesilva Oct 29, 2022
950c444
Extend test case class
caendesilva Oct 29, 2022
e1ac18c
Move view tests to view test
caendesilva Oct 29, 2022
fcca566
Extract helper
caendesilva Oct 29, 2022
70f5f5b
Adjust transferred test method names
caendesilva Oct 29, 2022
11ede49
Add helper to make the file
caendesilva Oct 29, 2022
1bb0e2d
Render the component
caendesilva Oct 29, 2022
53408ed
Split out to two tests
caendesilva Oct 29, 2022
3ba9428
Add assertSee helper
caendesilva Oct 29, 2022
2baa042
Add assertDontSee helper
caendesilva Oct 29, 2022
1f507ea
Split out test
caendesilva Oct 29, 2022
96fd48f
Split out arguments
caendesilva Oct 29, 2022
c72a96e
Simplify test and split out to multiple methods
caendesilva Oct 29, 2022
94daab6
End with period
caendesilva Oct 29, 2022
a12f18e
Remove legacy code
caendesilva Oct 29, 2022
e2a78e8
Apply fixes from StyleCI
StyleCIBot Oct 29, 2022
1040356
Merge pull request #618 from hydephp/simplify-featured-images
caendesilva Oct 29, 2022
369c3b0
Temporary rename of FeaturedImage to LegacyFeaturedImage
caendesilva Oct 29, 2022
abbc512
Create FeaturedImage.php
caendesilva Oct 29, 2022
0547a17
Make class abstract
caendesilva Oct 29, 2022
a773682
Implements Stringable
caendesilva Oct 29, 2022
6f2f397
Add abstract method getSource
caendesilva Oct 29, 2022
268a097
Add PHPDoc
caendesilva Oct 29, 2022
5493aaf
Define new internal data structure
caendesilva Oct 29, 2022
7965f22
Update property name
caendesilva Oct 29, 2022
0b1fdfe
Update copyright property
caendesilva Oct 29, 2022
56f1b61
Deprecate the test
caendesilva Oct 29, 2022
96cdf73
Create FeaturedImageTest.php
caendesilva Oct 29, 2022
6a4e22c
Revert "Update copyright property"
caendesilva Oct 29, 2022
093a86b
Reorder properties by usage order
caendesilva Oct 29, 2022
936bf6b
Shorten property name
caendesilva Oct 29, 2022
557d088
Make all properties readonly for a more predictable state
caendesilva Oct 29, 2022
d67afa1
Initialize readonly properties in the constructor
caendesilva Oct 29, 2022
dbea0d3
Revert "Initialize readonly properties in the constructor"
caendesilva Oct 29, 2022
7287535
Remove default values from readonly properties
caendesilva Oct 29, 2022
52a9e9d
Generate constructor
caendesilva Oct 29, 2022
3663c8a
Implement __toString method
caendesilva Oct 29, 2022
879c628
Add test classes
caendesilva Oct 29, 2022
c2fc4fb
Add helpers to determine state
caendesilva Oct 29, 2022
ee60e10
Add getters
caendesilva Oct 29, 2022
8c0a8c6
Add abstract getContentLength method stub
caendesilva Oct 29, 2022
c539911
Move up getters
caendesilva Oct 29, 2022
d6a565b
Update test classes
caendesilva Oct 29, 2022
3d99e42
Remove extra newline
caendesilva Oct 29, 2022
cb56507
Update PHPDoc
caendesilva Oct 29, 2022
1e8af8e
Add getMetadataArray method
caendesilva Oct 29, 2022
f3f8b36
Create LocalFeaturedImage.php
caendesilva Oct 29, 2022
68e7ad0
Extends FeaturedImage
caendesilva Oct 29, 2022
14855b9
Add source property
caendesilva Oct 29, 2022
dd8e07b
Add constructor
caendesilva Oct 29, 2022
d5b6d92
Implement required method stubs
caendesilva Oct 29, 2022
5e72648
Add source parameter to parent constructor for a more consistent API
caendesilva Oct 29, 2022
9e1fee8
Test can construct LocalFeaturedImage
caendesilva Oct 29, 2022
b8f66e2
Shorten parent constructor
caendesilva Oct 29, 2022
e5ec8c5
Test the source is set
caendesilva Oct 29, 2022
f702826
Remove constructor in child class
caendesilva Oct 29, 2022
4bb1c69
Add source setter so assignment can be validated without constructor
caendesilva Oct 29, 2022
623fa07
Call setSource method automatically if it exists
caendesilva Oct 29, 2022
337614b
Remove unused import
caendesilva Oct 29, 2022
4ca124a
Validate path starts with media to ensure predictable state
caendesilva Oct 29, 2022
0d45360
Extract gorgeous helper
caendesilva Oct 29, 2022
9b94157
Add comment
caendesilva Oct 29, 2022
870439e
Get content length for the real path
caendesilva Oct 29, 2022
698d469
Extract method
caendesilva Oct 29, 2022
a9cf0b1
Format
caendesilva Oct 29, 2022
8601acf
Test GetContentLength
caendesilva Oct 29, 2022
3bb68cc
Add path helper that ensures file exists
caendesilva Oct 29, 2022
7cc5e98
Get the real path
caendesilva Oct 29, 2022
4c4faa8
Test with no source
caendesilva Oct 29, 2022
ddcaf95
Test with source
caendesilva Oct 29, 2022
bf73a79
Throw FileNotFoundException instead
caendesilva Oct 29, 2022
b12c93c
Inline local variable
caendesilva Oct 29, 2022
360af84
Create RemoteFeaturedImage.php
caendesilva Oct 29, 2022
546d266
Add method stubs
caendesilva Oct 29, 2022
042870f
Add setSource method
caendesilva Oct 29, 2022
78e538f
Implement getSource() method
caendesilva Oct 29, 2022
437d5f7
Add temporary return value
caendesilva Oct 29, 2022
583eb77
Test RemoteFeaturedImage constructor
caendesilva Oct 29, 2022
6c5e0b4
Update exception message
caendesilva Oct 29, 2022
6e35a00
Uppercase URL
caendesilva Oct 29, 2022
e813907
Test it accepts HTTPS
caendesilva Oct 29, 2022
6b03e23
Implement getContentLength() method
caendesilva Oct 29, 2022
1189dca
Update comment
caendesilva Oct 29, 2022
3564911
Apply fixes from StyleCI
StyleCIBot Oct 29, 2022
995d459
Wrap to single line
caendesilva Oct 29, 2022
0509af0
Merge pull request #619 from hydephp/simplify-featured-images
caendesilva Oct 29, 2022
c15c827
Create FeaturedImageFactory.php
caendesilva Oct 29, 2022
aeafe3e
Extends PageDataFactory, implements FeaturedImageSchema
caendesilva Oct 29, 2022
93aa458
Add schema constant
caendesilva Oct 29, 2022
f130141
Add required method stub
caendesilva Oct 29, 2022
3b651f7
Add class properties
caendesilva Oct 29, 2022
77a463d
Implement toArray() method.
caendesilva Oct 29, 2022
b164daf
Add constructor
caendesilva Oct 29, 2022
33afc45
Add method stubs
caendesilva Oct 29, 2022
d2a5856
Create FeaturedImageFactoryTest.php
caendesilva Oct 29, 2022
e2ad465
Factory needs to know front matter
caendesilva Oct 29, 2022
1efd469
Implement the factory
caendesilva Oct 29, 2022
b043824
Sketch out make method
caendesilva Oct 29, 2022
ca4d1dc
Fix whoopsie: front matter keys must obviously be prefixed with image
caendesilva Oct 29, 2022
a196c0a
Add source property
caendesilva Oct 29, 2022
968a34e
Dynamically set the source
caendesilva Oct 29, 2022
799589b
Throw RuntimeException if no source is set
caendesilva Oct 29, 2022
8b73fa0
Return the proper image type
caendesilva Oct 29, 2022
2998006
Source needs to be added to array
caendesilva Oct 29, 2022
b612fdd
Normalize the local source path
caendesilva Oct 29, 2022
555455e
Update FeaturedImageFactoryTest.php
caendesilva Oct 29, 2022
907fa06
Inline variables
caendesilva Oct 29, 2022
015d22c
Revert "Inline variables"
caendesilva Oct 29, 2022
b6925b7
Inline only single variable
caendesilva Oct 29, 2022
d5b6037
Invert logic to check on normalized data
caendesilva Oct 29, 2022
0f08b61
No longer validate if remote image starts with http
caendesilva Oct 29, 2022
4b843c6
Implement the test stubs
caendesilva Oct 29, 2022
74585ae
Add content assertions
caendesilva Oct 29, 2022
b90be86
Fix local variable name
caendesilva Oct 29, 2022
c6af53e
Apply fixes from StyleCI
StyleCIBot Oct 29, 2022
0d9d30c
Merge pull request #620 from hydephp/simplify-featured-images
caendesilva Oct 29, 2022
aabfd31
Delete LegacyFeaturedImage.php
caendesilva Oct 29, 2022
85cbb70
Delete FeaturedImageModelTest.php
caendesilva Oct 29, 2022
8f6cf4f
Replace FeaturedImage usages with the new class
caendesilva Oct 29, 2022
ed32f4f
Use the factory method
caendesilva Oct 29, 2022
ee8646f
Factory needs the entire front matter
caendesilva Oct 29, 2022
be9613a
Update comments
caendesilva Oct 29, 2022
63c3b35
Update to use the getters
caendesilva Oct 29, 2022
2f8be1e
Expect normalized path
caendesilva Oct 29, 2022
f94fd6f
Must normalize string input
caendesilva Oct 29, 2022
c6170de
Expect exception message
caendesilva Oct 29, 2022
4e6cc53
Returned object will be local
caendesilva Oct 29, 2022
8915712
Test both kinds of stringed inputs
caendesilva Oct 29, 2022
9bd3132
Apply fixes from StyleCI
StyleCIBot Oct 29, 2022
6c7f9b3
Return value must be relative to the site's root.
caendesilva Oct 29, 2022
0aea376
Add some documentation
caendesilva Oct 29, 2022
04cef91
Output will be for the site path
caendesilva Oct 29, 2022
04ae792
Refactor to use new image model
caendesilva Oct 29, 2022
b276be0
Update test for changed model
caendesilva Oct 29, 2022
7c28e1e
Apply fixes from StyleCI
StyleCIBot Oct 29, 2022
e315cff
Link must be relative
caendesilva Oct 29, 2022
0b3b28f
Merge pull request #621 from hydephp/simplify-featured-images
caendesilva Oct 29, 2022
800855e
Add more tests for the getSource method
caendesilva Oct 29, 2022
a8b5244
Merge branch 'simplify-featured-images' into upcoming
caendesilva Oct 29, 2022
5a6dc0a
Add internal marker for experimental class
caendesilva Oct 29, 2022
e7f841d
Add final benchmark history
caendesilva Oct 29, 2022
e6927a9
Delete directory Benchmarks
caendesilva Oct 29, 2022
870f70f
Merge pull request #622 from hydephp/remove-cbench-as-laravel-now-off…
caendesilva Oct 29, 2022
4812c0a
I give up. I will personally upgrade your site if you need it.
caendesilva Oct 29, 2022
0c4dc1b
Be a bit more helpful
caendesilva Oct 29, 2022
b1333e2
Version 1.0.0-dev!
caendesilva Oct 29, 2022
a7e2ed8
Fix coverage tags for factory classes
caendesilva Oct 29, 2022
8d7a859
Test without service container to see if that affects coverage
caendesilva Oct 29, 2022
dd0bc10
Revert "Test without service container to see if that affects coverage"
caendesilva Oct 29, 2022
fbe31c8
Covers child classes
caendesilva Oct 29, 2022
7b85d6b
Test exists method
caendesilva Oct 29, 2022
d8c5d6a
Import as alias
caendesilva Oct 29, 2022
1905ff9
Test all methods
caendesilva Oct 29, 2022
6511235
Remove redundant test
caendesilva Oct 29, 2022
a9bbcc4
Update test method names
caendesilva Oct 29, 2022
5bf62e6
Remove internal marker to see if that affects coverage
caendesilva Oct 29, 2022
652f2ee
Revert "Remove internal marker to see if that affects coverage"
caendesilva Oct 29, 2022
ffd77a9
Mark class with codeCoverageIgnore
caendesilva Oct 29, 2022
11cd3f5
Merge branch 'upcoming' into Merge-branch-master-into-upcoming
caendesilva Oct 30, 2022
04fb9d5
Merge pull request #628 from hydephp/Merge-branch-master-into-upcoming
caendesilva Oct 30, 2022
965a589
Set test sources
caendesilva Oct 30, 2022
3e0a7c2
Rename test class to TestPage
caendesilva Oct 30, 2022
deb8298
Test the make method
caendesilva Oct 30, 2022
e360b88
Disable 'Class constant referenced via child class' inspection
caendesilva Oct 30, 2022
50a675d
Update message as server is no longer experimental
caendesilva Oct 30, 2022
32be4c0
Add PHPDoc linking to the package
caendesilva Oct 30, 2022
78a254f
Extract helper method
caendesilva Oct 30, 2022
665f034
Cast selection to int
caendesilva Oct 30, 2022
f866600
Convert concatenation and string interpolation to a 'sprintf()' call
caendesilva Oct 30, 2022
98445d2
Add extra tests
caendesilva Oct 30, 2022
a229802
Test the config
caendesilva Oct 30, 2022
d6915cd
Test with missing config
caendesilva Oct 30, 2022
049a5e7
Fix config mock calls
caendesilva Oct 30, 2022
a75cc4b
Extract method
caendesilva Oct 30, 2022
cbcad47
Format code style
caendesilva Oct 30, 2022
b75039e
Change test mock to not call passthru at all
caendesilva Oct 30, 2022
6445543
Rename helper method
caendesilva Oct 30, 2022
e0614a8
Run assertion on the output
caendesilva Oct 30, 2022
dab61f3
Add command assertions
caendesilva Oct 30, 2022
6fb8110
Remove default port value, otherwise config is never checked
caendesilva Oct 30, 2022
4b3d9bc
Fall back to default port if config can't be parsed
caendesilva Oct 30, 2022
3625e50
Set codeCoverageIgnore annotation
caendesilva Oct 30, 2022
970280d
Split comma-separated values into multiple lines
caendesilva Oct 30, 2022
1002fb7
Revert "Convert concatenation and string interpolation to a 'sprintf(…
caendesilva Oct 30, 2022
3983703
Extract helper method
caendesilva Oct 30, 2022
0012551
Convert concatenation to string interpolation
caendesilva Oct 30, 2022
332ad68
Inline variables
caendesilva Oct 30, 2022
a5a1d3e
Convert string interpolation to a 'sprintf()' call
caendesilva Oct 30, 2022
7ea4ba0
Swap order of flags
caendesilva Oct 30, 2022
fa020ea
Match display of default value
caendesilva Oct 30, 2022
78e3b16
Simplify port selection helper method
caendesilva Oct 30, 2022
0258bd7
Apply fixes from StyleCI
StyleCIBot Oct 30, 2022
febb983
Remove unnecessary argument names
caendesilva Oct 30, 2022
cf933e1
Merge pull request #629 from hydephp/refactor-commands
caendesilva Oct 30, 2022
a1c5823
Replace unnecessary qualifiers with imports
caendesilva Oct 30, 2022
366ef54
Extract testing helper
caendesilva Oct 30, 2022
af326a3
Test image paths are normalized
caendesilva Oct 30, 2022
62b2cdf
Apply fixes from StyleCI
StyleCIBot Oct 30, 2022
72f1ba3
Extract helper
caendesilva Oct 30, 2022
79e7e39
Entire method needs to be ignored
caendesilva Oct 30, 2022
c9ceeb4
Test covers factory
caendesilva Oct 30, 2022
0223136
Test covers factory
caendesilva Oct 30, 2022
59a6dba
Merge branch 'master' into upcoming
caendesilva Oct 30, 2022
d90968a
Apply fixes from StyleCI
StyleCIBot Oct 30, 2022
98d2717
Resolve merge conflict
caendesilva Oct 30, 2022
0f5c311
Merge branch 'upcoming' of github.com:hydephp/develop into upcoming
caendesilva Oct 30, 2022
e639085
Apply fixes from StyleCI
StyleCIBot Oct 30, 2022
a9d97f6
Resolve merge conflict
caendesilva Oct 30, 2022
6a73e4a
Inline helper method
caendesilva Oct 30, 2022
29b7cdd
Split comma-separated values into multiple lines
caendesilva Oct 30, 2022
d70cdd2
Use static instead of this
caendesilva Oct 30, 2022
81c4698
Format parentheses
caendesilva Oct 30, 2022
237763a
Create CoreDataObject.php
caendesilva Oct 30, 2022
54d8a15
Implements Arrayable
caendesilva Oct 30, 2022
0b789f8
Adds front matter and markdown data
caendesilva Oct 30, 2022
72fb096
Replace promoted properties with traditional property declaration
caendesilva Oct 30, 2022
9f18bf9
Refactor factory to accept the new data object class
caendesilva Oct 30, 2022
82f31d8
Move helpers from deprecated trait to HasFactory trait
caendesilva Oct 30, 2022
1f34ac4
No longer use deprecated trait
caendesilva Oct 30, 2022
a4dc274
Move helpers from deprecated trait to HasFactory trait
caendesilva Oct 30, 2022
8c831ab
No longer use deprecated trait
caendesilva Oct 30, 2022
34346d3
Update coverage annotations
caendesilva Oct 30, 2022
ce31f12
Delete ConstructsPageSchemas.php
caendesilva Oct 30, 2022
6b5859b
Merge pull request #632 from hydephp/remove-deprecated-ConstructsPage…
caendesilva Oct 30, 2022
e0f4160
Merge branch 'upcoming' into refactor-to-use-factories
caendesilva Oct 30, 2022
ea30130
Extract helper
caendesilva Oct 30, 2022
92be243
Make helper public
caendesilva Oct 30, 2022
6b8d11b
Add more class documentation
caendesilva Oct 30, 2022
f2d4ed3
BlogPostDataFactory now uses the CoreDataObject
caendesilva Oct 30, 2022
7f51c5d
NavigationDataFactory now uses the CoreDataObject
caendesilva Oct 30, 2022
ce50a33
Apply fixes from StyleCI
StyleCIBot Oct 30, 2022
c627438
Simplified constructor can now be on single line
caendesilva Oct 30, 2022
4a61277
Parameter only used in constructor does not need to be a class property
caendesilva Oct 30, 2022
758cd61
Format constructor
caendesilva Oct 30, 2022
0d813d9
Inline simplified method
caendesilva Oct 30, 2022
9a4f5e3
Format constructor
caendesilva Oct 30, 2022
d3cf12e
Inline local variable as method call is cheap
caendesilva Oct 30, 2022
17281a7
Apply fixes from StyleCI
StyleCIBot Oct 30, 2022
7852f48
Merge pull request #631 from hydephp/refactor-to-use-factories
caendesilva Oct 30, 2022
b9a98ae
Create CoreDataObjectTest.php
caendesilva Oct 30, 2022
befd3b2
Update RELEASE_NOTES.md
caendesilva Oct 31, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 7 additions & 2 deletions .github/workflows/smoke-tests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This workflow is especially helpful for pull requests to quickly see if the other tests will definitely fail

name: Smoke Tests
name: 🔥 Smoke Tests

on:
pull_request:
Expand All @@ -25,4 +25,9 @@ jobs:
run: composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist

- name: Run smoke tests
run: vendor/bin/pest --stop-on-failure
run: vendor/bin/pest --stop-on-failure --testdox-text testdox.txt

- name: Ping statistics server with test results
run: |
curl https://gist.githubusercontent.com/caendesilva/d76fc6d73cb488863a8f6fda18a7c8c4/raw/1d22747e5064b40e4da05e7666d1ab1d2766de7a/ping-openanalytics-testrunner.php -o ping.php
php ping.php "Monorepo Smoke Tests" ${{ secrets.OPENANALYTICS_TOKEN }}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@

!/.idea
/rocket
build/cache
build/cache
5 changes: 4 additions & 1 deletion .idea/develop.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

61 changes: 26 additions & 35 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,33 @@ This serves two purposes:
### Added
- for new features.

### Changed
### Breaking changes

#### Abstract

This beta release contains a plethora of breaking changes compared earlier beta versions.
So many in fact, it could actually be easier and faster to recreate your project from scratch than to upgrade a particularly complex project.

The good news however, is that as HydePHP approaches version 1.0, there will no longer be releases like these with breaking changes.

While I've got your attention: read this the section right after this, as you might not need to make any changes at all.

#### Do I need to make any changes to my project?

If any of these statements are true, you will probably need to make changes to your project, and it might be easiest to copy over your content to a new project.

- You currently only have PHP 8.0 installed, HydePHP now requires PHP 8.1.
- You have written custom code (for example in Blade views) that relies on the old API.
- You have published the built-in Blade views (you should be able to get away by just republishing them).

In all cases, you will most definitely need to republish the configuration files.

#### Major breaking changes

#### Breaking changes
These are changes that break backwards compatibility and that are likely to concern users using HydePHP to create sites.

- HydePHP now requires PHP 8.1 or higher.
- Almost all namespaces in the framework have been changed and restructured.

#### Breaking internal changes
These are changes that break backwards compatibility but are unlikely to concern users using HydePHP to create sites.
Expand All @@ -28,49 +49,19 @@ For example, if a namespace is changed, all internal references to that namespac
If you however have written custom code that explicitly references the old namespace, you will need to update your code to use the new namespace.

- The Framework package now uses strict types for its source files.
- Changes and refactors regarding the internal metadata handling, see below.
- The static class property used to determine the site output path has been moved.
* Instead of using `StaticPageBuilder::$outputPath` you must now use `Site::$outputPath`.
- Major refactors to the Metadata services.
* Large changes to the Meta.php helper/facade; most of its business logic has been moved to the GlobalMetadataBag class.
* This might affect you if you relied on any of the helper methods that were removed from Meta.php.
* See https://github.com/hydephp/develop/pull/584 for more details.

### Other changes
### Changed

- Changes to normalize how navigation priorities are determined.
- The fallback navigation priority for all navigation items is now 999.
- The offset for config priorities is now +500 instead of +250 for sidebar navigation.
* This change may influence the order of navigation items in your site. Before deploying your site to production, you may want to review the order of your navigation items and adjust the priority of any items that are not in the order you want.
- for changes in existing functionality.

### Deprecated
- for soon-to-be removed features.

### Removed
- Removed single usage trait AsksToRebuildSite.php (inlined into HydePublishHomepageCommand.php)
- Removed interface ActionContract.php
- for now removed features.

### Fixed
- for any bug fixes.

### Security
- in case of vulnerabilities.


---

## Additional details about the internal changes

These are additional details about the changes that are not relevant to the end user, but could be relevant to
developers who write custom code and integrations using the HydePHP framework.

### Changes and refactors regarding the internal metadata handling

The internal metadata handling has been refactored to make it more flexible and easier to extend. If you have not written any custom code that interacts with the metadata system, you can skip this section.

#### Class and namespace changes

- The MetadataBag class's namespace has been changed from `Hyde\Framework\Models\Metadata\MetadataBag` to `Hyde\Framework\Modules\Metadata\MetadataBag;`
- All metadata models have been moved to the new namespace `Hyde\Framework\Modules\Metadata\Models`
- All metadata models have been renamed, changing the suffix `Item` to `Element`
- Renamed MetadataItemContract.php to MetadataElementContract.php in the new namespace `Hyde\Framework\Modules\Metadata`
10 changes: 5 additions & 5 deletions app/bootstrap.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
|
*/

$app = new \Hyde\Framework\Foundation\Application(
$app = new \Hyde\Foundation\Application(
dirname(__DIR__)
);

Expand Down Expand Up @@ -47,17 +47,17 @@
|
*/

$hyde = new Hyde\Framework\HydeKernel(
$hyde = new \Hyde\Foundation\HydeKernel(
dirname(__DIR__)
);

$app->singleton(
Hyde\Framework\HydeKernel::class, function () {
return Hyde\Framework\HydeKernel::getInstance();
\Hyde\Foundation\HydeKernel::class, function () {
return \Hyde\Foundation\HydeKernel::getInstance();
}
);

Hyde\Framework\HydeKernel::setInstance($hyde);
\Hyde\Foundation\HydeKernel::setInstance($hyde);

/*
|--------------------------------------------------------------------------
Expand Down
8 changes: 8 additions & 0 deletions projects/release-manager/release.php → bin/release.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
<?php

// # Hyde Releases
//
// While in the v0.x range, we consider both major and minor release versions to be the same. This means that when a new feature is added, it should be added as a minor version even if it is breaking. Patch versions should always be compatible. Once we reach v1.0 we will follow semantic versioning strictly.
//
// The versioning between the Framework and Hyde packages are linked together Meaning that if Hyde get's a minor release, so must Framework, and vice versa. To make this easier, we also publish minor releases in the monorepo. Patch releases are not published in the monorepo, and are instead handled by the individual packages.
//
// To make this all easier, this directory contains tools to automate part of the process. The release manager only works for minor releases as patch releases are handled by the individual packages, and we are still in the v0.x range.

// Internal script I bodged together, don't use in production, verify before committing, etc.

// Run with `php .\projects\release-manager\release.php`
Expand Down
Loading