diff --git a/Feature-Matrix.md b/Feature-Matrix.md
index 50a531f..5f4e679 100644
--- a/Feature-Matrix.md
+++ b/Feature-Matrix.md
@@ -1,15 +1,15 @@
# Commands
| feature | plaintext CLI | json CLI8 | dbus |
|---------|:-------------:|:--------:|------|
-| addDevice | ✅ | ❌ | ✅1
-| block | ✅ | ❌ | ✅3
-| daemon2 | ✅ | ✅ | ✅
+| addDevice | ✅ | ✅ | ✅1
+| block | ✅ | ✅ | ✅3
+| daemon2 | ✅ | NA22, 28 | ✅
| getContactNumber | ❌ | ❌ | ✅
| getObjectPath | NA22 | NA22 | ✅
| getUserStatus | ✅ | ✅ | ✅1, 13
| isMember | ❌ | ❌ | ✅
| isRegistered | ❌ | ❌ | ✅1
-| joinGroup | ✅ | ❌ | ✅
+| joinGroup | ✅ | ✅ | ✅
| jsonRpc | ✅ | ✅ | NA22
| link | ✅ | ❌ | ✅18
| listContacts | ✅ | ❌ | ✅15
@@ -17,56 +17,56 @@
| > isContactBlocked | ❌ | ❌ | ✅
| > listNumbers | ❌ | ❌ | ✅
| listDevices | ✅ | ❌ | ✅1
-| listGroups | ✅ | ❌ | ✅19
-| > getGroupAdminMembers | ✅26 | ❌ | ✅1
-| > getGroupIds | ✅26 | ❌ | ✅
-| > getGroupInviteUri | ✅26 | ❌ | ✅1
-| > getGroupMembers | ✅26 | ❌ | ✅
-| > getGroupName | ✅26 | ❌ | ✅
-| > getGroupPendingMembers | ✅26 | ❌ | ✅1
-| > getGroupRequestingMembers | ✅26 | ❌ | ✅1
-| > isGroupBlocked | ✅26 | ❌ | ✅
+| listGroups | ✅ | ✅ | ✅19
+| > getGroupAdminMembers | ✅26 | ✅26 | ✅1
+| > getGroupIds | ✅26 | ✅26 | ✅
+| > getGroupInviteUri | ✅26 | ✅26 | ✅1
+| > getGroupMembers | ✅26 | ✅26 | ✅
+| > getGroupName | ✅26 | ✅26 | ✅
+| > getGroupPendingMembers | ✅26 | ✅26 | ✅1
+| > getGroupRequestingMembers | ✅26 | ✅26 | ✅1
+| > isGroupBlocked | ✅26 | ✅26 | ✅
| listIdentities | ✅ | ❌ | ✅1, 16
| > listIdentity | ✅17 | ❌ | ✅1
-| quitGroup | ✅ | ❌ | ✅
+| quitGroup | ✅ | ✅ | ✅
| receive | ✅ | ✅ | ✅
| register | ✅ | ❌ | ✅18
| > registerWithCaptcha | ✅12 | ❌ | ✅18
-| remoteDelete | ✅ | ❌ | ✅
-| > sendGroupRemoteDeleteMessage | ✅ | ❌ | ✅
-| > sendRemoteDeleteMessage | ✅ | ❌ | ✅
-| removeDevice | ✅ | ❌ | ✅1
-| removePin | ✅ | ❌ | ✅1
-| send | ✅ | ❌ | ✅
-| > sendEndSessionMessage | ✅ | ❌ | ✅
-| > sendMessage | ✅ | ❌ | ✅
+| remoteDelete | ✅ | ✅ | ✅
+| > sendGroupRemoteDeleteMessage | ✅ | ✅ | ✅
+| > sendRemoteDeleteMessage | ✅ | ✅ | ✅
+| removeDevice | ✅ | ✅ | ✅1
+| removePin | ✅ | ✅ | ✅1
+| send | ✅ | ✅ | ✅
+| > sendEndSessionMessage | ✅ | ✅ | ✅
+| > sendMessage | ✅ | ✅ | ✅
| > sendMessageV2 | ❌ | ❌ | ✅1
| > send URL as attachment | ❌ | ❌ | ✅1
-| > sendGroupMessage | ✅ | ❌ | ✅
+| > sendGroupMessage | ✅ | ✅ | ✅
| > sendGroupMessageV2 | ❌ | ❌ | ✅1
-| > sendNoteToSelfMessage | ✅ | ❌ | ✅
+| > sendNoteToSelfMessage | ✅ | ✅ | ✅
| > sendNoteToSelfMessageV2 | ❌ | ❌ | ✅1
| > groupCallUpdate | ❌ | ❌ | ❌
| > payment | ❌ | ❌ | ❌
| > preview | ❌ | ❌ | ❌
| > sticker | ❌ | ❌ | ❌
| > viewOnce | ❌ | ❌ | ❌
-| sendContacts | ✅ | ❌ | ✅
-| sendReaction | ✅ | ❌ | ✅
-| > sendMessageReaction | ✅ | ❌ | ✅
-| > sendGroupMessageReaction | ✅ | ❌ | ✅
-| sendSyncRequest | ✅ | ❌ | ✅1, 23
-| sendTyping | ✅ | ❌ | ✅1
-| setPin | ✅ | ❌ | ✅1
-| trust | ✅ | ❌ | ✅1, 25
-| unblock | ✅ | ❌ | ✅4
+| sendContacts | ✅ | ✅ | ✅
+| sendReaction | ✅ | ✅ | ✅
+| > sendMessageReaction | ✅ | ✅ | ✅
+| > sendGroupMessageReaction | ✅ | ✅ | ✅
+| sendSyncRequest | ✅ | ✅ | ✅1, 23
+| sendTyping | ✅ | ✅ | ✅1
+| setPin | ✅ | ✅ | ✅1
+| trust | ✅ | ✅ | ✅1, 25
+| unblock | ✅ | ✅ | ✅4
| unregister | ✅ | ❌ | ✅1, 21
-| updateAccount | ✅ | ❌ | ✅1
-| updateContact | ✅ | ❌ | ✅10
-| > setContactName | ✅ | ❌ | ✅
-| > setExpirationTimer | ✅ | ❌ | ✅1
-| updateGroup27 | ✅ | ❌ | ✅20
-| updateProfile | ✅ | ❌ | ✅
+| updateAccount | ✅ | ✅ | ✅1
+| updateContact | ✅ | ✅ | ✅10
+| > setContactName | ✅ | ✅ | ✅
+| > setExpirationTimer | ✅ | ✅ | ✅1
+| updateGroup27 | ✅ | ✅ | ✅20
+| updateProfile | ✅ | ✅ | ✅
| uploadStickerPack | ✅ | ❌ | ✅1
| verify | ✅ | ❌ | ✅18
| > verifyWithPin | ✅14 | ❌ | ✅18
@@ -157,7 +157,7 @@
5. Data is provided to output stream (if available from Signal servers) or accepted from input stream
6. Provided indirectly by interpreting content file written to disk
7. Obsolete (no longer part of Signal API)
-8. `--output json` option is supported by CLI
+8. Supports JsonRpc command.
9. A thumbnail has the data of an attachment, but is also part of a quoted attachment
10. `updateContact` is implemented indirectly through two subcommands: `setContactName` and `setExpirationTimer`
11. Attachments are written to disk, with remoteId sent over DBus
@@ -184,4 +184,5 @@
24. Only works if a primary device is running the daemon.
25. Does not implement the `-a, --trust-all-known-keys` option
26. Provided as part of the subcommand's `-d, --detailed` option or signal-cli's `--output=json` option.
-27. Creates a new group if the groupId or base64GroupId is omitted.
\ No newline at end of file
+27. Creates a new group if the groupId or base64GroupId is omitted.
+28. `daemon` command supports Json output, but not input. Use the `JsonRpc` command for Json input.
\ No newline at end of file