BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot

betterdocs · by wpdevteam · wordpress.org ↗ · SVN ↗
Active installs
30k+
Current version
4.9.1
Added
2019-10-15
Last updated
2026-09-03 (10d ago)
First seen by beacon
4mo ago
Total downloads
2,725,841

Statistics

2024-06-17 → 2026-09-10 · 806 days
Downloads today
543
7-day total 7,867
Week over week
▼ -62%
vs prior 7 days
30-day trend
rising
▼ -24% MoM
Abandonment
○○○○○
healthy
Downloads/day Linear trend
12k9k6k3k02024-062024-102025-032025-072025-122026-042026-09
11k8k5k3k02026-062026-062026-072026-072026-082026-08
9k7k5k2k02026-082026-082026-082026-082026-092026-09

Active versions

4.9other4.84.3
4.9 · 40.4%other · 34.1%4.8 · 10.3%4.3 · 10.1%4.5 · 5.1%

Ratings

5★
476
4★
18
3★
4
2★
3
1★
12

Support: 3/3 resolved

Alerts (0)

No open alerts.

Show 2 resolved alerts
Medium code_scan_delta Resolved · code_scan_fp_class_genre_encoding 2026-08-28 13:20:48 (16d ago)
Slugbetterdocs
Previous version4.9.0
Current version4.9.0
New findings
PatternKindFileLineSnippetConfidence
base64_decodebuiltinincludes/Core/SecretAtRest.php116$decoded = base64_decode( substr( $value, strlen( self::PREFIX ) ), true );medium
New finding count1
View raw JSON
{
    "slug": "betterdocs",
    "previous_version": "4.9.0",
    "current_version": "4.9.0",
    "new_findings": [
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "includes/Core/SecretAtRest.php",
            "line": 116,
            "snippet": "$decoded = base64_decode( substr( $value, strlen( self::PREFIX ) ), true );",
            "confidence": "medium"
        }
    ],
    "new_finding_count": 1
}
Medium code_scan_match Resolved · backtick_in_sql_or_comment_or_string_fp 2026-05-05 12:04:24 (4mo ago)
Slugbetterdocs
Finding count8
Findings
PatternKindFileLineSnippetConfidence
base64_decodebuiltinincludes/Dependencies/SuperClosure/Serializer.php93$signature = base64_decode(substr($serialized, 1, 44));medium
eval_callbuiltinincludes/Dependencies/SuperClosure/SerializableClosure.php207@eval("\${$__recursive_reference} = {$__data['code']};");medium
eval_callbuiltinincludes/Dependencies/SuperClosure/SerializableClosure.php210@eval("\$__closure = {$__data['code']};");medium
eval_callbuiltinincludes/Dependencies/PhpParser/PrettyPrinter/Standard.php481return 'eval(' . $this->p($node->expr) . ')';medium
backtick_execbuiltinincludes/Core/WriteWithAI.php339const isPostContent = `<?php echo isset( $_GET[ 'post' ] ) ? esc_html( get_the_content( $_GET[ 'post' ] ) ) : ''; // phpcs:ignore ?>`;medium
backtick_execbuiltinincludes/Core/WriteWithAI.php413let title = `<?php echo isset( $_GET[ 'post' ] ) ? esc_html( get_the_title( $_GET[ 'post' ] ) ) : ''; // phpcs:ignore ?>`;medium
backtick_execbuiltinincludes/Core/WriteWithAI.php418const promtTitle = `<?php echo isset( $_GET[ 'post' ] ) ? esc_html( get_the_title( $_GET[ 'post' ] ) ) : '{Documentation Title}'; // phpcs:ignore ?>`;medium
backtick_execbuiltinincludes/Core/WriteWithAI.php444const isPostContent = `<?php echo isset( $_GET[ 'post' ] ) ? esc_html( get_the_content( $_GET[ 'post' ] ) ) : ''; // phpcs:ignore ?>`;medium
Resolved shab0613aedc2a6e88ca536b899b73d150f88af4811
View raw JSON
{
    "slug": "betterdocs",
    "finding_count": 8,
    "findings": [
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "includes/Dependencies/SuperClosure/Serializer.php",
            "line": 93,
            "snippet": "$signature = base64_decode(substr($serialized, 1, 44));",
            "confidence": "medium"
        },
        {
            "pattern": "eval_call",
            "kind": "builtin",
            "file": "includes/Dependencies/SuperClosure/SerializableClosure.php",
            "line": 207,
            "snippet": "@eval(\"\\${$__recursive_reference} = {$__data['code']};\");",
            "confidence": "medium"
        },
        {
            "pattern": "eval_call",
            "kind": "builtin",
            "file": "includes/Dependencies/SuperClosure/SerializableClosure.php",
            "line": 210,
            "snippet": "@eval(\"\\$__closure = {$__data['code']};\");",
            "confidence": "medium"
        },
        {
            "pattern": "eval_call",
            "kind": "builtin",
            "file": "includes/Dependencies/PhpParser/PrettyPrinter/Standard.php",
            "line": 481,
            "snippet": "return 'eval(' . $this->p($node->expr) . ')';",
            "confidence": "medium"
        },
        {
            "pattern": "backtick_exec",
            "kind": "builtin",
            "file": "includes/Core/WriteWithAI.php",
            "line": 339,
            "snippet": "const isPostContent = `<?php echo isset( $_GET[ 'post' ] ) ? esc_html( get_the_content( $_GET[ 'post' ] ) ) : ''; // phpcs:ignore                   ?>`;",
            "confidence": "medium"
        },
        {
            "pattern": "backtick_exec",
            "kind": "builtin",
            "file": "includes/Core/WriteWithAI.php",
            "line": 413,
            "snippet": "let title = `<?php echo isset( $_GET[ 'post' ] ) ? esc_html( get_the_title( $_GET[ 'post' ] ) ) : ''; // phpcs:ignore                   ?>`;",
            "confidence": "medium"
        },
        {
            "pattern": "backtick_exec",
            "kind": "builtin",
            "file": "includes/Core/WriteWithAI.php",
            "line": 418,
            "snippet": "const promtTitle = `<?php echo isset( $_GET[ 'post' ] ) ? esc_html( get_the_title( $_GET[ 'post' ] ) ) : '{Documentation Title}'; // phpcs:ignore                   ?>`;",
            "confidence": "medium"
        },
        {
            "pattern": "backtick_exec",
            "kind": "builtin",
            "file": "includes/Core/WriteWithAI.php",
            "line": 444,
            "snippet": "const isPostContent = `<?php echo isset( $_GET[ 'post' ] ) ? esc_html( get_the_content( $_GET[ 'post' ] ) ) : ''; // phpcs:ignore                   ?>`;",
            "confidence": "medium"
        }
    ],
    "resolved_sha": "b0613aedc2a6e88ca536b899b73d150f88af4811"
}

SVN committers (4)

Accounts with actual commit access to betterdocs on plugins.svn.wordpress.org, reconstructed from svn log. This is the list that matters for ownership changes — not the readme contributors.

Committer Member since Commits First commit Latest commit
WPDeveloper 2017-11-16 154 2020-08-09 · r2355471 2026-09-03 · r3679044
Rupok 2013-01-28 76 2019-10-15 · r2173572 2021-09-29 · r2606529
PriyoMukul 2014-12-08 27 2022-06-16 · r2743300 2026-07-10 · r3603227
plugin-master 2007-03-09 1 2019-08-05 · r2134553 2019-08-05 · r2134553

Readme contributors (10)

Names the plugin's readme declares as contributors. A soft signal — anyone can be listed. The SVN access column is the ground-truth cross-reference: does this contributor actually commit code?

Contributor Member since SVN access Status
WPDeveloper 2017-11-16 154 commits Active
Rupok 2013-01-28 76 commits Active
PriyoMukul 2014-12-08 27 commits Active
Akash Mia 2019-03-26 Active
Kazi Emam Mahedi 2014-07-21 Active
M Asif Rahman 2007-10-08 Active
MD Jamil Uddin 2018-02-08 Active
Bashar 2022-02-23 Removed 18d ago
Md Monir Hossain 2018-05-03 Removed 3mo ago
Sapan Mozammel 2021-02-11 Removed 3mo ago

Versions (100 most recent)

Version Released Download
4.9.1 zip
4.9.0 zip
4.8.0 zip
4.8.1 zip
4.8.2 zip
4.6.2 zip
4.7.0 zip
4.6.0 zip
4.6.1 zip
4.5.6 zip
4.5.4 zip
4.5.5 zip
4.5.2 zip
4.5.3 zip
4.5.1 2026-05-25 · 3mo ago zip
4.5.0 2026-05-20 · 3mo ago zip
4.4.1 2026-05-19 · 3mo ago zip
4.4.0 2026-05-11 · 4mo ago zip
4.3.12 2026-04-22 · 4mo ago
4.3.11 2026-04-15 · 5mo ago zip
4.3.10 2026-03-18 · 5mo ago zip
4.3.9 2026-03-11 · 6mo ago zip
4.3.8 2026-03-08 · 6mo ago zip
4.3.7 2026-02-10 · 7mo ago zip
4.3.6 2026-01-28 · 7mo ago zip
4.3.5 2026-01-21 · 7mo ago zip
4.3.4 2026-01-01 · 8mo ago zip
4.3.3 2025-12-18 · 8mo ago zip
4.3.2 2025-12-17 · 9mo ago zip
4.3.1 2025-12-15 · 9mo ago zip
4.3.0 2025-12-15 · 9mo ago zip
4.2.7 2025-12-04 · 9mo ago zip
4.2.6 2025-11-27 · 9mo ago zip
4.2.5 2025-11-27 · 9mo ago zip
4.2.4 2025-11-25 · 9mo ago zip
4.2.3 2025-11-18 · 9mo ago zip
4.2.2 2025-10-22 · 10mo ago zip
4.2.1 2025-09-21 · 11mo ago zip
4.2.0 2025-09-09 · 1y ago zip
4.1.3 2025-08-17 · 1y ago zip
4.1.2 2025-08-03 · 1y ago zip
4.1.1 2025-07-14 · 1y ago zip
4.1.0 2025-06-24 · 1y ago zip
4.0.1 2025-06-20 · 1y ago zip
4.0.0 2025-06-18 · 1y ago zip
3.9.3 2025-06-15 · 1y ago zip
3.9.2 2025-06-02 · 1y ago zip
3.9.1 2025-05-19 · 1y ago zip
3.9.0 2025-05-08 · 1y ago zip
3.8.15 2025-04-22 · 1y ago zip
3.8.14 2025-04-10 · 1y ago zip
3.8.13 2025-03-17 · 1y ago zip
3.8.12 2025-02-24 · 1y ago zip
3.8.11 2025-02-12 · 1y ago zip
3.8.10 2025-02-03 · 1y ago zip
3.8.9 2025-01-21 · 1y ago zip
3.8.8 2025-01-14 · 1y ago zip
3.8.7 2024-12-19 · 1y ago zip
3.8.6 2024-12-17 · 1y ago zip
3.8.5 2024-12-15 · 1y ago zip
3.8.4 2024-12-09 · 1y ago zip
3.8.3 2024-12-05 · 1y ago zip
3.8.2 2024-11-20 · 1y ago zip
3.8.1 2024-11-14 · 1y ago zip
3.8.0 2024-11-14 · 1y ago zip
3.7.3 2024-10-22 · 1y ago zip
3.7.2 2024-10-14 · 1y ago zip
3.7.1 2024-10-10 · 1y ago zip
3.7.0 2024-10-01 · 1y ago zip
3.6.6 2024-09-12 · 2y ago zip
3.6.5 2024-08-13 · 2y ago zip
3.6.4 2024-07-25 · 2y ago zip
3.6.3 2024-07-16 · 2y ago zip
3.6.2 2024-07-09 · 2y ago zip
3.6.1 2024-07-08 · 2y ago zip
3.6.0 2024-07-08 · 2y ago zip
3.5.9 2024-07-01 · 2y ago zip
3.5.8 2024-06-23 · 2y ago zip
3.5.7 2024-05-27 · 2y ago zip
3.5.6 2024-05-13 · 2y ago zip
3.5.5 2024-04-28 · 2y ago zip
3.5.4 2024-04-24 · 2y ago zip
3.5.3 2024-04-21 · 2y ago zip
3.5.2 2024-04-18 · 2y ago zip
3.5.1 2024-03-31 · 2y ago zip
3.5.0 2024-03-25 · 2y ago zip
3.4.2 2024-03-21 · 2y ago zip
3.4.1 2024-02-28 · 2y ago zip
3.4.0 2024-02-18 · 2y ago zip
3.3.4 2024-01-24 · 2y ago zip
3.3.3 2024-01-17 · 2y ago zip
3.3.2 2024-01-14 · 2y ago zip
3.3.1 2024-01-11 · 2y ago zip
3.3.0 2023-12-31 · 2y ago zip
3.1.0 2023-12-14 · 2y ago zip
3.2.0 2023-12-14 · 2y ago zip
3.0.2 2023-12-03 · 2y ago zip
3.0.1 2023-11-20 · 2y ago zip
3.0.0 2023-11-13 · 2y ago zip
2.5.6 2023-09-21 · 2y ago zip