Releases: NozeIO/Noze.io
Nozabi Modula
Compiles w/ Swift 5 snapshots.
Backwardly Not
This release adds changes to please current builds of Swift 4.2, e.g. as delivered in Xcode 10 beta 4.
There is only one major change in the API - socket structs like sockaddr_in
or addr_in
do not carry a custom initialiser anymore. That is a:
let a = sockaddr_in()
Is not properly initialising the address anymore, instead it just returns a 0-cleared value. Instead, use one of the other convenience initialisers we provide or make
, like so:
let a = sockaddr_in.make()
This affected no user code in Noze.io itself, so you probably won't hit it either.
Leaky Leakage
There was a long time bug in the routing methods (there are 3 ...) which was leaking the next
closure (because that was self-referencing and in not all cases cleaning up properly).
That has been fixed and should be excellent now.
Fantastic Four
Noze.io FF adds support for Xcode 9 and Swift 4.0.
Noze.io now compiles using both, Swift 3 (3.0, 3.1 and 3.2), as well as Swift 4. The Xcode project still defaults to Swift 3 to support older Xcode installation. Note that Xcode 9 can also compile Swift 3 (known as Swift 3.2, which can be mixed w/ Swift 4).
On the SPM side Noze.io is compiled as Swift 4 when available, otherwise as Swift 3.
Two minor enhancements:
- add
QS
module from ExExpress - add
bodyParser.Options.extended
(aka use qs instead of query_string to parse query parameters)
Big Brother is Watching You
Added the Swiftmon/S example, a source rebuild monitor. And associated improvements to Noze.io, like in the fs.watch
and child_process.spawn
APIs.
Changes since 0.5.7:
- modules:
- events:
- bugfix in 'once' logging (drop once listeners before emitting)
- fs:
- watch
- support for recursive and directory watchers
- bugfixes
- watch
- child_process:
- API changes to kill (default value, return value, etc)
- events:
- samples:
- Swiftmon/S - a source rebuild monitor
- Add TCP_NODELAY option for sockets
- Xcode 9 upgrade checks
- Swift 3.2
- drop @_specialize in CryptoSwift fork
- stat hack (stat uses lstat)
- types use .self
- no more (Void)->Void
- redundant conformance
- args after varargs need a name
- Swift 3.1 compile fixes
Lost in Transmission
Annoyed that your TCP packets always arrive in an orderly fashion? Want to bring more risk to your socket communication? Noze.io has you covered.
Release 0.5.7 adds the new dgram module contributed by @lichtblau. Example UDP echo daemon:
sock = dgram.createSocket()
sock
.onMessage { (msg, from) in
sock.send(msg, to: from) // echo back
}
.bind(1337)
Also: fixes for new warnings emitted by Swift 3.1, also contributed by @lichtblau.
Empty Not
Loggy Back
Tiny bugfix release. A thing is that the default listen queue size got bumped from 5 to 512.
- fix source width to be max 80 columns
- bump listen backlog to 512
- typos
- fix makefile build
- a few more docs
- drop some Swift 2 legacy
- make process.platform public
Callyback Backpipe
Minor bugfix release.
streams
module:
- Bugfix: Fix piping of empty
Readable
's. When a callback basedReadable
w/o an actual callback (manual push) got piped, it was issuing an EOF push.
This would close the pipe.
Instead just ignore the read request and wait for the user to push something
to theReadable
(content or EOF).
net
module:
- fix bug in capturing
errno
tests:
- fix setup&compilation of Linux tests
- fix Freddy tests for Swift 3.0
- new pipe tests for callback based streams
Basic Nozes with an End - Part ||
- crasher in end handler
- some API cleanup