Releases: open-source-labs/Swell
Releases · open-source-labs/Swell
0.9.0
Websocket Updates
- Added ability to test WebSocket servers by sending binary data types, specifically using Array Buffers
- Implemented user-created Chai-style assertation tests for WebSocket
User Interface
- Updated interface for test display results
- Added image display for WebSocket data transfer and drag-and-drop functionality for files.
Testing
- Implemented end-to-end Spectron testing for updated WebSocket functionality
Bug Fixes
- Debugged errors when combining WebSocket requests with other protocols
0.8.0
Scripting and Testing
- The Composer pane now has a section to write JavaScript that will execute upon Swell receiving a server response.
- Compose your test suite with ChaiJS TDD or BDD assertion-syntax.
- Make assertions on the response received by using the response object. Properties on the response object include .headers, .status, .events, .timeSent, and .timeReceived.
- View the test results in the new Tests tab on the Response pane.
- Available for REST, GraphQL, and gRPC.
Collection Runner
- Requests can be staged in the center Workspace pane and executed in the order they were added.
Scheduler
- Now has the ability to automate sending requests on a regular time interval.
Preview
- You can now see a rendered preview in the Response pane for HTML document payloads.
Bug Fixes and QoL Improvements
- Fixed UI overflow and misalignment bugs.
- Updated button styling and placement for better design consistency.
- Updated the chart to a line chart for better visual indication of the change in response latency over time.
Developer Notes
- Moved GraphQL logic out of the main file and into its own controller file.
- Fixed and completed the Spectron tests to cover gRPC (Default port is now 30051 due to Windows-specific conflicts).
0.7.0
UI/UX Overhaul
- Reconfigured application layout with 3 separate partitions: Composer, Workspace, Responses
- Reimagined the Graph as a Response History organized by individual requests
- Made the codemirrors and responses more readable by expanding their size and adjusting the colors
- Collections are now named Saved Workspaces
- Created a 'copy to composer' feature for requests in the workspace
- Added the ability to write over Saved Workspaces
Incorporated Concurrent Streaming for HTTP2 & SSE Servers
- Now has the ability to have multiple open streams per protocol
- Implemented a 'close connection' feature from the client UI for long running server streams
Bug Fixes
- Made improvements in all protocol implementations
- Cookies and Headers now send with GraphQL requests and Introspections
- Refactored ProtoParser to accept multiple proto file types
- Imported Collections/Workspaces are now fully functional
Developer Notes
- Debugging/Clean-up
- Reconfigured the Spectron Testing given the new UI/UX for all protocols but gRPC
0.6.1
0.6.0
UI/UX Overhaul
- Redesigned the UI to give it a new sleek, neumorphic design with more intuitive navigation
- Changed from scatter plot graph to bar graph for more straightforward, dynamic data analysis
- Created persistent URLs for seamless testing of different network protocols
- Improved form validation to preempt bad requests
- Implemented actionable error handling in request composers
GraphQL Schema Introspection
- Added schema introspection tool
- GraphQL Type Hinting & Schema Linter
- Included a feature that allows for smart type hinting and auto-completion when creating queries/mutations/subscriptions
- Added a schema linter to send back precise, actionable error messages
Bug Fixes
- Fixed SSE requests bug to get fully working
- Fixed GraphQL subscriptions bug to get fully working
- Resolved uncaught exception errors
Developer Notes
- Upgraded Electron to v8.5.0
- Fixed webpack to allow for hot module reloading
- Optimized gRPC composer to reduce unnecessary component rendering
- Expanded testing suites to include functional tests of all network protocols and configured into Travis CI
- Added support for loading components with dynamic imports via @loadable/component
0.5.0
Release Notes
Security Overhaul
- Sandboxed the app to behave as browser
- Updated Webpack to use CSP
- Implemented Preload/Context Bridge to eliminate use of Electron ipcRenderer/remote
Testing
- Implemented end-to-end Spectron testing
- Implemented React-Testing-Library for unit/integration testing
Typescript
- Set up Typescript configuration using Babel & started converting files/adding types
Additional Updates
- Updated Electron to v7.3.2
- Swapped out gRPC library to newer/more supported version @grpc/grpc-js
- Debugging/Clean-up
- Implemented style guide using eslint/prettier
- Added package builder for Windows
0.4.0
Swell 0.4.0 Updates:
-
Added support for gRPC endpoint testing
- Make requests for all four types of gRPC service methods: unary, client-side, server-side, and bi-directional
- Ability to import .proto files
- Automatic recognition of gRPC services and requests with custom parser
- Support for sending and receiving metadata
-
Enhanced Chart.js graph features
- Accurate recording of roundtrip connection times
-
Updated app versions to prevent vulnerabilities/increase security
- Electron v7.0.1
- Node v12.14.1
-
UI/UX updates
-
Global error handlers
-
New testing suites
0.3.0
Swell 3.0 Updates:
-
Enhanced GraphQL features
- Support for GraphQL subscription
- Visible response headers and cookies
- Meaningful error messages
- Status codes
-
Added WS close codes
-
Enhanced http features
- Request response round trip performance improvement (50-60% faster)
- Visible http response cookies
- Removed proxy server while maintaining support for http methods
-
Server Side Events error handling
-
User Interface fix and updates
-
Clear history feature
-
Import & Export collection feature
-
Rendering html response events