Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .fern/metadata.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
{
"cliVersion": "5.89.4",
"cliVersion": "5.143.0",
"generatorName": "fernapi/fern-python-sdk",
"generatorVersion": "5.26.0",
"generatorVersion": "5.34.1",
"generatorConfig": {
"package_name": "newscatcher_catchall",
"client": {
"class_name": "CatchAllApi",
"filename": "client.py"
}
},
"originGitCommit": "3f4bdad0a71333b0f9fb6f42d44d174f2e40167b",
"originGitCommit": "6ef7448ab601e5b372caec45717b0390a4150d2c",
"originGitCommitIsDirty": true,
"invokedBy": "ci",
"requestedVersion": "AUTO",
"ciProvider": "unknown",
"sdkVersion": "0.0.0.dev0"
"sdkVersion": "4.0.0"
}
8 changes: 7 additions & 1 deletion .fern/replay.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,3 +221,4 @@ On the other hand, contributions to the README are always very welcome!




20 changes: 20 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## [4.0.0] - 2026-09-30
### Breaking Changes
- **`MonitorsClient` / `AsyncMonitorsClient`** — renamed to `EventMonitorsClient` / `AsyncEventMonitorsClient`; update all imports and type annotations accordingly.
- **`RawMonitorsClient` / `AsyncRawMonitorsClient`** — renamed to `RawEventMonitorsClient` / `AsyncRawEventMonitorsClient`; update any direct references to these raw client classes.
- **`client.monitors`** — accessor renamed to `client.event_monitors`; replace all `client.monitors.*` call sites with `client.event_monitors.*`.
- **`newscatcher_catchall.monitors` module** — renamed to `newscatcher_catchall.event_monitors`; update all imports from `from newscatcher_catchall.monitors import …` to `from newscatcher_catchall.event_monitors import …`.

### Added
- **`EventMonitorsClient.update_monitor()` `schedule` and `timezone` parameters** — new optional parameters (sync and async) allow replacing an event monitor's schedule and IANA timezone in a single call; omit to leave the current schedule unchanged.
- **`JobsClient.list_source_groups()` / `AsyncJobsClient.list_source_groups()`** — new paginated method returning all `ListSourceGroupsResponseDto` source groups visible to your organization.
- **`JobsClient.submit()` `source_groups` parameter** — new optional `list[str]` parameter (sync and async) that scopes article fetching to up to 20 curated domain allowlists by slug.
- **`EventTags`, `ListSourceGroupsResponseDto`, `SourceGroupRef`** — three new types added to the top-level `newscatcher_catchall` namespace.
- **`project_id` filter parameter** — new optional `project_id: str` added to `EntitiesClient.list_entities()` and `WebhooksClient.list_webhooks()` (sync and async) to scope results to a specific project.

### Changed
- **`UnauthorizedError` (HTTP 401) handling** — all event-monitor, job, entity, project, webhook, dataset, and meta endpoints now raise `UnauthorizedError` on 401 instead of falling through to a generic `ApiError`.
- **`HttpClient` request body handling** — requests with no body fields supplied now omit the body and strip the `Content-Type` header entirely instead of sending an empty JSON object.
- **`pydantic_utilities` alias coercion** — field-alias rewriting is now cached per model class via a `WeakKeyDictionary`, reducing introspection overhead on hot deserialization paths.
- **`BaseHttpResponse.response` property** — exposes the underlying `httpx.Response` object directly from any `HttpResponse` or `AsyncHttpResponse` instance.

## 3.0.0 - 2026-05-27
### Breaking Changes
* **`MonitorsClient.create_monitor()` and `MonitorsClient.update_monitor()`** — the `webhook` parameter (type `WebhookDto`) has been replaced by `webhook_ids` (type `list[str]`); rename the argument and pass a list of webhook ID strings instead of a `WebhookDto` object.
Expand Down
1,128 changes: 602 additions & 526 deletions poetry.lock

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
[project]
name = "newscatcher-catchall-sdk"
dynamic = ["version"]
license = "MIT"
license-files = ["LICENSE"]

[tool.poetry]
name = "newscatcher-catchall-sdk"
version = "3.1.1"
version = "4.0.0"
description = ""
readme = "README.md"
authors = []
Expand All @@ -26,8 +28,7 @@ classifiers = [
"Operating System :: POSIX :: Linux",
"Operating System :: Microsoft :: Windows",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
"License :: OSI Approved :: MIT License"
"Typing :: Typed"
]
packages = [
{ include = "newscatcher_catchall", from = "src"}
Expand Down
Loading
Loading