Releases: NodeppOfficial/nodepp
Releases · NodeppOfficial/nodepp
Release list
📌 Nodepp | V1.4.1 📌
What's Changed
- tcp_t::listen() permanently stops accepting connections after one accept() error (Windows/IOCP) by @binaryduke in #39
- chunk-encoding bug fixing
- generator.h optimization
New Contributors
- @binaryduke made their first contribution in #39
Full Changelog: 1.4.0...1.4.1
📌 Nodepp | Stable Version | V1.4.0 📌
We're thrilled to announce the release of Nodepp v1.4.0! 🎉
This is a major milestone. We've squashed bugs, added long-awaited features, and finally made Nodepp fully compatible with Windows. A huge shoutout to lsergiy and binaryduke for their invaluable help in testing and finding bugs — this release wouldn't have been possible without them.
What's New
Windows Support (Finally!)
Nodepp is now fully compatible with Windows (MSVC 2022). No more workarounds, no more patched builds — it just works. (Special thanks to binaryduke for the help)
Kernel Upgrades
- New Kernel based on io_uring has been added to Nodepp, improving I/O performance and stability across the board.
File Reusable Mode
- Files can now be opened in reusable mode, allowing them to be streamed through multiple pipes simultaneously, thanks to the
kernel.hrewrite.
Memory & Stability
- Fixed a memory leak in
promise.h,zlib.handevent.h. - Rewrote
sleep.hto support 64-bit timers, counting from 0 to prevent overflows. - Updated internal types: file size and timers are now 64-bit for better precision and future-proofing.
Coroutines
- Added support for arguments in coroutines — now you can pass data directly.
- Added COROUTINE_ARG( ARGUMENTS ) to
macros.h
auto co = coroutine::add<int,int,int>( COROUTINE_ARG( int x, int y, int z ){
console::log( ">>", x, y, z );
return 1; });
co( 10, 20, 30 );- Added Coroutine Based Event trigger
event_t<int> event;
event.add( coroutine::add( COROUTINE_ARG( int argument ){
coBegin
/* Coroutine Logic */
coFinish
}));
while( !event.empty() ){ event.emit( 10 ); }
HTTP Rewrite
- Full rewrite of HTTP with support for:
- POST content-Length
- Chunked Encoding
- Content-Length
- Raw streams
(Special thanks to binaryduke for the help testing things up)
WebSocket (WS) Rewrite
- Added support for masking — Nodepp is now fully compatible with Node.js and Chromium WebSocket implementations.
Core Rewrites
- Merged the two versions of
regex.h(PC and embedded) into a single file. You can now select the target architecture at compile time by usingNODEPP_REGEX_ENGINE. map_tnow uses a binary trie for O(bits) lookup — faster and more predictable than hash-based maps.- Rewrote
promise.h,workers.h,sleep.h, andmap.hfor better performance and reliability. kernel.hwas Rewrote, adding a new event sistem registration, allowing register a stream multiple times.
New Additions
channel_t— for communication between coroutineshandler_t— safe O(1) handle-based storageinvoker_t— type-safe event invokerdssl_t— DTLS support
Renames & Cleanups
wait_t→listener_t(a signal-based system)- Renamed macros:
NODEPP_MAX_PATH_SIZENODEPP_MAX_SSO_SIZENODEPP_MAX_SOCKETNODEPP_CHUNK_SIZENODEPP_ARCH_SIZENODEPP_MAX_BATCH_SIZENODEPP_HASH_TABLE_SIZENODEPP_HEAP_SIZE- Removed unused macros
- Wrapped special types (e.g.,
uchar_64) inside thenodeppnamespace
Credits
Special thanks to:
- lsergiy — for relentless testing and bug reports
- binaryduke — for HTTP improvements and Windows testing
Your contributions made Nodepp better for everyone. 🙌
Upgrade Notes
- If you're using
uchar8,uchar16,uchar32oruchar64, change touchar_8,uchar_16, and so on. - If you're using
ulongfor file sizes or timers, update tolen_toruchar_64where needed. wait_tis nowlistener_t— update your code accordingly.- Macros like
CHUNK_SIZEare nowNODEPP_CHUNK_SIZE. - Templates have been updated:
socket_t<socket_t>→socket_t<ptr_t<tcp_t>, socket_t>- Update your code accordingly."
Full Changelog
- Windows compatibility (MSVC 2022)
io_uringadded to kernel- zlib memory leak fixed
- Coroutine arguments support
- file system (fs) rewrite — improved performance and reliability"
- 64-bit file sizes and timers
sleep.hrewrite (64-bit, overflow-safe)- HTTP rewrite (chunked, content-length, raw)
- WS rewrite (masking support)
promise.h,worker.h,ssl.himproved stability and performancechannel_t,handler_t,invoker_t,dssl_taddedwait_t→listener_tmap.hrewrite- Macro cleanup (
NODEPP_CHUNK_SIZE, etc.) regex.hmerge (PC + embedded)
Get It Now
Nodepp v1.4.0 is available on GitHub and through our package registry.
📌 Nodepp | Stable Version | V1.3.0 📌
📌 Nodepp | Stable Version | V1.3.0 📌
📌 Nodepp | Stable Release | V1.2.0 📌
📌 Nodepp | Stable Version | V1.3.0 📌
📌 Nodepp | Stable Version | V1.1.0 📌
📌 Nodepp | Stable Version | V1.1.0 📌