node-rfc

Asynchronous, non-blocking SAP NW RFC SDK bindings for Node.js

APACHE-2.0 License

Downloads
6.8K
Stars
252
Committers
18

Bot releases are visible (Hide)

node-rfc -

Published by bsrdjan about 4 years ago

Changes

  • CMake 3.18
  • CXX standard 17
  • Fix #151 wrapString fatal error (core dumped)
  • Fix #158 Fatal error: Error getting v8 handle scop
node-rfc -

Published by bsrdjan over 4 years ago

Changes

  • CMakeLists.txt: --force-local removed: pr #154
node-rfc -

Published by bsrdjan over 4 years ago

Changes

  • Connection Pool ported to C++
  • Error handling improvements: rfmPath
  • New documentation content and format ported from reStructuredText to markdown
  • environment object
  • node 6 and 8 support expired
  • Connection attribute PartnerIPv6 added
  • SAP NWRFC SDK post-installation fix for macOS removed
  • Cmake version 3.17
  • N-API version 6
  • N-API version from package.json used in CMakeLists.txt, instead of separately (double) maintained one
  • tslint replaced by eslint

Breaking changes

  1. Managed clients' can't open and close own connections any more. Instead of open() and close(),
    managed clients use pool acquire() and release() methods. Delegation of these tasks to Pool,
    ensures the connection handle stability during the Client instance lifecycle (less or not at all RFC_INVALID_HANDLE errors)
    and more intuitive error messages, like RFM call() over closed connection instead of generic RFC_INVALID_HANDLE error.

  2. After critical errors, the client connection handle is set to NULL, consequently setting the alive property to false.
    The alive property now exposes the connection handle != NULL condition, thus always in sync. The automatic re-open should
    assign the new connection handle to client, setting the alive to true: see Closing connections.

  3. Client reopen() method removed

  4. Client ping() method result returned as a second callback parameter (callback pattern), error is the first

  5. Client getters:

    • status and runningRFCCalls removed
    • isAlive replaced with alive
    • _connectionHandle replaced with connectionHandle
    • version replaced with more generic environment object, exposing:
      • os platform name, architecture, release
      • node, napi, modules etc. versions (process.versions)
      • SAPNWRFC_HOME and RFC_INI environment variables
  6. The ongoing RFC call is not any more protected from connection close() by direct client.
    The direct clients should not call the close() method before the RFM call completed and
    invoke() or call() callback invoked.

  7. Error handling improvements:

    • All error objects have now a name property, defining the error type
    • Error location path (rfm/parameter/field) attached to error objects, property rfmPath
node-rfc -

Published by bsrdjan over 4 years ago

Changes

  • Connection re-open after critical server errors
  • Error code string representation added to error object
  • Pool improvements
node-rfc -

Published by bsrdjan over 4 years ago

Changes

  • Safeguarding from closing the connection while RFC calls still running
  • Number of running RFC calls exposed as client instance attribute
  • Client logging
  • Installation with NODE_ENV=production, fix #122
  • Warnings when compiling for Windows IA32 platform, fix #131
  • Ensure Bluebird Promises used instead of native Typescript, fix #134
  • Pool reopen() fixed, returning now the Client instance, just like Pool open(), fix #135
  • Pool max option removed, fix #136
  • Unit tests refactoring
node-rfc -

Published by bsrdjan over 4 years ago

Changes

  • Connection Info update for PL6 e55783f #128
  • Concurrent locking fix for ConnectionInfo() c5a443b #128
  • Concurrent locking fix for invoke() and ping() 9cebb9a #128
  • Security audit fix by dependencies update; fixes #129
  • rstrip removed, always true
  • Throughput monitoring: number of calls, bytes sent/received, application/total time; SAP NWRFC SDK >= 7.53 required
  • UTCLONG ABAP datatype support; SAP NWRFC SDK >= 7.54 required
node-rfc -

Published by bsrdjan over 4 years ago

Changes

  • Windows 32 bit build enabled in build script, fix #124
  • .vscode added to .gitignore
  • README
  • NVM dependency removed from Make script
  • Documentation, fix #120
node-rfc -

Published by bsrdjan almost 5 years ago

Changes

  • Windows build options and warnings clean-up
  • VERSION file removed
node-rfc -

Published by bsrdjan almost 5 years ago

Changes

  • Ping confirms the connection handle validity
  • Unit tests for ABAP errors
  • CI scripts: SAP NWRFC SDK version, NodeJS version manager
  • INT1 and INT2 overflow check
  • Input parameter array check added, fix #100
  • Connection options support in Connection Pool, fix #104
node-rfc -

Published by bsrdjan about 5 years ago

Features

  • Min NodeJS version fixed in package.json, per NAPI version matrix
  • README: N-API badge added
  • ABAP decimal floating point data types added: RFCTYPE_DECF16 and RFCTYPE_DECF34
node-rfc -

Published by bsrdjan about 5 years ago

Fetaures

  • NAPI 1.0.0 RC merged back to master 1.0.0 release
  • Build documentation update
  • See rc11 for all changes
node-rfc - v1.0.0-rc11

Published by bsrdjan about 5 years ago

Features

  • N-API, asynchronous and non-blocking
  • Callback, promise, async/await API
  • Connection pool
  • Typescript and ES-next syntax support
  • C/C++ style guide
  • Error handling harmonisation
  • Descriptive error when SAP NW RFC SDK shared lib not found
  • String handling optimisation
  • Tables processing harmonisation and memory consumption fix
  • BYTE and XSTRING unicode encoding removed
  • BCD and FLOAT accept strings, numbers or Decimal.js objects, configurable by options parameter
  • client.options getter returns rstrip and bcd formatting options (string, number or function)
  • More unit tests
  • Empty fieldname removed from structures and tables (arrays)
  • Darwin support (in process)
  • README links update, from Service Marketplace to Support Portal
  • SAP NW RFC SDK loading error message
  • jest test framework
  • npm install --build-from-source fix #85
  • tar security audit fix
  • Option added to filter IMPORT or CHANGING parameters from the result set
  • RFC_INT8 ABAP type support added
  • .gitignore fix for vscode https://github.com/Microsoft/vscode-cpptools/issues/3347
  • Node v6 support dropped
  • Input parameter array check added, fix #100
  • Connection options support in Conncetion Pool, fix #104
  • Build tools changed, node-gyp and node-pregyp replaced with cmake-js and prebuild, fix #72

Incompatible changes:

  • client.connectionInfo() gunction replaced by client.connectionInfo getter
  • client.getVersion() replaced by client.version getter, format changed as well
  • client.isAlive() replaced by client.isAlive getter
  • XSTRING and BYTE types work with Buffers only
node-rfc - v1.0.0-rc10

Published by bsrdjan over 5 years ago

Features

  • N-API, asynchronous and non-blocking
  • Callback, promise, async/await API
  • Connection pool
  • Typescript and ES-next syntax support
  • C/C++ style guide
  • Error handling harmonisation
  • Descriptive error when SAP NW RFC SDK shared lib not found
  • String handling optimisation
  • Tables processing harmonisation and memory consumption fix
  • BYTE and XSTRING unicode encoding removed
  • BCD and FLOAT accept strings, numbers or Decimal.js objects, configurable by options parameter
  • client.options getter returns rstrip and bcd formatting options (string, number or function)
  • More unit tests
  • Empty fieldname removed from structures and tables (arrays)
  • Darwin support (in process)
  • README links update, from Service Marketplace to Support Portal
  • SAP NW RFC SDK loading error message
  • jest test framework
  • npm install --build-from-source fix #85
  • tar security audit fix
  • Option added to filter IMPORT or CHANGING parameters from the result set
  • RFC_INT8 ABAP type support added
  • .gitignore fix for vscode https://github.com/Microsoft/vscode-cpptools/issues/3347
  • node v6 support dropped, v12 support added

Incompatible changes:

  • client.connectionInfo() gunction replaced by client.connectionInfo getter
  • client.getVersion() replaced by client.version getter, format changed as well
  • client.isAlive() replaced by client.isAlive getter
  • XSTRING and BYTE types work with Buffers only
node-rfc - v1.0.0-rc9

Published by bsrdjan over 5 years ago

Features

  • N-API, asynchronous and non-blocking
  • Callback, promise, async/await API
  • Connection pool
  • Typescript and ES-next syntax support
  • C/C++ style guide
  • Error handling harmonisation
  • Descriptive error when SAP NW RFC SDK shared lib not found
  • String handling optimisation
  • Tables processing harmonisation and memory consumption fix
  • BYTE and XSTRING unicode encoding removed
  • BCD and FLOAT accept strings, numbers or Decimal.js objects, configurable by options parameter
  • client.options getter returns rstrip and bcd formatting options (string, number or function)
  • More unit tests
  • Empty fieldname removed from structures and tables (arrays)
  • Darwin support (in process)
  • README links update, from Service Marketplace to Support Portal
  • SAP NW RFC SDK loading error message
  • jest test framework
  • npm install --build-from-source fix #85
  • tar security audit fix
  • Option added to filter IMPORT or CHANGING parameters from the result set
  • RFC_INT8 ABAP type support added
  • .gitignore fix for vscode https://github.com/Microsoft/vscode-cpptools/issues/3347
  • node v6 support dropped, v12 support added

Incompatible changes:

  • client.connectionInfo() gunction replaced by client.connectionInfo getter
  • client.getVersion() replaced by client.version getter, format changed as well
  • client.isAlive() replaced by client.isAlive getter
  • XSTRING and BYTE types work with Buffers only
node-rfc - v1.0.0-rc8

Published by bsrdjan over 5 years ago

Features

  • N-API, asynchronous and non-blocking
  • Callback, promise, async/await API
  • Connection pool
  • Typescript and ES-next syntax support
  • C/C++ style guide
  • Error handling harmonisation
  • Descriptive error when SAP NW RFC SDK shared lib not found
  • String handling optimisation
  • Tables processing harmonisation and memory consumption fix
  • BYTE and XSTRING unicode encoding removed
  • BCD and FLOAT accept strings, numbers or Decimal.js objects, configurable by options parameter
  • client.options getter returns rstrip and bcd formatting options (string, number or function)
  • More unit tests
  • Empty fieldname removed from structures and tables (arrays)
  • Darwin support (in process)
  • README links update, from Service Marketplace to Support Portal
  • SAP NW RFC SDK loading error message
  • jest test framework
  • npm install --build-from-source fix #85
  • tar security audit fix
  • Option added to filter IMPORT or CHANGING parameters from the result set
  • RFC_INT8 ABAP type support added
  • .gitignore fix for vscode https://github.com/Microsoft/vscode-cpptools/issues/3347
  • node v6 support dropped, v12 support added

Incompatible changes:

  • client.connectionInfo() gunction replaced by client.connectionInfo getter
  • client.getVersion() replaced by client.version getter, format changed as well
  • client.isAlive() replaced by client.isAlive getter
  • XSTRING and BYTE types work with Buffers only
node-rfc - v1.0.0-rc7

Published by bsrdjan almost 6 years ago

Features

  • N-API, asynchronous and non-blocking
  • Callback, promise, async/await API
  • Connection pool
  • Typescript and ES-next syntax support
  • C/C++ style guide
  • Error handling harmonisation
  • Descriptive error when SAP NW RFC SDK shared lib not found
  • String handling optimisation
  • Tables processing harmonisation and memory consumption fix
  • BYTE and XSTRING unicode encoding removed
  • BCD and FLOAT accept strings, numbers or Decimal.js objects, configurable by options parameter
  • client.options getter returns rstrip and bcd formatting options (string, number or function)
  • More unit tests
  • Empty fieldname removed from structures and tables (arrays)
  • Darwin support (in process)
  • README links update, from Service Marketplace to Support Portal

Incompatible changes:

  • client.connectionInfo() gunction replaced by client.connectionInfo getter
  • client.getVersion() replaced by client.version getter, format changed as well
  • client.isAlive() replaced by client.isAlive getter
  • XSTRING and BYTE types work with Buffers only
node-rfc - v1.0.0-rc6

Published by bsrdjan almost 6 years ago

Features

  • N-API, asynchronous and non-blocking
  • Callback, promise, async/await API
  • Connection pool
  • Typescript and ES-next syntax support
  • C/C++ style guide
  • Error handling harmonisation
  • Descriptive error when SAP NW RFC SDK shared lib not found
  • String handling optimisation
  • Tables processing harmonisation and memory consumption fix
  • BYTE and XSTRING unicode encoding removed
  • BCD and FLOAT accept strings, numbers or Decimal.js objects
  • client.getOptions() return rstrip and bcd output formatting options (string, number or function)
  • More unit tests
  • Empty fieldname removed from structures and tables (arrays)
  • Darwin support (in process)
  • README links update, from Service Marketplace to Support Portal

Incompatible changes:

  • client.connectionInfo() gunction replaced by client.connectionInfo getter
  • client.getVersion() replaced by client.version getter, format changed as well
  • client.isAlive() replaced by client.isAlive getter
  • XSTRING and BYTE types work with Buffers only
node-rfc - v1.0.0-rc5

Published by bsrdjan almost 6 years ago

Features

  • N-API, asynchronous and non-blocking
  • Callback, promise, async/await API
  • Connection pool
  • Typescript and ES-next syntax support
  • C/C++ style guide
  • Error handling harmonisation
  • Descriptive error when SAP NW RFC SDK shared lib not found
  • String handling optimisation
  • Tables processing harmonisation and memory consumption fix
  • BYTE and XSTRING unicode encoding removed
  • BCD and FLOAT accept strings, numbers or Decimal.js objects, return numbers
  • More unit tests
  • Empty fieldname removed from structures and tables (arrays)
  • Darwin support (in process)
  • README links update, from Service Marketplace to Support Portal

Incompatible changes:

  • client.connectionInfo() gunction replaced by client.connectionInfo getter
  • client.getVersion() replaced by client.version getter, format changed as well
  • client.isAlive() replaced by client.isAlive getter
  • XSTRING and BYTE types work with Buffers only
node-rfc - v1.0.0-rc4

Published by bsrdjan almost 6 years ago

  • N-API, asynchronous and non-blocking
  • Callback, promise, async/await API
  • Connection pool
  • Typescript and ES-next syntax support
  • C/C++ style guide
  • Error handling harmonisation
  • Descriptive error when SAP NW RFC SDK shared lib not found
  • String handling optimisation
  • Tables processing harmonisation and memory consumption fix
  • BYTE and XSTRING unicode encoding removed
  • More unit tests
  • Empty fieldname removed from structures and tables (arrays)
  • Darwin support (in process)
  • README links update, from Service Marketplace to Support Portal

Incompatible changes:

  • client.connectionInfo() gunction replaced by client.connectionInfo getter
  • client.getVersion() replaced by client.version getter, format changed as well
  • client.isAlive() replaced by client.isAlive getter
  • BYTE and XSTRING work with Buffer only
node-rfc - v1.0.0-rc3

Published by bsrdjan about 6 years ago

Features

Incompatible changes

  • Non-blocking ping() and close() require a callback function
  • client.connectionInfo() replaced by client.connectionInfo getter
  • client.getVersion() replaced by client.version getter, format changed as well
  • client.isAlive() replaced by client.isAlive getter
Package Rankings
Top 2.52% on Npmjs.org
Badges
Extracted from project README
node-rfc release Node.js engines N-API version deno version supported dpm REUSE status CII Best Practices