Skip to content

Commit 438be9c

Browse files
committed
release 3.0.4
1 parent 7d16623 commit 438be9c

68 files changed

Lines changed: 1976 additions & 407 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.
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Publish to GitHub Packages
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*' # run only with pushed tags with prefix "v", i.e. v1.0.0, v2.1.3
7+
8+
permissions:
9+
contents: write
10+
packages: write
11+
12+
jobs:
13+
release:
14+
runs-on: ubuntu-latest
15+
16+
env:
17+
REPO_URL: ${{ github.server_url }}/${{ github.repository }}
18+
MODULE_NAME: ksef-client
19+
20+
steps:
21+
# 1. Checkout repo
22+
- name: Checkout repository
23+
uses: actions/checkout@v4
24+
with:
25+
fetch-depth: 0
26+
27+
# 2️ Extract version (remove "v" before tag)
28+
- name: Extract version from tag
29+
id: version
30+
run: |
31+
VERSION="${GITHUB_REF_NAME#v}"
32+
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
33+
echo "Detected version: $VERSION"
34+
35+
# 3 Setup Gradle without wrapper
36+
- name: Set up Gradle
37+
uses: gradle/actions/setup-gradle@v3
38+
with:
39+
gradle-version: 8.10.2
40+
41+
# 4 Setup JDK
42+
- name: Set up Java 11
43+
uses: actions/setup-java@v3
44+
with:
45+
java-version: '11'
46+
distribution: 'temurin'
47+
48+
# 5 Build project
49+
- name: Build with Gradle
50+
working-directory: ./${{ env.MODULE_NAME }}
51+
run: gradle clean build -x test
52+
53+
# 6 Configure Maven (GitHub Packages)
54+
- name: Configure Maven for GitHub Packages
55+
run: |
56+
mkdir -p ~/.m2
57+
cat > ~/.m2/settings.xml <<'EOF'
58+
<settings>
59+
<servers>
60+
<server>
61+
<id>github</id>
62+
<username>${{ github.actor }}</username>
63+
<password>${{ secrets.GITHUB_TOKEN }}</password>
64+
</server>
65+
</servers>
66+
</settings>
67+
EOF
68+
69+
# 7 Package artifact with metadata
70+
- name: Package JAR with metadata
71+
working-directory: ./${{ env.MODULE_NAME }}
72+
env:
73+
VERSION: ${{ steps.version.outputs.version }}
74+
run: gradle assemble -Pversion=${{ env.VERSION }}
75+
76+
# 8 Publish into GitHub Packages
77+
- name: Publish to GitHub Packages
78+
working-directory: ./${{ env.MODULE_NAME }}
79+
env:
80+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
81+
VERSION: ${{ steps.version.outputs.version }}
82+
run: |
83+
echo "Publishing version $VERSION to $REPO_URL"
84+
gradle publish -Pversion=$VERSION

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,11 @@ Całość napisana jest w języku **Java**. Do komunikacji HTTP wykorzystywany j
4747
- Implementacja klienta KSeF 2.0
4848
- Przykłady użycia i integracji z KSeF 2.0
4949

50+
51+
## Pakiety maven
52+
53+
Projekt ksef-client jest dostępny jako pakiet maven w GitHub Packages organizacji CIRFMF.
54+
55+
Należy najpierw skonfigurować dostęp do paczek Maven opublikowanych w GitHub Packages organizacji CIRFMF.
56+
Wymaga to autoryzacji przy pomocy osobistego tokena dostępu (Personal Access Token – PAT) z uprawnieniem read:packages.
57+
Dokładny poradnik jest dostępny w pliku [*maven-packege.md*](https://github.com/CIRFMF/ksef-client-java/blob/main/maven-packege.md).

RELEASE_NOTES.md

Lines changed: 111 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,7 +1002,7 @@
10021002
| ➖ usunięte | 1 |
10031003

10041004
---
1005-
# Changelog zmian - `## 3.0.3 (2025-10-22)` - `API: 2.0.0 RC5.3`
1005+
# Changelog zmian - `## 3.0.3 (2025-10-22)` - `API: 2.0.0 RC5.3`
10061006
## 1. ksef-client
10071007

10081008
### 1.1 api.builders
@@ -1014,7 +1014,7 @@
10141014
- **DefaultSignatureService.java**: 🔧 - zmiany związane z podpisywaniem dokumentów dla ECDsa
10151015

10161016
### 1.3 api
1017-
- **DefaultKsefClient.java**: 🔧
1017+
- **DefaultKsefClient.java**: 🔧
10181018
- w `InitAsyncInvoicesQueryResponse initAsyncQueryInvoice` dodano nagłówek `"x-ksef-feature", "include-metadata"` który w API będzie domyślnym od 2025-10-27
10191019
- dla metody `SessionsQueryResponse getSessions(...)` zmieniono obsługę parametrów dla urla aby przyjmowała duplikaty kluczy, np `?statuses=InProgress&statuses=Succeeded`
10201020
- poprawki w urlach dla metod `resetContextLimitTest`, `resetSubjectCertificateLimit`
@@ -1054,7 +1054,7 @@
10541054

10551055
### 2.1 integrationTest
10561056

1057-
- **BaseIntegrationTest.java**: 🔧
1057+
- **BaseIntegrationTest.java**: 🔧
10581058
- dodano pole `ObjectMapper objectMapper`
10591059
- przeciążenie metody `AuthTokensPair authWithCustomNip(...)` o dodanie parametry `EncryptionMethod encryptionMethod` (Rsa i ECDsa)
10601060
- dodanie metody `AuthTokensPair authAsPeppolProvider(String peppolId)`
@@ -1094,4 +1094,112 @@
10941094
| 🔧 zmienione | 30 |
10951095
| ➖ usunięte | 1 |
10961096

1097+
---
1098+
# Changelog zmian - `## 3.0.4 (2025-11-06)` - `API: 2.0.0 RC5.6`
1099+
## 1. ksef-client
1100+
- **build.gradle.kts**: 🔧 dodano publikację artefaktów na github package
1101+
- **maven-package.md**: 🔧 dodano opis publikacji artefaktów na github package
1102+
- **README.md**: 🔧 dodano publikację artefaktów na github package
1103+
1104+
### 1.1 api.builders
1105+
1106+
### 1.2 api.services
1107+
- **DefaultCryptographyService.java**: 🔧 dodano implementację metody `X509Certificate parseCertificateFromBytes(byte[] certBytes)`
1108+
- **DefaultSignatureService.java**: 🔧 rozszerzono exception message
1109+
1110+
### 1.3 api
1111+
- **DefaultKsefClient.java**: 🔧 refaktor sposobu walidacji responsów, usunięcie nieistniejącej w API metody `byte[] getInvoice(DownloadInvoiceRequest downloadInvoiceRequest, String accessToken)`, dodanie `SortOrder` do `QueryInvoiceMetadataResponse queryInvoiceMetadata` i oznaczenie poprzedniej wersji jako deprecated, dodanie `GetRateLimitResponse getRateLimit(String accessToken)`
1112+
- **HttpStatus.java**: 🔧 rozszerzenie enuma o nowe kody http
1113+
- **HttpUtils.java**: 🔧 drobne zmiany w walidacji responsów
1114+
- **Url.java**: 🔧 dodanie ` GET_RATE_LIMIT("/api/v2/rate-limits", "apiV2RateLimit"),`, usunięcie `INVOICE_DOWNLOAD("/api/v2/invoices/download", "apiV2InvoicesDownloadPost"),`
1115+
1116+
### 1.4 client.interfaces
1117+
- **CryptographyService.java**: 🔧 dodano implementację metody `X509Certificate parseCertificateFromBytes(byte[] certBytes)`
1118+
- **KsefClient.java**: 🔧 usunięcie nieistniejącej w API metody `byte[] getInvoice(DownloadInvoiceRequest downloadInvoiceRequest, String accessToken)`, dodanie `SortOrder` do `QueryInvoiceMetadataResponse queryInvoiceMetadata` i oznaczenie poprzedniej wersji jako deprecated, dodanie `GetRateLimitResponse getRateLimit(String accessToken)`
1119+
1120+
### 1.5 client.model
1121+
- **certificate/CertificateInfo.java**: 🔧 dodanie `OffsetDateTime requestDate`
1122+
- **invoice/DownloadInvoiceRequest.java**: ➖ usunięcie klasy
1123+
- **invoice/DwonloadInvoiceMetadata.java**: ➖ usunięcie klasy
1124+
- **invoice/InitAsyncInvoicesQueryResponse.java**: 🔧 usunięcie pola `String operationReferenceNumber` wcześniej oznaczonego jako deprecated
1125+
- **invoice/InvoiceExportStatus.java**: 🔧 dodanie `OffsetDateTime packageExpirationDate`
1126+
- **invoice/InvoiceMetadata.java**: 🔧 dodanie metod do porównywania obiektu
1127+
- **invoice/InvoicePackagePart.java**: 🔧 drobne zmiany
1128+
- **limit/BatchSessionLimit.java**: 🔧 usunięcie pól `int maxInvoiceSizeInMib`, `int maxInvoiceWithAttachmentSizeInMib` wcześniej oznaczonych jako deprecated
1129+
- **limit/BatchSessionRateLimit.java**: ➕ dodanie klasy
1130+
- **limit/GetRateLimitResponse.java**: ➕ dodanie klasy
1131+
- **limit/InvoiceDownloadRateLimit.java**: ➕ dodanie klasy
1132+
- **limit/InvoiceExportRateLimit.java**: ➕ dodanie klasy
1133+
- **limit/InvoiceMetadataRateLimit.java**: ➕ dodanie klasy
1134+
- **limit/InvoiceSendRateLimit.java**: ➕ dodanie klasy
1135+
- **limit/InvoiceStatusRateLimit.java**: ➕ dodanie klasy
1136+
- **limit/OnlineSessionLimit.java**: 🔧 usunięcie pól `int maxInvoiceSizeInMib`, `int maxInvoiceWithAttachmentSizeInMib` wcześniej oznaczonych jako deprecated
1137+
- **limit/OnlineSessionRateLimit.java**: ➕ dodanie klasy
1138+
- **limit/OtherRateLimit.java**: ➕ dodanie klasy
1139+
- **limit/SessionInvoiceListRateLimit.java**: ➕ dodanie klasy
1140+
- **limit/SessionListRateLimit.java**: ➕ dodanie klasy
1141+
- **limit/SessionMiscRateLimits.java**: ➕ dodanie klasy
1142+
- **permission/OperationResponse.java**: 🔧 usunięcie pola `String operationReferenceNumber` wcześniej oznaczonego jako deprecated
1143+
- **session/SessionInvoiceStatusResponse.java**: 🔧 dodanie pola `String upoDownloadUrlExpirationDate`
1144+
- **session/UpoPageResponse.java**: 🔧 dodanie pola `OffsetDateTime downloadUrlExpirationDate`
1145+
- **util/SortOrder.java**: ➕ dodanie klasy
1146+
- **Headers.java**: ➕ usunięcie `String X_KSEF_FEATURE = "X-KSeF-Feature"`
1147+
- **Parameter.java**: ➕ dodanie `String SORT_ORDER = "sortOrder"`
1148+
1149+
### 1.6 client
1150+
- **peppol/PeppolProvider.java**: ➕ dodanie klasy
1151+
1152+
### 1.7 sign
1153+
- **CertUtil.java**: 🔧 drobne zmiany kosmetyczne
1154+
- **LocalSigningContext.java**: 🔧 rozszerzono exception message
1155+
1156+
### 1.8 system
1157+
1158+
### 1.9 resources
1159+
1160+
### 1.10 test
1161+
- **CertUtilTest.java**: 🔧 dodanie testów
1162+
1163+
## 2. demo-web-app
1164+
- **KsefClientConfig.java**: 🔧 dodano do `ObjectMapper` jako domyślny property `DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES` na `false`
1165+
1166+
### 2.1 integrationTest
1167+
- **model/ExportTask.java**: ➕ dodano klasę modelu w testach do przyrostowego pobierania faktur
1168+
- **model/PackageProcessingResult.java**: ➕ dodano klasę modelu w testach do przyrostowego pobierania faktur
1169+
- **model/TimeWindows.java**: ➕ dodano klasę modelu w testach do przyrostowego pobierania faktur
1170+
- **AuthorizationIntegrationTest.java**: 🔧 dodano nowe scenariusze testowe
1171+
- **BatchIntegrationTest.java**: 🔧 drobne zmiany kosmetyczne
1172+
- **EuEntityPermissionIntegrationTest.java**: 🔧 poprawki w scenariuszu
1173+
- **GetRateLimitIntegrationTest.java**: ➕ dodano klasę ze scenariuszem do limitów API
1174+
- **IncrementalInvoiceRetrieveIntegrationTest.java**: ➕ dodano klasę ze scenariuszami przyrostowego pobierania faktur
1175+
- **KsefTokenIntegrationTest.java**: 🔧 drobne zmiany kosmetyczne
1176+
- **OnlineSessionIntegrationTest.java**: 🔧 poprawki w scenariuszu
1177+
- **QueryInvoiceIntegrationTest.java**: 🔧 poprawki w scenariuszu, dodanie parametru z sortowaniem
1178+
- **SearchPersonalGrantPermissionIntegrationTest.java**: 🔧 drobne zmiany kosmetyczne
1179+
- **SearchSubordinateQueryIntegrationTest.java**: 🔧 drobne zmiany kosmetyczne
1180+
- **SubUnitPermissionIntegrationTest.java**: 🔧 drobne zmiany kosmetyczne
1181+
1182+
### 2.1.1 integrationTest.resources
1183+
- **KsefClientConfig.java**: 🔧 `KsefApiProperties` jako parametr dla `DefaultVerificationLinkService`
1184+
1185+
### 2.2 api
1186+
- **InvoicesController.java**: 🔧 usunięcie użycia nieistniejącego endpointu w API, dodanie parametru z sortowaniem
1187+
1188+
### 2.2.1 resources
1189+
1190+
### 2.3 test - api.services
1191+
- **QrCodeTests.java**: 🔧 `KsefApiProperties` jako parametr dla `DefaultVerificationLinkService`
1192+
- **VerificationLinkServiceTests.java**: 🔧 `KsefApiProperties` jako parametr dla `DefaultVerificationLinkService`
1193+
1194+
## 3. .http
1195+
1196+
1197+
## 4. Podsumowanie
1198+
1199+
| Typ zmiany | Liczba plików |
1200+
|-------------|---------------|
1201+
| ➕ dodane | 21 |
1202+
| 🔧 zmienione | 43 |
1203+
| ➖ usunięte | 2 |
1204+
10971205
---

demo-web-app/build.gradle.kts

Lines changed: 1 addition & 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.3"
11+
version = "3.0.4"
1212

1313
java {
1414
toolchain {

0 commit comments

Comments
 (0)