Skip to content

Commit bf2cfc9

Browse files
Public Release/26.5.6 (#329)
* SK-2849: Add v1.x deprecation warning and EOL notic (#327) * feat(SK-2849): add v1.x deprecation warning and EOL notice - Print WARN-level deprecation message on Skyflow.init() startup - Update pom.xml description with EOL date (2026-10-31) and migration guide link Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * SK-2837: Add V2.1 migration guide and README upgrade banner (#313) * docs: add V2.1 migration guide and README upgrade banner Adds docs/migrate_to_v2.md covering auth options, client init, request/response structure, error format, and camelCase field name changes for V1 → V2 migration. Adds README banner pointing V1 users to the guide and noting EOL on 2026-10-31. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: update migration guide with v2.1 changes Add sections for UpdateRequest skyflowId preference, updateLogLevel and getBYOT deprecations. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add downloadURL→downloadUrl rename to migration guide method renames table Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: update internal release workflow to trigger on v1/release/* branches Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: update internal release trigger to release/v1/* branches Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: add workflow_dispatch and upgrade action versions * [AUTOMATED] Private Release 2.1.0-dev-7a0438b * chore: skip tests in v1 internal release deploy * chore: internal release manual-only trigger for v1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: rename internal release workflow for consistency Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: restore release/v1/* trigger, remove unintentional tag trigger Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: remove manual trigger after merge Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: revert workflow changes to v1 baseline Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Devesh-Skyflow <Devesh-Skyflow@users.noreply.github.com> * [AUTOMATED] Private Release 2.1.0-dev-202e7ca * Devesh/sk 2849 v1 deprication (#328) * feat(SK-2849): add v1.x deprecation warning and EOL notice - Print WARN-level deprecation message on Skyflow.init() startup - Update pom.xml description with EOL date (2026-10-31) and migration guide link Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * SK-2837: Add V2.1 migration guide and README upgrade banner (#313) * docs: add V2.1 migration guide and README upgrade banner Adds docs/migrate_to_v2.md covering auth options, client init, request/response structure, error format, and camelCase field name changes for V1 → V2 migration. Adds README banner pointing V1 users to the guide and noting EOL on 2026-10-31. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: update migration guide with v2.1 changes Add sections for UpdateRequest skyflowId preference, updateLogLevel and getBYOT deprecations. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add downloadURL→downloadUrl rename to migration guide method renames table Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: update internal release workflow to trigger on v1/release/* branches Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: update internal release trigger to release/v1/* branches Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: add workflow_dispatch and upgrade action versions * [AUTOMATED] Private Release 2.1.0-dev-7a0438b * chore: skip tests in v1 internal release deploy * chore: internal release manual-only trigger for v1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: rename internal release workflow for consistency Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: restore release/v1/* trigger, remove unintentional tag trigger Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: remove manual trigger after merge Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: revert workflow changes to v1 baseline Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: fix dead links in README for InsertBulk examples Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: upgrade action versions and skip tests for v1 release Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: fix sample links in README to point to v1 branch Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: fix dead link in migration guide to point to v2 README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: point migration guide link to v1 README vault-apis section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: point migration guide link to main README initialize-the-client section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add breaking changes summary table to migration guide Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Devesh-Skyflow <Devesh-Skyflow@users.noreply.github.com> * [AUTOMATED] Private Release 2.1.0-dev-9ad0ca1 * docs: convert breaking changes table to bullet points in migration guide Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * [AUTOMATED] Private Release 2.1.0-dev-4cf2ab8 * fix: version --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Devesh-Skyflow <Devesh-Skyflow@users.noreply.github.com>
1 parent 4e9e454 commit bf2cfc9

6 files changed

Lines changed: 324 additions & 24 deletions

File tree

.github/workflows/shared-build-and-deploy.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ jobs:
3838
publish:
3939
runs-on: ubuntu-latest
4040
steps:
41-
- uses: actions/checkout@v2
41+
- uses: actions/checkout@v4
4242
with:
4343
ref: ${{ inputs.ref }}
4444
fetch-depth: 0
4545

4646
- name: Set up maven or jfrog repository
47-
uses: actions/setup-java@v1
47+
uses: actions/setup-java@v4
4848
with:
49-
java-version: '1.8'
49+
java-version: '8'
5050
distribution: 'adopt'
5151
server-id: ${{ inputs.server-id }}
5252
server-username: SERVER_USERNAME
@@ -98,7 +98,7 @@ jobs:
9898
json: ${{ secrets.TEST_CREDENTIALS_FILE_STRING }}
9999

100100
- name: Publish package
101-
run: mvn clean deploy -P ${{ inputs.profile }}
101+
run: mvn clean deploy -P ${{ inputs.profile }} -DskipTests
102102
env:
103103
SERVER_USERNAME: ${{ secrets.server-username }}
104104
SERVER_PASSWORD: ${{ secrets.server-password }}

README.md

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
# Skyflow Java
2+
3+
> **Java V2.1.0 IS NOW AVAILABLE:** A new, improved version of the Skyflow SDK is ready with flexible authentication, multi-vault support, builder patterns, and richer error diagnostics. V1 is in maintenance mode (security patches only) and will reach End of Life on October 31, 2026. We recommend upgrading to v2.1.0 — see the **[Migration Guide](docs/migrate_to_v2.md)** for step-by-step instructions.
4+
25
The Skyflow Java SDK is designed to help with integrating Skyflow into a Java backend.
36

47
[![CI](https://img.shields.io/static/v1?label=CI&message=passing&color=green?style=plastic&logo=github)](https://github.com/skyflowapi/skyflow-java/actions)
@@ -73,7 +76,7 @@ The [Service Account](https://github.com/skyflowapi/skyflow-java/tree/main/src/m
7376

7477
The `generateBearerToken(filepath)` function takes the credentials file path for token generation, alternatively, you can also send the entire credentials as string, by using `generateBearerTokenFromCreds(credentials)`
7578

76-
[Example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/TokenGenerationExample.java
79+
[Example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/TokenGenerationExample.java
7780
):
7881

7982
```java
@@ -109,7 +112,7 @@ Context-Aware Authorization enables you to embed context values into a Bearer to
109112

110113
The service account generated with `context_id` identifier enabled can be used to generate bearer tokens with `context`, which is a `jwt` claim for a skyflow generated bearer token. The token generated from this service account will have a `context_identifier` claim and is valid for 60 minutes and can be used to make API calls to vault services as well as management API(s) based on the permissions of the service account.
111114

112-
[Example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/BearerTokenWithContextGenerationExample.java):
115+
[Example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/BearerTokenWithContextGenerationExample.java):
113116

114117
``` java
115118
import com.skyflow.entities.ResponseToken;
@@ -154,13 +157,13 @@ public class BearerTokenWithContextGeneration {
154157
Note:
155158
- You can pass either a service account key credentials file path or a service account key credentials as string to the `setCredentials` method of the BearerTokenBuilder class.
156159
- If you pass both a file path and string to the `setCredentials` method, the last method used takes precedence.
157-
- To generate multiple bearer tokens using a thread, see this [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/BearerTokenGenerationUsingThreadsExample.java)
160+
- To generate multiple bearer tokens using a thread, see this [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/BearerTokenGenerationUsingThreadsExample.java)
158161

159162
## Service Account Scoped Bearer Token Generation
160163

161164
A service account that has multiple roles can generate bearer tokens with access restricted to a specific role by providing the appropriate `roleID`. Generated bearer tokens are valid for 60 minutes and can only perform operations with the permissions associated with the specified role.
162165

163-
[Example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/ScopedTokenGenerationExample.java):
166+
[Example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/ScopedTokenGenerationExample.java):
164167

165168
```java
166169
import java.io.File;
@@ -194,7 +197,7 @@ Note:
194197
Skyflow generates data tokens when sensitive data is inserted into the vault. These data tokens can be digitally signed with the private key of the service account credentials, which adds an additional layer of protection. Signed tokens can be detokenized by passing the signed data token and a bearer token generated from service account credentials. The service account must have appropriate permissions and context to detokenize the signed data tokens.
195198

196199

197-
[Example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/SignedTokenGenerationExample.java):
200+
[Example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/SignedTokenGenerationExample.java):
198201

199202
``` java
200203
import com.skyflow.errors.SkyflowException;
@@ -349,7 +352,7 @@ InsertOptions insertOptions = new InsertOptions(
349352
);
350353

351354
```
352-
An [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/InsertWithUpsertExample.java) of insert call with upsert support
355+
An [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/InsertWithUpsertExample.java) of insert call with upsert support
353356
```java
354357
JSONObject recordsJson = new JSONObject();
355358
JSONArray recordsArrayJson = new JSONArray();
@@ -395,7 +398,7 @@ Sample insert Response
395398
}
396399
```
397400

398-
An [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/InsertWithContinueOnErrorExample.java) of Insert call with `continueOnError` support:
401+
An [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/InsertWithContinueOnErrorExample.java) of Insert call with `continueOnError` support:
399402
```java
400403
JSONObject records = new JSONObject();
401404
JSONArray recordsArray = new JSONArray();
@@ -491,7 +494,7 @@ InsertBulkOptions insertOptions = new InsertBulkOptions(
491494
upsertOptions
492495
);
493496
```
494-
An [example]() of insert call with upsert support:
497+
An [example](samples/src/main/java/com/example/InsertBulkWithUpsertExample.java) of insert call with upsert support:
495498

496499
```java
497500
JSONObject recordsJson = new JSONObject();
@@ -538,7 +541,7 @@ Sample insert Response
538541
}
539542
```
540543

541-
An [example]() of Insert using bulk call:
544+
An [example](samples/src/main/java/com/example/InsertBulkExample.java) of Insert using bulk call:
542545
```java
543546
JSONObject records = new JSONObject();
544547
JSONArray recordsArray = new JSONArray();
@@ -619,7 +622,7 @@ recordsJson.put("records", recordsArrayJson);
619622

620623
Note: `redaction` defaults to [`RedactionType.PLAIN_TEXT`](#redaction-types).
621624

622-
The following [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/DetokenizeExample.java) code makes a detokenize call to reveal the masked value of a token:
625+
The following [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/DetokenizeExample.java) code makes a detokenize call to reveal the masked value of a token:
623626

624627
```java
625628
JSONObject recordsJson = new JSONObject();
@@ -768,7 +771,7 @@ There are four accepted values for RedactionType:
768771
* `DEFAULT`
769772

770773
### Examples
771-
An [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/GetExample.java) call using Skyflow IDs with RedactionType.
774+
An [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/GetExample.java) call using Skyflow IDs with RedactionType.
772775

773776
```java
774777
import com.skyflow.entities.RedactionType;
@@ -915,7 +918,7 @@ Sample response:
915918
]
916919
}
917920
```
918-
An [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/GetExample.java) call using column names and values.
921+
An [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/GetExample.java) call using column names and values.
919922

920923
```java
921924
import com.skyflow.entities.RedactionType;
@@ -1022,7 +1025,7 @@ There are 4 accepted values in RedactionType:
10221025
- `REDACTED`
10231026
- `DEFAULT`
10241027

1025-
An [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/GetByIdExample.java) getById call
1028+
An [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/GetByIdExample.java) getById call
10261029
```java
10271030
import com.skyflow.entities.RedactionType;
10281031

@@ -1115,7 +1118,7 @@ records.put("records", recordsArray);
11151118
UpdateOptions updateOptions = new UpdateOptions(true);
11161119
```
11171120

1118-
An [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/UpdateExample.java) of update call:
1121+
An [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/UpdateExample.java) of update call:
11191122
```java
11201123
JSONObject records = new JSONObject();
11211124
JSONArray recordsArray = new JSONArray();
@@ -1252,7 +1255,7 @@ invokeConfig.put("requestBody", requestBodyJson);
12521255

12531256
**pathParams, queryParams, requestHeader, requestBody** are the JSON objects that will be sent through the connection integration url.
12541257

1255-
An [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/InvokeConnectionExample.java) of invokeConnection:
1258+
An [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/InvokeConnectionExample.java) of invokeConnection:
12561259
```java
12571260
JSONObject invokeConfig = new JSONObject();
12581261
invokeConfig.put("connectionURL", "<your_connection_url>");
@@ -1302,7 +1305,7 @@ skyflowClient.query(queryInput);
13021305
```
13031306
See [Query your data](https://docs.skyflow.com/query-data/) and [Execute Query](https://docs.skyflow.com/record/#QueryService_ExecuteQuery) for guidelines and restrictions on supported SQL statements, operators, and keywords.
13041307

1305-
An [example](https://github.com/skyflowapi/skyflow-java/blob/main/samples/src/main/java/com/example/QueryExample.java) of query call:
1308+
An [example](https://github.com/skyflowapi/skyflow-java/blob/v1/samples/src/main/java/com/example/QueryExample.java) of query call:
13061309
```java
13071310
JSONObject queryInput = new JSONObject();
13081311
queryInput.put("query", "SELECT * FROM cards WHERE skyflow_id='3ea3861-x107-40w8-la98-106sp08ea83f'");

0 commit comments

Comments
 (0)