Skip to content

Commit 16cacd8

Browse files
auto-docs: Update RPCN connector docs (#447)
1 parent 73bacad commit 16cacd8

6 files changed

Lines changed: 121 additions & 60 deletions

File tree

antora.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ asciidoc:
2323
project-github: redpanda-data/connect
2424
full-version: 24.1.4
2525
latest-release-commit: b5ade3f40
26-
latest-connect-version: 4.96.2
26+
latest-connect-version: 4.96.3
2727
page-home-intro: >-
2828
Redpanda Connect is a data streaming service for building scalable, high-performance data pipelines that drive
2929
real-time analytics and actionable business insights. Integrate data across systems with hundreds of prebuilt
Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"version": "4.96.1",
3-
"date": "2026-06-12T19:05:37Z",
2+
"version": "4.96.3",
3+
"date": "2026-06-17T18:39:29Z",
44
"config": [
55
{
66
"name": "http",
@@ -14860,7 +14860,7 @@
1486014860
"status": "stable",
1486114861
"plugin": true,
1486214862
"summary": "Enables Change Data Capture by consuming from OracleDB.",
14863-
"description": "Streams changes from an Oracle database for Change Data Capture (CDC).\nAdditionally, if `stream_snapshot` is set to true, then the existing data in the database is also streamed too.\n\n== Metadata\n\nThis input adds the following metadata fields to each message:\n\n- database_schema: The database schema for the table where the message originates from.\n- table_name: Name of the table that the message originated from.\n- operation: Type of operation that generated the message: \"read\", \"delete\", \"insert\", or \"update\". \"read\" is from messages that are read in the initial snapshot phase.\n- scn: the System Change Number in Oracle.\n- transaction_id: The Oracle transaction ID in `USN.SLOT.SEQ` format, identifying the transaction that produced the change. Not present on snapshot (`read`) messages.\n- source_ts_ms: The timestamp of when Oracle wrote the change record into the redo log, expressed as milliseconds since the Unix epoch. This reflects the database server's wall-clock time at the moment the DML executed, not the transaction commit time.\n- commit_ts_ms: The timestamp of the transaction commit, expressed as milliseconds since the Unix epoch. Not present on snapshot (`read`) messages.\n- schema: The table schema, for use with schema-aware downstream processors such as `schema_registry_encode`. When new columns are detected in CDC events, the schema is automatically refreshed from the Oracle catalog. Dropped columns are reflected after a connector restart.\n\n== Permissions\n\nWhen using the default Oracle based cache, the Connect user requires permission to create tables and stored procedures, and the rpcn schema must already exist. Refer to `checkpoint_cache_table_name` for more information.\n\t\t",
14863+
"description": "Streams changes from an Oracle database for Change Data Capture (CDC).\nAdditionally, if `stream_snapshot` is set to true, then the existing data in the database is also streamed too.\n\n== Metadata\n\nThis input adds the following metadata fields to each message:\n\n- database_schema: The database schema for the table where the message originates from.\n- table_name: Name of the table that the message originated from.\n- operation: Type of operation that generated the message: \"read\", \"delete\", \"insert\", or \"update\". \"read\" is from messages that are read in the initial snapshot phase.\n- scn: the System Change Number in Oracle.\n- transaction_id: The Oracle transaction ID in `USN.SLOT.SEQ` format, identifying the transaction that produced the change. Not present on snapshot (`read`) messages.\n- source_ts_ms: The timestamp of when Oracle wrote the change record into the redo log, expressed as milliseconds since the Unix epoch. This reflects the database server's wall-clock time at the moment the DML executed, not the transaction commit time.\n- commit_ts_ms: The timestamp of the transaction commit, expressed as milliseconds since the Unix epoch. Sourced from `V$LOGMNR_CONTENTS.TIMESTAMP` on the COMMIT redo record — this is Oracle's wall-clock time when the commit was written to the redo log, not a dedicated commit-timestamp column. Not present on snapshot (`read`) messages.\n- schema: The table schema, for use with schema-aware downstream processors such as `schema_registry_encode`. When new columns are detected in CDC events, the schema is automatically refreshed from the Oracle catalog. Dropped columns are reflected after a connector restart.\n\n== Permissions\n\nWhen using the default Oracle based cache, the Connect user requires permission to create tables and stored procedures, and the rpcn schema must already exist. Refer to `checkpoint_cache_table_name` for more information.\n\t\t",
1486414864
"categories": [
1486514865
"Services"
1486614866
],
@@ -32048,7 +32048,7 @@
3204832048
],
3204932049
"linter": "\nroot = []\nif this.format == \"json\" {\n if this.read_json_by_line == true && this.strip_outer_array == true {\n root = root.append(\"read_json_by_line and strip_outer_array cannot both be true\")\n }\n if this.read_json_by_line == false && this.strip_outer_array == false {\n root = root.append(\"json format requires either read_json_by_line or strip_outer_array to be true\")\n }\n}\nif this.format == \"csv\" {\n if this.column_separator == \"\" {\n root = root.append(\"column_separator cannot be empty when format=csv\")\n }\n if this.line_delimiter == \"\" {\n root = root.append(\"line_delimiter cannot be empty when format=csv\")\n }\n}\nif (this.url.or(\"\").string() == \"\" && this.fe_urls.length() == 0) {\n root = root.append(\"either url or fe_urls must be configured\")\n}\nif this.partitions.length() > 0 && this.temporary_partitions.length() > 0 {\n root = root.append(\"partitions and temporary_partitions cannot both be set\")\n}\nif this.max_filter_ratio < 0 || this.max_filter_ratio > 1 {\n root = root.append(\"max_filter_ratio must be between 0 and 1\")\n}\nif this.group_commit != \"\" && this.group_commit != \"sync_mode\" && this.group_commit != \"async_mode\" && this.group_commit != \"off_mode\" {\n root = root.append(\"group_commit must be one of sync_mode, async_mode, off_mode\")\n}\n"
3205032050
},
32051-
"version": "4.86.0",
32051+
"version": "4.96.0",
3205232052
"cloudSupported": false,
3205332053
"requiresCgo": false
3205432054
},
@@ -32203,6 +32203,11 @@
3220332203
"summary": "Here we read messages from a AWS S3 bucket and write them to an Elasticsearch index using the S3 key as the ID for the Elasticsearch document.",
3220432204
"config": "\ninput:\n aws_s3:\n bucket: \"my-cool-bucket\"\n prefix: \"bug-facts/\"\n scanner:\n to_the_end: {}\noutput:\n elasticsearch_v8:\n urls: ['http://localhost:9200']\n index: \"cool-bug-facts\"\n action: \"index\"\n id: ${! meta(\"s3_key\") }\n"
3220532205
},
32206+
{
32207+
"title": "Authenticating with an API key",
32208+
"summary": "Set the `api_key` field to authenticate requests with an Elasticsearch API key. If `api_key` is set, it supersedes the `basic_auth` configuration.",
32209+
"config": "\noutput:\n elasticsearch_v8:\n urls: ['https://localhost:9200']\n index: \"things\"\n action: \"index\"\n id: ${! json(\"id\") }\n api_key: \"${ELASTICSEARCH_API_KEY}\"\n"
32210+
},
3220632211
{
3220732212
"title": "Create Documents",
3220832213
"summary": "When using the `create` action, a new document will be created if the document ID does not already exist. If the document ID already exists, the operation will fail.",
@@ -32417,6 +32422,15 @@
3241732422
"description": "The maximum number of messages to have in flight at a given time. Increase this to improve throughput.",
3241832423
"default": 64
3241932424
},
32425+
{
32426+
"name": "api_key",
32427+
"type": "string",
32428+
"kind": "scalar",
32429+
"description": "An API key to authenticate with. If set, it supersedes basic authentication.",
32430+
"is_secret": true,
32431+
"default": "",
32432+
"scrubber": "root = if this != null && this != \"\" && !this.trim().re_match(\"\"\"^\\${[0-9A-Za-z_.]+(:((\\${[^}]+})|[^}])*)?}$\"\"\") {\n \"!!!SECRET_SCRUBBED!!!\"\n} else if this == null { \"\" }"
32433+
},
3242032434
{
3242132435
"name": "basic_auth",
3242232436
"type": "object",
@@ -32576,6 +32590,11 @@
3257632590
"summary": "Here we read messages from a AWS S3 bucket and write them to an Elasticsearch index using the S3 key as the ID for the Elasticsearch document.",
3257732591
"config": "\ninput:\n aws_s3:\n bucket: \"my-cool-bucket\"\n prefix: \"bug-facts/\"\n scanner:\n to_the_end: {}\noutput:\n elasticsearch_v9:\n urls: ['http://localhost:9200']\n index: \"cool-bug-facts\"\n action: \"index\"\n id: ${! meta(\"s3_key\") }\n"
3257832592
},
32593+
{
32594+
"title": "Authenticating with an API key",
32595+
"summary": "Set the `api_key` field to authenticate requests with an Elasticsearch API key. If `api_key` is set, it supersedes the `basic_auth` configuration.",
32596+
"config": "\noutput:\n elasticsearch_v9:\n urls: ['https://localhost:9200']\n index: \"things\"\n action: \"index\"\n id: ${! json(\"id\") }\n api_key: \"${ELASTICSEARCH_API_KEY}\"\n"
32597+
},
3257932598
{
3258032599
"title": "Create Documents",
3258132600
"summary": "When using the `create` action, a new document will be created if the document ID does not already exist. If the document ID already exists, the operation will fail.",
@@ -32790,6 +32809,15 @@
3279032809
"description": "The maximum number of messages to have in flight at a given time. Increase this to improve throughput.",
3279132810
"default": 64
3279232811
},
32812+
{
32813+
"name": "api_key",
32814+
"type": "string",
32815+
"kind": "scalar",
32816+
"description": "An API key to authenticate with. If set, it supersedes basic authentication.",
32817+
"is_secret": true,
32818+
"default": "",
32819+
"scrubber": "root = if this != null && this != \"\" && !this.trim().re_match(\"\"\"^\\${[0-9A-Za-z_.]+(:((\\${[^}]+})|[^}])*)?}$\"\"\") {\n \"!!!SECRET_SCRUBBED!!!\"\n} else if this == null { \"\" }"
32820+
},
3279332821
{
3279432822
"name": "basic_auth",
3279532823
"type": "object",
@@ -33376,7 +33404,7 @@
3337633404
"name": "primary_keys",
3337733405
"type": "string",
3337833406
"kind": "array",
33379-
"description": "Optional list of primary-key column names. Required when `auto_create_table` is true and `write_mode` is `upsert` or `upsert_delete`. When the target table is pre-existing, the connector falls back to the PRIMARY KEY declared on the table. Up to 16 columns; composite keys are supported in the same order they are listed.",
33407+
"description": "Optional list of primary-key column names. Required when `auto_create_table` is true and `write_mode` is `upsert` or `upsert_delete`. A pre-existing table must already declare its PRIMARY KEY — this field cannot add one; when both are set they must match exactly (same columns, same order). Up to 16 columns; composite keys are supported in the same order they are listed.",
3338033408
"is_optional": true
3338133409
},
3338233410
{

docs-data/connect-diff-4.96.1_to_4.96.2.json renamed to docs-data/connect-diff-4.96.2_to_4.96.3.json

Lines changed: 77 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
22
"comparison": {
3-
"oldVersion": "4.96.1",
4-
"newVersion": "4.96.2",
5-
"timestamp": "2026-06-16T16:17:54.167Z"
3+
"oldVersion": "4.96.2",
4+
"newVersion": "4.96.3",
5+
"timestamp": "2026-06-17T19:00:12.814Z"
66
},
77
"summary": {
88
"newComponents": 0,
99
"removedComponents": 0,
10-
"newFields": 2,
10+
"newFields": 0,
1111
"removedFields": 0,
1212
"deprecatedComponents": 0,
1313
"deprecatedFields": 0,
@@ -23,18 +23,7 @@
2323
"details": {
2424
"newComponents": [],
2525
"removedComponents": [],
26-
"newFields": [
27-
{
28-
"component": "outputs:elasticsearch_v8",
29-
"field": "api_key",
30-
"description": "An API key to authenticate with. If set, it supersedes basic authentication."
31-
},
32-
{
33-
"component": "outputs:elasticsearch_v9",
34-
"field": "api_key",
35-
"description": "An API key to authenticate with. If set, it supersedes basic authentication."
36-
}
37-
],
26+
"newFields": [],
3827
"removedFields": [],
3928
"deprecatedComponents": [],
4029
"deprecatedFields": [],
@@ -49,16 +38,52 @@
4938
},
5039
"binaryAnalysis": {
5140
"versions": {
52-
"oss": "4.96.2",
53-
"cloud": "4.96.2",
54-
"cgo": "4.96.2"
41+
"oss": "4.96.3",
42+
"cloud": "4.96.3",
43+
"cgo": "4.96.3"
5544
},
5645
"current": {
57-
"cloudSupported": 487,
58-
"selfHostedOnly": 79,
59-
"cgoOnly": 0
46+
"cloudSupported": 486,
47+
"selfHostedOnly": 75,
48+
"cgoOnly": 4
49+
},
50+
"changes": {
51+
"cloud": {
52+
"added": [],
53+
"removed": [
54+
{
55+
"type": "processors",
56+
"name": "a2a_message",
57+
"status": "stable"
58+
}
59+
]
60+
},
61+
"cgo": {
62+
"newCgoOnly": [
63+
{
64+
"type": "inputs",
65+
"name": "tigerbeetle_cdc",
66+
"status": "stable"
67+
},
68+
{
69+
"type": "inputs",
70+
"name": "zmq4",
71+
"status": "stable"
72+
},
73+
{
74+
"type": "outputs",
75+
"name": "zmq4",
76+
"status": "stable"
77+
},
78+
{
79+
"type": "processors",
80+
"name": "ffi",
81+
"status": "stable"
82+
}
83+
],
84+
"removedCgoOnly": []
85+
}
6086
},
61-
"changes": {},
6287
"details": {
6388
"cloudSupported": [
6489
{
@@ -1241,11 +1266,6 @@
12411266
"name": "xml",
12421267
"status": "stable"
12431268
},
1244-
{
1245-
"type": "processors",
1246-
"name": "a2a_message",
1247-
"status": "stable"
1248-
},
12491269
{
12501270
"type": "rate-limits",
12511271
"name": "local",
@@ -2618,16 +2638,6 @@
26182638
"name": "websocket",
26192639
"status": "stable"
26202640
},
2621-
{
2622-
"type": "inputs",
2623-
"name": "tigerbeetle_cdc",
2624-
"status": "stable"
2625-
},
2626-
{
2627-
"type": "inputs",
2628-
"name": "zmq4",
2629-
"status": "stable"
2630-
},
26312641
{
26322642
"type": "outputs",
26332643
"name": "amqp_1",
@@ -2743,11 +2753,6 @@
27432753
"name": "websocket",
27442754
"status": "stable"
27452755
},
2746-
{
2747-
"type": "outputs",
2748-
"name": "zmq4",
2749-
"status": "stable"
2750-
},
27512756
{
27522757
"type": "processors",
27532758
"name": "awk",
@@ -2833,11 +2838,6 @@
28332838
"name": "wasm",
28342839
"status": "stable"
28352840
},
2836-
{
2837-
"type": "processors",
2838-
"name": "ffi",
2839-
"status": "stable"
2840-
},
28412841
{
28422842
"type": "metrics",
28432843
"name": "aws_cloudwatch",
@@ -2894,8 +2894,35 @@
28942894
"status": "stable"
28952895
}
28962896
],
2897-
"cloudOnly": [],
2898-
"cgoOnly": []
2897+
"cloudOnly": [
2898+
{
2899+
"type": "processors",
2900+
"name": "a2a_message",
2901+
"status": "stable"
2902+
}
2903+
],
2904+
"cgoOnly": [
2905+
{
2906+
"type": "inputs",
2907+
"name": "tigerbeetle_cdc",
2908+
"status": "stable"
2909+
},
2910+
{
2911+
"type": "inputs",
2912+
"name": "zmq4",
2913+
"status": "stable"
2914+
},
2915+
{
2916+
"type": "outputs",
2917+
"name": "zmq4",
2918+
"status": "stable"
2919+
},
2920+
{
2921+
"type": "processors",
2922+
"name": "ffi",
2923+
"status": "stable"
2924+
}
2925+
]
28992926
}
29002927
}
29012928
}

modules/components/attachments/connect-4.96.2.json renamed to modules/components/attachments/connect-4.96.3.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"version": "4.96.2",
3-
"date": "2026-06-16T14:31:02Z",
2+
"version": "4.96.3",
3+
"date": "2026-06-17T18:39:29Z",
44
"config": [
55
{
66
"name": "http",
@@ -33438,7 +33438,7 @@
3343833438
"name": "primary_keys",
3343933439
"type": "string",
3344033440
"kind": "array",
33441-
"description": "Optional list of primary-key column names. Required when `auto_create_table` is true and `write_mode` is `upsert` or `upsert_delete`. When the target table is pre-existing, the connector falls back to the PRIMARY KEY declared on the table. Up to 16 columns; composite keys are supported in the same order they are listed.",
33441+
"description": "Optional list of primary-key column names. Required when `auto_create_table` is true and `write_mode` is `upsert` or `upsert_delete`. A pre-existing table must already declare its PRIMARY KEY — this field cannot add one; when both are set they must match exactly (same columns, same order). Up to 16 columns; composite keys are supported in the same order they are listed.",
3344233442
"is_optional": true
3344333443
},
3344433444
{

modules/components/partials/fields/outputs/gcp_bigquery_write_api.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ The format of input messages. Use 'json' to have the component convert JSON to p
218218

219219
=== `primary_keys[]`
220220

221-
Optional list of primary-key column names. Required when `auto_create_table` is true and `write_mode` is `upsert` or `upsert_delete`. When the target table is pre-existing, the connector falls back to the PRIMARY KEY declared on the table. Up to 16 columns; composite keys are supported in the same order they are listed.
221+
Optional list of primary-key column names. Required when `auto_create_table` is true and `write_mode` is `upsert` or `upsert_delete`. A pre-existing table must already declare its PRIMARY KEY — this field cannot add one; when both are set they must match exactly (same columns, same order). Up to 16 columns; composite keys are supported in the same order they are listed.
222222

223223
*Type*: `array`
224224

modules/get-started/pages/whats-new.adoc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ For a full list of product updates, and details of updates prior to version 4.29
1414

1515

1616

17+
18+
== Version 4.96.3
19+
20+
link:https://github.com/redpanda-data/connect/releases/tag/v4.96.3[See the full release notes^].
21+
22+
1723
== Version 4.96.2
1824

1925
link:https://github.com/redpanda-data/connect/releases/tag/v4.96.2[See the full release notes^].

0 commit comments

Comments
 (0)