Skip to content

Releases: enmerk4r/Swiftlet

Rhino 8, MCP, WebSockets, OAuth, XML and more

26 Jan 04:30
419ad28

Choose a tag to compare

New Components

MCP (Model Context Protocol)

  • Define Tool Parameter
  • Define Tool
  • MCP Server
  • Deconstruct Tool Call
  • MCP Tool Response
  • SwiftletBridge executable (stdio-to-HTTP bridge for Claude Desktop and other MCP hosts)

HTTP Server

  • Server Input
  • Server Response
  • Deconstruct Request
  • Deconstruct Body

WebSocket

  • WebSocket Client
  • WebSocket Server
  • WebSocket Send

OAuth 2.0

  • OAuth Authorize (with PKCE)
  • OAuth Token (with refresh support)

UDP

  • UDP Listener
  • UDP Stream

XML

  • Parse XML
  • Get XML Attribute Value
  • Get XML Attributes
  • Get XML Child Nodes
  • Get XML Elements By Tag
  • Get XML Elements By XPath
  • Get XML Inner Text
  • Stringify XML Node
  • Create XML Element

Large File Handling

  • Download File (streaming)
  • Upload File (streaming)
  • Upload File Multipart (streaming)

Request Building

  • Create Form URL Encoded Body
  • Create Multipart Field (Text)
  • Create Multipart Field (Bytes)
  • Create Multipart Form Body

Improvements

  • Rhino 8 support (.NET 7)
  • Shared HTTP client for better performance
  • Bitmap compatibility with Bitmap+ and ShapeDiver
  • Null JSON token output by default from the Create JSON Value component
  • JToken preview rendering in Grasshopper

Deprecated

  • Socket Listener → use WebSocket Client/Server
  • Create Multipart Form Body (Named/Unnamed) → use Create Multipart Field + Create Multipart Form Body

QR codes, Bitmaps and Multipart Form Data

16 Jul 23:27

Choose a tag to compare

New components:

  • URLencode
  • Hex to RGB
  • RGB to Hex
  • Byte Array to Bitmap
  • Bitmap to Byte Array
  • Bitmap to Mesh
  • QR code generator
  • Throttle (Sleep)
  • Deconstruct Headers
  • Deconstruct Query Params
  • GUID generator
  • Base64 encode for byte arrays
  • Base64 decode for byte arrays
  • Create MultipartForm Body Named
  • Create MultipartForm Body Unnamed

Bugfixes:

  • Fixed the bug with the Content-Type header not being properly propagated to the request headers
  • Fixed the bug with request components not working when multithreading is turned off

Quality of Life improvements

29 Mar 21:41

Choose a tag to compare

  • Added components for constructing / deconstructing URLs (including query params)
  • Added utilities for reading CSV strings
  • Added components for converting byte arrays to lists of int and vice versa
  • Added a Replace Empty Branches component
  • Exposed Byte Array param
  • Improved error messages

IP Blacklisting

03 Dec 19:18

Choose a tag to compare

Introduced IP blacklisting functionality that prevents Swiftlet from making calls to IP ranges specified in an optional BLOCKED_SUBNETS environment variable. This is done to make sure that Swiftlet doesn't create a security vulnerability when run in a cloud compute context.

Multithreading and Listeners

25 Nov 22:03

Choose a tag to compare

  • All request components are now multithreaded
  • New HTTP Request component that supports all HTTP methods
  • New HTTP Listener and Socket Listener components
  • Base64 encoding and decoding utilities
  • Support for GZIP compression
  • Exposed byte arrays as a Grasshopper type
  • Improved stability for JSON parsing components

HTML Parsing

26 Jul 16:05

Choose a tag to compare

  • A full set of HTML parsing components
  • Create Custom Text Body Param
  • Create Byte Array Body Param
  • Components for saving plaintext, CSV, and binary files to disk

Open Source, bugfixes

12 Jun 19:49

Choose a tag to compare

Added examples and documentation for making Swiftlet open-source. Fixed bugs with JSON body creation from JTokens and stringifying JSON Arrays

Construct JSON

15 Dec 04:20

Choose a tag to compare

Added components for constructing JSON objects

JSON in R7

19 Nov 19:55

Choose a tag to compare

Adding Newtonsoft.Json dll to the R7 version

Serialization Hotfix

16 Nov 20:57

Choose a tag to compare

Fixed Text Body component serialization