Highlights
File API
Encrypted per-user file storage is now available in the client: createFile, getFile, listUserFiles, replaceFileTags, deleteFile, plus bulkListFilesByTag for bulk lookups. Options are passed with the typed FileOptions builder (mimetype, tags, finaltime, slidingtime).
String filedata = Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get("passport.pdf")));
FileOptions fileOptions = FileOptions.builder()
.mimetype("application/pdf")
.tags(Arrays.asList("kyc", "passport"))
.finaltime("365d")
.build();
Map<String, Object> created = api.createFile("email", "user@example.com", "passport.pdf", filedata, fileOptions, null);See the File Storage section of the README for the full lifecycle.
Apache HttpClient 5
The client migrated off end-of-life Apache HttpClient 4.x to HttpClient 5 (org.apache.httpcomponents.client5:httpclient5 5.6.4). If your project pins HttpClient transitively, update that pin.
Breaking changes
Internal DatabunkerPro web portal endpoints were removed from the client — they were never intended for SDK use:
preloginUserloginUsercreateCaptchagetUIConfgetTenantConf
Other changes
- Semgrep SAST workflow, pinned CI action SHAs, and least-privilege workflow tokens
jackson-databind2.13.4 → 2.22.1- Current Maven compiler, source, and javadoc plugins
- Added the static
FileOptions.builder()factory for consistency with the other typed options classes - New
testFileManagementintegration test covering the full file lifecycle
Installation
Maven, via GitHub Packages:
<dependency>
<groupId>org.databunker</groupId>
<artifactId>databunkerpro-java</artifactId>
<version>1.1.0</version>
</dependency>Or via JitPack:
<dependency>
<groupId>com.github.securitybunker</groupId>
<artifactId>databunkerpro-java</artifactId>
<version>v1.1.0</version>
</dependency>Full changelog: v1.0.0...v1.1.0