Releases: open-source-labs/Swell
Releases · open-source-labs/Swell
0.10.0
OpenAPI
- Make API requests based on a range of provided options that are generated according to specifications defined in a yaml or json-formatted OpenAPI document.
WebRTC
- Verify connectivity of ICE servers (STUN and TURN) for WebRTC applications by gathering ICE candidates and generating an SDP.
Bug Fixes
- Fixed right margin bug on WebSocket message container
- Fixed UI reducer composerDisplay test
- Fixed initial state test in business reducer
Code Quality
- Removed unused imports.
- Removed unused props.
- Updated ESLint config to be Typescript aware.
- Added formatting and linting npm scripts.
- Fixed as many inherited linting errors as possible. Disabled rules per file for many others. Tweaking rules and tending to the existing errors will need to continue, but the included updates should help enforce more standardization and best practices moving forward.
- Updated Typescript declarations to match new redux store state, and to utilize enums and interface inheritance.
- Updated vulnerable npm packages
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