Build: successful library and example compilation; merge file upload into unified example program; update CMakeLists.txt

This commit is contained in:
mbusc
2025-08-28 19:51:25 +02:00
parent 0b4b5244f1
commit 5528096614
12 changed files with 570 additions and 375 deletions

View File

@ -1,28 +1,48 @@
## v0.1.1.3 (2025-08-28)
- Docs: Added Linux (WSL/Ubuntu) quick start, build and test instructions in `README.md`.
- Build: `build.sh` now bootstraps vcpkg and uses the vcpkg toolchain; builds library, tests, and example.
### New Features
- **File Upload Functionality**: New `upload_file()` function added
- **Binary Files**: Support for uploading arbitrary file types
- **Enhanced Security**: Same end-to-end encryption as text pastes
- **File Upload Example**: New example program `file_upload_example` demonstrates the functionality
### Downloads
- [lib-privatebin-v0.1.1.3-windows-x64.zip](https://gitea.medisoftware.org/Markus/lib-privatebin/releases/download/v0.1.1.3/lib-privatebin-v0.1.1.3-windows-x64.zip)
- [privatebinapi.dll](https://gitea.medisoftware.org/Markus/lib-privatebin/releases/download/v0.1.1.3/privatebinapi.dll)
- [privatebinapi.lib](https://gitea.medisoftware.org/Markus/lib-privatebin/releases/download/v0.1.1.3/privatebinapi.lib)
- [example.exe](https://gitea.medisoftware.org/Markus/lib-privatebin/releases/download/v0.1.1.3/example.exe)
### Technical Improvements
- **File Processing**: Binary files are correctly read and processed
- **Size Limitation**: Maximum file size limited to 100MB
- **Compression**: Automatic zlib compression before encryption
- **Metadata**: Files are stored as encrypted binary pastes
### SHA256
- [lib-privatebin-v0.1.1.3-windows-x64.zip.sha256](https://gitea.medisoftware.org/Markus/lib-privatebin/releases/download/v0.1.1.3/lib-privatebin-v0.1.1.3-windows-x64.zip.sha256)
- [privatebinapi.dll.sha256](https://gitea.medisoftware.org/Markus/lib-privatebin/releases/download/v0.1.1.3/privatebinapi.dll.sha256)
- [privatebinapi.lib.sha256](https://gitea.medisoftware.org/Markus/lib-privatebin/releases/download/v0.1.1.3/privatebinapi.lib.sha256)
- [example.exe.sha256](https://gitea.medisoftware.org/Markus/lib-privatebin/releases/download/v0.1.1.3/example.exe.sha256)
### Documentation
- **FILE_UPLOAD_README.md**: Detailed documentation of file upload functionality
- **README.md**: Updated with file upload information and examples
- **English Localization**: All documentation and examples in English
## v0.1.1.2 (2025-08-28)
### Compatibility
- **PrivateBin v1.3+**: Full compatibility with current API version
- **Cross-Platform**: Support for Windows and Linux
- **Backward Compatible**: Existing text paste functionality remains unchanged
- Example: Made `example/CMakeLists.txt` platform-neutral; links against in-tree target `privatebinapi`.
- Linux HTTP client: Fixed delete operation to use HTTP POST (required by PrivateBin API) instead of DELETE; resolves 405 errors when deleting.
- Build: Verified successful build on Linux (WSL/Ubuntu) via vcpkg toolchain.
- Tests: `test_basic` runs successfully via `ctest`.
## v0.1.1.2 (2024-XX-XX)
## v0.1.1.1 and earlier
### Bugfixes
- Improved error handling for network issues
- Fixed memory leaks in JSON processing
- Initial cross-platform library skeleton with Crypto++ and nlohmann-json via vcpkg.
### Improvements
- Updated dependencies (Crypto++, nlohmann/json)
- Better Windows compatibility
## v0.1.1.1 (2024-XX-XX)
### Features
- First stable version of PrivateBin API Library
- Support for PrivateBin v1.3 JSON-API
- End-to-end encryption with AES-256-GCM
- Cross-platform support (Windows/Linux)
### API Functions
- `create_paste()` - Create encrypted text pastes
- `get_paste()` - Retrieve and decrypt pastes
- `delete_paste()` - Delete pastes with deletion tokens
- `free_string()` - Memory management