Pipy 0.70.0 is now available. This release consists of 170+ commits and comes with improvements to several areas including support for writing Pipy modules using C via Pipy Native Module Interface (NMI), PJS language extensions like looping construct, Map, Set, etc, protocols like Thrift, PROXY, TPROXY, Output UDP with Ephemeral ports, Encoder/Decoder for DNS protocol, and more. This version of Pipy comes with a fresh and new design of modules/plugin system, enhanced Pipy unique Admin Console, IDE is now more robust and supports more features like Intellisense, parameters highlighting, hints, etc.
This release continues on the great work of previous releases and optimization is done for PipyJS and code readability, better documentation, and some bug fixes.
This release was indeed a community effort and could not have been made possible without all of the hard work from everyone involved in active discussions and the Pipy project on GitHub.The Pipy community provides code submissions covering new functionality and bug fixes, documentation improvements, quality assurance testing, continuous integration environments, bug reports, and more. Everyone has done their part to make this release possible! If you’d like to join this amazing community, you can find it on GitHub, Slack, and the Pipy discussion groups.
Below we list the most remarkable changes in the Core API and PipyJS. For a detailed change log, refer to Pipy Release Page
- 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
- Support Thrift protocol
- Support the Proxy protocol proposed by HAProxy
- Support outbound UDP with ephemeral local ports
- Support TPROXY on UDP
- 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
- Renovation of the documentation system by using TypeScript
- All new tutorials with complete API reference
- New samples for HTTP proxy common use cases
We would like to thank each and every contributor who was involved in this release.