Skip to content

Releases: Krasnovvvvv/yandex-disk-cpp-client

Release v1.0.4

19 Apr 14:23

Choose a tag to compare

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 build

Run 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-failure

Documentation

Documentation

Thanks for using and supporting the project!

Release v1.0.3

21 Oct 13:06
b1a1ace

Choose a tag to compare

What's new:

  • The CMake package config (yandex-disk-cpp-clientConfig.cmake.in) now uses automatic dependency discovery:
    • Added find_dependency(nlohmann_json CONFIG) and find_dependency(CURL CONFIG) so all required targets are imported automatically.
    • Users no longer need to explicitly call find_package(nlohmann_json CONFIG REQUIRED) and find_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)
  • 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:

  1. Install dependencies: CMake 3.14+, C++17 compiler, libcurl, nlohmann_json
  2. Run:
git clone https://github.com/Krasnovvvvv/yandex-disk-cpp-client.git
cd yandex-disk-cpp-client
mkdir build && cd build
cmake ..
cmake --build .
  1. 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

21 Oct 09:42

Choose a tag to compare

What's new:

  • Added support for CMake config files to enable integration with find_package
    • Generation and installation of yandex-disk-cpp-clientConfig.cmake and yandex-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:

  1. Install dependencies: CMake 3.14+, C++17 compiler, libcurl, nlohmann_json
  2. Run:
git clone https://github.com/Krasnovvvvv/yandex-disk-cpp-client.git
cd yandex-disk-cpp-client
mkdir build && cd build
cmake ..
cmake --build .
  1. 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

20 Sep 09:17

Choose a tag to compare

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:

  1. Install dependencies: CMake 3.14+, C++17 compiler, libcurl, nlohmann_json
  2. Run:
git clone https://github.com/Krasnovvvvv/yandex-disk-cpp-client.git
cd yandex-disk-cpp-client
mkdir build && cd build
cmake ..
cmake --build .
  1. 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

14 Jul 23:00
2df02ec

Choose a tag to compare

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:

  1. Install dependencies: CMake 3.14+, C++17 compiler, libcurl, nlohmann_json
  2. Run:
git clone https://github.com/Krasnovvvvv/yandex-disk-cpp-client.git
cd yandex-disk-cpp-client
mkdir build && cd build
cmake ..
cmake --build .
  1. 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!