Releases: flomesh-io/pipy
Releases · flomesh-io/pipy
1.2.0
- 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
- 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
- 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
- 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
- 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
- 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
- Support eBPF map operations
- Network layer performance improvement
- Benchmark test suite
0.90.1
- New codec for BGP
- Filters muxQueue() and demuxQueue() are merged into mux() and demux()
0.90.0
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
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