Skip to content

Commit b39e111

Browse files
authored
Merge pull request #1486 from nextcloud-libraries/chore/rc-2
chore: prepare v4.0.0-rc.2
2 parents ad64989 + c18430f commit b39e111

3 files changed

Lines changed: 52 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,55 @@ To make work with nodes easier a new constant has been introduced:
5555
(whereas `Permission.UPDATE` only indicates the file can be updates as in renamed or moved).
5656
This is similar to the `Permission.CREATE` for folders.
5757

58-
#### Navigation view registration
59-
* Allow to register multiple views at once.
58+
Note that this is only valid for WebDAV nodes, for other APIs that are using the permissions
59+
it depends how they interpret them.
60+
61+
#### Interfaces
62+
Where feasible this library now only requires using objects
63+
matching a given interface and not instantiating a class.
64+
The reason here is that this allows for easier extending,
65+
which can be used to keep track of some internal state.
66+
67+
Moreover classes could never be verified because
68+
the prototypes were not globally shared thus every applicaton would create different class instances.
69+
Meaning e.g. a `FileAction` of app A would not satisfy `instanceof FileAction` in app B.
70+
71+
So with v4 of this library those classes have been removed,
72+
instead just make sure to implement the provided interfaces.
73+
74+
```diff
75+
- import { FileAction } from '@nextcloud/files'
76+
+ import type { IFileAction } from '@nextcloud/files'
77+
78+
- const action = new FileAction({ ... })
79+
+ const action: IFileAction = { ... }
80+
```
81+
82+
```diff
83+
- import { FileAction, registerFileAction } from '@nextcloud/files'
84+
+ import { registerFileAction } from '@nextcloud/files'
85+
86+
- registerFileAction(new FileAction({ ... }))
87+
+ registerFileAction({ ... })
88+
```
89+
90+
## 4.0.0-rc.2 - 2026-02-06
91+
### 🐛 Fixed bugs
92+
* fix: properly export all public API [\#1485](https://github.com/nextcloud-libraries/nextcloud-files/pull/1485)
93+
94+
### Other changes
95+
* refactor(headers): use interfaces where possible [\#1484](https://github.com/nextcloud-libraries/nextcloud-files/pull/1484)
96+
97+
## 4.0.0-rc.1 - 2026-02-05
98+
### 🚀 Enhancements
99+
* feat(navigation): allow to register multiple views in one batch [\#1476](https://github.com/nextcloud-libraries/nextcloud-files/pull/1476)
100+
* feat(registry): Add new registry to listen for registration events [\#1483](https://github.com/nextcloud-libraries/nextcloud-files/pull/1483)
101+
This allows to listen for changes on registered objects (views, filters, etc).
102+
So you can react when something new was registered.
103+
This allows to creates a reactive state with any framework (e.g. Vue 3).
104+
105+
### Changes
106+
* More classes are replaces with interfaces where real class instances are not needed [\#1475](https://github.com/nextcloud-libraries/nextcloud-files/pull/1475)
60107

61108
## 4.0.0-rc.0 - 2026-01-15
62109
### 🚀 Enhancements

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@nextcloud/files",
3-
"version": "4.0.0-rc.1",
3+
"version": "4.0.0-rc.2",
44
"description": "Nextcloud files utils",
55
"keywords": [
66
"nextcloud",

0 commit comments

Comments
 (0)