Skip to content

Releases: flomesh-io/pipy

1.2.0

06 Jun 07:51
4b0a334
Compare
Choose a tag to compare
  • Support custom builtin codebases for SEAs (single executable applications)
  • PipyJS exception handling enhancements
  • New thread-shared Quota API
  • New APIs for handling filesystem paths
  • BPF API enhancements
  • Ability to trace object constructions for debugging
  • Optimized memory usage of log history
  • Various enhancements in the build system

1.1.0

26 Apr 03:13
Compare
Choose a tag to compare
  • Support loading/attaching of all types of BPF programs
  • Support multithread-aware concurrency limit per port
  • New API for cryptographic key generation and X.509 certificate signing
  • New http.Match API for path-based routing
  • More OS related API: os.home(), os.mkdir(), os.rmdir()
  • Support changing the log level on-the-fly via the administration API
  • New samples showcasing various usecases including traffic interception via eBPF, global rate limiting, MITM proxy, etc.

1.0.0

07 Mar 07:28
Compare
Choose a tag to compare
  • Support JavaScript statements including if/else, switch/case, break, return, try/catch and throw
  • Support function scope local variables defined by using the 'var' and 'function' keywords
  • Support ES module export/import
  • Support shebang line for direct script execution from the shell
  • New Pipeline API using fibers (preview)
  • New LoadBalancer API
  • Other new APIs including YAML parsing, metric gathering, percentile calculation and high-resolution performance timer, etc.

0.99.1

02 Feb 01:39
Compare
Choose a tag to compare
  • Added support of Netlink sockets
  • Added basic support of FastCGI
  • New filters and APIs: encodeNetlink(), decodeNetlink(), demuxFastCGI(), muxFastCGI(), produce(), DNS.resolve()
  • Standard-compliant improvements of JavaScript Number and Array APIs
  • Support loading of BPF programs with BTF parsing
  • Support watching file changes in filesystem codebases
  • Support UTF-16 encoding
  • Worker to repo metric collection by HTTP POST in lieu of WebSocket
  • Worker to repo metric value deletion mechanism
  • Added logging for requests to repo
  • Ported to Windows
  • Migrated to OpenSSL 3.2

0.99.0

13 Nov 03:39
Compare
Choose a tag to compare
  • Support cross-thread pipeline linking using linkAsync() filter
  • Support Tongsuo NTLS cryptography library
  • New API for enumerating/operating current inbound connections
  • New API for operating SQLite databases
  • New API for serving static HTTP directories
  • Options for replacing the builtin admin front-end

0.90.3

25 Aug 06:51
Compare
Choose a tag to compare
  • Ability to define process exit handlers and custom admin port handlers
  • Ability to dump buffer usage by filters
  • New API for operating outbound connections
  • New API for batch opening/closing listening ports
  • Optimized memory consumption by the logging system
  • Add stress tests

0.90.2

03 Jul 10:38
Compare
Choose a tag to compare
  • Support eBPF map operations
  • Network layer performance improvement
  • Benchmark test suite

0.90.1

18 Apr 01:54
8c30f1b
Compare
Choose a tag to compare
  • New codec for BGP
  • Filters muxQueue() and demuxQueue() are merged into mux() and demux()

0.90.0

26 Jan 01:46
Compare
Choose a tag to compare

0.90.0

Core

  • Run multiple workers in concurrent threads
  • Process-wide metric and log aggregation
  • Multi-threading support in NMI
  • Regularly frees up excess memory space retained in all pools
  • Boost Asio version bumped from 1.12.2 to 1.24.0

PipyJS

  • Optimized function call performance
  • Call stack depth limited to 100
  • ECMAScript compliance improvements

Filter API

  • Configuration time static branch using the branch() filter
  • Added an option to bind to a specified local IP in connect()
  • Added keepAlive option to listen() and connect()
  • Inbound connection metrics by remote IP is now optional
  • HTTP decoder performance optimization

Admin API

  • Added dedicated endpoint /api/v1/repo-files/* for repo file operations
  • Added endpoint /dump/* for listing detailed memory usage info
  • Send SIGTSTP to toggle on/off the admin port on the fly

Testing

  • New testing framework
  • Added service mesh sidecar sample
  • Added multi-threading NMI sample

0.70.0

21 Oct 01:31
Compare
Choose a tag to compare

0.70.0

Core

  • NMI (Native Module Interface) for dynamically loaded modules written in C
  • New module/plugin system by using chain() filters
  • Support loop logic in pipelines by using the new replay() filter
  • Builtin GUI frontend greatly reduced in size by using Brotli compression

Protocols

  • Support Thrift protocol
  • Support the Proxy protocol proposed by HAProxy
  • Support outbound UDP with ephemeral local ports
  • Support TPROXY on UDP

API

  • Implementation of the standard ECMAScript builtin objects Map and Set
  • Encode and decode DNS messages
  • Logging API now supports HTTPS receivers and Syslog
  • Expose subject alternative names of a certificate
  • Mux filters to support limit of maximum messages per session
  • Netmask API now supports IPv6

Documentation & Samples

  • Renovation of the documentation system by using TypeScript
  • All new tutorials with complete API reference
  • New samples for HTTP proxy common use cases