Releases: Krasnovvvvv/yandex-disk-cpp-client
Release v1.0.4
What's new
This release brings a major internal cleanup together with documentation and workflow improvements
Architecture and code organization
- Refactored the project to better separate Yandex.Disk business logic from supporting infrastructure.
- Moved reusable helper logic into dedicated utility components to improve code structure, readability, and maintainability.
- Improved overall project organization to make the library easier to extend and test.
Documentation
- Refreshed README.md with updated setup instructions and current project structure.
- Updated the API coverage table to better reflect the current state of the library.
- Added clearer guidance for onboarding, building, testing, and navigating the project.
Testing and CI
- Improved test integration with a dedicated tests/CMakeLists.txt.
- Fully separated the main library target from GoogleTest-specific configuration.
- Improved CI workflow for building and running tests across supported platforms.
Build
git clone https://github.com/Krasnovvvvv/yandex-disk-cpp-client.git
cd yandex-disk-cpp-client
cmake -B build -S . \
-DCMAKE_TOOLCHAIN_FILE=<path-to-vcpkg>/scripts/buildsystems/vcpkg.cmake \
-DBUILD_EXAMPLES=ON
cmake --build buildRun tests
cmake -B build -S . \
-DCMAKE_TOOLCHAIN_FILE=<path-to-vcpkg>/scripts/buildsystems/vcpkg.cmake \
-DBUILD_TESTS=ON \
-DBUILD_EXAMPLES=OFF
cmake --build build
ctest --test-dir build --output-on-failureDocumentation
Thanks for using and supporting the project!
Release v1.0.3
What's new:
- The CMake package config (
yandex-disk-cpp-clientConfig.cmake.in) now uses automatic dependency discovery:- Added
find_dependency(nlohmann_json CONFIG)andfind_dependency(CURL CONFIG)so all required targets are imported automatically. - Users no longer need to explicitly call
find_package(nlohmann_json CONFIG REQUIRED)andfind_package(CURL CONFIG REQUIRED)in their own CMakeLists.txt—just this is enough:find_package(yandex-disk-cpp-client CONFIG REQUIRED) target_link_libraries(your_target PRIVATE yandex-disk-cpp-client::yandex-disk-cpp-client)
- Added
- Internal: Refactored config and improved integration for a smoother developer experience.
- All previous CMake integration and usage instructions remain valid, but declaration of secondary dependencies is now automated for your convenience.
How to build:
- Install dependencies: CMake 3.14+, C++17 compiler, libcurl, nlohmann_json
- Run:
git clone https://github.com/Krasnovvvvv/yandex-disk-cpp-client.git
cd yandex-disk-cpp-client
mkdir build && cd build
cmake ..
cmake --build .- See the README and documentation for usage examples and API reference.
If you have questions or issues, please open an issue on GitHub.
Thank you for using and supporting open source!
Release v1.0.2
What's new:
- Added support for CMake config files to enable integration with
find_package-
Generation and installation of
yandex-disk-cpp-clientConfig.cmakeandyandex-disk-cpp-clientConfigVersion.cmake -
Proper installation of the target file
yandex-disk-cpp-clientTargets.cmake -
The library can now be used with:
find_package(yandex-disk-cpp-client CONFIG REQUIRED) find_package(nlohmann_json CONFIG REQUIRED) find_package(CURL CONFIG REQUIRED) target_link_libraries(your_target PRIVATE yandex-disk-cpp-client::yandex-disk-cpp-client)
-
- Fixed installation paths for all public headers
- Updated usage documentation for vcpkg
How to build:
- Install dependencies: CMake 3.14+, C++17 compiler, libcurl, nlohmann_json
- Run:
git clone https://github.com/Krasnovvvvv/yandex-disk-cpp-client.git
cd yandex-disk-cpp-client
mkdir build && cd build
cmake ..
cmake --build .- See the README and documentation for usage examples and API reference.
If you have questions or issues, please open an issue on GitHub.
Thank you for using and supporting open source!
Release v1.0.1
What's new:
- Updated CMakeLists.txt to include proper install targets for static library and headers
- Added BUILD_EXAMPLES option to control example executable builds for easier integration with vcpkg
- Improved compatibility for packaging and downstream consumption
How to build:
- Install dependencies: CMake 3.14+, C++17 compiler, libcurl, nlohmann_json
- Run:
git clone https://github.com/Krasnovvvvv/yandex-disk-cpp-client.git
cd yandex-disk-cpp-client
mkdir build && cd build
cmake ..
cmake --build .- See the README and documentation for usage examples and API reference.
If you have questions or issues, please open an issue on GitHub.
Thank you for using and supporting open source!
Yandex Disk C++ Client v1.0.0 — Initial Release
The first public release of the modern C++ client library for the Yandex.Disk REST API.
Key features:
- Upload and download files and directories
- Manage folders, move and rename resources
- Trash operations: list, restore, permanently delete
- Publish/unpublish files and get public links
- Recursive search on disk and in trash
- Cross-platform: Windows, Linux
- Minimal dependencies: libcurl and nlohmann/json
- Easy integration via CMake
How to build:
- Install dependencies: CMake 3.14+, C++17 compiler, libcurl, nlohmann_json
- Run:
git clone https://github.com/Krasnovvvvv/yandex-disk-cpp-client.git
cd yandex-disk-cpp-client
mkdir build && cd build
cmake ..
cmake --build .- See the README and documentation for usage examples and API reference.
If you have questions or issues, please open an issue on GitHub.
Thank you for using and supporting open source!