|
4 | 4 | ## __WORK IN PROGRESS__ |
5 | 5 | --> |
6 | 6 |
|
7 | | -## 4.0.0 (2021-xx-xx) Release I... [Cut off: 19.01.2022 17:30] |
| 7 | +## 4.0.0 (2021-xx-xx) Release I... [Cut off: 27.01.2022 23:30] |
8 | 8 | **WORK IN PROGRESS - Use at own risk!** |
9 | 9 |
|
10 | 10 | **BREAKING CHANGES** |
|
14 | 14 | * CLI command `iob rebuild adaptername` is no longer supported because of the new way of automatic rebuilds and some unwanted side effects |
15 | 15 | * CLI command `iob state get <id>` will no longer handle binary state values (which was never really working before). We added `iob state getBinary <id> <encoding>` as new way. |
16 | 16 | * Ensure that on a backup-restore the same adapters and adapter versions are restored as existing on backup time. ALso check js-controller version and error on mismatch (is allowed to be forced accepted by --force parameter for restore) |
17 | | -* PENDING: The "file" database will be automatically converted into JSONL and the database types that use "file" are adjusted to "jsonl" on installation (and backup restore). This means that a rollback of js-controller is only possible to 3.3 after 4.0 was installed! Rollback to former versions require a manual migration to "file" DB before the downgrade! (COMMUNICATION, TESTFOKUS) |
| 17 | +* The "file" database will be automatically converted into JSONL and the database types that use "file" are adjusted to "jsonl" on installation (and backup restore). This means that a rollback of js-controller is only possible to 3.3 after 4.0 was installed! Rollback to former versions require a manual migration to "file" DB before the downgrade! (COMMUNICATION, TESTFOKUS) |
18 | 18 |
|
19 | 19 | **Features** |
20 | 20 | * (bluefox) Added complexity rules for user passwords: New created passwords need to follow the following rules (TODO ADMIN UI INFO ISSUE): |
|
54 | 54 | * (foxriver76) Update seq integration for logging |
55 | 55 | * (foxriver76) If logging can not be initialized because of a fatal error do not start js-controller |
56 | 56 | * (foxriver76) Prevent start of a debug session for an instance that is already running |
| 57 | +* (Apollon77) Fix an edge case for file db which could lead to main and backup file being broken in strange situations with multiple crashes in a row |
57 | 58 | * (Apollon77, foxriver76, bluefox, AlCalzone) Several fixes and refactorings to prevent potential crash cases reported by Sentry and other sources |
58 | 59 |
|
59 | 60 | **Developer relevant DEPRECATIONS/WARNINGS** |
|
62 | 63 | * log info when default value of an object is invalid (e.g. does not match object type) |
63 | 64 | * log info when `common.states` is used and not an object (deprecate String usage) |
64 | 65 | * log info when `common.min`/`common.max` exists on non numbers and contain invalid values/types |
| 66 | +* add get/setForeignBinaryState methods as copy from get/setBinaryState allow adapter to migrate; get/setBinaryState will be changed in 4.1 to be "non Foreign" |
65 | 67 | * Enhanced object checks: adapter need to have a name as string |
66 | 68 | * Decline calls for getForeignObjects with non string pattern (was pot. crashing before) |
67 | 69 | * adapter.tools is deprecated and replaced by a shim. Use methods in adapter class or adapter-core instead or open issues if you need more internal functions |
68 | | -* PENDING The object view definition "custom/state" is now removed from js-controller after being replaced by "system/custom" in js-controller 3.3. All relevant adapters are updated (COMMUNICATION) |
| 70 | +The object view definition "custom/state" is now removed from js-controller after being replaced by "system/custom" in js-controller 3.3. All relevant adapters are updated (COMMUNICATION) |
69 | 71 | * remove all *Fifo* Methods from adapter.js because deprecated since 1.x |
70 | 72 | * remove adapter.objects.* methods because deprecated since 2.x |
71 | 73 |
|
72 | 74 | **Developer relevant new Features** |
73 | | -* (jogibear9988) PENDING Add new "unload-safe" promise based "adapter.delay" method to delay further code execution, but still make sure code do not continue after unload was called. This method can **not** be used inside the "unload" method itself! |
74 | | -* (jogibear9988/AlCalzone/foxriver76/Apollon77) PENDING Revamp adapter.*Timeout and adapter.*Interval methods to be "unload-safe" and also clear missing timeouts without warnings for more developer convenience! The methods to set a timeout or interval can **not** be used inside the "unload" method itself! |
| 75 | +* (jogibear9988) Add new "unload-safe" promise based "adapter.delay" method to delay further code execution, but still make sure code do not continue after unload was called. This method can **not** be used inside the "unload" method itself! |
| 76 | +* (jogibear9988/AlCalzone/foxriver76/Apollon77) Revamp adapter.*Timeout and adapter.*Interval methods to be "unload-safe" and also clear missing timeouts without warnings for more developer convenience! The methods to set a timeout or interval can **not** be used inside the "unload" method itself! |
75 | 77 | * (AlCalzone) Introduce new methods in tools for Node.js module management: installNodeModule, uninstallNodeModule (TODO Issues adapter that use npm install -> Move)) |
76 | 78 | * (bluefox) Add license management functionality to host. Adapters can use adapter.getSuitableLicenses to get available relevant licenses (TODO DOCS) |
77 | 79 | * (AlCalzone) Switch NPM relevant handling to library pak to be more flexible for the future which package manager we want to use. Important: There are still parts that rely on npm for now! |
|
0 commit comments