You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: NEWS.md
+7-9Lines changed: 7 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,20 +8,22 @@
8
8
9
9
*Please review the following potentially breaking changes, and only update when ready:*
10
10
11
+
* The package now ensures stability of return types:
12
+
+`socket()` and `stream()` will now error rather than return an 'errorValue'. The error value is included in the error message.
13
+
+`send_aio()` and `recv_aio()` now always return an integer 'errorValue' at `$result` and `$data` respectively.
14
+
+`recv()` and `recv_aio()` now return an integer 'errorValue' at each of `$raw` and `$data` when 'keep.raw' is set to TRUE.
15
+
+`ncurl()` now returns an integer 'errorValue' at each of `$status`, `$headers`, `$raw` and `$data` for both sync and async. Where redirects are not followed, the address is now returned as a character string at `$data`.
11
16
* For functions that send and receive messages i.e. `send()`, `send_aio()`, `recv()`, `recv_aio()` and `ncurl()`, 'errorValues' are now returned silently without an accompanying warning. Use `is_error_value()` to explicitly check for errors.
12
-
* Functions `socket()` and `stream()` will now error instead of returning an 'errorValue' to ensure stability of return types. The error value is included in the error message.
13
17
*`nano_init()` is deprecated due to the above change in behaviour.
14
18
*`send()` no longer has a '...' argument. This has had no effect since 0.6.0, but will now error if additional arguments are provided (please check and remove previous uses of the argument 'echo'). Also no longer returns invisibly for consistency with `recv()`.
15
-
*`recv()` and `recv_aio()` now return an integer 'errorValue' at each of `$raw` and `$data` when 'keep.raw' is set to TRUE, ensuring stability of return types.
16
-
*`ncurl()` now returns an integer 'errorValue' at each of `$status`, `$headers`, `$raw` and `$data` for both sync and async, ensuring stability of return types. Where 'follow' is set to FALSE, or for all async requests, redirect addresses are now returned as a character string at `$data`.
17
-
*`nano()` now creates a nano object with method `$context_open()` for applicable protocols. Opening a context will attach a context at `$context` and a `$context_close()` method. When a context is active, all object methods apply to the context instead of the socket. Method `$socket_setopt()` renamed to `$setopt()` as it can be used on the socket or active context as applicable.
18
19
*`listen()` and `dial()` now only take a socket as argument; for nano objects, the `$listen()` and `$dial()` methods must be used instead.
20
+
*`nano()` now creates a nano object with method `$context_open()` for applicable protocols. Opening a context will attach a context at `$context` and a `$context_close()` method. When a context is active, all object methods apply to the context instead of the socket. Method `$socket_setopt()` renamed to `$setopt()` as it can be used on the socket or active context as applicable.
19
21
* Non-logical values supplied to logical arguments will now error: this is documented for each function where this is applicable.
20
22
21
23
*Other changes:*
22
24
23
25
* Fixes bug introduced in 0.6.0 where Aios returning 'errorValues' are not cached with the class, returning only integer values when accessed subsequently.
24
-
* Fixes potential crash when `base64dec()` encounters invalid input data.
26
+
* Fixes potential crash when `base64dec()` encounters invalid input data. Error messages have been revised to be more accurate.
25
27
* Fixes the `$` method for 'recvAio' objects for when the object has been stopped using `stop_aio()`.
26
28
* Using the `$listen()` or `$dial()` methods of a nano object specifying 'autostart = FALSE' now attaches the `$listener_start()` or `$dialer_start()` method for the most recently added listener/dialer.
27
29
*`device()` no longer prompts for confirmation in interactive environments - as device creation is only successful when binding 2 raw mode sockets, there is little scope for accidental use.
@@ -31,8 +33,6 @@
31
33
32
34
# nanonext 0.6.0
33
35
34
-
*The nanonext 0.6 series incorporates significant advances in performance and stability over previous releases*
35
-
36
36
#### New Features
37
37
38
38
* Implements `base64enc()` and `base64dec()` base64 encoding and decoding using the 'Mbed TLS' library.
@@ -116,8 +116,6 @@
116
116
117
117
# nanonext 0.5.0
118
118
119
-
*nanonext is now considered substantially feature-complete and API-stable*
120
-
121
119
#### New Features
122
120
123
121
*`$context()` method added for creating new contexts from nano Objects using supported protocols (i.e. req, rep, sub, surveyor, respondent) - this replaces the `context()` function for nano Objects.
0 commit comments