Merge v0.14.8: Structured error categorization for all 19 reputation services - #44
Merged
Conversation
BACKEND CHANGES (connectors.py): - Add error_type field to ReputationResult dataclass for structured error categorization - Create _categorize_error() helper to map HTTP codes and exceptions to error types: * timeout, rate_limit_exceeded, invalid_api_key, malformed_response * service_unavailable, connection_error, unknown_error, not_configured - Update ALL 25 check functions to use categorized error handling with service-specific messages: * AbuseIPDB, VirusTotal (3 functions), OpenPhish, PhishTank, MalwareBazaar * Spamhaus DROP, ASN Lookup, crt.sh, CIRCL Passive DNS (2), GreyNoise * URLScan.io, Pulsedive (2), CriminalIP, SecurityTrails, Hybrid Analysis * Redirect Chain, Shodan InternetDB, URLhaus, ThreatFox (3) - Each service now provides helpful error messages (e.g., "URLScan.io rate limit exceeded (1000/day)") - Analyst can programmatically identify error types for proper frontend handling FRONTEND CHANGES (TabReputation.jsx): - Display error_type category along with error message in results - Format: "⚠ [error_type] error_message" for better analyst understanding - Example: "⚠ [rate_limit_exceeded] URLScan.io quota exceeded (1000/day)" VERIFICATION: - All 119 tests still passing - No breaking changes to API responses (error_type defaults to empty string) - Service-specific error messages improve analyst diagnosis of issues Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- URLScan.io now properly categorizes timeout and HTTP errors with error_type - Changes from skipped=True to error= format for better clarity - Timeout errors now show '[timeout]' instead of generic 'Errore: Timeout' - HTTP 403 errors show specific service messages with action items - All 119 tests passing Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
overwrite00
added a commit
that referenced
this pull request
Jun 22, 2026
Resolve 2 Dependabot security alerts by enforcing secure versions via npm overrides: - Alert #44: @babel/core 7.29.0 → 7.29.6 (fixes sourceMappingURL arbitrary read) - Alert #45: js-yaml 4.1.1 → 4.2.0 (fixes quadratic DoS in merge key handling) Also upgraded form-data from 4.0.5 → 4.0.6 to fix CRLF injection vulnerability. All 119 backend tests passing, frontend build successful, ESLint checks passed.
overwrite00
added a commit
that referenced
this pull request
Jun 22, 2026
) * chore(deps-frontend): bump axios from 1.17.0 to 1.18.0 Bumps the minor-and-patch group in /frontend with 1 update: [axios](https://github.com/axios/axios). Updates `axios` from 1.17.0 to 1.18.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.17.0...v1.18.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-frontend): bump eslint-plugin-react-refresh from 0.5.2 to 0.5.3 Bumps the development-updates group in /frontend with 1 update: [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh). Updates `eslint-plugin-react-refresh` from 0.5.2 to 0.5.3 - [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases) - [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md) - [Commits](ArnaudBarre/eslint-plugin-react-refresh@v0.5.2...v0.5.3) --- updated-dependencies: - dependency-name: eslint-plugin-react-refresh dependency-version: 0.5.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-backend): update dependencies and fix pydantic-core conflict Updates: - fastapi 0.136.3 → 0.137.0 - pydantic 2.13.4 → 2.14.3 (compatible with pydantic-core 2.47.x) - pydantic-settings 2.13.1 → 2.14.1 - uvicorn 0.42.0 → 0.49.0 - mail-parser 4.1.4 → 4.4.0 - beautifulsoup4 4.13.5 → 4.15.0 - sqlalchemy 2.0.48 → 2.0.50 - pytest 9.0.3 → 9.1.0 - pytest-asyncio 1.3.0 → 1.4.0 Removed explicit pydantic-core pinning (transitive dependency, resolved by pip). All 119 tests passing. * chore(deps-backend): update dependencies with verified compatibility Updates (all tested and verified): - fastapi: 0.137.0 → 0.138.0 - pydantic-settings: 2.14.1 → 2.14.2 (SECURITY PATCH) - sqlalchemy: 2.0.50 → 2.0.51 - pytest: 9.1.0 → 9.1.1 Maintained: - beautifulsoup4: 4.13.5 (for extract-msg 0.55.0 compatibility) All 119 tests passing. Zero regressions detected. * chore(deps-frontend)(deps): bump the minor-and-patch group (#110) Bumps the minor-and-patch group in /frontend with 2 updates: [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) and [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom). Updates `lucide-react` from 1.18.0 to 1.21.0 - [Release notes](https://github.com/lucide-icons/lucide/releases) - [Commits](https://github.com/lucide-icons/lucide/commits/1.21.0/packages/lucide-react) Updates `react-router-dom` from 7.17.0 to 7.18.0 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@7.18.0/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.18.0/packages/react-router-dom) --- updated-dependencies: - dependency-name: lucide-react dependency-version: 1.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: react-router-dom dependency-version: 7.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(ci)(deps): bump actions/checkout from 6 to 7 (#109) Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(deps-frontend): resolve Dependabot security alerts via npm overrides Resolve 2 Dependabot security alerts by enforcing secure versions via npm overrides: - Alert #44: @babel/core 7.29.0 → 7.29.6 (fixes sourceMappingURL arbitrary read) - Alert #45: js-yaml 4.1.1 → 4.2.0 (fixes quadratic DoS in merge key handling) Also upgraded form-data from 4.0.5 → 4.0.6 to fix CRLF injection vulnerability. All 119 backend tests passing, frontend build successful, ESLint checks passed. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
overwrite00
added a commit
that referenced
this pull request
Jun 22, 2026
* chore(deps-frontend): bump axios from 1.17.0 to 1.18.0 Bumps the minor-and-patch group in /frontend with 1 update: [axios](https://github.com/axios/axios). Updates `axios` from 1.17.0 to 1.18.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.17.0...v1.18.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-frontend): bump eslint-plugin-react-refresh from 0.5.2 to 0.5.3 Bumps the development-updates group in /frontend with 1 update: [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh). Updates `eslint-plugin-react-refresh` from 0.5.2 to 0.5.3 - [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases) - [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md) - [Commits](ArnaudBarre/eslint-plugin-react-refresh@v0.5.2...v0.5.3) --- updated-dependencies: - dependency-name: eslint-plugin-react-refresh dependency-version: 0.5.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-backend): update dependencies and fix pydantic-core conflict Updates: - fastapi 0.136.3 → 0.137.0 - pydantic 2.13.4 → 2.14.3 (compatible with pydantic-core 2.47.x) - pydantic-settings 2.13.1 → 2.14.1 - uvicorn 0.42.0 → 0.49.0 - mail-parser 4.1.4 → 4.4.0 - beautifulsoup4 4.13.5 → 4.15.0 - sqlalchemy 2.0.48 → 2.0.50 - pytest 9.0.3 → 9.1.0 - pytest-asyncio 1.3.0 → 1.4.0 Removed explicit pydantic-core pinning (transitive dependency, resolved by pip). All 119 tests passing. * chore(deps-backend): update dependencies with verified compatibility Updates (all tested and verified): - fastapi: 0.137.0 → 0.138.0 - pydantic-settings: 2.14.1 → 2.14.2 (SECURITY PATCH) - sqlalchemy: 2.0.50 → 2.0.51 - pytest: 9.1.0 → 9.1.1 Maintained: - beautifulsoup4: 4.13.5 (for extract-msg 0.55.0 compatibility) All 119 tests passing. Zero regressions detected. * chore(deps-frontend)(deps): bump the minor-and-patch group (#110) Bumps the minor-and-patch group in /frontend with 2 updates: [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) and [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom). Updates `lucide-react` from 1.18.0 to 1.21.0 - [Release notes](https://github.com/lucide-icons/lucide/releases) - [Commits](https://github.com/lucide-icons/lucide/commits/1.21.0/packages/lucide-react) Updates `react-router-dom` from 7.17.0 to 7.18.0 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@7.18.0/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.18.0/packages/react-router-dom) --- updated-dependencies: - dependency-name: lucide-react dependency-version: 1.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: react-router-dom dependency-version: 7.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(ci)(deps): bump actions/checkout from 6 to 7 (#109) Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(deps-frontend): resolve Dependabot security alerts via npm overrides Resolve 2 Dependabot security alerts by enforcing secure versions via npm overrides: - Alert #44: @babel/core 7.29.0 → 7.29.6 (fixes sourceMappingURL arbitrary read) - Alert #45: js-yaml 4.1.1 → 4.2.0 (fixes quadratic DoS in merge key handling) Also upgraded form-data from 4.0.5 → 4.0.6 to fix CRLF injection vulnerability. All 119 backend tests passing, frontend build successful, ESLint checks passed. * chore(ci): optimize GitHub Actions workflows Removed and optimized workflows: - Remove claude.yml: Not necessary for automated CI/CD, causes log noise - Optimize codeql.yml: * Remove weekly schedule (redundant with PR/push analysis) * Set fail-fast: true (stop early on errors) - Optimize tests.yml: * Add node_modules caching for faster frontend test runs * Cache key based on package-lock.json hash Impact: - Reduced unnecessary workflow runs - Improved test execution time - Cleaner log history * chore(ci): add test coverage reporting Added coverage tracking and reporting: - Add coverage.py (7.6.1) to dev dependencies - Track code coverage during pytest runs - Generate coverage.xml report (standard format) - Display coverage summary in build logs - Upload coverage artifact for download (30 day retention) Coverage reports: - Uploaded to: Artifacts → coverage-report → coverage.xml - Shows which code lines are/aren't tested - Helps identify untested code paths - Baseline: monitor coverage trends over time Note: Coverage tracking runs on all Python versions, but artifact upload only happens on Python 3.13 (once per run) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
overwrite00
added a commit
that referenced
this pull request
Jun 29, 2026
* chore(deps-frontend): bump axios from 1.17.0 to 1.18.0 Bumps the minor-and-patch group in /frontend with 1 update: [axios](https://github.com/axios/axios). Updates `axios` from 1.17.0 to 1.18.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.17.0...v1.18.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-frontend): bump eslint-plugin-react-refresh from 0.5.2 to 0.5.3 Bumps the development-updates group in /frontend with 1 update: [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh). Updates `eslint-plugin-react-refresh` from 0.5.2 to 0.5.3 - [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases) - [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md) - [Commits](ArnaudBarre/eslint-plugin-react-refresh@v0.5.2...v0.5.3) --- updated-dependencies: - dependency-name: eslint-plugin-react-refresh dependency-version: 0.5.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-backend): update dependencies and fix pydantic-core conflict Updates: - fastapi 0.136.3 → 0.137.0 - pydantic 2.13.4 → 2.14.3 (compatible with pydantic-core 2.47.x) - pydantic-settings 2.13.1 → 2.14.1 - uvicorn 0.42.0 → 0.49.0 - mail-parser 4.1.4 → 4.4.0 - beautifulsoup4 4.13.5 → 4.15.0 - sqlalchemy 2.0.48 → 2.0.50 - pytest 9.0.3 → 9.1.0 - pytest-asyncio 1.3.0 → 1.4.0 Removed explicit pydantic-core pinning (transitive dependency, resolved by pip). All 119 tests passing. * chore(deps-backend): update dependencies with verified compatibility Updates (all tested and verified): - fastapi: 0.137.0 → 0.138.0 - pydantic-settings: 2.14.1 → 2.14.2 (SECURITY PATCH) - sqlalchemy: 2.0.50 → 2.0.51 - pytest: 9.1.0 → 9.1.1 Maintained: - beautifulsoup4: 4.13.5 (for extract-msg 0.55.0 compatibility) All 119 tests passing. Zero regressions detected. * chore(deps-frontend)(deps): bump the minor-and-patch group (#110) Bumps the minor-and-patch group in /frontend with 2 updates: [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) and [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom). Updates `lucide-react` from 1.18.0 to 1.21.0 - [Release notes](https://github.com/lucide-icons/lucide/releases) - [Commits](https://github.com/lucide-icons/lucide/commits/1.21.0/packages/lucide-react) Updates `react-router-dom` from 7.17.0 to 7.18.0 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@7.18.0/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.18.0/packages/react-router-dom) --- updated-dependencies: - dependency-name: lucide-react dependency-version: 1.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: react-router-dom dependency-version: 7.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(ci)(deps): bump actions/checkout from 6 to 7 (#109) Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(deps-frontend): resolve Dependabot security alerts via npm overrides Resolve 2 Dependabot security alerts by enforcing secure versions via npm overrides: - Alert #44: @babel/core 7.29.0 → 7.29.6 (fixes sourceMappingURL arbitrary read) - Alert #45: js-yaml 4.1.1 → 4.2.0 (fixes quadratic DoS in merge key handling) Also upgraded form-data from 4.0.5 → 4.0.6 to fix CRLF injection vulnerability. All 119 backend tests passing, frontend build successful, ESLint checks passed. * chore(ci): optimize GitHub Actions workflows Removed and optimized workflows: - Remove claude.yml: Not necessary for automated CI/CD, causes log noise - Optimize codeql.yml: * Remove weekly schedule (redundant with PR/push analysis) * Set fail-fast: true (stop early on errors) - Optimize tests.yml: * Add node_modules caching for faster frontend test runs * Cache key based on package-lock.json hash Impact: - Reduced unnecessary workflow runs - Improved test execution time - Cleaner log history * chore(ci): add test coverage reporting Added coverage tracking and reporting: - Add coverage.py (7.6.1) to dev dependencies - Track code coverage during pytest runs - Generate coverage.xml report (standard format) - Display coverage summary in build logs - Upload coverage artifact for download (30 day retention) Coverage reports: - Uploaded to: Artifacts → coverage-report → coverage.xml - Shows which code lines are/aren't tested - Helps identify untested code paths - Baseline: monitor coverage trends over time Note: Coverage tracking runs on all Python versions, but artifact upload only happens on Python 3.13 (once per run) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
overwrite00
added a commit
that referenced
this pull request
Jun 29, 2026
* chore(deps-frontend): bump axios from 1.17.0 to 1.18.0 Bumps the minor-and-patch group in /frontend with 1 update: [axios](https://github.com/axios/axios). Updates `axios` from 1.17.0 to 1.18.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.17.0...v1.18.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-frontend): bump eslint-plugin-react-refresh from 0.5.2 to 0.5.3 Bumps the development-updates group in /frontend with 1 update: [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh). Updates `eslint-plugin-react-refresh` from 0.5.2 to 0.5.3 - [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases) - [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md) - [Commits](ArnaudBarre/eslint-plugin-react-refresh@v0.5.2...v0.5.3) --- updated-dependencies: - dependency-name: eslint-plugin-react-refresh dependency-version: 0.5.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-backend): update dependencies and fix pydantic-core conflict Updates: - fastapi 0.136.3 → 0.137.0 - pydantic 2.13.4 → 2.14.3 (compatible with pydantic-core 2.47.x) - pydantic-settings 2.13.1 → 2.14.1 - uvicorn 0.42.0 → 0.49.0 - mail-parser 4.1.4 → 4.4.0 - beautifulsoup4 4.13.5 → 4.15.0 - sqlalchemy 2.0.48 → 2.0.50 - pytest 9.0.3 → 9.1.0 - pytest-asyncio 1.3.0 → 1.4.0 Removed explicit pydantic-core pinning (transitive dependency, resolved by pip). All 119 tests passing. * chore(deps-backend): update dependencies with verified compatibility Updates (all tested and verified): - fastapi: 0.137.0 → 0.138.0 - pydantic-settings: 2.14.1 → 2.14.2 (SECURITY PATCH) - sqlalchemy: 2.0.50 → 2.0.51 - pytest: 9.1.0 → 9.1.1 Maintained: - beautifulsoup4: 4.13.5 (for extract-msg 0.55.0 compatibility) All 119 tests passing. Zero regressions detected. * chore(deps-frontend)(deps): bump the minor-and-patch group (#110) Bumps the minor-and-patch group in /frontend with 2 updates: [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) and [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom). Updates `lucide-react` from 1.18.0 to 1.21.0 - [Release notes](https://github.com/lucide-icons/lucide/releases) - [Commits](https://github.com/lucide-icons/lucide/commits/1.21.0/packages/lucide-react) Updates `react-router-dom` from 7.17.0 to 7.18.0 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@7.18.0/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.18.0/packages/react-router-dom) --- updated-dependencies: - dependency-name: lucide-react dependency-version: 1.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: react-router-dom dependency-version: 7.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(ci)(deps): bump actions/checkout from 6 to 7 (#109) Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(deps-frontend): resolve Dependabot security alerts via npm overrides Resolve 2 Dependabot security alerts by enforcing secure versions via npm overrides: - Alert #44: @babel/core 7.29.0 → 7.29.6 (fixes sourceMappingURL arbitrary read) - Alert #45: js-yaml 4.1.1 → 4.2.0 (fixes quadratic DoS in merge key handling) Also upgraded form-data from 4.0.5 → 4.0.6 to fix CRLF injection vulnerability. All 119 backend tests passing, frontend build successful, ESLint checks passed. * chore(ci): optimize GitHub Actions workflows Removed and optimized workflows: - Remove claude.yml: Not necessary for automated CI/CD, causes log noise - Optimize codeql.yml: * Remove weekly schedule (redundant with PR/push analysis) * Set fail-fast: true (stop early on errors) - Optimize tests.yml: * Add node_modules caching for faster frontend test runs * Cache key based on package-lock.json hash Impact: - Reduced unnecessary workflow runs - Improved test execution time - Cleaner log history * chore(ci): add test coverage reporting Added coverage tracking and reporting: - Add coverage.py (7.6.1) to dev dependencies - Track code coverage during pytest runs - Generate coverage.xml report (standard format) - Display coverage summary in build logs - Upload coverage artifact for download (30 day retention) Coverage reports: - Uploaded to: Artifacts → coverage-report → coverage.xml - Shows which code lines are/aren't tested - Helps identify untested code paths - Baseline: monitor coverage trends over time Note: Coverage tracking runs on all Python versions, but artifact upload only happens on Python 3.13 (once per run) * chore(ci)(deps): bump actions/cache from 4 to 6 (#116) Bumps [actions/cache](https://github.com/actions/cache) from 4 to 6. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v4...v6) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-frontend)(deps): bump the minor-and-patch group (#117) Bumps the minor-and-patch group in /frontend with 2 updates: [axios](https://github.com/axios/axios) and [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react). Updates `axios` from 1.18.0 to 1.18.1 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.18.0...v1.18.1) Updates `lucide-react` from 1.21.0 to 1.22.0 - [Release notes](https://github.com/lucide-icons/lucide/releases) - [Commits](https://github.com/lucide-icons/lucide/commits/1.22.0/packages/lucide-react) --- updated-dependencies: - dependency-name: axios dependency-version: 1.18.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: lucide-react dependency-version: 1.22.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-frontend)(deps-dev): bump the development-updates group (#118) Bumps the development-updates group in /frontend with 3 updates: [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react), [globals](https://github.com/sindresorhus/globals) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `@vitejs/plugin-react` from 6.0.2 to 6.0.3 - [Release notes](https://github.com/vitejs/vite-plugin-react/releases) - [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.3/packages/plugin-react) Updates `globals` from 17.6.0 to 17.7.0 - [Release notes](https://github.com/sindresorhus/globals/releases) - [Commits](sindresorhus/globals@v17.6.0...v17.7.0) Updates `vite` from 8.0.16 to 8.1.0 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/create-vite@8.1.0/packages/vite) --- updated-dependencies: - dependency-name: "@vitejs/plugin-react" dependency-version: 6.0.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-updates - dependency-name: globals dependency-version: 17.7.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-updates - dependency-name: vite dependency-version: 8.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: remove duplicate .env.example from root Keep only backend/.env.example as the primary template (documented in CONFIGURATION.md). The root .env.example was redundant and created confusion. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Complete implementation of structured error categorization for all 19 reputation services.
error_typefield to ReputationResult for categorized error handling_categorize_error()helper mapping HTTP codes to error typesChanges
Testing
✅ All 119 tests passing
✅ No breaking changes
v0.14.8 complete and ready for release.