Skip to content

Commit 383d14b

Browse files
committed
ci: auto-generate changelog from GitHub Releases at build time
1 parent ea66cc7 commit 383d14b

37 files changed

Lines changed: 2059 additions & 694 deletions

.github/workflows/ghpages.yml

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
name: Deploy MkDocs to GitHub Pages
1+
name: Deploy Retype to GitHub Pages
22

33
on:
44
push:
55
branches: [ "master" ]
66
paths:
77
- docs/**
8+
- retype.yml
89
workflow_dispatch:
910

1011
permissions:
@@ -21,22 +22,27 @@ defaults:
2122
shell: bash
2223

2324
jobs:
24-
deploy:
25+
publish:
2526
runs-on: ubuntu-latest
2627

2728
steps:
2829
- name: Checkout repository
29-
uses: actions/checkout@v3
30+
uses: actions/checkout@v4
3031

3132
- name: Set up Python
32-
uses: actions/setup-python@v4
33+
uses: actions/setup-python@v5
3334
with:
34-
python-version: '3.10'
35+
python-version: '3.12'
3536

36-
- name: Install dependencies
37-
run: |
38-
pip install mkdocs mkdocs-material mkdocstrings[python]
37+
- name: Generate changelog from GitHub Releases
38+
run: python scripts/generate_changelog.py
39+
env:
40+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3941

40-
- name: Build and deploy
41-
run: |
42-
mkdocs gh-deploy --force
42+
- name: Build with Retype
43+
uses: retypeapp/action-build@latest
44+
45+
- name: Deploy to GitHub Pages
46+
uses: retypeapp/action-github-pages@latest
47+
with:
48+
update-branch: true

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@
88
**/dist
99
**/*.egg-info
1010
**/.idea
11+
**/.retype
1112
.

docs/CNAME

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/changelog.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
icon: history
3+
label: Changelog
4+
order: 50
5+
---
6+
7+
# Changelog
8+
9+
## v4.0.0 (2025-04-30) [!badge text="Latest"]
10+
11+
### ⚠ BREAKING CHANGES
12+
13+
* API usage has completely changed from v3.2 to v4.0. All task creation methods now rely on structured payloads and typed clients.
14+
15+
### Features
16+
17+
* full rewrite with async support, pydantic v2 and modern architecture ([#72](https://github.com/alperensert/capmonster_python/issues/72)) ([bd9e40d](https://github.com/alperensert/capmonster_python/commit/bd9e40dd4ca22d757ed248d2f6903d5b38e0c960))
18+
19+
20+
### Documentation
21+
22+
* add features section to documentation index ([17efb36](https://github.com/alperensert/capmonster_python/commit/17efb361da78aebd1e2395fb2d09aeea4fc36242))
23+
24+
---
25+
26+
## v3.2.0 (2024-04-27)
27+
28+
### Features
29+
30+
* add amazon waf task support ([c78ff56](https://github.com/alperensert/capmonster_python/commit/c78ff5654b7ded310e5e647e7052712d7870e5f7))
31+
32+
---
33+
34+
## v3.1.0 (2024-04-17)
35+
36+
### Features
37+
38+
* TenDI task ([#66](https://github.com/alperensert/capmonster_python/issues/66)) ([261638d](https://github.com/alperensert/capmonster_python/commit/261638d2f73c4a95840f1febc697e7162906a109))
39+
40+
---
41+
42+
You can find other version changelogs [here](https://github.com/alperensert/capmonster_python/releases).

docs/error_codes.md

Lines changed: 83 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,174 +1,180 @@
1-
# ❗ Error Codes
1+
---
2+
icon: alert
3+
label: Error Codes
4+
order: 60
5+
---
6+
7+
# Error Codes
28

39
This page documents common error codes returned by the CapMonster Cloud API along with their meanings and possible
410
solutions.
511

612
---
713

8-
## 🔐 Authentication & Authorization
14+
## Authentication & Authorization
915

1016
### `ERROR_KEY_DOES_NOT_EXIST`
1117

12-
**Invalid API Key**
13-
The authorization key provided is not recognized or is in the wrong format.
14-
Check your API key from the [CapMonster Dashboard](https://capmonster.cloud/).
18+
**Invalid API Key**
19+
The authorization key provided is not recognized or is in the wrong format.
20+
> Check your API key from the [CapMonster Dashboard](https://capmonster.cloud/).
1521
1622
### `ERROR_ZERO_BALANCE`
1723

18-
**No Funds**
19-
Your account balance is zero.
20-
Add credits to continue solving captchas.
24+
**No Funds**
25+
Your account balance is zero.
26+
> Add credits to continue solving captchas.
2127
2228
### `ERROR_IP_NOT_ALLOWED`
2329

24-
**IP Not Allowed**
25-
Requests from your current IP address are not allowed.
26-
Add your IP to the **trusted list** in your account settings.
30+
**IP Not Allowed**
31+
Requests from your current IP address are not allowed.
32+
> Add your IP to the **trusted list** in your account settings.
2733
2834
### `ERROR_IP_BANNED`
2935

30-
**IP Banned**
31-
Too many failed requests with incorrect API key from your IP.
32-
Verify your key, wait a few minutes, and try again.
36+
**IP Banned**
37+
Too many failed requests with incorrect API key from your IP.
38+
> Verify your key, wait a few minutes, and try again.
3339
3440
### `ERROR_IP_BLOCKED`
3541

36-
**Your IP is Blocked**
37-
Your IP is permanently blocked due to repeated violations or suspicious activity.
38-
Contact CapMonster support.
42+
**Your IP is Blocked**
43+
Your IP is permanently blocked due to repeated violations or suspicious activity.
44+
> Contact CapMonster support.
3945
4046
---
4147

42-
## 🖼️ CAPTCHA File Issues
48+
## CAPTCHA File Issues
4349

4450
### `ERROR_TOO_BIG_CAPTCHA_FILESIZE`
4551

46-
**Captcha Image Too Large**
47-
The image size exceeds 500 KB.
48-
Compress or resize the image before submitting.
52+
**Captcha Image Too Large**
53+
The image size exceeds 500 KB.
54+
> Compress or resize the image before submitting.
4955
5056
### `ERROR_ZERO_CAPTCHA_FILESIZE`
5157

52-
**Captcha Image Too Small**
53-
The image size is less than 100 bytes.
54-
Ensure the image is valid and properly encoded.
58+
**Captcha Image Too Small**
59+
The image size is less than 100 bytes.
60+
> Ensure the image is valid and properly encoded.
5561
5662
### `ERROR_CAPTCHA_UNSOLVABLE`
5763

58-
**Captcha Unsolvable**
59-
The image may be too noisy, corrupted, or unsupported by the service.
60-
Try another image or adjust your task.
64+
**Captcha Unsolvable**
65+
The image may be too noisy, corrupted, or unsupported by the service.
66+
> Try another image or adjust your task.
6167
6268
---
6369

64-
## 🕓 Timing & Task States
70+
## Timing & Task States
6571

6672
### `ERROR_NO_SUCH_CAPCHA_ID` / `WRONG_CAPTCHA_ID`
6773

68-
**Captcha ID Not Found**
69-
No task found for the given ID, or the request was made after it expired.
70-
Poll results within 5 minutes of task creation.
74+
**Captcha ID Not Found**
75+
No task found for the given ID, or the request was made after it expired.
76+
> Poll results within 5 minutes of task creation.
7177
7278
### `CAPTCHA_NOT_READY`
7379

74-
**Captcha Not Ready**
75-
The task is still being processed.
76-
Retry after 12 seconds.
80+
**Captcha Not Ready**
81+
The task is still being processed.
82+
> Retry after 1-2 seconds.
7783
7884
### `ERROR_RECAPTCHA_TIMEOUT`
7985

80-
**ReCAPTCHA Timeout**
81-
Task solving took too long, possibly due to slow proxy or server issues.
82-
Use a faster proxy or adjust timeout settings.
86+
**ReCAPTCHA Timeout**
87+
Task solving took too long, possibly due to slow proxy or server issues.
88+
> Use a faster proxy or adjust timeout settings.
8389
8490
---
8591

86-
## 🌐 Domain & SiteKey Errors
92+
## Domain & SiteKey Errors
8793

8894
### `ERROR_DOMAIN_NOT_ALLOWED`
8995

90-
**Domain Blocked**
91-
CapMonster Cloud does not support solving captchas for the specified domain.
92-
Use a different domain or provider.
96+
**Domain Blocked**
97+
CapMonster Cloud does not support solving captchas for the specified domain.
98+
> Use a different domain or provider.
9399
94100
### `ERROR_RECAPTCHA_INVALID_SITEKEY`
95101

96-
**Invalid SiteKey**
97-
The specified `websiteKey` is not valid.
98-
Double-check the `data-sitekey` on the target page.
102+
**Invalid SiteKey**
103+
The specified `websiteKey` is not valid.
104+
> Double-check the `data-sitekey` on the target page.
99105
100106
### `ERROR_RECAPTCHA_INVALID_DOMAIN`
101107

102-
**Invalid Domain**
103-
The domain doesnt match the sitekey's origin.
104-
Ensure both belong to the same origin.
108+
**Invalid Domain**
109+
The domain doesn't match the sitekey's origin.
110+
> Ensure both belong to the same origin.
105111
106112
### `ERROR_TOKEN_EXPIRED`
107113

108-
**Token Expired**
109-
The challenge token has expired.
110-
Create a new task with a fresh token.
114+
**Token Expired**
115+
The challenge token has expired.
116+
> Create a new task with a fresh token.
111117
112118
---
113119

114-
## 📦 Task Definition Errors
120+
## Task Definition Errors
115121

116122
### `ERROR_NO_SUCH_METHOD`
117123

118-
**Incorrect Method**
124+
**Incorrect Method**
119125
The specified task type (in `type`) is invalid or unsupported.
120126

121127
### `ERROR_TASK_NOT_SUPPORTED`
122128

123-
**Incorrect Task Type**
124-
The task format is not recognized.
125-
Review the `type` value and match it to the correct schema.
129+
**Incorrect Task Type**
130+
The task format is not recognized.
131+
> Review the `type` value and match it to the correct schema.
126132
127133
### `ERROR_TASK_ABSENT`
128134

129-
**Missing Task Object**
135+
**Missing Task Object**
130136
No `task` object was provided, or the JSON is malformed.
131137

132138
### `ERROR_WRONG_USERAGENT`
133139

134-
**Invalid User-Agent**
135-
The specified User-Agent string is no longer accepted.
136-
Update to a current, valid browser UA string.
140+
**Invalid User-Agent**
141+
The specified User-Agent string is no longer accepted.
142+
> Update to a current, valid browser UA string.
137143
138144
---
139145

140-
## 🌐 Proxy Errors
146+
## Proxy Errors
141147

142148
### `ERROR_PROXY_CONNECT_REFUSED`
143149

144-
**Proxy Connection Failed**
145-
Unable to reach proxy server.
146-
Test your proxy or replace it.
150+
**Proxy Connection Failed**
151+
Unable to reach proxy server.
152+
> Test your proxy or replace it.
147153
148154
### `ERROR_PROXY_BANNED`
149155

150-
**Proxy Banned**
151-
The proxy IP is blocked by the target captcha provider.
152-
Rotate your proxy or try a different provider.
156+
**Proxy Banned**
157+
The proxy IP is blocked by the target captcha provider.
158+
> Rotate your proxy or try a different provider.
153159
154160
---
155161

156-
## ⚠️ Service Load & Rate Limits
162+
## Service Load & Rate Limits
157163

158164
### `ERROR_TOO_MUCH_REQUESTS`
159165

160-
**Too Many Result Polls**
161-
You polled for the task result too frequently.
162-
Wait at least 2 seconds between requests.
166+
**Too Many Result Polls**
167+
You polled for the task result too frequently.
168+
> Wait at least 2 seconds between requests.
163169
164170
### `ERROR_NO_SLOT_AVAILABLE`
165171

166-
**No Free Servers**
167-
All recognition servers are currently busy.
168-
→ Retry after a short delay.
169-
170-
??? warning
172+
**No Free Servers**
173+
All recognition servers are currently busy.
174+
> Retry after a short delay.
171175
172-
These error codes are related to Capmonster.cloud and not created by us.
176+
!!!warning
177+
These error codes are related to Capmonster.cloud and not created by us.
173178

174-
You can reach the latest version from [here](https://docs.capmonster.cloud/docs/api/api-errors).
179+
You can reach the latest version from [here](https://docs.capmonster.cloud/docs/api/api-errors).
180+
!!!

0 commit comments

Comments
 (0)