Tuesday, 1 February 2022

Advanced REST Client version 17 release

Version 17 of Advanced REST Client has been released. You can install it from ARC's releases page.


This release was focused on consolidating so far distributed code-base. We have merged most of the existing libraries into 4 main repositories. This allows us to focus on building new features instead of compatibility between the libraries.

Besides the great consolidation, this version comes with several new features, bug fixes, and general improvements.

New features

  • Added proxy settings in the application configuration
  • Added an option to read the OS' hosts file and combine the content with the app defined hosts
  • Added the ability to export the saved requests as a HAR file
  • Added a context menu entry for input fields to insert a variable
  • Added variables support in the authorization editor
  • Updated the UI to change the redirect URI for a single HTTP request
  • Added support for OICD (OpenID Connect) authorization

Improvements

  • Removed support for CodeMirror. ARC uses Monaco editor only.
  • New API Console - the next (not yet published) version of MuleSoft's API Console - the API documentation tool
  • Removed update channels (alpha, beta, latest) from the application updater
    • Added the app updater option to install a pre-release version
    • Dropping support for the "alpha" release
  • Added notifications when processing API project (with the spec)

Deprecation

  • Removed querying to the application backend for new messages
  • Removed custom Analytics service (Google Analytics is still there)

Fixes
  • Fixed setting the port information in the Python code snippets
  • Fixed setting code snippets after changing authorization settings
  • Fixed #437 - changed the definition of binary data in the response view
We hope you will love this version. Please, give us your feedback on the project's GitHub page.

Friday, 10 December 2021

The future of ARC projects

In the discussion “Redesign data storage - removal of Saved requests”, I proposed ending of “saved” requests in the Advanced REST Client, moving all existing “saved” requests to a “default” project, and redesigning what a project is. I was unclear how to evolve this functionality back then, but today the path is clear. This post explains the way forward for ARC projects and the invitation for open discussion before finalizing the spec and turning it into a code.


Wednesday, 17 November 2021

Version 17 - beta release

 Dear ARC users,

Recently we released version 17 (beta) of the Advanced REST Client. In it few changes were requested for a very long time, so we are delighted that they will soon be available in the stable channel.


See the list of changes below.


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.



Wednesday, 29 January 2020

Advanced REST Client version 15 is released with client certificates

Version 15 of Advanced REST Client has been released. You can install it from ARC releases page.

This release comes with a support for client certificates. Read more to learn how to use client certificates in Advanced REST Client.


Client certificates manager in Advanced REST Client

API Console version 6 is now released

ARC's sister project, API Console - the API documentation tool, is now published with version number 6. It brings tons of changes and improvements. You can use API Console to document your APIs using API definition. Read more to learn about changes and features of API Console.

Friday, 18 October 2019

Advanced Rest Client version 14 release

Version 14 of Advanced Rest Client has been released. You can install it from ARC releases page.

This release comes with complete rewrite of code base and few new features. Read more for a full list of changes.

ARC version 14 main view


Sunday, 6 October 2019

Advanced REST Client beta 14 release

New beta 14 version of ARC has been released for testing.
You can install it from ARC releases page.

This release comes with complete rewrite of code base and few new features. Read more for a full list of changes.

Wednesday, 20 March 2019

What's new: ARC Desktop 13

New version of ARC has been released. It was long lasted release containing tons of changes including: stability improvements, UI redesign, architecture redesign, security updates, and new features.

Thursday, 14 February 2019

Deprecation of xml-viewer component

Advanced REST Client and API console uses this component to render XML data. We want to retire this component as it does not give any advantage over using Prism library (right now this library is being used to render other types).
The component also causes problems when integrating it into other systems because it uses web workers. I have received many requests to remove use of web worker. My response is always: no data parsing in main thread process as it may cause the UI to hang. Prism also uses web workers but at least we will have one thing less to be worry about.

The "response-body-view" and "response-view" components that uses this component will be changed around July 2019. After this date new version will be released without additional support for XML responses other than Prism highlighting.

See this intent to deprecate here and comment if you'd like to take a part in the discussion.

Monday, 4 June 2018

API components now support v1 web components spec

After a few months of preparation I am proud to announce that more than a half of web components that are part of API components ecosystem now support version 1 (stable version) of Web Components specification. In short, this means native support on all browsers without polyfills.

Tuesday, 13 February 2018

Automate Your Work With Request Actions

We recently held an internal MuleSoft hackathon and, as a result of that event, I am excited to introduce a new feature in the Advanced REST Client (ARC): Request actions.

Request actions allows users to define a logic that is executed when the response is ready. Currently, users can assign value to a variable or store the variable. However, the variable can be extended to other use cases.




Monday, 12 February 2018

RAML landed into Advanced REST Client

I am excited to announce the new Advanced Rest Client (ARC) support for RAML specifications. RESTful API Modeling Language (RAML) makes it easy to manage the whole API lifecycle - from designing to sharing APIs. With version 12 of the ARC desktop app, you can now open RAML files and display their API documentation using MuleSoft's API console.

Tuesday, 5 December 2017

Using Polymer web components in React application

Today I've released a first version of the node module to wraps Polymer powered web components into React component.

The wc-reactor module takes a web component declaration (source code) and uses Polymer analyzer to get information about the component. Finally it creates a bridge between React and web platform so you can use any Polymer web component in a React application as if it is a React component.

Friday, 10 November 2017

Moving Data From Advanced REST Client Chrome Application To The Native Application

If you are ready to install new Advanced REST Client native application probably you would like to move your data along with you.
Unfortunately there's no automatic way to move the data from Chrome application to new native application. This has o be done manually by exporting the date to file (or to Google Drive) and then import it in the new app.

Let's start with installing Advanced REST Client native application if you haven't done that already.

Install

After new application is installed go to ARC Chrome application and export the data.

Tuesday, 7 November 2017

ARC components in Mulesoft's API Console

I am proud to announce that web components that are used to build ARC are now also used to build Mulesoft's API Console.

MuleSoft's API Console is a full-fledged API documentation tool that generates mobile-friendly web documentation based on RAML (Restful API Modeling Language) documents. It is an open source, community driven application that can be easily adjusted to any environment.

Background


While working on atomizing Advanced REST Client to a set of web components internally in the company we've realized that both products can share the same code base. So over a year ago I've started working on new version of the API console. The task was to create a best in class usability for API documentation tool. That includes mobile friendliness, ergonomic design, ease of reading documentation and learning the API structure. From a developer standpoint API console should be easy to use as a standalone application ready to run on a web server but also as a embeddable HTML element that can be added to existing products (like existing web pages with API documentation).

The result


API console is a web application based on web components standard. Therefore it can be used in any web environment and can work with any web framework (though some frameworks - like React - may require additional customizations). We've created a set of tools to make it even easier to build the API console from a RAML file. Our CLI tool can be used to generate production ready standalone website with API documentation or to generate development preview of the documentation while working on RAML. There also is the api-console-builder npm module that can be used in node environment to build the same API console.

Try new API console and design your APIs with RAML. I'll be happy to hear a feedback from you.

Sunday, 5 November 2017

New Advanced REST Client native application - install today

New version of Advanced REST client is ready! It is installable native application available in all major platforms:
- Windows (32 and 64 bit)
- MacOS
- Linux (deb and rpm)

You can install it from install.advancedrestclient.com. Do it today and move your data from legacy Chrome application to new native application.

Changelog v11

- Tabs in the request panel are finally there. No need to open many windows of the application (though you still can)
- Automatic updates that can be turned off if necessary 
- Cookie manager - now you can create / edit / delete cookies in the application. Cookies are applied to matching request domain and path
- Web session setup - open URL in app's internal browser to create a web session. Cookies from this session are automatically applied to the request

Wednesday, 11 October 2017

Termination of Chrome Apps - ARC native application

Some time ago Google decided to terminate support for Chrome apps in Chrome. Therefore Advanced REST Client will be removed from Chrome.

For last few months I've been preparing the app to this by externalizing parts of application code to a number of web components. Web components based on the native platform helps me build ARC as a different applications running in different web environments (web, node, Chrome / Firefox extensions etc). Last week I've moved rest of the application logic to external component. This enabled me to work on alternatives for ARC as a Chrome App.

Now I'm proud to announce that currently I'm finishing testing Advanced REST Client native application. The app is available on all major platforms:

- Windows (32 and 64-bit)
- MacOS
- Linux - as a rpm and deb package (both 32 and 64-bit)

Because the application is still being tested I am not going to publish installation URL to you at this time. When I'm sure that the application is bugs free I'll update the Chrome Application with information about migration path and post another article on this blog.

Action to be taken now

Because Chrome Apps will be forcibly removed from Chrome your data will disappear as well. To not lost your data please use the export option today to export the data to a file or to Google Drive.

Note: Native application has different Google's Client ID and therefore it is not possible to open Google Drive file from the application ui. You'll have to authorize the application within the app UI and then go to Google Drive web app and choose "open with" option for the file.

Also you can export the file to Google Drive and later simply download it and import as file.


The timeline 

In a month (or so) from now Chrome applications will be removed from Chrome. Replacement application is ready but it's not fully tested. Also it still need a code verification certificate (I am working on this issue) before stable release.

In 2 weeks time new application should be released in stable channel. At the same time Chrome application is released with information about termination of Chrome apps and path to migrate.

In a month Chrome apps are terminated and hopefully all users have been migrated to new application.

See you in the new app!

Wednesday, 22 February 2017

New design proposal

Recently I've started working on a new design for ARC. It was caused by necessary changes in the body panel (especially multipart form).

I've come up with the following:


More of the mockup: https://xd.adobe.com/view/9fefbc1d-18fa-43e3-afb5-7b8af5efe586/

I am really interested your opinion. So please, if you have any thoughts about it, leave a comment below or commend directly on mockup page.

Thanks!

Wednesday, 23 November 2016

Web Components @ scale - my topic at the DevFest 2016 conference in Warsaw, Poland

Hi developers.

I'm proud to be a speaker at the DevFest 2016 conference in Warsaw, Poland.
The conference is this Saturday in Praha Cinema. My topic will be about building web applications that scales using web components. I’m going to talk about development workflow with web components, using platform over frameworks and how Polymer 2.0 is shifting from being framework to being support library for web components removing all framework alike functions.


The Advanced REST Client application is now a Polymer - or rather web component - application. For last year I managed to rebuild the app from GWT framework to web components. I have also an experience in other apps build with Polymer. But the case of ARC showed me that wrong architectural approach - even with web components - may end up with building another monolith that just use another framework. But web components are made to be a real building blocks of modular application.

If you are in Poland at the time I strongly encourage you to be at the conference. Many great speakers are managed to be there and many great talks are being prepared. If you will, just say hi to me :)

See you at DevFest!