Below you can find RisingStack ’s collection of the most important Node.js updates, projects, tutorials & Node related conferences from this week: 1. Node.js 8: util.promisify() Node.js 8 has a new utility function: util.promisify(). It converts a callback-based function to a Promise-based one. npm install util.promisify Learn how to use it. 2. Running a Node server on a Raspberry Pi with a physical button All the pieces needed to set up a Raspberry Pi with a physical button. Covers buying hardware, running a Raspberry Pi, wiring up a physical button, using the latest Node and npm, and creating a Node server to send a text message when the button is pressed. 3. Node.js + MySQL Example: Handling 100’s of GigaBytes of Data This Node.js + MySQL example tutorial shows how you can efficiently handle billions of rows that take up hundreds of gigabytes of storage space. Most think if anyone has millions/billions of rows, they should use a NoSQL solution such as Cassandra or Mongo. Unfortunately, these solutions are not ACID compliant which makes them difficult to use when data consistency is extremely important. However, with good indexing and proper planning, MySQL can be just as suitable for the task as the above-mentioned NoSQL alternatives. 4. Integrating OpenWhisk with Your Node Application Imagine a simple Node application that performs a set of functions. It’s possible you may migrate one or more of those functions into serverless. Embracing serverless isn’t about destroying every single server you have left, and there are some things that simply don’t make sense in serverless. So I thought I’d build a simple Node app that demonstrated how this could look. 5. JavaScript’s new #private class fields What they are, how they work, and why they are the way they are. Private class fields are now at Stage 2 in the JavaScript standard process. It’s not finalized yet, but the JavaScript standards committee expects the feature to be developed and eventually included in the standard (although it may still change). 6. Understanding lock files in NPM 5 The next major version of NPM brings a number of improvements over the previous versions in terms of speed, security, and a bunch of other nifty things. What stands out from the user’s perspective however is the new lock file. Actually lock files. As opposed to the previous version, the lock file now includes an integrity field which uses Subresource Integrity to verify that the installed package has not been tempered with or is otherwise invalid. What the file now doesn’t have is the from field which together with the sometimes inconsistent version has notoriously been a source of pain when looking at the file’s diff during code reviews. 7. Upgrading from Node 6 to Node 8: a real-world performance comparison Node 8 is out, did you hear? And it’s faster, or so they say. But without any numbers, ‘faster’ is just letters. To be honest, with Node 8 I was expecting an improvement of maybe a few percent, and wouldn’t have been surprised if that didn’t translate into the real world. But shaving a quarter off server-rendering time and a third off NPM install time is amazing. Node Core Changes: ⬢ Node v8.1.0 (Current) Async Hooks When one leads to the creation of a new , the parent will be identified as the trigger Promise Promise Promise Dependencies libuv has been updated to 1.12.0 npm has been updated to 5.0.3 File system The function now works correctly with fs.exists() util.promisify() fs.Stats times are now also available as numbers Inspector It is now possible to bind to a random port using --inspect=0 Zlib A regression in the Zlib module that made it impossible to properly subclasses and other Zlib classes has been fixed. zlib.Deflate ⬢ Node v6.11.0 (LTS) build: support for building mips64el cluster: disconnect() now returns a reference to the disconnected worker. crypto: ability to select cert store at runtime Use system CAs instead of using bundled ones The methods and now return . Decipher setAuthTag() setAAD this adding support for OPENSSL_CONF again make LazyTransform compabile with Streams1 deps: upgrade libuv to 1.11.0 upgrade libuv to 1.10.2 upgrade libuv to 1.10.1 upgrade libuv to 1.10.0 dns: Implemented for and . {ttl: true} resolve4() resolve6() process: add NODE_NO_WARNINGS environment variable readline: add option to stop duplicates in history src: support “ — “ after “-e” as end-of-options tls: new tls.TLSSocket() supports sec ctx options Allow obvious key/passphrase combinations. Node.js Related Conferences , Denver, Colorado (US) — DinosaurJS (15–16 June) , Minneapolis, Minneasota (US) — Eyeo Festival (26–29 June) , Seattle, Washington (US) — CodeConf (11–12 July) , Seattle, Washington (US) — ElectronConf (12–13 July) , Shanghai, China — JSConf China (15–16 July) , San Francisco, California (US) — Node Summit (25–27 July) , Barcelona, Spain — Full Stack Fest (4–8 September) , Stockholm, Sweden Nordic.js (7–8 September) , Portland, Oregon (US) — Affect Conf (15–16 September) Source: The Node Foundation Newsletter Previously in the Node.js Weekly In the previous we read about Node 8 & npm 5 being released, Mikeal Rogers steps down, a great N-API tutorial, and announced by RisingStack. Node.js Weekly Update on-premises Node monitoring We help you to stay up-to-date with Node.js on a daily basis too. Check out our Node.js news page and its Twitter feed ! Originally published at community.risingstack.com on June 9, 2017.