View all releases

API Release 1.4.0

Released on

Features

New File upload option and multiple File uploads*

The new file upload will not be ready at release; this notice will be removed and @pnutapi will post when it is available.

  • POST /files/provision
  • POST {server}/files
  • DELETE /files

Instead of uploading files to the pnut server, or deleting individual files and waiting for them to process, you can now provision files and then upload them to an AWS server. This allows the file processing to take place separately from the uploading; once you've provisioned the files or requested deletion you will have a status URL to poll, or you can rely on the websocket streams to see the files come across the wire.

Larger thumbnails on Images

Uploaded images will now have a new derivative thumbnail file created at 600 by 600px in addition to the existing 200x200 thumbnails created before.

Changes

Refactored user/post/message creation and storage strategies

The design around these objects' creation and storage has been rewritten, resulting in large storage and performance savings.

Deprecated File Endpoints

  • POST /files
  • PUT /files/{file_id}/content/{derived_key}
  • PUT /files/{file_id}/content
  • DELETE /files/{file_id}

With the new endpoints for uploading files after provisioning, and deleting one or more files, the old methods for creating and deleting files are deprecated. They still work, but will likely be slower and may not receive future improvements.

Fixes

Markdown Links with URI Template after Entities with multibyte characters

When a post was created with a multibyte character in a link or tag, followed by a markdown link with a URI template ({object_id}), the markdown link placement would be rendered mangled and the pos/len would be wrong.

Daily Digest E-mails not processing in some cases

A previous update broke the processing of channel message updates for daily digest E-mails. So if you had channel activity, you would miss a digest E-mail the next day.

Developers updating a client's listed price

Setting the price for your client to $100 or more would error and fail to update.

Numerous possible Post creation failures

There are various encoding issues that have happened over the years, and in some edge cases a post that should not be allowed to be created would not be handled well by the API and return a 500 error instead of simply rejecting the request.