Skip to content

Commit 25b597f

Browse files
committed
release 3.0.6
1 parent 7108944 commit 25b597f

79 files changed

Lines changed: 2651 additions & 208 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

RELEASE_NOTES.md

Lines changed: 92 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1282,4 +1282,95 @@
12821282
| ➕ dodane | 15 |
12831283
| 🔧 zmienione | 22 |
12841284
| ➖ usunięte | 0 |
1285-
---
1285+
---
1286+
# Changelog zmian - `## 3.0.6 (2025-12-04)` - `API: 2.0.0 RC6.0`
1287+
1288+
## 1. ksef-client
1289+
1290+
### 1.1 api.builders
1291+
- Dodano właściwość subjectDetails - "Dane podmiotu, któremu nadawane są uprawnienia" do wszystkich endpointów nadających uprawnienia **/permissions/.../grants. W RC6.0 pole jest opcjonalne; od 2025-12-19 będzie wymagane.)
1292+
- **GrantEntityPermissionsRequestBuilder.java**: 🔧 dodanie pola `subjectDetails`
1293+
- **GrantEUEntityPermissionsRequestBuilder.java**: 🔧 dodanie pól `subjectDetails` i `euEntityDetails`
1294+
- **GrantEUEntityRepresentativePermissionsRequestBuilder.java**: 🔧 dodanie pola `subjectDetails`
1295+
- **GrantIndirectEntityPermissionsRequestBuilder.java**: 🔧 dodanie pola `subjectDetails`
1296+
- **GrantPersonPermissionsRequestBuilder.java**: 🔧 dodanie pola `subjectDetails`
1297+
- **GrantAuthorizationPermissionsRequestBuilder.java**: 🔧 dodanie pola `subjectDetails`
1298+
- **SubunitPermissionsGrantRequestBuilder.java**: 🔧 dodanie pola `subjectDetails`
1299+
1300+
### 1.2 api.services
1301+
- **DefaultCryptographyService.java**: 🔧 w `initCryptographyService` przechwycenie `SystemKSeFSDKException`
1302+
- **DefaultVerificationLinkService.java**: 🔧 konstruktor z polem `KsefApiProperties` oznaczony jako deprecated, dodano nowy konstruktor z polem `String appUrl`
1303+
1304+
### 1.3 api
1305+
- **DefaultKsefClient.java**: 🔧 w metodzie `validResponse` dodano pomijanie parsowania jsona w przypadku odpowiedzi z API typów innych niż json,
1306+
- Dodano parametr `upoVersion` w metodach `openBatchSession` i `openOnlineSession`
1307+
- Pozwala wybrać wersję UPO (dostępne wartości: `"upo-v4-3"`)
1308+
- Ustawia nagłówek `X-KSeF-Feature` z odpowiednią wersją
1309+
- Domyślnie: v4-2, od 5.01.2026 → v4-3
1310+
- poprzednie wersje metod oznaczone jako deprecated
1311+
- **HttpUtils.java**: 🔧 w metodzie `formatExceptionMessage` dodano dodatkowe sprawdzanie dla pustego body
1312+
1313+
### 1.4 client.interfaces
1314+
- **KSeFClient.java**: 🔧 metody `openBatchSession` i `openOnlineSession` zgodnie z opisem w implementacji `DefaultKsefClient`
1315+
1316+
### 1.5 client.model
1317+
- **auth/TokenPermissionType.java**: 🔧 dodano `PEPPOL_ID("PeppolId")`
1318+
- **invoice/InitAsyncInvoicesQueryResponse.java**: 🔧 zmiana modyfikatora dostępu na prywatny dla pola `String referenceNumber`
1319+
- **invoice/InvoiceExportPackage.java**: 🔧 dodanie opisów dla pól i dodanie pola `OffsetDateTime permanentStorageHwmDate`
1320+
- **invoice/InvoiceQueryDateRange.java**: 🔧 dodanie pola `Boolean restrictToPermanentStorageHwmDate`
1321+
- **invoice/InvoiceQueryFilters.java**: 🔧 poprawka w mapowaniu pola isSelfInvoicing (`@JsonProperty("isSelfInvoicing")`)
1322+
- **invoice/QueryInvoiceMetadataResponse.java**: 🔧 dodanie pola `OffsetDateTime permanentStorageHwmDate`
1323+
- Dodano właściwość subjectDetails - "Dane podmiotu, któremu nadawane są uprawnienia" do wszystkich endpointów nadających uprawnienia **/permissions/.../grants. W RC6.0 pole jest opcjonalne; od 2025-12-19 będzie wymagane.)
1324+
- **permission/entity/GrantEntityPermissionsRequest.java**: 🔧 dodanie pola `subjectDetails`
1325+
- **permission/euentity/EuEntityPermissionsGrantRequest.java**: 🔧 dodanie pól `subjectDetails`, `euEntityDetails` i podtypów
1326+
- **permission/euentity/GrantEUEntityRepresentativePermissionsRequest.java**: 🔧 dodanie pola `subjectDetails` i podtypów
1327+
- **permission/indirect/GrantIndirectEntityPermissionsRequest.java**: 🔧 dodanie pola `subjectDetails` i podtypów
1328+
- **permission/person/GrantPersonPermissionsRequest.java**: 🔧 dodanie pola `subjectDetails` i podtypów
1329+
- **permission/proxy/GrantAuthorizationPermissionsRequest.java**: 🔧 dodanie pola `subjectDetails`
1330+
- **permission/subunit/SubunitPermissionsGrantRequest.java**: 🔧 dodanie pola `subjectDetails` i podtypów
1331+
- **TestDataAttachmentRemoveRequest.java**: 🔧 dodanie pola `OffsetDateTime expectedEndDate`
1332+
- **TestDataPersonCreateRequest.java**: 🔧 dodanie pola `Boolean isDeceased`
1333+
- **ZipInputStreamWithSize.java**: ➕ dodanie nowego modelu
1334+
- **StatusInfo.java**: 🔧 dodanie nowego pola `Map<String, String> extensions`
1335+
1336+
### 1.6 client
1337+
- **Headers.java**: 🔧 dodanie nowego pola `String X_KSEF_FEATURE = "X-KSeF-Feature"`
1338+
1339+
### 1.7 system
1340+
- **FilesUtil.java**: 🔧 przeniesione z modułu demo
1341+
1342+
## 2. demo-web-app
1343+
1344+
### 2.1 integrationTest
1345+
- **BaseIntegrationTest.java**: 🔧 dodanie metody `AuthTokensPair authWithCustomPesel(String context, String pesel, EncryptionMethod encryptionMethod)`
1346+
- **IntegrationConfig.java**: 🔧 przekazanie do ObjectMappera domyślnej wartości property `DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false`
1347+
- **BatchIntegrationTest.java**: 🔧 kosmetyczne zmiany związane ze zmianą pakietów `FilesUtil.java`
1348+
- **DuplicateInvoiceIntegrationTest.java**: ➕ dodanie nowego scenariusza testowego
1349+
- **EnforcementOperationIntegrationTest.java**: ➕ dodanie nowego scenariusza testowego
1350+
- **EnforcementOperationNegativeIntegrationTest.java**: ➕ dodanie nowego scenariusza testowego
1351+
- **IncrementalInvoiceRetrieveIntegrationTest.java**: 🔧 aktualizacja scenariusza testowego
1352+
- **PersonalPermissionAuthorizedPeselInNipContext.java**: ➕ dodanie nowego scenariusza testowego
1353+
- **QueryInvoiceIntegrationTest.java**: 🔧 kosmetyczne zmiany związane ze zmianą pakietów `FilesUtil.java`
1354+
- **SearchEntityInvoiceRoleIntegrationTest.java**: 🔧 poprawki w scenariuszu testowym
1355+
- **SearchInvoiceForSubject2IntegrationTest.java**: 🔧 aktualizacja scenariusza testowego
1356+
- **SearchInvoiceForSubject3IntegrationTest.java**: 🔧 aktualizacja scenariusza testowego
1357+
- **SubUnitPermissionIntegrationTest.java**: 🔧 aktualizacja scenariusza testowego
1358+
1359+
### 2.2 api
1360+
- **ExampleApiProperties.java**: 🔧 zmiany w sposobie dostarczania konfiguracji w module demo `application.yaml`
1361+
- **KsefClientConfig.java**: 🔧 wczytanie urla aplikacji z `application.yaml` do `DefaultVerificationLinkService`
1362+
1363+
### 2.3 resources
1364+
- **application.yaml**: 🔧 dodanie konfiguracji wymaganej w `ApiProperties.java`
1365+
1366+
### 2.4 test - api.services
1367+
- **ModelSerializationTest.java**: ➕ dodanie testu weryfikującego zgodność nazw pól/getterów/JsonProperty
1368+
- **VerificationLinkServiceTests.java**: 🔧 aktualizacja testu
1369+
1370+
## 3. Podsumowanie
1371+
1372+
| Typ zmiany | Liczba plików |
1373+
|-------------|---------------|
1374+
| ➕ dodane | 34 |
1375+
| 🔧 zmienione | 42 |
1376+
| ➖ usunięte | 0 |

demo-web-app/build.gradle.kts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88
}
99

1010
group = "pl.akmf.ksef"
11-
version = "3.0.5"
11+
version = "3.0.6"
1212

1313
java {
1414
toolchain {
@@ -43,6 +43,7 @@ val wiremockStandaloneVersion = "3.9.1"
4343
val testcontainersVersion = "1.21.3"
4444
val awaitilityVersion = "4.2.0"
4545
val googleZxing = "3.5.3"
46+
val reflectionsVersion = "0.10.2"
4647

4748
dependencies {
4849
implementation(project(":ksef-client"))
@@ -76,6 +77,8 @@ dependencies {
7677
integrationTestImplementation("org.testcontainers:testcontainers:${testcontainersVersion}")
7778
integrationTestImplementation("org.wiremock:wiremock-standalone:${wiremockStandaloneVersion}")
7879
implementation("org.awaitility:awaitility:${awaitilityVersion}")
80+
81+
testImplementation("org.reflections:reflections:${reflectionsVersion}")
7982
}
8083

8184
sourceSets {

demo-web-app/src/integrationTest/java/pl/akmf/ksef/sdk/BatchIntegrationTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222
import pl.akmf.ksef.sdk.client.model.session.batch.BatchPartStreamSendingInfo;
2323
import pl.akmf.ksef.sdk.client.model.session.batch.OpenBatchSessionRequest;
2424
import pl.akmf.ksef.sdk.client.model.session.batch.OpenBatchSessionResponse;
25+
import pl.akmf.ksef.sdk.client.model.util.ZipInputStreamWithSize;
2526
import pl.akmf.ksef.sdk.configuration.BaseIntegrationTest;
26-
import pl.akmf.ksef.sdk.util.FilesUtil;
27+
import pl.akmf.ksef.sdk.system.FilesUtil;
2728
import pl.akmf.ksef.sdk.util.IdentifierGeneratorUtils;
2829

2930
import java.io.ByteArrayOutputStream;
@@ -600,9 +601,9 @@ private String openBatchSessionAndSendInvoicesPartsStream(String context, String
600601

601602
Map<String, byte[]> invoicesInMemory = FilesUtil.generateInvoicesInMemory(invoicesCount, context, invoice);
602603

603-
FilesUtil.ZipInputStreamWithSize zipInputStreamWithSize = FilesUtil.createZipInputStream(invoicesInMemory);
604-
InputStream zipInputStream = zipInputStreamWithSize.byteArrayInputStream();
605-
int zipLength = zipInputStreamWithSize.zipLength();
604+
ZipInputStreamWithSize zipInputStreamWithSize = FilesUtil.createZipInputStream(invoicesInMemory);
605+
InputStream zipInputStream = zipInputStreamWithSize.getInputStream();
606+
int zipLength = zipInputStreamWithSize.getZipLength();
606607

607608
// get ZIP metadata (before crypto)
608609
FileMetadata zipMetadata = defaultCryptographyService.getMetaData(zipInputStream);

0 commit comments

Comments
 (0)