Skip to content

Releases: NodeppOfficial/nodepp

📌 Nodepp | V1.4.1 📌

Choose a tag to compare

@EDBCREPO EDBCREPO released this 21 Jul 23:49

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

Full Changelog: 1.4.0...1.4.1

📌 Nodepp | Stable Version | V1.4.0 📌

Choose a tag to compare

@EDBCREPO EDBCREPO released this 17 Jul 05:52

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.h rewrite.

Memory & Stability

  • Fixed a memory leak in promise.h, zlib.h and event.h.
  • Rewrote sleep.h to 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 using NODEPP_REGEX_ENGINE.
  • map_t now uses a binary trie for O(bits) lookup — faster and more predictable than hash-based maps.
  • Rewrote promise.h, workers.h, sleep.h, and map.h for better performance and reliability.
  • kernel.h was Rewrote, adding a new event sistem registration, allowing register a stream multiple times.

New Additions

  • channel_t — for communication between coroutines
  • handler_t — safe O(1) handle-based storage
  • invoker_t — type-safe event invoker
  • dssl_t — DTLS support

Renames & Cleanups

  • wait_tlistener_t (a signal-based system)
  • Renamed macros:
    • NODEPP_MAX_PATH_SIZE
    • NODEPP_MAX_SSO_SIZE
    • NODEPP_MAX_SOCKET
    • NODEPP_CHUNK_SIZE
    • NODEPP_ARCH_SIZE
    • NODEPP_MAX_BATCH_SIZE
    • NODEPP_HASH_TABLE_SIZE
    • NODEPP_HEAP_SIZE
    • Removed unused macros
    • Wrapped special types (e.g., uchar_64) inside the nodepp namespace

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, uchar32 or uchar64, change to uchar_8, uchar_16, and so on.
  • If you're using ulong for file sizes or timers, update to len_t or uchar_64 where needed.
  • wait_t is now listener_t — update your code accordingly.
  • Macros like CHUNK_SIZE are now NODEPP_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_uring added to kernel
  • zlib memory leak fixed
  • Coroutine arguments support
  • file system (fs) rewrite — improved performance and reliability"
  • 64-bit file sizes and timers
  • sleep.h rewrite (64-bit, overflow-safe)
  • HTTP rewrite (chunked, content-length, raw)
  • WS rewrite (masking support)
  • promise.h, worker.h, ssl.h improved stability and performance
  • channel_t, handler_t, invoker_t, dssl_t added
  • wait_tlistener_t
  • map.h rewrite
  • Macro cleanup (NODEPP_CHUNK_SIZE, etc.)
  • regex.h merge (PC + embedded)

Get It Now

Nodepp v1.4.0 is available on GitHub and through our package registry.

📌 Nodepp | Stable Version | V1.3.0 📌

Choose a tag to compare

@EDBCREPO EDBCREPO released this 12 Jul 13:28
📌 Nodepp | Stable Version | V1.3.0 📌

📌 Nodepp | Stable Release | V1.2.0 📌

Choose a tag to compare

@EDBCREPO EDBCREPO released this 12 Jul 13:27
📌 Nodepp | Stable Version | V1.3.0 📌

📌 Nodepp | Stable Version | V1.1.0 📌

Choose a tag to compare

@EDBCREPO EDBCREPO released this 12 Jul 13:27
📌 Nodepp | Stable Version | V1.1.0 📌