You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASE_NOTES.md
+63-5Lines changed: 63 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,9 +13,12 @@ This serves two purposes:
13
13
- Added a new `\Hyde\Framework\Actions\PreBuildTasks\TransferMediaAssets` build task handle media assets transfers for site builds.
14
14
15
15
### Changed
16
+
-**Breaking:** The internals of the navigation system has been rewritten into a new Navigation API. This change is breaking for custom navigation implementations. For more information, see below.
17
+
- Minor: Navigation menu items are now no longer filtered by duplicates (meaning two items with the same label can now exist in the same menu) in https://github.com/hydephp/develop/pull/1573
18
+
- Minor: Due to changes in the navigation system, it is possible that existing configuration files will need to be adjusted in order for menus to look the same (in terms of ordering etc.)
19
+
- Minor: The documentation article component now supports disabling the semantic rendering using a falsy value in https://github.com/hydephp/develop/pull/1566
16
20
- Changed how the documentation search is generated, to be an `InMemoryPage` instead of a post-build task.
17
21
- Media asset files are now copied using the new build task instead of the deprecated `BuildService::transferMediaAssets()` method.
18
-
- Minor: The documentation article component now supports disabling the semantic rendering using a falsy value in https://github.com/hydephp/develop/pull/1566
19
22
20
23
### Deprecated
21
24
- for soon-to-be removed features.
@@ -41,6 +44,32 @@ Please see the "Breaking changes & upgrade guide" section below for more informa
41
44
42
45
Please read through this section to ensure your site upgrades smoothly.
43
46
47
+
## High impact
48
+
49
+
### Navigation system rewrite
50
+
51
+
The navigation system has been rewritten into a new Navigation API. This change is breaking for custom navigation implementations, see more down below.
52
+
53
+
For most users, the only impact will be that configuration files need to be updated to use the new configuration format. Due to the internal changes,
54
+
it's also possible that menu items will be in a slightly different order than before, depending on your setup. Please verify that your site's menus
55
+
look as expected after upgrading, and adjust the configuration files if necessary, before deploying to production.
56
+
57
+
### Navigation and sidebar configuration changes
58
+
59
+
The navigation and sidebar configuration files have been updated to use the new Navigation API.
60
+
This means that you will need to update your configuration files to use the new format.
61
+
62
+
The easiest way to upgrade is to publish updated configuration files (`hyde.php` and `docs.php`) and copy over your customizations.
63
+
64
+
The following configuration entries have been updated:
65
+
66
+
- Changed configuration option `docs.sidebar_order` to `docs.sidebar.order` in https://github.com/hydephp/develop/pull/1583
67
+
- Upgrade path: Move the `sidebar_order` option's array in the `config/docs.php` file into the `sidebar` array in the same file.
68
+
69
+
- Changed configuration option `docs.table_of_contents` to `docs.sidebar.table_of_contents` in https://github.com/hydephp/develop/pull/1584
70
+
- Upgrade path: Move the `table_of_contents` option's array in the `config/docs.php` file into the `sidebar` array in the same file.
71
+
72
+
44
73
## General impact
45
74
46
75
### Documentation search page changes
@@ -49,26 +78,55 @@ The documentation search page and search index have been changed to be generated
49
78
50
79
The main impact noticeable to most users by this is the implicit changes, like the pages showing up in the dashboard and route list command.
51
80
52
-
In case you have customized the `GenerateSearch` post-build task you may, depending on what you were trying to do,
81
+
In case you have customized the `GenerateSearch` post-build task you may, depending on what you were trying to do,
53
82
want to adapt your code to interact with the new `InMemoryPage`, which is generated in the `HydeCoreExtension` class.
54
83
55
84
For more information, see https://github.com/hydephp/develop/pull/1498.
56
85
57
86
## Low impact
58
87
88
+
### Navigation internal changes
89
+
90
+
The navigation system has been rewritten into a new Navigation API. This change is breaking for custom navigation implementations.
91
+
92
+
If you have previously in your custom code done any of the following, or similar, you will need to adapt your code to use the new Navigation API:
93
+
- Created custom navigation menus or Blade components
94
+
- Extended or called the navigation related classes directly
95
+
- Customized the navigation system in any way beyond the standard configuration
96
+
97
+
98
+
#### Upgrade guide
99
+
100
+
Due to the scope of the rewrite, the easiest and fastest way to upgrade your code is to recreate it using the new Navigation API.
101
+
102
+
- For a full comparison of the changes, you may see the PR that introduced the new API: https://github.com/hydephp/develop/pull/1568/files
103
+
- For information on how to use the new Navigation API, see the documentation: https://hydephp.com/docs/2.x/navigation-api
104
+
105
+
### HTML ID changes
106
+
107
+
Some HTML IDs have been renamed to follow a more consistent naming convention.
108
+
109
+
If you have used any of the following selectors in custom code you wrote yourself, you will need to update to use the new changed IDs.
110
+
111
+
#### https://github.com/hydephp/develop/pull/1622
112
+
- Rename HTML ID `#searchMenu` to `#search-menu`
113
+
- Rename HTML ID `#searchMenuButton` to `#search-menu-button`
114
+
- Rename HTML ID `#searchMenuButtonMobile` to `#search-menu-button-mobile`
115
+
116
+
59
117
### New documentation search implementation
60
118
61
119
As the new documentation search implementation brings changes to their code API you may need to adapt your code
62
120
according to the information below in case you wrote custom code that interacted with these parts of the codebase.
63
121
64
-
- The `GenerateSearch` post-build task has been removed. If you have previously extended or customized this class,
122
+
- The `GenerateSearch` post-build task has been removed. If you have previously extended or customized this class,
65
123
you will need to adapt your code, as the search index files are now handled implicitly during the standard build process,
66
124
as the search pages are now added to the kernel page and route collection. (https://github.com/hydephp/develop/pull/1498)
67
125
68
126
- If your site has a custom documentation search page, for example `_docs/search.md` or `_pages/docs/search.blade.php`,
69
-
that page will no longer be built when using the specific `build:search` command. It will, of course,
127
+
that page will no longer be built when using the specific `build:search` command. It will, of course,
70
128
be built using the standard `build` command. https://github.com/hydephp/develop/commit/82dc71f4a0e7b6be7a9f8d822fbebe39d2289ced
71
-
129
+
72
130
- In the highly unlikely event your site customizes any of the search pages by replacing them in the kernel route collection,
73
131
you would now need to do that in the kernel page collection due to the search pages being generated earlier in the lifecycle.
0 commit comments