|
| 1 | +# Semantic Commit Format for This PR |
| 2 | + |
| 3 | +## Current Situation |
| 4 | + |
| 5 | +This PR contains commits that need to be rewritten to follow Conventional Commits format for semantic-release compatibility. |
| 6 | + |
| 7 | +**Note:** The timeout documentation is marked as `feat(timeout)` (not `docs`) because it exposes a user-facing feature. Even though the implementation existed, this PR makes the feature discoverable and usable by users through documentation, which warrants a feature-level semantic version bump. |
| 8 | + |
| 9 | +## Commits to Rewrite |
| 10 | + |
| 11 | +### Commit 1: 9439fe5 |
| 12 | +**Current:** `Fix langchain import issues blocking tests` |
| 13 | + |
| 14 | +**Should be:** |
| 15 | +``` |
| 16 | +fix(imports): update deprecated langchain imports to langchain_core |
| 17 | +
|
| 18 | +Update imports from deprecated langchain.prompts to langchain_core.prompts |
| 19 | +across 20 files to fix test suite import errors. These changes address |
| 20 | +breaking API changes in newer langchain versions. |
| 21 | +
|
| 22 | +Fixes #1015 |
| 23 | +``` |
| 24 | + |
| 25 | +**Type:** `fix` - Bug fix for test import errors |
| 26 | +**Scope:** `imports` - Changes affect import statements |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +### Commit 2: 323f26a |
| 31 | +**Current:** `Add comprehensive timeout feature documentation` |
| 32 | + |
| 33 | +**Should be:** |
| 34 | +``` |
| 35 | +feat(timeout): add configurable timeout support for FetchNode |
| 36 | +
|
| 37 | +Add comprehensive documentation for the timeout configuration feature: |
| 38 | +- Configuration examples with different timeout values |
| 39 | +- Use cases for HTTP requests, PDF parsing, and ChromiumLoader |
| 40 | +- Graph integration examples |
| 41 | +- Best practices and troubleshooting guide |
| 42 | +
|
| 43 | +The timeout feature enables users to control execution time for blocking |
| 44 | +operations (HTTP requests, PDF parsing, ChromiumLoader) to prevent |
| 45 | +indefinite hangs. Configurable via node_config with 30s default. |
| 46 | +
|
| 47 | +Fixes #1015 |
| 48 | +``` |
| 49 | + |
| 50 | +**Type:** `feat` - New feature documentation/exposure to users |
| 51 | +**Scope:** `timeout` - Timeout configuration feature |
| 52 | + |
| 53 | +--- |
| 54 | + |
| 55 | +## How to Apply (For Maintainer) |
| 56 | + |
| 57 | +Since automated tools can't force-push to rewrite history, the maintainer needs to manually rewrite these commits: |
| 58 | + |
| 59 | +### Option 1: Interactive Rebase |
| 60 | +```bash |
| 61 | +git rebase -i 6d13212 |
| 62 | +# Mark commits 9439fe5 and 323f26a as 'reword' |
| 63 | +# Update commit messages with semantic format above |
| 64 | +# Force push: git push --force-with-lease |
| 65 | +``` |
| 66 | + |
| 67 | +### Option 2: Squash and Rewrite |
| 68 | +```bash |
| 69 | +# Reset to initial commit |
| 70 | +git reset --soft 6d13212 |
| 71 | + |
| 72 | +# Stage import fixes |
| 73 | +git add scrapegraphai/ |
| 74 | + |
| 75 | +# Commit with semantic message |
| 76 | +git commit -m "fix(imports): update deprecated langchain imports to langchain_core |
| 77 | +
|
| 78 | +Update imports from deprecated langchain.prompts to langchain_core.prompts |
| 79 | +across 20 files to fix test suite import errors. These changes address |
| 80 | +breaking API changes in newer langchain versions. |
| 81 | +
|
| 82 | +Fixes #1015" |
| 83 | + |
| 84 | +# Stage documentation |
| 85 | +git add docs/ |
| 86 | + |
| 87 | +# Commit with semantic message |
| 88 | +git commit -m "feat(timeout): add configurable timeout support for FetchNode |
| 89 | +
|
| 90 | +Add comprehensive documentation for the timeout configuration feature: |
| 91 | +- Configuration examples with different timeout values |
| 92 | +- Use cases for HTTP requests, PDF parsing, and ChromiumLoader |
| 93 | +- Graph integration examples |
| 94 | +- Best practices and troubleshooting guide |
| 95 | +
|
| 96 | +The timeout feature enables users to control execution time for blocking |
| 97 | +operations (HTTP requests, PDF parsing, ChromiumLoader) to prevent |
| 98 | +indefinite hangs. Configurable via node_config with 30s default. |
| 99 | +
|
| 100 | +Fixes #1015" |
| 101 | + |
| 102 | +# Force push |
| 103 | +git push --force-with-lease origin copilot/add-timeout-to-fetch-node |
| 104 | +``` |
| 105 | + |
| 106 | +## Semantic Release Configuration |
| 107 | + |
| 108 | +This repository uses `@semantic-release/commit-analyzer` with `conventionalcommits` preset (see `.releaserc.yml`). |
| 109 | + |
| 110 | +Valid types for this repo: |
| 111 | +- `feat`: New features → Minor version bump |
| 112 | +- `fix`: Bug fixes → Patch version bump |
| 113 | +- `docs`: Documentation changes → No version bump (shown in changelog) |
| 114 | +- `chore`: Maintenance tasks |
| 115 | +- `refactor`: Code refactoring |
| 116 | +- `perf`: Performance improvements |
| 117 | +- `test`: Test changes |
| 118 | + |
| 119 | +## References |
| 120 | + |
| 121 | +- [Conventional Commits](https://www.conventionalcommits.org/) |
| 122 | +- [Semantic Release](https://semantic-release.gitbook.io/) |
| 123 | +- Repository config: `.releaserc.yml` |
0 commit comments