@mcp-abap-adt/connection 9.4.1 → 9.4.2
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 +13 -1
- package/README.md +3 -2
- package/docs/STATEFUL_SESSION_GUIDE.md +4 -3
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [9.4.2] - 2026-09-27
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **`@mcp-abap-adt/sap-rfc-lite` `^0.2.1`** (was `^0.2.0`). 0.2.0 on npm was
|
|
15
|
+
packed with a stale `lib/`: its JS client has no `resetServerContext`, so
|
|
16
|
+
this connector found no reset and fell back to a new RFC connection per
|
|
17
|
+
stateless call — correct, but a full RFC run took about 1010 s instead of
|
|
18
|
+
about 684 s. 0.2.1 is packed from `src/`. Raising the minimum makes npm
|
|
19
|
+
replace a locked 0.2.0 too, since it no longer satisfies the range.
|
|
20
|
+
|
|
10
21
|
## [9.4.1] - 2026-09-27
|
|
11
22
|
|
|
12
23
|
### Fixed
|
|
@@ -1912,7 +1923,8 @@ const connection = createAbapConnection(config, logger);
|
|
|
1912
1923
|
- JWT token refresh now properly handles connection errors (401/403 during initial connect)
|
|
1913
1924
|
- Permission errors (403 with "ExceptionResourceNoAccess") no longer trigger JWT refresh loops
|
|
1914
1925
|
- Proper separation: base class handles HTTP/session, concrete classes handle auth-specific errors
|
|
1915
|
-
[Unreleased]: https://github.com/fr0ster/mcp-abap-connection/compare/v9.4.
|
|
1926
|
+
[Unreleased]: https://github.com/fr0ster/mcp-abap-connection/compare/v9.4.2...HEAD
|
|
1927
|
+
[9.4.2]: https://github.com/fr0ster/mcp-abap-connection/compare/v9.4.1...v9.4.2
|
|
1916
1928
|
[9.4.1]: https://github.com/fr0ster/mcp-abap-connection/compare/v9.4.0...v9.4.1
|
|
1917
1929
|
[9.4.0]: https://github.com/fr0ster/mcp-abap-connection/compare/v9.3.4...v9.4.0
|
|
1918
1930
|
[9.3.4]: https://github.com/fr0ster/mcp-abap-connection/compare/v9.3.3...v9.3.4
|
package/README.md
CHANGED
|
@@ -294,8 +294,9 @@ on BASIS < 7.50.
|
|
|
294
294
|
|
|
295
295
|
Since 9.3.2, LOCK and UNLOCK in stateful mode share the persistent RFC
|
|
296
296
|
conversation; stateless requests use a separate ABAP context. With
|
|
297
|
-
`sap-rfc-lite` 0.2.
|
|
298
|
-
conversation; older clients open one conversation per
|
|
297
|
+
`sap-rfc-lite` 0.2.1 or newer (required since 9.4.2), that context is reset
|
|
298
|
+
between calls on a kept conversation; older clients open one conversation per
|
|
299
|
+
call. 0.2.0 on npm lacks the reset in its JS client and behaves like an older one. This prevents stale
|
|
299
300
|
package state from causing PAK/058 on later writes or SADT_RESOURCE/007 on a
|
|
300
301
|
read after create. Concurrent calls use a separate conversation. See
|
|
301
302
|
[RFC conversation isolation](./docs/STATEFUL_SESSION_GUIDE.md#rfc-conversation-isolation-932-and-933).
|
|
@@ -62,7 +62,8 @@ BASIS 7.40 and ABAP Cloud were not integration-tested for this change.
|
|
|
62
62
|
Stateful requests, including LOCK and UNLOCK, share the conversation opened
|
|
63
63
|
by `connect()`. Stateless calls reuse a second conversation: the transport
|
|
64
64
|
resets its ABAP server context after each call, keeping the RFC logon open
|
|
65
|
-
(`sap-rfc-lite` 0.2.
|
|
65
|
+
(`sap-rfc-lite` 0.2.1, required since 9.4.2; 9.4.0 required 0.2.0, whose npm
|
|
66
|
+
package lacks the reset in its JS client, and 9.3.4 introduced it and still
|
|
66
67
|
accepted 0.1.x). When that conversation is busy with another call, a stateless
|
|
67
68
|
call gets a separate temporary conversation. Both `setSessionType('stateful')` and a caller-supplied stateful
|
|
68
69
|
session header select the persistent conversation.
|
|
@@ -75,8 +76,8 @@ create, read, two lock/PUT/unlock rounds and delete passed on one connection.
|
|
|
75
76
|
|
|
76
77
|
A resettable call took about 0.24 s total on E19; a temporary conversation
|
|
77
78
|
pays for an RFC logon, about 0.5 s on top of about 0.1 s for the call — which
|
|
78
|
-
is what every stateless call cost with `sap-rfc-lite` 0.1.x
|
|
79
|
-
requires 0.2.
|
|
79
|
+
is what every stateless call cost with `sap-rfc-lite` 0.1.x (and with 0.2.0,
|
|
80
|
+
whose npm package lacks the reset), and why 9.4.2 requires 0.2.1. Direct connector users must mark
|
|
80
81
|
LOCK and UNLOCK stateful to retain their conversation. If disconnect occurs
|
|
81
82
|
while a temporary conversation is logging on, it is closed without sending
|
|
82
83
|
the request; reconnect does not revive that pending request.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/connection",
|
|
3
|
-
"version": "9.4.
|
|
3
|
+
"version": "9.4.2",
|
|
4
4
|
"description": "ABAP connection layer for MCP ABAP ADT server",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"open": "^11.0.0"
|
|
64
64
|
},
|
|
65
65
|
"optionalDependencies": {
|
|
66
|
-
"@mcp-abap-adt/sap-rfc-lite": "^0.2.
|
|
66
|
+
"@mcp-abap-adt/sap-rfc-lite": "^0.2.1"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@biomejs/biome": "^2.3.14",
|