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: CHANGELOG.md
+49-2Lines changed: 49 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,8 +55,55 @@ To make work with nodes easier a new constant has been introduced:
55
55
(whereas `Permission.UPDATE` only indicates the file can be updates as in renamed or moved).
56
56
This is similar to the `Permission.CREATE` for folders.
57
57
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)
0 commit comments