Sunday 31 January 2021

Version 16 Released as Alpha Release

 Fixes #304


This fixes #304 which is a long running effort to upgrade application logic and UI.


You can try the new application by cloning this repository and checking out the `redesing2020` branch. Then installed dependencies (`npm i`) and start the application (`npm start`).


After over a year of redesigning the application and upgrading its code base I am proud to announce that the application with version 16.0.0-alpha.6 has been released today. This is a significant milestone for the application from the development perspective because the entire code base has been redesigned and upgraded to use Type Script to ensure stability of the code base and a new centralized DOM Events module that manages internal communication. Because of that we will be able to accelerate the development of the application, reduce number of issues, and simplify the development workflows. Also the number of components used by the application has been significantly reduced to help with the developer work flow. 

From the user perspective this release comes with complete redesign of the UI: new navigation and workspace that support different types of editors (not only HTTP editor). In the future this redesign will allow us to introduce new functionality to the application, like support for Protocol Buffers, GraphQL queries, or structural API testing capabilities. This wasn't possible with the previous application and information architecture. 

We are also working on a new documentation for the application that includes video tutorials, and 

Below is the complete change log for the v16 release for the end-user.

  • Now the navigation has a navigation rail to move between different sections of the navigation. This makes space for other planned types of navigation
  • ARC now uses Monaco editor to edit the request body. This can be changes back to CodeMirror in application settings.
  • Redesigned the response view. Now the response view has panels that can be opened on demand. The old response view was split into several panels.
  • The request panel now allows to import cURL command
  • Application navigation now can be resized. It can be also hidden by clicking on the currently selected menu icon.
  • Response view can be now resized as the panels are being created as stacked on top of each other. 
  • Redesigned settings panel. Added new UI and tons of new options controlling application behavior.
  • Redesigned request workspace for the load time.
  • The authorization settings now can be configured but not enabled. Also, the application allows to configure multiple authorization settings in a single request. The authorization is applied to the request through a separate module so the transformation won't change the request object in the editor.
  • Added response size limits. First limit renders a warning about the size of the message. The user can choose to render the view anyway. The other limit forces unprocessed ("raw") view of the response. This way it reduces chances of application hanging.
  • Removed "table view" from the response view. This module turned out to be very challenging to create and maintain. The final effect was a slow UI and not so good experience when working with the data.
  • Redesigned request actions. It has new actions (set variable, set cookie, delete cookie). Actions are also conditional. The user can set up a condition when the action is to be executed.
  • Added a new tab in the request editor: meta. It renders request meta data (name, list of projects, etc) for a saved request.
  • Removed ability to export to multiple folders in Google Drive (this was deprecated in Drive API).
  • The "detailed" URL editor now only edit query parameters
  • The request body editor now support different specialized editors and each of them stores own value. This means that when the user switch from "raw" to "Multipart" editor the multipart editor will restore previously used form
  • Themes manager now opens in a new window instead being part of ARC
  • Added status message about currently transported request. The transport library informs the application when the message is being transmitted, when headers are received, when response payload is being read, and when the load complete.
  • Added ability to send the request by pressing ctrl+Enter anywhere in the request editor. Similarly, the Escape key cancels the request.
  • Tabs in the request workspace now have flexible width. When more tabs is opened they shrink to accommodate all tabs in the current view.
  • Fixed tons of spelling mistakes :)

You can try the next version of the application today by downloading the alpha version. But, please, note that alpha version is not targeted for production. It hasn't been tested in the field and may contain undetected issues. If you find an issue, please, report it on the project's GitHub page, or by using application's "help" menu.