diff --git a/docs/automations/integrations/dependabot/approve-dependabot/README.md b/docs/automations/integrations/dependabot/approve-dependabot/README.md
index e276efacb..532e86ce5 100644
--- a/docs/automations/integrations/dependabot/approve-dependabot/README.md
+++ b/docs/automations/integrations/dependabot/approve-dependabot/README.md
@@ -10,11 +10,6 @@ Auto-merge Dependabot PRs
=== "By Release Type"
- !!! warning "Required gitStream Plugins"
- This example requires you to install the [`extractDependabotVersionBump`](/filter-function-plugins/#extractdependabotversionbump) and [`compareSemver`](/filter-function-plugins/#comparesemver) plugins.
-
- [Learn more about gitStream plugins](/plugins/).
-
!!! info "Configuration Description"
Conditions (all must be true):
diff --git a/docs/downloads/automation-library/integrations/dependabot/approve_dependabot_minor.cm b/docs/downloads/automation-library/integrations/dependabot/approve_dependabot_minor.cm
index 1ff3119ca..b51378fac 100644
--- a/docs/downloads/automation-library/integrations/dependabot/approve_dependabot_minor.cm
+++ b/docs/downloads/automation-library/integrations/dependabot/approve_dependabot_minor.cm
@@ -32,4 +32,4 @@ automations:
comment: |
Dependabot `patch` version bumps are approved and merged automatically.
-bump: {{ pr.description | extractDependabotVersionBump | compareSemver }}
+bump: {{ pr.description | checkDependabot | checkSemver }}
diff --git a/docs/execution-model.md b/docs/execution-model.md
index 2ab616d4c..64a606386 100644
--- a/docs/execution-model.md
+++ b/docs/execution-model.md
@@ -200,8 +200,6 @@ This allows developers to get AI feedback during the coding process before marki
For example, you can have your normal automations that help developers with their PRs and a separate automation that automates Dependabot or Renovate version bumps. Both automations serve distinctly different purposes: the first helps your developers streamline their PRs, while the other reduces developers' toil by auto-approving version bumps. You will not want to unnecessarily trigger gitStream for Dependabot or Renovate, so you can configure the triggers to exclude the branch where Dependabot or Renovate PRs are created.
-!!! warning "Required gitStream Plugins"
- This example requires you to install the [`extractDependabotVersionBump`](/filter-function-plugins/#extractdependabotversionbump) and [`compareSemver`](/filter-function-plugins/#comparesemver) plugins.
In your default automation file, you should exclude the branch where Dependabot or Renovate PRs are created:
@@ -270,7 +268,7 @@ automations:
comment: |
Dependabot `patch` version bumps are approved and merged automatically.
-bump: {{ pr.description | extractDependabotVersionBump | compareSemver }}
+bump: {{ pr.description | checkDependabot | checkSemver }}
```
#### Assign code expert
diff --git a/docs/filter-function-plugins.md b/docs/filter-function-plugins.md
index 9c11beae3..e75d33fa2 100644
--- a/docs/filter-function-plugins.md
+++ b/docs/filter-function-plugins.md
@@ -12,9 +12,15 @@ JavaScript plugins that enable custom filter functions for gitStream. To learn h
--8<-- "plugins/filters/compareMultiSemver/README.md"
---8<-- "plugins/filters/compareSemver/README.md"
+## compareSemver
+!!! note "compareSemver → checkSemver"
---8<-- "plugins/filters/extractDependabotVersionBump/README.md"
+ This plugin is now supported by a native filter function [`checkSemver`](/filter-functions/#checksemver). The native implementation provides better performance and doesn't require plugin installation.
+
+## extractDependabotVersionBump
+!!! note "extractDependabotVersionBump → checkDependabot"
+
+ This plugin is now supported by a native filter function [`checkDependabot`](/filter-functions/#checkdependabot). The native implementation provides better performance and doesn't require plugin installation.
--8<-- "plugins/filters/extractRenovateVersionBump/README.md"
diff --git a/docs/filter-functions.md b/docs/filter-functions.md
index 8d776f490..f3a5bb6f8 100644
--- a/docs/filter-functions.md
+++ b/docs/filter-functions.md
@@ -45,6 +45,8 @@ The following functions are supported in addition to the built-in functions prov
| [`allDocs`](#alldocs)
Checks the list includes only images | [`files`](./context-variables.md#files) | - | Bool |
| [`allImages`](#allimages)
Checks the list includes only images | [`files`](./context-variables.md#files) | - | Bool |
| [`allTests`](#alltests)
Checks the list includes only tests | [`files`](./context-variables.md#files) | - | Bool |
+| [`checkDependabot`](#checkdependabot)
Extract version bump information from Dependabot PRs description | String - PR description | - | [String] |
+| [`checkSemver`](#checksemver)
Compare two software version numbers and determine the type of version change | [String] - Array with [to, from] versions | `lexicographical`, `zeroExtend` | String |
| [`codeExperts`](#codeexperts)
Get list of contributors based on expert reviewer model results | [`repo`](./context-variables.md#repo) | `gt`, `lt` | [String] |
| [`decode`](#decode)
Decode Base64 encoded string into an object | String (Base64 encoded) | - | Object |
| [`encode`](#encode)
Encode data into Base64 encoded string | Object | - | String (Base64 encoded) |
@@ -379,6 +381,93 @@ To identify as test the file must include the word `test` or `spec` in its name
{{ files | allTests }}
```
+
+#### `checkDependabot`
+
+Extract version bump information from Dependabot PRs description. This filter parses Dependabot PR descriptions to identify version changes and returns an array containing the "to" and "from" versions.
+
+
string - It returns a string of either:
@@ -11,8 +11,8 @@ When V1 > V2 the it means and upgrade.
'patch' if the patch version is incremented.
'downgrade' if the second version is lower than the first.
'equal' if both versions are equal.
-'error' if the comparison is abnormal or cannot be determined.
-**License**: MIT
+'error' if the comparison is abnormal or cannot be determined.
+**License**: MIT
| Param | Type | Default | Description |
| --- | --- | --- | --- |
@@ -20,7 +20,7 @@ When V1 > V2 the it means and upgrade.
| [lexicographical] | boolean | false | compares each part of the version strings lexicographically instead of naturally; this allows suffixes such as "b" or "dev" but will cause "1.10" to be considered smaller than "1.2". |
| [zeroExtend] | boolean | true | changes the result if one version string has less parts than the other. In this case the shorter string will be padded with "zero" parts instead of being considered smaller. |
-**Example**
+**Example**
```js
-{{ ["1.2.1", "1.2.3"] | compareSemver == "patch" }}
+{{ ["1.2.3", "1.2.1"] | compareSemver == "patch" }}
```
diff --git a/plugins/filters/extractDependabotVersionBump/LICENSE b/plugins/filters/extractDependabotVersionBump/LICENSE
deleted file mode 100644
index 4118ae88b..000000000
--- a/plugins/filters/extractDependabotVersionBump/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2023 LinearB
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
diff --git a/plugins/filters/extractDependabotVersionBump/README.md b/plugins/filters/extractDependabotVersionBump/README.md
deleted file mode 100644
index 9b1eb7d0d..000000000
--- a/plugins/filters/extractDependabotVersionBump/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
---8<-- "plugins/filters/extractDependabotVersionBump/reference.md"
-
-??? note "Plugin Code: extractDependabotVersionBump"
- ```javascript
- --8<-- "plugins/filters/extractDependabotVersionBump/index.js"
- ```
- Array.<string> - V1 (to) and V2 (from)
-**License**: MIT
-
-| Param | Type | Description |
-| --- | --- | --- |
-| description | string | the PR description |
-
-**Example**
-```js
-{{ pr.description | extractDependabotVersionBump | compareSemver }}
-```
diff --git a/plugins/filters/extractDependabotVersionBump/test.js b/plugins/filters/extractDependabotVersionBump/test.js
deleted file mode 100644
index 4da602975..000000000
--- a/plugins/filters/extractDependabotVersionBump/test.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Test file for extractDependabotVersionBump
- */
-
-const extractDependabotVersionBump = require('./index.js');
-
-// Test cases
-const testCases = [
- {
- name: "Updates format",
- input: "Bumps the npm_and_yarn group with 1 update in the / directory: [axios](https://github.com/axios/axios).\n\nUpdates `axios` from 0.2.2 to 0.30.0",
- expected: ["0.30.0", "0.2.2"]
- },
- {
- name: "Bumps format",
- input: "Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) from 5.1.2 to 7.0.0.",
- expected: ["7.0.0", "5.1.2"]
- },
- {
- name: "Bumps format with escaped quotes and HTML",
- input: "Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) from 6.0.1 to 6.0.2.Sourced from serialize-javascript's releases.
\\nv6.0.2
\\n
\\n- fix: serialize URL string contents to prevent XSS (#173) f27d65d
\\n- Bump
@babel/traversefrom 7.10.1 to 7.23.7 (#171) 02499c0
\\n- docs: update readme with URL support (#146) 0d88527
\\n- chore: update node version and lock file e2a3a91
\\n- fix typo (#164) 5a1fa64
\\n
\\nhttps://github.com/yahoo/serialize-javascript/compare/v6.0.1...v6.0.2
\\n
b71ec23 6.0.2f27d65d fix: serialize URL string contents to prevent XSS (#173)02499c0 Bump @babel/traverse from 7.10.1 to 7.23.7 (#171)0d88527 docs: update readme with URL support (#146)e2a3a91 chore: update node version and lock file5a1fa64 fix typo (#164)Array.<string> - V1 (to) and V2 (from)
-**License**: MIT
+**Returns**: Array.<string> - V1 (to) and V2 (from)
+**License**: MIT
| Param | Type | Description |
| --- | --- | --- |
| description | string | the PR description |
-**Example**
+**Example**
```js
-{{ pr.description | extractSnykVersionBump | compareSemver }}
+{{ pr.description | extractSnykVersionBump | checkSemver }}
```