Skip to content

Roadmap

Kian Peymani edited this page Jul 12, 2017 · 8 revisions

Current versions

  • xyz-core npm version
  • xyz-cli npm version
  • xyz.ping.swim.bootstrap npm version
  • xyz.monitor.basic.bootstrap npm version
  • xyz.send.round.robin npm version
  • xyz.ping.stochastic.bootstrap npm version
  • xyz.iron.man.bootstrap npm version
  • xyz.rsmq.single.bootstrap npm version

Version 0.1.0

  • each foreign microservice should now be a string. overall, no IP port indication has remained in the object format, except for the ip, port keys in systemConf. This requires an update in seed nodes of the doc.

  • xyzportis no longer valid and all configurations will follow the same pattern of --xyz[foo.bar]. This requires an update in the doc

  • importing modules accept both a name and a require()-ed module instance.

  • The term node as replaced microservice inside the code.

  • xyz bootstrap functions are entirely new

    • requires a new page
  • xyz events are entirely new (although they're really nothing special)

    • requires a new page
  • ping variables are no longer required as config, hence no longer stored in Constants. Ping is now implemented as a bootstrap function.

  • send strategy can now be set per-call using a new parameter.

    • DEPRECATED. refer to v 0.2.0 change logs
  • the xyz-core module now contains an object containing

    • logger
    • XYZ core constructor
    • CONFIG
    • Util
    • LogUtil (sparse)
  • xyz module will now only return the xyz class. hence, xyz object is injected into each middleware and each bootstrap function

  • xyz dependencies :

    • send to all
    • ping bootstrapper this also means a new key named defalutBootstrap is added to selfConf

Version 0.2.0

-  Call interface has been changed to options object [MAJOR UPDATE]
-  new `--xyz-cli.enable` and `--xyz.cli.stdio` keys in selfConf
-  service middlewares now take fewer arguments

Version 0.4.0

  • new key in transportLayer.call() will indicate the route.

  • new key in transportLayer.call() will indicate the redirect.

  • the xyz.middleware() has changed.

  • resp.send() is no longer valid. the resp in .register() is now a pure node ServerResponse object. a new key named resp.jsonify() is added and recommended.

  • the process of adding middlewares has changed

  • port key in selfConf is replaced with transport: []

  • allowJoin and /join are deprecated. seed node is there

  • --xys- instead of --xyz- is a backdoor

  • All middlewares will now use a similar param object.

  • xyzPayload added to all messages: https://github.com/node-xyz/xyz-core/issues/46

  • unique routes are checked: https://github.com/node-xyz/xyz-core/issues/48

  • removeRoute / removeServer methods added: https://github.com/node-xyz/xyz-core/issues/44

Version 0.5.0

Version 0.6.0

Version 0.7.0

  • Protobuf Plugin

Version 0.8.0

Version 0.9.0

Version 1.0.0

Debatable Ideas for V1:

  • Promise-Based API for .call() instead of callback (very likely to happen)
  • Test suite scaffolding with xyz-cli