|
6 | 6 |
|
7 | 7 | All notable changes to this project will be documented in this file. |
8 | 8 |
|
9 | | -## 4.0.0 (UNRELEASED) |
| 9 | +## 4.0.0 - 2026-02-10 |
| 10 | +ℹ️ *The release does not contain any breaking changes compared to [v4.0.0-rc.3](https://github.com/nextcloud-libraries/nextcloud-files/blob/v4.0.0-rc.3/CHANGELOG.md#400-rc3---2026-02-09).* |
| 11 | + |
10 | 12 | ### 📝 Notes |
11 | 13 | * This package now is a pure ES module. |
12 | 14 | * Due to breaking changes this major version is only compatible with |
@@ -87,135 +89,65 @@ instead just make sure to implement the provided interfaces. |
87 | 89 | + registerFileAction({ ... }) |
88 | 90 | ``` |
89 | 91 |
|
90 | | -## 4.0.0-rc.3 - 2026-02-09 |
91 | | -### Other changes |
92 | | -* refactor: scope global state to major version of library [\#1492](https://github.com/nextcloud-libraries/nextcloud-files/pull/1492) |
93 | | - To prevent apps breaking the files app with outdated library versions, all registered actions, views etc are now scoped. |
94 | | - Meaning you have to use a compatible library version, e.g. its required to use the `@nextcloud/files` library v4 for Nextcloud 33+. |
95 | | - Otherwise the registered entities are not picked up by the files app. |
96 | | - |
97 | | -## 4.0.0-rc.2 - 2026-02-06 |
98 | | -### 🐛 Fixed bugs |
99 | | -* fix: properly export all public API [\#1485](https://github.com/nextcloud-libraries/nextcloud-files/pull/1485) |
100 | | - |
101 | | -### Other changes |
102 | | -* refactor(headers): use interfaces where possible [\#1484](https://github.com/nextcloud-libraries/nextcloud-files/pull/1484) |
| 92 | +### 💥 Breaking changes |
| 93 | +* feat(actions): standardize contexts [\#1124](https://github.com/nextcloud-libraries/nextcloud-files/pull/1124) |
| 94 | +* fix(node): cloning [\#1348](https://github.com/nextcloud-libraries/nextcloud-files/pull/1348) |
| 95 | +* refactor(Node)!: make `Node.root` a required attribute [\#1388](https://github.com/nextcloud-libraries/nextcloud-files/pull/1388) |
| 96 | +* refactor!(navigation): pass `id` of view to `setActive` [\#1418](https://github.com/nextcloud-libraries/nextcloud-files/pull/1418) |
| 97 | +* refactor!: migrate from cancelable promise to AbortSignal [\#1428](https://github.com/nextcloud-libraries/nextcloud-files/pull/1428) |
| 98 | +* refactor(actions)!: rename content to contents [\#1386](https://github.com/nextcloud-libraries/nextcloud-files/pull/1386) |
| 99 | +* refactor!: use interfaces where possible instead of instances [\#1417](https://github.com/nextcloud-libraries/nextcloud-files/pull/1417) |
| 100 | +* refactor!: More classes are replaces with interfaces where real class instances are not needed [\#1475](https://github.com/nextcloud-libraries/nextcloud-files/pull/1475) |
| 101 | +* refactor(column)!: use interfaces rather than instances [\#1443](https://github.com/nextcloud-libraries/nextcloud-files/pull/1443) |
| 102 | +* refactor(headers)!: use interfaces where possible [\#1484](https://github.com/nextcloud-libraries/nextcloud-files/pull/1484) |
| 103 | +* chore(Node)!: remove deprecated `isDavRessource` [\#1390](https://github.com/nextcloud-libraries/nextcloud-files/pull/1390) |
| 104 | +* chore!: drop deprecated DAV exports from main entry point [\#1384](https://github.com/nextcloud-libraries/nextcloud-files/pull/1384) |
| 105 | +* chore!: remove deprecated filename validation fallbacks for Nextcloud 29 and below [\#1383](https://github.com/nextcloud-libraries/nextcloud-files/pull/1383) |
| 106 | +* chore!: remove deprecated `NewMenuEntry.iconClass` [\#1385](https://github.com/nextcloud-libraries/nextcloud-files/pull/1385) |
| 107 | +* chore!: remove commonjs entry point [\#1420](https://github.com/nextcloud-libraries/nextcloud-files/pull/1420) |
103 | 108 |
|
104 | | -## 4.0.0-rc.1 - 2026-02-05 |
105 | 109 | ### 🚀 Enhancements |
| 110 | +* feat: allow file list filers with display names [\#1456](https://github.com/nextcloud-libraries/nextcloud-files/pull/1456) |
| 111 | +* feat: add separate permission to check for writable files [\#1455](https://github.com/nextcloud-libraries/nextcloud-files/pull/1455) |
| 112 | +* feat(node): allow to cast as JSON [\#1349](https://github.com/nextcloud-libraries/nextcloud-files/pull/1349) |
| 113 | +* feat(sidebar): provide public API to register a sidebar tab with web components [\#1419](https://github.com/nextcloud-libraries/nextcloud-files/pull/1419) |
| 114 | +* feat(sidebar): provide a proxy for the files sidebar [\#1306](https://github.com/nextcloud-libraries/nextcloud-files/pull/1306) |
| 115 | +* feat(sidebar): properly implement sidebar Proxy for Nextcloud 33+ [\#1447](https://github.com/nextcloud-libraries/nextcloud-files/pull/1447) |
| 116 | +* feat(sidebar): allow to postpone definition of sidebar tabs [\#1459](https://github.com/nextcloud-libraries/nextcloud-files/pull/1459) |
106 | 117 | * feat(navigation): allow to register multiple views in one batch [\#1476](https://github.com/nextcloud-libraries/nextcloud-files/pull/1476) |
107 | | -* feat(registry): Add new registry to listen for registration events [\#1483](https://github.com/nextcloud-libraries/nextcloud-files/pull/1483) |
| 118 | +* feat(node): add support for string based snowflake ids [\#1495](https://github.com/nextcloud-libraries/nextcloud-files/pull/1495) |
| 119 | +* feat(registry): Add new registry to listen for registration events [\#1483](https://github.com/nextcloud-libraries/nextcloud-files/pull/1483)\ |
108 | 120 | This allows to listen for changes on registered objects (views, filters, etc). |
109 | 121 | So you can react when something new was registered. |
110 | 122 | This allows to creates a reactive state with any framework (e.g. Vue 3). |
111 | 123 |
|
112 | | -### Changes |
113 | | -* More classes are replaces with interfaces where real class instances are not needed [\#1475](https://github.com/nextcloud-libraries/nextcloud-files/pull/1475) |
114 | | - |
115 | | -## 4.0.0-rc.0 - 2026-01-15 |
116 | | -### 🚀 Enhancements |
117 | | -* feat(sidebar): allow to postpone definition of sidebar tabs [\#1459](https://github.com/nextcloud-libraries/nextcloud-files/pull/1459) \([susnux](https://github.com/susnux)\) |
118 | | - |
119 | | -## 4.0.0-beta.9 - 2026-01-13 |
120 | | -### 🚀 Enhancements |
121 | | -* feat: add separate permission to check for writable files [\#1455](https://github.com/nextcloud-libraries/nextcloud-files/pull/1455) \([susnux](https://github.com/susnux)\) |
122 | | -* feat: allow file list filers with display names [\#1456](https://github.com/nextcloud-libraries/nextcloud-files/pull/1456) \([susnux](https://github.com/susnux)\) |
123 | | - |
124 | | -### Other changes |
125 | | -* chore(deps): Bump typescript-event-target from 1.1.1 to 1.1.2 [\#1450](https://github.com/nextcloud-libraries/nextcloud-files/pull/1450) |
126 | | -* chore: update to ESLint v9 [\#1457](https://github.com/nextcloud-libraries/nextcloud-files/pull/1457) \([susnux](https://github.com/susnux)\) |
127 | | - |
128 | | -## 4.0.0-beta.8 - 2025-12-29 |
129 | | -### 🚀 Enhancements |
130 | | -* feat(sidebar): properly implement sidebar Proxy for Nextcloud 33+ [\#1447](https://github.com/nextcloud-libraries/nextcloud-files/pull/1447) \([susnux](https://github.com/susnux)\) |
131 | | - |
132 | | -## 4.0.0-beta.7 - 2025-12-23 |
133 | | -### 🐛 Fixed bugs |
134 | | -* fix(column): validate interface rather than the instance type [\#1442](https://github.com/nextcloud-libraries/nextcloud-files/pull/1442) \([susnux](https://github.com/susnux)\) |
135 | | - |
136 | | -### Other changes |
137 | | -* refactor(column): use interfaces rather than instances [\#1443](https://github.com/nextcloud-libraries/nextcloud-files/pull/1443) \([susnux](https://github.com/susnux)\) |
138 | | - |
139 | | -## 4.0.0-beta.6 - 2025-12-22 |
140 | 124 | ### 🐛 Fixed bugs |
141 | | -* fix(view): ensure all optional properties are validated [\#1438](https://github.com/nextcloud-libraries/nextcloud-files/pull/1438) \([susnux](https://github.com/susnux)\) |
142 | | - |
143 | | -### Other changes |
144 | | -* chore: adjust types to only use interfaces if possible [\#1440](https://github.com/nextcloud-libraries/nextcloud-files/pull/1440) \([susnux](https://github.com/susnux)\) |
145 | | -* ci: add workflow to check for Typescript issues [\#1439](https://github.com/nextcloud-libraries/nextcloud-files/pull/1439) \([susnux](https://github.com/susnux)\) |
146 | | - |
147 | | -## 4.0.0-beta.5 - 2025-12-16 |
148 | | -### 💥 Breaking changes |
149 | | -* refactor!(navigation): pass `id` of view to `setActive` [\#1418](https://github.com/nextcloud-libraries/nextcloud-files/pull/1418) \([susnux](https://github.com/susnux)\) |
150 | | -* refactor!: migrate from cancelable promise to AbortSignal [\#1428](https://github.com/nextcloud-libraries/nextcloud-files/pull/1428) \([susnux](https://github.com/susnux)\) |
151 | | -* chore!: remove commonjs entry point [\#1420](https://github.com/nextcloud-libraries/nextcloud-files/pull/1420) \([susnux](https://github.com/susnux)\) |
152 | | - |
153 | | -### 🚀 Enhancements |
154 | | -* feat(sidebar): provide public API to register a sidebar tab with web components [\#1419](https://github.com/nextcloud-libraries/nextcloud-files/pull/1419) \([susnux](https://github.com/susnux)\) |
155 | | -* feat(sidebar): provide a proxy for the files sidebar [\#1306](https://github.com/nextcloud-libraries/nextcloud-files/pull/1306) \([susnux](https://github.com/susnux)\) |
| 125 | +* fix(actions): add type exports [\#1381](https://github.com/nextcloud-libraries/nextcloud-files/pull/1381) |
| 126 | +* fix(actions): only pass a single node to renderInline [\#1391](https://github.com/nextcloud-libraries/nextcloud-files/pull/1391) |
| 127 | +* fix(actions): add back nodes contents to view action params [\#1392](https://github.com/nextcloud-libraries/nextcloud-files/pull/1392) |
| 128 | +* fix(sortNodes): do not trim "extension" of folder names [\#1291](https://github.com/nextcloud-libraries/nextcloud-files/pull/1291) |
| 129 | +* fix(node): better special character encoding and detection [\#1398](https://github.com/nextcloud-libraries/nextcloud-files/pull/1398) |
| 130 | +* fix(column): validate interface rather than the instance type [\#1442](https://github.com/nextcloud-libraries/nextcloud-files/pull/1442) |
| 131 | +* fix(view): ensure all optional properties are validated [\#1438](https://github.com/nextcloud-libraries/nextcloud-files/pull/1438) |
| 132 | +* fix: properly export all public API [\#1485](https://github.com/nextcloud-libraries/nextcloud-files/pull/1485) |
156 | 133 |
|
157 | 134 | ### Other changes |
158 | | -* refactor: use interfaces where possible instead of instances [\#1417](https://github.com/nextcloud-libraries/nextcloud-files/pull/1417) \([susnux](https://github.com/susnux)\) |
159 | | -* refactor: drop dependency on Node modules [\#1421](https://github.com/nextcloud-libraries/nextcloud-files/pull/1421) \([susnux](https://github.com/susnux)\) |
160 | | -* ci: update dependencies also on stable3 [\#1400](https://github.com/nextcloud-libraries/nextcloud-files/pull/1400) \([susnux](https://github.com/susnux)\) |
| 135 | +* docs(View): improve documentation of `View.emptyView` [\#1290](https://github.com/nextcloud-libraries/nextcloud-files/pull/1290) |
| 136 | +* ci: update dependencies also on stable3 [\#1400](https://github.com/nextcloud-libraries/nextcloud-files/pull/1400) |
161 | 137 | * ci: drop npm token publishing and use trusted publisher [\#1416](https://github.com/nextcloud-libraries/nextcloud-files/pull/1416) |
162 | | -* Updated dependencies: |
163 | | - * Bump `@nextcloud/logger` to 3.0.3 |
164 | | - * Bump `@nextcloud/paths` to 3.0.0 |
165 | | - |
166 | | -## 4.0.0-beta.4 - 2025-12-09 |
167 | | -### 🐛 Fixed bugs |
168 | | -* fix(node): better special character encoding and detection [\#1398](https://github.com/nextcloud-libraries/nextcloud-files/pull/1398) \([skjnldsv](https://github.com/skjnldsv)\) |
169 | | - |
170 | | -## 4.0.0-beta.3 - 2025-12-03 |
171 | | -### 💥 Breaking changes |
172 | | -* refactor(Node)!: make `Node.root` a required attribute [\#1388](https://github.com/nextcloud-libraries/nextcloud-files/pull/1388) \([susnux](https://github.com/susnux)\) |
173 | | - |
174 | | -### 🐛 Fixed bugs |
175 | | -* fix(actions): only pass a single node to renderInline [\#1391](https://github.com/nextcloud-libraries/nextcloud-files/pull/1391) \([skjnldsv](https://github.com/skjnldsv)\) |
176 | | -* fix(actions): add back nodes contents to view action params [\#1392](https://github.com/nextcloud-libraries/nextcloud-files/pull/1392) \([skjnldsv](https://github.com/skjnldsv)\) |
177 | | - |
178 | | -### Other changes |
179 | | -* chore(Node)!: remove deprecated `isDavRessource` [\#1390](https://github.com/nextcloud-libraries/nextcloud-files/pull/1390) \([susnux](https://github.com/susnux)\) |
180 | | -* chore(deps): align and update vitest dependencies [\#1389](https://github.com/nextcloud-libraries/nextcloud-files/pull/1389) \([susnux](https://github.com/susnux)\) |
181 | | - |
182 | | -## 4.0.0-beta.2 - 2025-11-27 |
183 | | -### 💥 Breaking changes |
184 | | -* chore!: drop deprecated DAV exports from main entry point [\#1384](https://github.com/nextcloud-libraries/nextcloud-files/pull/1384) \([susnux](https://github.com/susnux)\) |
185 | | -* chore!: remove deprecated filename validation fallbacks for Nextcloud 29 and below [\#1383](https://github.com/nextcloud-libraries/nextcloud-files/pull/1383) \([susnux](https://github.com/susnux)\) |
186 | | -* chore!: remove deprecated `NewMenuEntry.iconClass` [\#1385](https://github.com/nextcloud-libraries/nextcloud-files/pull/1385) \([susnux](https://github.com/susnux)\) |
187 | | - |
188 | | -### Other changes |
189 | | -* fix(actions): rename content to contents [\#1386](https://github.com/nextcloud-libraries/nextcloud-files/pull/1386) \([skjnldsv](https://github.com/skjnldsv)\) |
190 | | - |
191 | | -## 4.0.0-beta.1 - 2025-11-27 |
192 | | -### 🐛 Fixed bugs |
193 | | -* fix: actions type exports [\#1381](https://github.com/nextcloud-libraries/nextcloud-files/pull/1381) \([skjnldsv](https://github.com/skjnldsv)\) |
194 | | - |
195 | | -## 4.0.0-beta.0 - 2025-11-27 |
196 | | -### 💥 Breaking changes |
197 | | -* fix(node): cloning [\#1348](https://github.com/nextcloud-libraries/nextcloud-files/pull/1348) \([skjnldsv](https://github.com/skjnldsv)\) |
198 | | -* feat(actions): standardize contexts [\#1124](https://github.com/nextcloud-libraries/nextcloud-files/pull/1124) \([skjnldsv](https://github.com/skjnldsv)\) |
199 | | - |
200 | | -### 🚀 Enhancements |
201 | | -* feat(node): allow to cast as JSON [\#1349](https://github.com/nextcloud-libraries/nextcloud-files/pull/1349) \([skjnldsv](https://github.com/skjnldsv)\) |
202 | | - |
203 | | -### 🐛 Fixed bugs |
204 | | -* fix(sortNodes): do not trim "extension" of folder names [\#1291](https://github.com/nextcloud-libraries/nextcloud-files/pull/1291) \([susnux](https://github.com/susnux)\) |
205 | | - |
206 | | -### Other changes |
207 | | -* chore: align devEngines with apps [\#1355](https://github.com/nextcloud-libraries/nextcloud-files/pull/1355) \([susnux](https://github.com/susnux)\) |
208 | | -* chore: remove legacy node attributes deprecation [\#1379](https://github.com/nextcloud-libraries/nextcloud-files/pull/1379) \([skjnldsv](https://github.com/skjnldsv)\) |
209 | | -* chore: work around bug in `corepack` blocking dependency updates [\#1292](https://github.com/nextcloud-libraries/nextcloud-files/pull/1292) \([susnux](https://github.com/susnux)\) |
210 | | -* docs(View): improve documentation of `View.emptyView` [\#1290](https://github.com/nextcloud-libraries/nextcloud-files/pull/1290) \([susnux](https://github.com/susnux)\) |
211 | | -* chore(deps): Bump @nextcloud/auth from 2.5.1 to 2.5.3 |
212 | | -* chore(deps): Bump @nextcloud/capabilities from 1.2.0 to 1.2.1 |
213 | | -* chore(deps): Bump @nextcloud/l10n from 3.3.0 to 3.4.1 |
214 | | -* chore(deps): Bump @nextcloud/paths from 2.2.1 to 2.3.0 |
215 | | -* chore(deps): Bump @nextcloud/router from 3.0.1 to 3.1.0 |
216 | | -* chore(deps): Bump @nextcloud/sharing from 0.2.4 to 0.3.0 |
217 | | -* chore(deps): Bump brace-expansion |
218 | | -* chore(deps): Bump is-svg from 6.0.0 to 6.1.0 |
| 138 | +* ci: add workflow to check for Typescript issues [\#1439](https://github.com/nextcloud-libraries/nextcloud-files/pull/1439) |
| 139 | +* chore: align devEngines with apps [\#1355](https://github.com/nextcloud-libraries/nextcloud-files/pull/1355) |
| 140 | +* chore: remove legacy node attributes deprecation [\#1379](https://github.com/nextcloud-libraries/nextcloud-files/pull/1379) |
| 141 | +* chore: work around bug in `corepack` blocking dependency updates [\#1292](https://github.com/nextcloud-libraries/nextcloud-files/pull/1292) |
| 142 | +* chore(deps): align and update vitest dependencies [\#1389](https://github.com/nextcloud-libraries/nextcloud-files/pull/1389) |
| 143 | +* chore: adjust types to only use interfaces if possible [\#1440](https://github.com/nextcloud-libraries/nextcloud-files/pull/1440) |
| 144 | +* chore(deps): Bump typescript-event-target from 1.1.1 to 1.1.2 [\#1450](https://github.com/nextcloud-libraries/nextcloud-files/pull/1450) |
| 145 | +* chore: update to ESLint v9 [\#1457](https://github.com/nextcloud-libraries/nextcloud-files/pull/1457) |
| 146 | +* refactor: drop dependency on Node modules [\#1421](https://github.com/nextcloud-libraries/nextcloud-files/pull/1421) |
| 147 | +* refactor: scope global state to major version of library [\#1492](https://github.com/nextcloud-libraries/nextcloud-files/pull/1492)\ |
| 148 | + To prevent apps breaking the files app with outdated library versions, all registered actions, views etc are now scoped. |
| 149 | + Meaning you have to use a compatible library version, e.g. its required to use the `@nextcloud/files` library v4 for Nextcloud 33+. |
| 150 | + Otherwise the registered entities are not picked up by the files app. |
219 | 151 |
|
220 | 152 | ## 3.12.1 - 2025-12-11 |
221 | 153 | ### 🐛 Fixed bugs |
|
0 commit comments