msgpack / msgpack-c

MessagePack implementation for C and C++ / msgpack.org[C/C++]
Other
3.03k stars 883 forks source link

Does a release support both C and C++ (if so why are they tagged as C and CPP)? #1140

Closed mayureshw closed 1 month ago

mayureshw commented 1 month ago

I am working on packaging msgpack-c for pkgsrc system and have this basic question.

Wouldn't the same release support both C and C++ language users? In that case why are the releases labled as c-6.1.0, cpp-6.1.1 etc.

redboltz commented 1 month ago

The msgpack-c repository contains both C and C++ libraries, which are independent of each other. The c_master branch is dedicated to the C library, while the cpp_master branch is for the C++ library. Releases for the C library are tagged as c-x.y.z on the c_master branch, and releases for the C++ library are tagged as cpp-x.y.z on the cpp_master branch. The version numbers for C and C++ are not related.

Why this approach was chosen: Originally, msgpack-c included implementations for both C and C++, but the C++ part is updated more frequently due to its container adaptors. C users found it frustrating to check for releases when there were typically no updates for the C library. Therefore, it became necessary to separate the C and C++ parts.

Various approaches were considered during discussions. For more details, refer to this issue discussion.

mayureshw commented 1 month ago

Ok, thanks.