All notable changes to langchain-urlcheck will be documented in this file.
- Standard
ToolsIntegrationTestsfromlangchain-testsfor full LangChain integration compliance.
- Restructured tests into
tests/unit_tests/andtests/integration_tests/per LangChain conventions. - CI now runs only unit tests explicitly (
tests/unit_tests/).
- Migrated CI/CD to OIDC Trusted Publishers for PyPI publishing.
- Switched workflow to manual dispatch with branch guard on main.
- Fixed mypy strict type errors in client and tool modules.
Initial public release.
SafeUrlScanTool— LangChainBaseToolthat lets agents verify URL safety before navigation, with task-augmented and direct execution modes.create_url_scan_tool()— factory function with common defaults.SafeUrlScanTool.from_server_json()— construct from MCPserver.json.UrlScannerMcpClient— synchronous MCP JSON-RPC client over streamable HTTP.AsyncUrlScannerMcpClient— asynchronous MCP JSON-RPC client over streamable HTTP.get_mcp_server_config()— compatibility helper forlangchain-mcp-adapters.- Typed exception hierarchy:
McpClientError,McpConnectionError,McpAuthenticationError,McpRateLimitError,McpValidationError,McpToolError. - Task wait strategies:
tasks/resultwith automatic fallback totasks/getpolling. - Exponential backoff with jitter for transient failures (connection errors, HTTP 429, JSON-RPC -32029).
- Structured lifecycle events via LangChain callback manager and optional logger.
- Optional best-effort
tasks/cancelon timeout. - Python 3.10–3.13 support.
- CI/CD via GitHub Actions: lint, test (matrix), build, TestPyPI, PyPI, GitHub Release.