Releases: oracle-samples/node-red-nodes
Releases · oracle-samples/node-red-nodes
v0.4.1
v0.4.1 — Release Notes
SQL Node
- Transaction awareness:
sqlnow participates inbegin-transaction/end-transactionflows — it reuses the active transaction connection when one is present, and acquires its own otherwise. - Oracle alternative-quoting literals: the bind variable pre-scan now correctly handles Oracle
q'...'literals across all delimiter styles ([],{},<>,(), same-character), so quoted content is never mistaken for a bind placeholder.
Bug Fixes
Oracle Database Connection
- Pool initialization race — concurrent flow startup no longer triggers parallel pool creation
- Pool close race — a redeploy or stop that races an in-flight
createPool()now waits for the pool before closing it, preventing a leaked connection pool - Standalone connection leak — connection is now closed if NLS/session initialization fails after connect
- Blank pool fields now preserve Oracle driver defaults instead of coercing to
0 - Config-file auth path now resolves from the runtime user's home directory instead of a hardcoded path
Oracle Advanced Queue
dequeuecontinuous mode retry close handler no longer shadows the Node-REDdonecallback
Fusion SCM
create-asset,create-meter-reading,misc-transaction,subinventory-quantity-transfer— Catch node routing now works correctly on failures (the error handler was silently dropping thedonecallback)scm-server— token cache no longer immediately invalidates when the server returns anexpires_invalue under 30 seconds
OCI Nodes
oci-config,oci-notification,oci-object-storage— concurrent first-message client and auth provider construction is now deduplicated; simultaneous triggers no longer each build their own client instance
OCI IoT
iot-command— status reset timers are now debounced; high-throughput command flows no longer accumulate unbounded pending timers
Dependencies
oci-sdkbumped to^2.129.0—2.128.0was pulled from npm
v0.4.0
v0.4.0 — Release Notes
Oracle Advanced Queue (AQ)
- Continuous mode retry: dequeue in Continuous mode now reconnects automatically on DB errors — configure retry delay and max attempts (
0= unlimited) - Enqueue transaction alignment: enqueue joins an active
begin-transactionconnection when one is present, deferring commit/rollback toend-transaction; in standalone use it still opens its own connection and auto-commits as before; output simplified tomsg.countonly
Oracle Database Connection
- NLS / session settings: configure
NLS_LANGUAGE,NLS_TERRITORY,TIME_ZONE, date/timestamp format masks, and customALTER SESSIONstatements per connection - Tabbed editor: Auth, Connection, Pool, and NLS settings are now organised into tabs
SCM Nodes
- Request timeouts: all SCM HTTP nodes apply a 30-second timeout to prevent indefinite hangs
- Token deduplication:
scm-servernow issues a single token refresh when multiple nodes expire concurrently; token lifetime usesexpires_infrom the OAuth response - Runtime overrides expanded:
fusion-requestacceptsmsg.method;delete-transactionacceptsmsg.mode; lookup nodes (scm-lookup,get-ib-asset,get-meter-reading,get-organization-id) now letmsg.*take precedence over editor values - Override URL removed: typed transaction nodes (
create-asset,create-meter-reading,misc-transaction,subinventory-quantity-transfer) always use their canonical endpoint — usefusion-requestwithTransaction Type = customfor custom routing get-ib-asset,get-meter-reading,get-organization-id: Override URL removed — usescm-lookupin custom mode for alternative endpoints
OCI Nodes
- New node —
iot-update-relationship: updates OCI IoT digital twin relationship content via the control-plane REST API; acceptsmsg.relationshipKey,msg.content, andmsg.iotDomainIdat runtime iot-configadvanced settings: clean session, keepalive, reconnect period, and connect timeout are now configurable; Use Proxy removed (OCI IoT Platform does not support proxy connections)oci-notification:msg.topicOcidandmsg.titlenow override editor-configured values
Bug Fixes
iot-configsubscriber exceptions no longer escape the MQTT message handleriot-configTest Connection no longer races between timeout and connect error responsesiot-configNode-RED shutdown no longer hangs if MQTT close callbacks do not fireiot-commandrejects invalid wildcard topic patterns at startup instead of attempting a broken subscription
Breaking Changes
enqueue—msg.enqueuedremoved; usemsg.countdelete-transaction— Delete Mode renamed to Delete Type; resource identifier unified toResource ID/msg.resourceIdoci-notification,scm-lookup,get-ib-asset,get-meter-reading,get-organization-id—msg.*now overrides editor values (previously editor won when both were set)
v0.3.2
v0.3.2 — Release Notes
Oracle Advanced Queue (AQ)
- Payload types: enqueue and dequeue now support JSON, RAW, and ADT (Oracle Object Type) queues
- Continuous dequeue: new mode that auto-starts on deploy and long-polls without an input trigger — no inject node needed
- Delivery mode: enqueue supports Persistent (default) and Buffered (in-memory, faster, requires Thick mode)
- Flexible enqueue payload: a single object is now auto-wrapped; no need to wrap in an array
Oracle Database Connection
- Driver mode: choose between Thick (Oracle Client) and Thin (pure JS) per node
- New auth types: DB Token — Resource Principal (OCI Functions/OKE) and DB Token — Session Token (OCI CLI sessions)
- Wallet Path: configure the wallet directory for TLS/mTLS connections
- Proxy User: connect via an Oracle proxy user for DB Token auth types
SQL Node
- Binds editor: row-based bind variable mapping with support for static values, msg properties, and JSONata expressions
OCI IoT
- iot-config is now connection-only — topic and QoS are configured on each node directly, following the standard mqtt-broker pattern
- iot-telemetry: Topic and QoS fields added to the editor;
msg.topicandmsg.qosoverride at runtime - iot-command: Topic and QoS fields added; auto-acknowledge removed (was broken); use a separate publish node to send responses
Bug Fixes
- OCI auth providers in
oci-config(Instance Principal, Resource Principal) now resolve correctly on Test Connection dequeueADT payloads no longer crash with NJS-106 in transactional modedequeuecontinuous mode no longer hangs Node-RED shutdown
v0.3.1
v0.3.1
OCI Logging and Log Analytics, Object Storage support, and message-passing consistency fixes.
New Nodes
- oci-logging — Push log records to OCI Logging Custom Logs via Logging Ingestion (
putLogs) - oci-log-analytics — Dedicated Log Analytics node (renamed from
oci-log-ingestfor clearer service distinction) - oci-object-storage — Upload and download objects to/from OCI Object Storage (payload or file-path workflows)
Bug Fixes
- Message-passing consistency updates across DB/IoT nodes:
sql,enqueue,dequeue,begin-transaction,iot-telemetry
- Improved upstream
msgproperty preservation through flows - Preserved transaction context (
msg.transaction) where required
Docs
- Updated README with Logging, Log Analytics, and Object Storage coverage
- Updated node-reference.md with new OCI node sections and runtime field behavior
- Updated installation.md dependency guidance for OCI nodes
v0.3.0
v0.3.0
OCI service integration and IoT Platform nodes, plus dequeue and transaction fixes.
New Nodes
- oci-config — Shared OCI authentication (Config File, Instance Principal, Resource Principal, API Key)
- oci-notification — Publish to OCI Notifications topics (email, Slack, PagerDuty, webhook, SMS, Functions)
- iot-config — MQTT connection to OCI IoT Platform (Basic and Certificate auth)
- iot-telemetry — Publish device telemetry to the IoT Platform
- iot-command — Receive commands from the IoT Platform with auto-acknowledge
- iot-send-command — Send commands to devices via the OCI REST API
Highlights
- Dequeue Mode dropdown (Remove, Browse, Locked)
- End-transaction Commit/Rollback toggle — enables explicit error handling on separate flow paths
- Test Connection button on iot-config for MQTT credential verification
- OCI nodes use oci-sdk, IoT device nodes use mqtt npm package
Bug Fixes
- Dequeue returning the same message endlessly (was using Locked mode instead of Remove)
- End-transaction committing on error paths — now supports dedicated rollback wiring
Docs
- Added OCI nodes README and additional documentation
- Updated root README, node-reference.md, best-practice.md, and installation.md
v0.2.0
v0.2.0
Refactored DB and SCM nodes with new features, bug fixes, and documentation.
New Nodes
- fusion-request - General SCM transaction node (Create Asset, Meter Reading, Misc. Transaction, Subinventory Transfer, Custom)
- scm-lookup - General SCM lookup node (Asset, Meter Reading, Organization ID, Custom)
- delete-transaction - Multi-mode deletion by resource type
- begin-transaction - Opens DB connection and stores it for downstream nodes
- end-transaction - Commits and closes the transaction connection
- smo-transformer - Transforms telemetry or message data into structure SMO event payloads
Highlights
- 3-source payload mappings on SCM nodes (dequeued data, msg property, static value)
- Test Connection button, connection timeout, elapsed time display on DB transaction nodes
- SQL Source dropdown (Editor / msg.sql),
msg.payloadfallback on enqueue - URL override pattern and comprehensive help text on all nodes
Bug Fixes
- Dequeue checkbox not saving, proxy not working on SCM nodes, transaction ID not set on delete, wrong endpoint on create-meter-reading, region field masked as password, documentation (node reference, best practices, installation guide, import examples, readme)