vrpc 3.0.0-alpha.1 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,9 +5,70 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [3.0.0-alpha.1]
8
+ ## [3.0.1] - Jan 24 2022
9
9
 
10
- ### Changes
10
+ ### Fixed
11
+
12
+ - non-functional event un-subscription on silent client disconnect and when
13
+ initially registered via `callAll`
14
+
15
+ ## [3.0.0] - Jan 20 2022
16
+
17
+ ### Added
18
+
19
+ - `vrpcOn` / `vrpcOff` feature to client
20
+ - tests exclusively for VrpcAdapter
21
+ - support for `path.join(__dirname, <path>)` expressions when registering class
22
+
23
+ ### Fixed
24
+
25
+ - unhandled promise rejection on initial connect timeout
26
+ - missing documentation for VrpcNative
27
+ - bug on new `vrpcOn` feature
28
+ - bug while unregister event listeners via "off" or "removeAllListeners"
29
+
30
+ ### Changed
31
+
32
+ - error messages as triggered on remote agents (now include context info)
33
+ - removed obsolete public API from VrpcAdapter
34
+ - internal handling of EventEmitter subscriptions
35
+ - now publishing a single message per event to a fixed topic
36
+ - dispatching happens by the broker not by the agent anymore
37
+ - this saves a lot of traffic when many clients subscribe to same events
38
+ - reduced size of response messages by skipping redundant information
39
+ - order of items within RPC message
40
+ - promise rejection message as triggered on remote agents (now include context
41
+ info)
42
+
43
+ ## [3.0.0-alpha.3] - 25 Nov 2021
44
+
45
+ ### Fixed
46
+
47
+ - missing 'create' event in VrpcAdapter
48
+ - respecting isolation state in callAll
49
+
50
+ ### Changed
51
+
52
+ - cleaned API and tests from deprecation supports, those will now result in
53
+ errors
54
+ - intercepting return value of EventEmitter functions and changing it from
55
+ potentially gigantic object (as it returns `this`) to `true`
56
+
57
+ ## [3.0.0-alpha.2] - 19 Nov 2021
58
+
59
+ ### Fixed
60
+
61
+ - leaking event registrations on remote-controlled instance when event consumer
62
+ was not creator of the instance
63
+
64
+ ## Changed
65
+
66
+ - reduced payload of callback message by omitting the original return value
67
+ - changed prefix of mqtt client id to `vc3` and `va3`, respectively
68
+
69
+ ## [3.0.0-alpha.1] - 10 Nov 2021
70
+
71
+ ### Changed
11
72
 
12
73
  - layout and content of this repository, only javascript related code is left
13
74
  - naming of public API classes is made consistent
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018 - 2021 Dr. Burkhard C. Heisen
3
+ Copyright (c) 2018 - 2022 Dr. Burkhard C. Heisen
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,11 +1,10 @@
1
1
  # VRPC - Variadic Remote Procedure Calls
2
2
 
3
- [![Build Status](https://travis-ci.com/heisenware/vrpc.svg?branch=master)](https://travis-ci.com/heisenware/vrpc)
4
- [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/heisenware/vrpc/master/LICENSE)
3
+ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/heisenware/vrpc-js/master/LICENSE)
5
4
  [![Semver](https://img.shields.io/badge/semver-2.0.0-blue)](https://semver.org/spec/v2.0.0.html)
6
- [![GitHub Releases](https://img.shields.io/github/tag/heisenware/vrpc.svg)](https://github.com/heisenware/vrpc/tag)
7
- [![GitHub Issues](https://img.shields.io/github/issues/heisenware/vrpc.svg)](http://github.com/heisenware/vrpc/issues)
8
- ![ci](https://github.com/heisenware/vrpc/actions/workflows/ci.yml/badge.svg)
5
+ [![GitHub Releases](https://img.shields.io/github/tag/heisenware/vrpc-js.svg)](https://github.com/heisenware/vrpc-js/tag)
6
+ [![GitHub Issues](https://img.shields.io/github/issues/heisenware/vrpc-js.svg)](http://github.com/heisenware/vrpc-js/issues)
7
+ ![ci](https://github.com/heisenware/vrpc-js/actions/workflows/ci.yml/badge.svg)
9
8
 
10
9
  ## Visit our website: [vrpc.io](https://vrpc.io)
11
10
 
@@ -16,22 +15,20 @@ VRPC - Variadic Remote Procedure Calls - is an enhancement of the old RPC
16
15
  written in any programming language by functions written in any other (or the
17
16
  same) programming language. Unlike RPC, VRPC furthermore supports:
18
17
 
19
- - non-intrusive adaption of existing code, making it remotely callable
18
+ - non-intrusive adaption of existing code, making it callable remotely
20
19
  - remote function calls on many distributed receivers at the same time (one
21
20
  client - multiple agents)
22
21
  - service discovery
23
22
  - outbound-connection-only network architecture (using MQTT technology)
24
- - isolated (multi-tenant) and shared access modes to remotely available
25
- resources
23
+ - isolated (multi-tenant) and shared access modes to remote resources
26
24
  - asynchronous language constructs (callbacks, promises, event-loops)
27
25
  - OOP (classes, objects, member functions) and functional (lambda) patterns
28
26
  - exception forwarding
29
27
 
30
28
  VRPC is available for an entire spectrum of programming technologies including
31
- embedded (Arduino, header-only C++, etc.), data-science (Python, R,
32
- etc.), and web (Javascript, React, etc.) technologies.
29
+ embedded, data-science, and web technologies.
33
30
 
34
- As a robust and highly performing communication system it can build the
31
+ As a robust and highly performing communication system, it can build the
35
32
  foundation of complex digitization projects in the area of (I)IoT or
36
33
  Cloud-Computing.
37
34
 
@@ -39,10 +36,10 @@ Cloud-Computing.
39
36
 
40
37
  Understand how to use it by looking at the examples:
41
38
 
42
- - [Agent Example](examples/agent/README.md)
43
- - [Client Example](examples/client/README.md)
44
- - [Simple C++ Embedding Example](examples/native1/README.md)
45
- - [Advanced C++ Embedding Example](examples/native2/README.md)
39
+ - [Agent Example](examples/01-agent/README.md)
40
+ - [Client Example](examples/02-client/README.md)
41
+ - [Simple C++ Embedding Example](examples/03-native-simple/README.md)
42
+ - [Advanced C++ Embedding Example](examples/04-native-advanced/README.md)
46
43
 
47
44
  Get all the details by reading the documentation:
48
45