Skip to content
Closed
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
10 changes: 10 additions & 0 deletions .fern/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"cliVersion": "4.29.0",
"generatorName": "fernapi/fern-java-sdk",
"generatorVersion": "3.44.1",
"generatorConfig": {
"publish-to": "central"
},
"originGitCommit": "ea3775d5199c3ed3efc0866eb726d2ed2141aeba",
"sdkVersion": "2.0.0"
}
1 change: 1 addition & 0 deletions .fernignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
LICENSE
README.md
changelog.md
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ name: ci

on: [push]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false

jobs:
compile:
runs-on: ubuntu-latest
Expand Down
17 changes: 9 additions & 8 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ repositories {
}

dependencies {
api 'com.squareup.okhttp3:okhttp:4.12.0'
api 'com.fasterxml.jackson.core:jackson-databind:2.17.2'
api 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2'
api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2'
api 'com.squareup.okhttp3:okhttp:5.2.1'
api 'com.fasterxml.jackson.core:jackson-databind:2.18.6'
api 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.18.6'
api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.6'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.2'
Expand Down Expand Up @@ -47,7 +47,7 @@ java {

group = 'com.newscatcherapi'

version = '1.2.0'
version = '2.0.0'

jar {
dependsOn(":generatePomFileForMavenPublication")
Expand Down Expand Up @@ -78,7 +78,7 @@ publishing {
maven(MavenPublication) {
groupId = 'com.newscatcherapi'
artifactId = 'newscatcher-sdk'
version = '1.2.0'
version = '2.0.0'
from components.java
pom {
name = 'newscatcher'
Expand Down Expand Up @@ -121,9 +121,10 @@ sonatypeCentralUpload {
}

signing {
def signingKeyId = "$System.env.MAVEN_SIGNATURE_SECRET_KEY"
def signingKeyId = "$System.env.MAVEN_SIGNATURE_KID"
def signingKey = "$System.env.MAVEN_SIGNATURE_SECRET_KEY"
def signingPassword = "$System.env.MAVEN_SIGNATURE_PASSWORD"
useInMemoryPgpKeys(signingKeyId, signingPassword)
useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
sign publishing.publications.maven
}

Expand Down
30 changes: 30 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## 2.0.0 - 2026-03-16
* The `AggregationGetRequest` class has been removed from the aggregation package. If your code references this class directly, you will need to update your implementation to use the new aggregation API structure.
* Several client classes and enum types have been removed from the SDK. The `LatestheadlinesClient` and `SearchLinkClient` classes are no longer available, along with various request parameter enum types like `AggregationGetRequestSortBy`, `SearchGetRequestClusteringVariable`, and others. Applications using these removed classes should migrate to the consolidated client implementations available in other SDK modules.
* The search similar functionality has been completely removed from the Java SDK. The `AsyncSearchsimilarClient` class and all its methods (`get()`, `post()`) are no longer available. Applications using these APIs must remove all references to search similar functionality.
* The search similar functionality has been removed from the SDK. The `SearchsimilarClient` class and its `get()` and `post()` methods are no longer available. Applications using these methods will need to remove those calls or implement alternative search functionality.
* The `SearchSimilarGetRequest` class has been removed from the SDK. Code that previously used this class for similar document searches will need to be updated to use alternative search methods.
* The SearchSimilarPostRequest class has been removed from the SDK. Applications using this class will need to migrate to alternative search methods or update their implementation to use the current API structure.
* The search similar functionality has been removed from the SDK. The `SearchSimilarGetResponse`, `SearchSimilarPostResponse`, `SearchSimilarResponseDto`, `FailedSearchSimilarResponseDto` classes and related types are no longer available. Applications using these types should migrate to alternative search methods provided by the API.
* The `SimilarArticleEntity` class has been removed from the SDK. If your code references this class, you will need to update it to use alternative article entity types or remove the functionality that depends on similar article data.
* The `SimilarDocument` class has been removed. Code using this type will need to be updated to use alternative document representations. The `latestheadlines()` method has been renamed to `latestHeadlines()`, and the separate `searchLink()` and `searchsimilar()` methods have been consolidated into a single `searchByLink()` method.
* The aggregation client methods have been renamed for clarity: `get()` is now `countGet()` and `post()` is now `countPost()`. Update your code to use the new method names. New SSE streaming support added for handling discriminated union types in Server-Sent Events.
* The aggregation methods have been renamed from `get()` and `post()` to `countGet()` and `countPost()` respectively. Additionally, the corresponding request and response classes have been renamed to include "Count" in their names (e.g., `AggregationPostRequest` is now `AggregationCountPostRequest`). Existing code using these methods will need to be updated to use the new method names and class names.
* New optional `allLinksText` parameter added to `AuthorsPostRequest` for enhanced content filtering. The `theme`, `notTheme`, and `publishedDatePrecision` parameters now accept String values for improved flexibility. Additional method overloads available for breaking news operations that accept `RequestOptions`.
* The `robotsCompliant` field has been removed from `BreakingNewsGetRequest` and `BreakingNewsPostRequest`. The `theme` and `notTheme` fields in `BreakingNewsPostRequest` now accept String values instead of enum types. The `sortBy` field in `BreakingNewsGetRequest` now uses the shared `SortBy` type instead of `BreakingNewsGetRequestSortBy`.
* The latest headlines client classes and methods have been renamed for consistency. AsyncRawLatestheadlinesClient is now AsyncRawLatestHeadlinesClient, RawLatestheadlinesClient is now RawLatestHeadlinesClient, and AsyncLatestheadlinesClient is now LatestHeadlinesClient. The get() method has been renamed to latestHeadlinesGet() and the post() method has been renamed to latestHeadlinesPost(). Update your imports and method calls accordingly.
* New optional parameters added to LatestHeadlinesGetRequest: sort_by for result ordering and all_links_text for searching articles by link anchor text content. The clustering_variable parameter now uses a shared ClusteringVariable enum type.
* The theme and not_theme fields in LatestHeadlinesPostRequest have been changed from enum types to string types. Existing code using Theme or NotTheme enum values will need to be updated to use string literals instead. A new all_links_text field is now available for additional link text filtering.
* The SearchGetRequest now accepts more flexible date formats through new From and To union types for the from and to parameters, supporting both date-time strings and plain text expressions. Added a new allLinksText parameter for searching articles by link anchor text content.
* The search_link package has been renamed to search_by_link with updated class names. All method names changed from searchUrl* to searchByLink*. The SearchPostRequest class now accepts string values for theme, notTheme, and publishedDatePrecision fields instead of enum types. A new allLinksText field is available for enhanced link filtering. Existing code using the search_link package or enum types for these fields will need to be updated.
* The searchlink package has been renamed to searchbylink. Classes SearchUrlGetRequest and SearchUrlPostRequest have been renamed to SearchByLinkGetRequest and SearchByLinkPostRequest respectively. Update your import statements from com.newscatcher.api.resources.searchlink to com.newscatcher.api.resources.searchbylink and update any references to the renamed classes.
* The `content` field in `ArticleEntity` is now optional (`Optional<String>` instead of `String`). Existing code that directly accesses `getContent()` will need to handle the Optional wrapper. The class no longer implements `IArticleEntity` interface, so code that depends on this interface will need to be updated.
* The `Theme` and `NotTheme` types have been renamed to `ArticleEntityAuthors` and `ArticleEntityJournalists` respectively. Existing code using these types will need to update import statements and class references to use the new names.
* The `content` field in `BreakingNewsArticleEntity` is now optional and returns `Optional<String>` instead of `String`. Code that previously accessed `.getContent()` directly must now handle the Optional wrapper (e.g., `.getContent().orElse("")`). The `robotsCompliant` field has been removed from the public API. The `authors` and `journalists` fields now use entity-specific types (`BreakingNewsArticleEntityAuthors` and `BreakingNewsArticleEntityJournalists`) instead of the generic `Authors` and `Journalists` types.
* Enhanced enum types (ClusteringVariable, NewsDomainType, SortBy) with visitor pattern support for safer handling of unknown values and future extensibility. Added null safety improvements to builder methods to prevent runtime exceptions when passing null collections or maps.
* The SDK now supports comprehensive logging configuration through the new `LogConfig` interface. Use the `logging()` method on client builders to configure debug output for HTTP requests and responses. RequestOptions now accepts query parameters for all endpoints, and search endpoints support the new `all_links_text` parameter.
* The SDK now includes a comprehensive logging system for monitoring HTTP requests and responses. Configure logging via LogConfig builder with custom log levels, loggers, and silent mode control. The system is silent by default and requires explicit configuration to enable output.
* New `AggregationCountGetRequest` class available for news aggregation with comprehensive filtering options including language preferences, geographic targeting, content classification, sentiment analysis, and entity-based filtering.
* The SDK now supports RequestOptions for customizing request timeouts, retries, and headers on breaking news and sources methods. Two new client modules are available: SearchByLinkClient for finding articles by link or ID, and LatestHeadlinesClient for retrieving the most recent news headlines.
* New builder methods `additionalProperty()` and `additionalProperties()` are now available on SourceInfo, SubscriptionResponseDto, and TimeFrameCount for handling additional API response fields.

Loading
Loading