Skip to content
This repository was archived by the owner on Apr 8, 2025. It is now read-only.

Commit 289d9f4

Browse files
Jinming-Huvinjiang
authored andcommitted
Update version to 7.0.0
1 parent 132989c commit 289d9f4

File tree

7 files changed

+73
-159
lines changed

7 files changed

+73
-159
lines changed

BreakingChanges.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
Azure Storage Client Library for C++
22
History of Breaking Changes
33

4+
Breaking Changes in v7.0:
5+
- Default Rest API version is 2019-02-02.
6+
- Upgraded Casablanca dependency to 2.10.14.
7+
- Raised minumim required GCC version to 5.1.
8+
- SAS returned by calling `azure::storage::cloud_blob::get_shared_access_signature` on a snapshot object only has access to the snapshot, not the entire blob including every snapshots as before.
9+
- Fix a typo in API `azure::storage::cloud_file_share::download_share_usage_async`.
10+
- Fix a typo in API `azure::storage::cloud_queue_message::next_visible_time`.
11+
- `azure::storage::get_wastorage_ambient_scheduler` always returns by value.
12+
413
Breaking Changes in v6.0:
514
- `azure::storage::blob_request_options` now accept max_execution_time as `std::chrono::milliseconds`. However, previous `std::chrono::seconds` can automatically converted to `std::chrono::milliseconds`. There can be behavioral change since the precision has changed.
615
- Resolved an issue where the first forward slash in the front of the blob name will always be trimmed. This would cause blobs with name trimmed prior to this release no longer reachable with the same input.

Changelog.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
Azure Storage Client Library for C++
22
History of Changes
33

4+
Changes in v7.0.0
5+
- Default REST API version is 2019-02-02.
6+
- Upgraded CPPRest to latest version 2.10.14.
7+
- Raised minimum required GCC version to 5.1.
8+
- Added new API `azure::storage::cloud_file_share::download_share_usage_in_bytes`.
9+
- SAS returned by calling `azure::storage::cloud_blob::get_shared_access_signature` on a snapshot object only has access to the snapshot, not the entire blob including every snapshots as before.
10+
- Added support for AAD based OAuth bearer token authentication.
11+
- Added support for CRCC64 transactional data integrity machanism as an alternative to MD5.
12+
- Added new API `azure::storage::cloud_file_share::upload_file_permission`, `azure::storage::cloud_file_share::download_file_permission` to support to create/retrieve a security descriptor at the Azure File share level,
13+
- Added support for a set of new headers on Azure File APIs.
14+
415
Changes in v6.1.0
516
- Default REST API version is 2018-03-28.
617
- Upgraded CPPRest to latest version: 2.10.13.

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = "Microsoft Azure Storage Client Library for C++"
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = 6.1.0
41+
PROJECT_NUMBER = 7.0.0
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

Microsoft.WindowsAzure.Storage/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,8 @@ set(AZURESTORAGE_LIBRARY azurestorage)
149149
set(AZURESTORAGE_LIBRARIES ${AZURESTORAGE_LIBRARY} ${CASABLANCA_LIBRARY} ${Boost_LIBRARIES} ${Boost_FRAMEWORK} ${OPENSSL_LIBRARIES} ${UUID_LIBRARIES} ${LibXML2_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
150150

151151
# Set version numbers centralized
152-
set (AZURESTORAGE_VERSION_MAJOR 6)
153-
set (AZURESTORAGE_VERSION_MINOR 1)
152+
set (AZURESTORAGE_VERSION_MAJOR 7)
153+
set (AZURESTORAGE_VERSION_MINOR 0)
154154
set (AZURESTORAGE_VERSION_REVISION 0)
155155

156156
# Set output directories.

Microsoft.WindowsAzure.Storage/includes/wascore/constants.dat

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -380,21 +380,21 @@ DAT(xml_access_tier_change_time, _XPLATSTR("AccessTierChangeTime"))
380380
DAT(json_file_permission, _XPLATSTR("permission"))
381381

382382
#define STR(x) #x
383-
#define VER(x) _XPLATSTR("Azure-Storage/6.1.0 (Native; Windows; MSC_VER " STR(x) ")")
383+
#define VER(x) _XPLATSTR("Azure-Storage/7.0.0 (Native; Windows; MSC_VER " STR(x) ")")
384384
#if defined(_WIN32)
385385
#if defined(_MSC_VER)
386386
#if _MSC_VER >= 1900
387387
DAT(header_value_user_agent, VER(_MSC_VER))
388388
#elif _MSC_VER >= 1800
389-
DAT(header_value_user_agent, _XPLATSTR("Azure-Storage/6.1.0 (Native; Windows; MSC_VER 18XX)"))
389+
DAT(header_value_user_agent, _XPLATSTR("Azure-Storage/7.0.0 (Native; Windows; MSC_VER 18XX)"))
390390
#else
391-
DAT(header_value_user_agent, _XPLATSTR("Azure-Storage/6.1.0 (Native; Windows; MSC_VER < 1800)"))
391+
DAT(header_value_user_agent, _XPLATSTR("Azure-Storage/7.0.0 (Native; Windows; MSC_VER < 1800)"))
392392
#endif
393393
#else
394-
DAT(header_value_user_agent, _XPLATSTR("Azure-Storage/6.1.0 (Native; Windows)"))
394+
DAT(header_value_user_agent, _XPLATSTR("Azure-Storage/7.0.0 (Native; Windows)"))
395395
#endif
396396
#else
397-
DAT(header_value_user_agent, _XPLATSTR("Azure-Storage/6.1.0 (Native)"))
397+
DAT(header_value_user_agent, _XPLATSTR("Azure-Storage/7.0.0 (Native)"))
398398
#endif
399399

400400
#endif // _CONSTANTS
0 Bytes
Binary file not shown.

README.md

Lines changed: 45 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Azure Storage Client Library for C++ (6.1.0)
1+
# Azure Storage Client Library for C++ (7.0.0)
22

33
The Azure Storage Client Library for C++ allows you to build applications against Microsoft Azure Storage. For an overview of Azure Storage, see [Introduction to Microsoft Azure Storage](http://azure.microsoft.com/en-us/documentation/articles/storage-introduction/).
44

@@ -55,37 +55,45 @@ cd azure-storage-cpp
5555

5656
To build with source code, there are three ways:
5757

58-
**Via Vcpkg**
59-
You can manage the dependencies with Vcpkg, and use Visual Studio 2015 update 3 or Visual Studio 2017 for development environment. Simply install Casablanca via Vcpkg will setup everything needed.
60-
```
61-
C:\src\vcpkg> .\vcpkg install cpprestsdk
62-
```
58+
- Via Vcpkg
6359

64-
**Via NuGet**
65-
Because Casablanca does not release NuGet packages anywhere anymore, Starting from 5.1.0, this repository cannot be built with pre-built Casablanca NuGet packages. However, you can export your own version of Casablanca NuGet packages to install dependencies of this project:
66-
```
67-
C:\src\vcpkg> .\vcpkg install cpprestsdk
68-
C:\src\vcpkg> .\vcpkg export --nuget cpprestsdk --nuget-id=Casablanca --nuget-version=2.10.13
69-
```
60+
You can manage the dependencies with Vcpkg, and use Visual Studio 2015 update 3 or Visual Studio 2017 for development environment. Simply install Casablanca via Vcpkg will setup everything needed.
61+
```BatchFile
62+
C:\src\vcpkg> .\vcpkg install cpprestsdk
63+
```
7064
71-
**Manage dependencies by yourself**
72-
It is not recommended to manage dependencies by yourself. However, you can still build Casablanca by yourself and specify the include directories and link binaries.
65+
- Via NuGet
66+
67+
Because Casablanca does not release NuGet packages anywhere anymore, Starting from 5.1.0, this repository cannot be built with pre-built Casablanca NuGet packages. However, you can export your own version of Casablanca NuGet packages to install dependencies of this project:
68+
```BatchFile
69+
C:\src\vcpkg> .\vcpkg install cpprestsdk
70+
C:\src\vcpkg> .\vcpkg export --nuget cpprestsdk --nuget-id=Casablanca --nuget-version=2.10.14
71+
```
72+
73+
- Manage dependencies by yourself
74+
75+
It is not recommended to manage dependencies by yourself. However, you can still build Casablanca by yourself and specify the include directories and link binaries.
76+
77+
If you want to build and run test code, you can install UnitTest++ via vcpkg:
78+
```BatchFile
79+
C:\src\vcpkg> .\vcpkg install unittest-cpp
80+
```
7381

7482
### Via NuGet
7583

7684
To install the binaries for the Azure Storage Client Library for C++, you can export a NuGet package with Vcpkg and put it into your local NuGet feed. For more information about how to export a NuGet package, please see [Binary Export](https://github.com/Microsoft/vcpkg/blob/master/docs/specifications/export-command.md).
7785

7886
Normally, exporting NuGet package is done with the following command:
79-
```
80-
C:\src\vcpkg> .\vcpkg export --nuget azure-storage-cpp --nuget-id=Microsoft.Azure.Storage.CPP --nuget-version=6.0.0
87+
```BatchFile
88+
C:\src\vcpkg> .\vcpkg export --nuget azure-storage-cpp --nuget-id=Microsoft.Azure.Storage.CPP --nuget-version=7.0.0
8189
```
8290

8391
### Via Vcpkg
8492

8593
To install the Azure Storage Client Library for C++ through Vcpkg, you need Vcpkg installed first. Please follow the instructions(https://github.com/Microsoft/vcpkg#quick-start) to install Vcpkg.
8694

8795
install package with:
88-
```
96+
```BatchFile
8997
C:\src\vcpkg> .\vcpkg install azure-storage-cpp
9098
```
9199

@@ -114,6 +122,7 @@ The validated Casablanca version for each major or recent release on different p
114122
| 5.2.0 | 2.10.6 | 2.10.3 |
115123
| 6.0.0 | 2.10.10 | 2.10.10 |
116124
| 6.1.0 | 2.10.13 | 2.10.13 |
125+
| 7.0.0 | 2.10.14 | 2.10.14 |
117126

118127
## Code Samples
119128

@@ -209,7 +218,7 @@ git clone https://github.com/Microsoft/cpprestsdk.git
209218

210219
- Checkout the version on which Azure Storage Client Library for C++ depends:
211220
```bash
212-
git checkout tags/v2.10.13 -b v2.10.13
221+
git checkout tags/v2.10.14 -b v2.10.14
213222
```
214223

215224
- Build the project in Release mode
@@ -284,21 +293,21 @@ vi ../../samples/SamplesCommon/samples_common.h # modify connection string to in
284293
./samplesqueues # run the queues sample
285294
```
286295

287-
### Getting Started on RHEL 7
296+
### Getting Started on CentOS 6/7
288297

289-
*Please note the following build script is only tested on RHEL 7.5. The script may need to be updated accordingly for other distributions.*
298+
*Please note the following build script is only tested on CentOS 6.10 and 7.6. The script may need to be updated accordingly for other distributions.*
290299

291300
Before building the Azure Storage Client Library on C++, some prerequisites need to be installed first:
292301
- Install prerequisites:
293302
```bash
294-
sudo yum install git gcc-c++ openssl-devel libxml2-devel libuuid-devel
303+
sudo yum install epel-release centos-release-scl
304+
sudo yum install git cmake3 make openssl-devel libxml2-devel libuuid-devel
295305
```
296306

297-
- Download and install cmake3:
307+
- Install and enable to use gcc-c++. Note that `devtoolset-4` may be not available on some platforms, you can choose to install whichever newer than that, like `devtoolset-8`.
298308
```bash
299-
wget -O cmakeinstall.sh https://cmake.org/files/v3.12/cmake-3.12.3-Linux-x86_64.sh
300-
chmod a+x cmakeinstall.sh
301-
sudo ./cmakeinstall.sh --prefix=/usr
309+
sudo yum install devtoolset-4-gcc-c++
310+
scl enable devtoolset-4 bash
302311
```
303312

304313
- Download and install boost
@@ -319,16 +328,16 @@ git clone https://github.com/Microsoft/cpprestsdk.git
319328

320329
- Checkout the version on which Azure Storage Client Library for C++ depends:
321330
```bash
322-
git checkout tags/v2.10.13 -b v2.10.13
331+
cd cpprestsdk
332+
git checkout tags/v2.10.14 -b v2.10.14
323333
```
324334

325335
- Build the project in Release mode
326336
```bash
327-
cd cpprestsdk/Release
328337
git submodule update --init
329-
mkdir build.release
330-
cd build.release
331-
cmake .. -DCMAKE_BUILD_TYPE=Release -DWERROR=OFF -DBUILD_SAMPLES=OFF -DBUILD_TESTS=OFF
338+
mkdir Release/build.release
339+
cd Release/build.release
340+
cmake3 .. -DCMAKE_BUILD_TYPE=Release -DWERROR=OFF -DBUILD_SAMPLES=OFF -DBUILD_TESTS=OFF
332341
sudo make install
333342
```
334343

@@ -345,7 +354,7 @@ The project is cloned to a folder called `azure-storage-cpp`. Always use the mas
345354
cd azure-storage-cpp/Microsoft.WindowsAzure.Storage
346355
mkdir build.release
347356
cd build.release
348-
cmake .. -DCMAKE_BUILD_TYPE=Release
357+
cmake3 .. -DCMAKE_BUILD_TYPE=Release
349358
make
350359
```
351360

@@ -362,14 +371,14 @@ git clone https://github.com/unittest-cpp/unittest-cpp.git
362371
- Build and install the project:
363372
```bash
364373
cd unittest-cpp/builds/
365-
cmake ..
374+
cmake3 ..
366375
sudo make install
367376
```
368377

369378
Build and run unit test against Azure Storage Client Library for C++:
370379
- Build the test code:
371380
```bash
372-
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON
381+
cmake3 .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON
373382
make
374383
```
375384
- Run unit tests
@@ -379,128 +388,13 @@ vi test_configurations.json # modify test config file to include your storage ac
379388
./azurestoragetest
380389
```
381390

382-
To build sample code:
391+
- To build sample code:
383392
```bash
384-
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SAMPLES=ON
393+
cmake3 .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SAMPLES=ON
385394
make
386395
```
387-
To run the samples:
388-
```bash
389-
cd Binaries
390-
vi ../../samples/SamplesCommon/samples_common.h # modify connection string to include your storage account credentials
391-
./samplesblobs # run the blobs sample
392-
./samplesjson # run the tables sample with JSON payload
393-
./samplestables # run the tables sample
394-
./samplesqueues # run the queues sample
395-
```
396-
397-
### Getting Started on RHEL 6
398-
399-
*Please note the following build script is only tested on RHEL 6.9. The script may need to be updated accordingly for other distributions.*
400-
401-
Before building the Azure Storage Client Library on C++, some prerequisites need to be installed first:
402-
- Install prerequisites:
403-
```bash
404-
sudo yum install git openssl-devel libxml2-devel libuuid-devel
405-
```
406-
407-
- Install and enable to use gcc-c++
408-
```bash
409-
sudo yum install devtoolset-3-gcc-c++.x86_64
410-
scl enable devtoolset-3 bash
411-
```
412-
413-
- Download and install cmake3:
414-
```bash
415-
wget -O cmakeinstall.sh https://cmake.org/files/v3.12/cmake-3.12.3-Linux-x86_64.sh
416-
chmod a+x cmakeinstall.sh
417-
sudo ./cmakeinstall.sh --prefix=/usr
418-
```
419-
420-
- Download and install boost
421-
```bash
422-
wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz
423-
tar xvf boost_1_68_0.tar.gz
424-
cd boost_1_68_0
425-
./bootstrap.sh
426-
sudo ./b2 install
427-
```
428-
429-
The Azure Storage Client Library for C++ depends on Casablanca, following are instructions to build and install Casablanca:
430-
431-
- Clone the project using git:
432-
```bash
433-
git clone https://github.com/Microsoft/cpprestsdk.git
434-
```
435-
436-
- Checkout the version on which Azure Storage Client Library for C++ depends:
437-
```bash
438-
git checkout tags/v2.10.13 -b v2.10.13
439-
```
440396

441-
- Build the project in Release mode
442-
```bash
443-
cd cpprestsdk/Release
444-
git submodule update --init
445-
mkdir build.release
446-
cd build.release
447-
cmake .. -DCMAKE_BUILD_TYPE=Release -DWERROR=OFF -DBUILD_SAMPLES=OFF -DBUILD_TESTS=OFF -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
448-
sudo make install
449-
```
450-
451-
To build the Azure Storage Client Library for C++ project:
452-
453-
- Clone the project using git:
454-
```bash
455-
git clone https://github.com/Azure/azure-storage-cpp.git
456-
```
457-
The project is cloned to a folder called `azure-storage-cpp`. Always use the master branch, which contains the latest release.
458-
459-
- Build the SDK in Release mode:
460-
```bash
461-
cd azure-storage-cpp/Microsoft.WindowsAzure.Storage
462-
mkdir build.release
463-
cd build.release
464-
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
465-
make
466-
```
467-
468-
The library is generated under `azure-storage-cpp/Microsoft.WindowsAzure.Storage/build.release/Binaries/`.
469-
470-
The Azure Storage Client Library for C++ project depends on Unitest++ for unit test:
471-
472-
To build and install Unitest++:
473-
- Clone the project using git:
474-
```bash
475-
git clone https://github.com/unittest-cpp/unittest-cpp.git
476-
```
477-
478-
- Build and install the project:
479-
```bash
480-
cd unittest-cpp/builds/
481-
cmake .. -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
482-
sudo make install
483-
```
484-
485-
Build and run unit test against Azure Storage Client Library for C++:
486-
- Build the test code:
487-
```bash
488-
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
489-
make
490-
```
491-
- Run unit tests
492-
```bash
493-
cd Binaries
494-
vi test_configurations.json # modify test config file to include your storage account credentials
495-
./azurestoragetest
496-
```
497-
498-
To build sample code:
499-
```bash
500-
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SAMPLES=ON -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
501-
make
502-
```
503-
To run the samples:
397+
- To run the samples:
504398
```bash
505399
cd Binaries
506400
vi ../../samples/SamplesCommon/samples_common.h # modify connection string to include your storage account credentials

0 commit comments

Comments
 (0)