API Release 0.9.6
Used invites view
In your account, you can now see your invites that have been used, from https://pnut.io/account/used_invites.
Simple QR code invite
You can easily pull up a random, unused invite as a QR code, by clicking the button "Grab an Invite" at the top right of the Invites page in your account, or by going directly to https://pnut.io/account/invite_8. This could be helpful when you want to share an invite with a friend or acquaintance in-person.
Chat room E-mail notifications
Enabled in your account under Notifications, you can receive E-mails from Pnut for chat room activity like you already may receive Private Message notifications.
RSS feed URI templates
Now RSS feeds can use URI templates to create app-specific links to messages and posts from the feeds. Previously, a user's feed reader would always link them to a message or post on https://beta.pnut.io. This worked for posts, but if you had a custom channel type, it never made sense to send a reader to Beta, because Beta can only understand chat room- and private message-type channels.
MFA backup code
Now when adding multi-factor authentication to your account login, under account Security, you will be given a backup code that can be used to disable MFA on your account, in case your device becomes damaged or inaccessible.
E-mail notification link presets
Under account Notifications, you can choose to link to a specific client for a mention, PM, or chat activity. By default, Pnut's E-mails link to the Beta app. But you could choose to link to open in ChimPnut, for example.
Now those E-mail notifications have a handful of preset "clients" to choose from, in addition to the custom options. (If you are developing an application and would like yours included in the presets, contact support.)
"API changes" documentation
Now API releases have their own pages with more fleshed-out descriptions of changes, instead of only one-liners.
Markdown link length calculation documentation
Markdown link length is somewhat nuanced, so its calculation has been added to the API documentation. Nothing is changing here, but it is worth calling out in case your client is handling it improperly or you were curious.
Marking all of a channel type as "read"
The two unread PM endpoints were for getting a count of unread private messages or marking all PMs as "read". Those two endpoints still exist but are being deprecated in favor of a generic endpoint for getting any channel types' unread counts, and marking any channel types' channels as "read". Two new endpoints have been added to be used to mark any channel type as "read" with the query parameter
?channel_types and a CSV of up to 10 of the channel types desired.
Unread chat room count on subscribed channels
The call to a user's subscribed channels now includes
meta.unread_counts.io.pnut.core.chat, making it easier for a client to know if there are unread chat rooms.
Message search "replies" flag
The message search endpoint used to ignore the
?is_reply query parameter unless it was set to
Now this parameter will respect
?is_reply=1, but still be ignored if it is unset or
?is_reply=. You may look for messages that are not replies, now. If your client has been setting this parameter to
0 when not in use, it may have unexpected results.
This behavior for booleans in the API, to be set true, false, or not set, will likely spread in future releases.
More flexible user messages scopes
The user messages endpoint no longer requires full
public_messages scopes, but can use extended scopes like most other messages endpoints.
Localization files are live again on Pnut.io, and contributors are updating their files. Thanks to @akr, @ericd, @hutattedonmyarm for translations!
Poll search order
When searching for polls, the API had options for ordering results in descending order by
id or by
closed_at actually was expecting the query parameter