Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Rlease Version 00.11.z #1160

Closed
wants to merge 17 commits into from
Closed

New Rlease Version 00.11.z #1160

wants to merge 17 commits into from

Conversation

dota17
Copy link
Member

@dota17 dota17 commented Apr 24, 2020

Refer to #1151 .

Secondly, the latest release is 0.10.7, and it was released two years ago. We know that the 0.y.z branch is for compatibility for older compilers and environment. But this branch is too old, some users are in an awkward situation: they want to try some new features on the 1.y.z branch, but their environment only supports the 0.y.z version

I tried to combine the two branches - 0.y.z and 1.y.z , so people can build the library based on their env and we don't need to maintain or release two versions.

@dota17 dota17 requested a review from cdunn2001 April 24, 2020 13:11
@dota17 dota17 marked this pull request as ready for review April 24, 2020 13:11
@coveralls
Copy link

coveralls commented Apr 24, 2020

Coverage Status

Coverage decreased (-0.4%) to 93.466% when pulling 1124a54 on pre-v2.y.z into 91f1553 on 00.11.z.

@dota17
Copy link
Member Author

dota17 commented Apr 24, 2020

I rewrite and revert some code to make the library can be built in pre-C++11 env and C++11 env.
For example,

  1. using -> typedef
  2. not using auto & delctype
  3. not using raw string literals and rvalue
    ...

So the people using 0.y.z can choose to use this version to use the new features.

@cdunn2001
Copy link
Contributor

@dota17, this seems like a good idea, but it won't be called 2.y.z. Anything above 2.0 will be C++14 at minimum, more likely C++17.

This branch will be something completely different. How about 00.11.z? We'll just have to document what this branch really means.

@dota17
Copy link
Member Author

dota17 commented Apr 25, 2020

I am happy and appreciated that you think it is a good idea.
But 00.11.z may be messy with 0.y.z and people may ask - why the version is lower than 1.y.z
How about 1.9.z.c1? From this, people can know the version is from 1.9.z and from charater c, we can know it is a compatible version.
I think it can help people a lot.

@cdunn2001
Copy link
Contributor

We can't use a number higher than the actual mainline release, since that would indicate that this is the latest release. We can't bump only the minor version number because that would indicate backward-compatbility.

The right thing to do is for people to upgrade, but we're trying to help people who are stuck on old systems, right? For those people, we can't be sticklers about aesthetically pleasing names.

The main goal is to reduce our maintenance burden. The old code-base has never stopped being headache. This new branch you're creating is going to become a third branch that we are forced to maintain forever. That at least needs to be clear from its name.

@dota17
Copy link
Member Author

dota17 commented Apr 26, 2020

Anyway, it is ready for review. @cdunn2001

@dota17 dota17 changed the title Pre v2.y.z New Rlease Version 00.11.z Apr 26, 2020
@dota17
Copy link
Member Author

dota17 commented Apr 26, 2020

Currently, this branch had merged all new commits since 3beb37e from master.
This PR will not be merged into master.
If there is no problem about this version branch, i will tag 00.11.z and make a release - 00.11.0.

@dota17 dota17 changed the base branch from master to 00.11.z April 26, 2020 13:52
@cdunn2001
Copy link
Contributor

(We're discussing a good branch-name in private email....)

@cdunn2001
Copy link
Contributor

I think we should squash and rebase this branch. It should have used git cherry-pick, not git merge, and if we don't fix this now, it will be a mess forever.

*   6860735 Merge branch 'master' into pre-v2.y.z
|\
| * 2cb16b3 (up/master) allowBom -> skipBom (#1162)
| * 83946a2 Ignore byte order mark in the head of UTF-8 text. (#1149)
* | 12d4ece update .travis and * builder.sh
* | 018fc0a clang-tidy fixes again from PR-1155
* | 1124a54 JSONCPP_VER_11 -> JSONCPP_CXX_STD_11
* | 9e57027 clean code
* | 720b55b change soversion in CMakeLists.txt
* | 576e6dd update
* | a7abd14 update version string
* |   655cbd3 Merge branch 'master' into pre-v2.y.z
|\ \
| * \   cf9b7eb Merge branch 'master' of github.com:open-source-parsers/jsoncpp
| |\ \
| | |/
| | * 91f1553 (HEAD -> master, up/00.11.z)
| | *   5813ab1 (origin/master, origin/HEAD) Merge branch 'fixup-tests' into 'ma
| | |\
| | | * a0b8c3e Do not run colliding tests at same time
| | | * b349221 Cleanup test configurations
| | | * 9e23f66 Issue 1102: Fixup test suite, fix broken tests
| | | * 411d88f Stop checking status; raise instead
| | | * 1ff6bb6 ninja test
| | |/
* | | 3ccb05d update CMakeLists.txt
* | | fe1c7ca update .travis.yml
* | | 54c5fa7 fix Appveyor CI errors
* | |   c62a014 Merge branch 'master' into pre-v2.y.z
|\ \ \
| |/ /
| * | c4f162e Revert "clang-tidy fixes again (#1155)"
...

(That uses git lola.)

Do you see the problem? We cannot track the history by eye. I hope we're going to delete pre-v2.y.z. The 00.11.z branch looks fine, but it has only one small commit on it.

@dota17
Copy link
Member Author

dota17 commented Apr 29, 2020

Sorry, I will clean and recreate the history of the new branch before merging.
Also, i will update the soversion.

@cdunn2001
Copy link
Contributor

Down the road, cherry-pick is really helpful because it shows at-a-glance which features have been added. With a merge-commit, you have to wonder how much of the other branch was included. It's an underused feature of git.

@dota17
Copy link
Member Author

dota17 commented Apr 30, 2020

root@oss-0010:/data/jsoncpp# git log --graph --oneline
* f62d8bf (HEAD -> 00.11.z, origin/00.11.z) Add more travis-ci tasks, and update build-scripts
* d2c2052 Rewrite and revert some code to build in pre-C++11
* a4fb5db (upstream/master, origin/master, origin/HEAD, master) Put ".exe" and ".dll" together to make test usable in build dir. (#1166)
*   d517d59 Merge pull request #1165 from mrjoel/mrjoel/cmake-updates
|\
| * e9b0b96 Remove redundant cmake_minimum_required from example
| * 3f0d63b Use internal CMake compiler version directly
| * 524234e Use non-version checked add_compile_options
| * 9abf119 Remove unused CMake variable
| * 8a5e792 Add Clang support, be explicit about MSVC flags
| * 30eb5ce Check compiler using CMAKE_CXX_COMPILER_ID
| * 12ceb01 Always use consistent CXX_STANDARD
| * edc6239 Not needed to specify CMAKE_MACOSX_RPATH
| * 5a0152a Only set CMAKE_BUILD_TYPE for single config generators
| * c648b03 Consolidate setting of jsoncpp target properties
| * a3afd74 Don't use unique variable for postfix
|/
* 2cb16b3 allowBom -> skipBom (#1162)
* 83946a2 Ignore byte order mark in the head of UTF-8 text. (#1149)

I clean the git history. Now the new branch 00.11.z is based on master and has two new commits for this merging.
Also, this merging will be closed but not merged.

@dota17 dota17 closed this Apr 30, 2020
@dota17 dota17 deleted the pre-v2.y.z branch April 30, 2020 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants