Introducing Postman Runtime: More power, better control
The Postman Collection format was created as an internal data format for Postman. The format evolved iteratively as we added more features inside Postman. As Postman has grown so have the requests for adding new features. We decided to take a step back and look at what Collections are and what they are capable of doing. The Collections v2 project started last year with the aim of cleaning up the format and making Collections future proof.
Along with the cleaning up Collections, another challenge was ensuring that Postman apps – now running on Electron and Chrome – and newman (based on node), execute Collections the same way. We have been patching Postman and newman whenever differences arose between them but this was not a scalable approach either. To solve this, we decided to build a solid underlying layer called Postman Runtime.
Postman Runtime offers a consistent and reliable runtime that executes requests, scripts and tests on Postman’s native apps, Chrome apps, the command line and on the cloud. Yes, Postman Runtime will be powering Postman Cloud enabling a ton of exciting services. We will talk about this in upcoming blog posts. Our goal was to get you to build Collections once and then run them anywhere. With today’s release, we have taken a big leap towards this goal.
Postman Runtime overcomes some basic Postman limitations. These limitations are present due to requests being sent using XHR. With Postman Runtime, these are sent using the node.js HTTP library. You will get better control over request headers, the ability to manage cookies properly and pretty soon, the ability to send request bodies with the GET method (finally).
Here are the full release notes:
- A more secure NodeJS based sandbox for running pre-request and test scripts
- HTTP engine built on NodeJS, which allows faster uploads of files, even running into Gigabytes in size
- Support for previewing responses having any media type supported by the browser (audio, video, etc)
- Support for sending Restricted HTTP headers, such as Origin and User-Agent
- Uniformity across Postman and Newman
- Watch cat videos
You will also see faster execution of test code. You will be able to write asynchronous code inside pre-request and test scripts. The Collection Runner will see improvements like logging of request/response data and the ability to pause test runs. Thanks to Collection v2, our near term roadmap has multi-level folders, better reordering of folders and requests and the ability to add tags to collections. Check out the Collection SDK project on Github to dive deeper.
One change that might affect you is the removal of the jQuery library. We have had the deprecation notice out on our documentation and newman for a few months. A very small percentage of users were using the jQuery library and the presence of jQuery and DOM affected the Postman sandbox performance in a big way. If you’d like some help to transition away from jQuery, feel free to email us at [email protected]
Postman Runtime is available on a new “channel” for the Postman Mac app called Postman Canary. Postman Canary can be downloaded and run separately from the main Postman app. Of course, if you have a Postman account, you can sync seamlessly between the production and the Canary apps to get a test of awesome new features without disturbing your workflow. Please let us know if you encounter any bugs on our Github tracker.