Christopher Dunn [Wed, 11 Feb 2015 17:15:32 +0000 (11:15 -0600)]
stop calling validate() in newReader/Writer()
By not calling validate(), we can add
non-invasive features which will be simply ignored when user-code
is compiled against an old version. That way, we can often
avoid a minor version-bump.
The user can call validate() himself if he prefers that behavior.
Christopher Dunn [Wed, 11 Feb 2015 16:35:16 +0000 (10:35 -0600)]
Merge pull request #166 from cdunn2001/stackLimit
Fixes #88 and #56.
Christopher Dunn [Wed, 11 Feb 2015 16:20:53 +0000 (10:20 -0600)]
limit stackDepth for old (deprecated) Json::Reader too
This is an improper solution. If multiple Readers exist,
then the effect stackLimit is reduced because of side-effects.
But our options are limited. We need to address the security
hole without breaking binary-compatibility.
However, this is not likely to cause any practical problems because:
* Anyone using `operator>>(istream, Json::Value)` will be using the
new code already
* Multiple Readers are uncommon.
* The stackLimit is quite high.
* Deeply nested JSON probably would have hit the system limits anyway.
Christopher Dunn [Wed, 11 Feb 2015 15:44:02 +0000 (09:44 -0600)]
limit stackDepth
Christopher Dunn [Tue, 10 Feb 2015 18:16:03 +0000 (12:16 -0600)]
stackLimit
Christopher Dunn [Wed, 11 Feb 2015 15:49:11 +0000 (09:49 -0600)]
stackLimit_
Christopher Dunn [Wed, 11 Feb 2015 16:01:47 +0000 (10:01 -0600)]
test stackLimit
Christopher Dunn [Wed, 11 Feb 2015 15:35:52 +0000 (09:35 -0600)]
Old -> Our
Christopher Dunn [Wed, 11 Feb 2015 05:29:14 +0000 (23:29 -0600)]
1st StreamWriterTest
Christopher Dunn [Wed, 11 Feb 2015 05:03:27 +0000 (23:03 -0600)]
clarify comments
And throw instead of return null for invalid settings.
Christopher Dunn [Wed, 11 Feb 2015 04:45:32 +0000 (22:45 -0600)]
Merge pull request #165 from cdunn2001/master
Remove some experimental classes that are not needed for 1.4.0. This also helps 0.8.0 binary compatibility with 0.6.0-rc2.
Christopher Dunn [Wed, 11 Feb 2015 03:29:35 +0000 (21:29 -0600)]
drop experimental OldCompressingStreamWriterBuilder
Christopher Dunn [Wed, 11 Feb 2015 03:15:43 +0000 (21:15 -0600)]
enableYAMLCompatibility and dropNullPlaceholders for StreamWriterBuilder
Christopher Dunn [Wed, 11 Feb 2015 02:45:42 +0000 (20:45 -0600)]
nullRef, since we had to add that kludge to 0.8.0
Christopher Dunn [Tue, 10 Feb 2015 23:00:34 +0000 (17:00 -0600)]
copy Features to OldFeatures
Christopher Dunn [Tue, 10 Feb 2015 22:56:49 +0000 (16:56 -0600)]
passes
Christopher Dunn [Tue, 10 Feb 2015 22:50:52 +0000 (16:50 -0600)]
copy Reader impl to OldReader
Christopher Dunn [Tue, 10 Feb 2015 22:44:14 +0000 (16:44 -0600)]
renames for OldReader
Christopher Dunn [Tue, 10 Feb 2015 22:41:19 +0000 (16:41 -0600)]
OldReader copied from Reader
Christopher Dunn [Tue, 10 Feb 2015 00:55:55 +0000 (18:55 -0600)]
Merge pull request #163 from cdunn2001/master
Reimplement the new Builders.
Issue #131.
Christopher Dunn [Tue, 10 Feb 2015 00:48:45 +0000 (18:48 -0600)]
mv CommentStyle to .cpp
Christopher Dunn [Tue, 10 Feb 2015 00:44:53 +0000 (18:44 -0600)]
set output stream in write(), not in builder
Christopher Dunn [Tue, 10 Feb 2015 00:29:11 +0000 (18:29 -0600)]
<stdexcept>
Christopher Dunn [Tue, 10 Feb 2015 00:24:56 +0000 (18:24 -0600)]
add all features
Christopher Dunn [Tue, 10 Feb 2015 00:16:24 +0000 (18:16 -0600)]
remark defaults via doxygen snippet
Christopher Dunn [Mon, 9 Feb 2015 23:22:28 +0000 (17:22 -0600)]
Builder::settings_
We use Json::Value to configure the builders so we can maintain
binary-compatibility easily.
Christopher Dunn [Mon, 9 Feb 2015 21:25:57 +0000 (15:25 -0600)]
update docs, writeString()
Christopher Dunn [Mon, 9 Feb 2015 17:55:54 +0000 (11:55 -0600)]
Merge pull request #162 from cdunn2001/master
Deprecate the new Builders.
Christopher Dunn [Mon, 9 Feb 2015 17:51:06 +0000 (11:51 -0600)]
deprecate current Builders
Christopher Dunn [Mon, 9 Feb 2015 17:46:25 +0000 (11:46 -0600)]
deprecate Builders
see issue #131
Christopher Dunn [Mon, 9 Feb 2015 17:15:39 +0000 (11:15 -0600)]
deprecate old Reader; separate Advanced Usage section
Christopher Dunn [Mon, 9 Feb 2015 17:15:11 +0000 (11:15 -0600)]
--in=doc/web_doxyfile.in
Christopher Dunn [Mon, 9 Feb 2015 16:36:55 +0000 (10:36 -0600)]
copy doxyfile.in
Christopher Dunn [Mon, 9 Feb 2015 15:54:26 +0000 (09:54 -0600)]
drop an old impl
Christopher Dunn [Mon, 9 Feb 2015 15:44:26 +0000 (09:44 -0600)]
simplify basic docs
Christopher Dunn [Mon, 9 Feb 2015 07:29:43 +0000 (01:29 -0600)]
clarify Builders
Christopher Dunn [Mon, 9 Feb 2015 06:46:20 +0000 (00:46 -0600)]
put version into docs
Christopher Dunn [Sun, 8 Feb 2015 19:25:08 +0000 (13:25 -0600)]
Merge pull request #161 from cdunn2001/master
CharReader/Builder
I guess we should but the patch-level version. We will set the version properly soon...
Christopher Dunn [Thu, 29 Jan 2015 20:29:40 +0000 (14:29 -0600)]
CharReader/Builder
* CharReaderBuilder is similar to StreamWriterBuilder.
* use rdbuf(), since getline(string) is not required to handle EOF as delimiter
Christopher Dunn [Sun, 8 Feb 2015 19:10:18 +0000 (13:10 -0600)]
Merge pull request #160 from cdunn2001/master
rm unique_ptr<>/shared_ptr<>, for pre-C++11
Christopher Dunn [Sun, 8 Feb 2015 17:29:52 +0000 (11:29 -0600)]
rm unique_ptr<>/shared_ptr<>, for pre-C++11
Christopher Dunn [Sat, 7 Feb 2015 18:24:58 +0000 (12:24 -0600)]
Merge pull request #158 from cdunn2001/travis-with-cmake-package
JSONCPP_WITH_CMAKE_PACKAGE in Travis
I guess we don't really need to shared and static separately either. Saves a little time, maybe?
Christopher Dunn [Sat, 7 Feb 2015 18:18:20 +0000 (12:18 -0600)]
JSONCPP_WITH_CMAKE_PACKAGE in Travis
Christopher Dunn [Sat, 7 Feb 2015 17:44:24 +0000 (11:44 -0600)]
Merge pull request #156 from cdunn2001/with-cmake-package
fix JSONCPP_WITH_CMAKE_PACKAGE #155
Christopher Dunn [Sat, 7 Feb 2015 17:34:40 +0000 (11:34 -0600)]
fix JSONCPP_WITH_CMAKE_PACKAGE #155
mv JSONCPP_WITH_CMAKE_PACKAGE ahead of INSTALL def.
Christopher Dunn [Mon, 2 Feb 2015 21:32:33 +0000 (15:32 -0600)]
drop nullptr
See issue #153.
Christopher Dunn [Thu, 29 Jan 2015 18:57:02 +0000 (12:57 -0600)]
drop scoped enum, for pre-C++11 compatibility
Peter Spiess-Knafl [Tue, 27 Jan 2015 20:01:42 +0000 (20:01 +0000)]
added cmake option to build static and shared libraries at once
See #147 and #149.
Christopher Dunn [Mon, 26 Jan 2015 17:23:31 +0000 (11:23 -0600)]
docs
Christopher Dunn [Mon, 26 Jan 2015 17:33:16 +0000 (11:33 -0600)]
Merge pull request #145 from cdunn2001/simplify-builder
Simplify builder
Christopher Dunn [Mon, 26 Jan 2015 17:17:42 +0000 (11:17 -0600)]
gcc-4.6 (Travis CI) does not support
Christopher Dunn [Mon, 26 Jan 2015 17:12:53 +0000 (11:12 -0600)]
docs
Christopher Dunn [Mon, 26 Jan 2015 17:04:03 +0000 (11:04 -0600)]
fix doc
Christopher Dunn [Mon, 26 Jan 2015 17:01:15 +0000 (11:01 -0600)]
make StreamWriterBuilder concrete
Christopher Dunn [Mon, 26 Jan 2015 16:43:39 +0000 (10:43 -0600)]
Move old FastWriter stuff out of new Builder
Christopher Dunn [Mon, 26 Jan 2015 16:35:54 +0000 (10:35 -0600)]
OldCompressingStreamWriterBuilder
Christopher Dunn [Mon, 26 Jan 2015 01:20:43 +0000 (19:20 -0600)]
improve docs
including `writeString()`
Christopher Dunn [Mon, 26 Jan 2015 00:52:09 +0000 (18:52 -0600)]
Merge pull request #132 from cdunn2001/builder
StreamWriter::Builder
Deprecate old Writers, but include them in tests.
This should still be binary-compatible with 1.3.0.
Christopher Dunn [Mon, 26 Jan 2015 00:45:59 +0000 (18:45 -0600)]
deprecate old Writers
also, use withers instead of setters, and update docs
Christopher Dunn [Mon, 26 Jan 2015 00:15:54 +0000 (18:15 -0600)]
implement strange setting from FastWriter
Christopher Dunn [Sun, 25 Jan 2015 23:32:11 +0000 (17:32 -0600)]
implement CommentStyle::None/indentation_==""
Christopher Dunn [Sun, 25 Jan 2015 22:01:59 +0000 (16:01 -0600)]
default \t indentation, All comments
Christopher Dunn [Sun, 25 Jan 2015 21:46:33 +0000 (15:46 -0600)]
incorporate 'proper newlines for comments' into new StreamWriter
Christopher Dunn [Sat, 24 Jan 2015 19:57:29 +0000 (13:57 -0600)]
clarify CommentStyle
Christopher Dunn [Sat, 24 Jan 2015 19:54:28 +0000 (13:54 -0600)]
drop StreamWriterBuilderFactory, for now
Christopher Dunn [Fri, 23 Jan 2015 20:49:17 +0000 (14:49 -0600)]
copy fixes from StyledStreamWriter
Christopher Dunn [Fri, 23 Jan 2015 20:39:57 +0000 (14:39 -0600)]
test BuiltStyledStreamWriter too
Christopher Dunn [Fri, 23 Jan 2015 14:38:32 +0000 (08:38 -0600)]
const stuff
Christopher Dunn [Fri, 23 Jan 2015 13:51:40 +0000 (07:51 -0600)]
non-const write
Christopher Dunn [Fri, 23 Jan 2015 13:33:01 +0000 (07:33 -0600)]
copied impl of StyledStreamWriter
Christopher Dunn [Fri, 23 Jan 2015 13:11:06 +0000 (07:11 -0600)]
fix comment
Christopher Dunn [Thu, 22 Jan 2015 22:10:10 +0000 (16:10 -0600)]
use new BuiltStyledStreamWriter in operator<<()
Christopher Dunn [Thu, 22 Jan 2015 22:08:21 +0000 (16:08 -0600)]
setIndentation()
Christopher Dunn [Thu, 22 Jan 2015 21:25:30 +0000 (15:25 -0600)]
StreamWriter::Builder
Christopher Dunn [Thu, 22 Jan 2015 20:31:32 +0000 (14:31 -0600)]
StreamWriter
Christopher Dunn [Sun, 25 Jan 2015 18:19:30 +0000 (12:19 -0600)]
update docs
Christopher Dunn [Sun, 25 Jan 2015 21:49:02 +0000 (15:49 -0600)]
add back space before trailing comment
Christopher Dunn [Sun, 25 Jan 2015 21:10:38 +0000 (15:10 -0600)]
Merge pull request #144 from cdunn2001/proper-comment-lfs
proper newlines for comments
This alters `StyledStreamWriter`, but not `StyledWriter`.
Christopher Dunn [Sun, 25 Jan 2015 19:25:58 +0000 (13:25 -0600)]
proper newlines for comments
The logic is still messy, but it seems to work.
Christopher Dunn [Sun, 25 Jan 2015 20:35:24 +0000 (14:35 -0600)]
Merge pull request #143 from cdunn2001/rm-trailing-newlines
rm trailing newlines for *all* comments
Christopher Dunn [Sun, 25 Jan 2015 20:16:13 +0000 (14:16 -0600)]
rm trailing newlines for *all* comments
This will make it easier to fix newlines consistently.
Christopher Dunn [Sun, 25 Jan 2015 17:37:02 +0000 (11:37 -0600)]
Merge pull request #141 from cdunn2001/set-comment
Fix a border case which causes Value::CommentInfo::setComment() to crash
datadiode [Sun, 25 Jan 2015 10:01:22 +0000 (11:01 +0100)]
Fix a border case which causes Value::CommentInfo::setComment() to crash
re: pull #140
Christopher Dunn [Sun, 25 Jan 2015 16:34:49 +0000 (10:34 -0600)]
TravisCI gcc-4.6 does not yet support -Wpedantic
Christopher Dunn [Sat, 24 Jan 2015 22:24:12 +0000 (16:24 -0600)]
Merge pull request #139 from cdunn2001/some-python-changes
Some python changes.
* Better messaging.
* Make `doxybuild.py` work with python3.4
Christopher Dunn [Sat, 24 Jan 2015 21:43:23 +0000 (15:43 -0600)]
README.md
Christopher Dunn [Sat, 24 Jan 2015 22:20:25 +0000 (16:20 -0600)]
make doxybuild.py work with python3.4
Florian Meier [Sat, 24 Jan 2015 21:48:38 +0000 (15:48 -0600)]
Doxybuild: Error message if doxygen not found
This patch introduces a better error message.
See discussion at pull #129.
Christopher Dunn [Sat, 24 Jan 2015 21:54:08 +0000 (15:54 -0600)]
update doxbuild.py
Christopher Dunn [Sat, 24 Jan 2015 21:44:51 +0000 (15:44 -0600)]
update TarFile usage
Christopher Dunn [Sat, 24 Jan 2015 21:29:52 +0000 (15:29 -0600)]
rm extra whitespace in python, per PEP8
Christopher Dunn [Sat, 24 Jan 2015 20:34:54 +0000 (14:34 -0600)]
fix issue #90
We are static-casting to U, so we really have no reason to use
references.
However, if this comes up again, try applying -ffloat-store to
the target executable, per
https://github.com/open-source-parsers/jsoncpp/issues/90
Christopher Dunn [Sat, 24 Jan 2015 19:42:37 +0000 (13:42 -0600)]
fix gcc warnings
Christopher Dunn [Fri, 23 Jan 2015 20:51:31 +0000 (14:51 -0600)]
Merge pull request #138 from cdunn2001/fix-103
Fix #103.
Christopher Dunn [Fri, 23 Jan 2015 18:46:10 +0000 (12:46 -0600)]
fix test_comment_00 for #103
Christopher Dunn [Fri, 23 Jan 2015 18:03:41 +0000 (12:03 -0600)]
add test_comment_00
one-element array with comment, for issue #103
Christopher Dunn [Fri, 23 Jan 2015 20:24:52 +0000 (14:24 -0600)]
Merge pull request #137 from cdunn2001/avoid-extra-newline
Avoid extra newline
Christopher Dunn [Fri, 23 Jan 2015 20:22:41 +0000 (14:22 -0600)]
1.4.0 <- 1.3.0
Minor version bump, but we will wait for a few more commits this time
before tagging the release.
Christopher Dunn [Fri, 23 Jan 2015 19:09:43 +0000 (13:09 -0600)]
avoid extra newlines in StyledStreamWriter
Add indented_ as a bitfield. (Verified that sizeof(StyledStreamWriter)
remains 96 for binary compatibility. But the new symbol requires a minor
version-bump.)
Christopher Dunn [Fri, 23 Jan 2015 19:55:45 +0000 (13:55 -0600)]
Merge pull request #136 from cdunn2001/test-both-styled-writers
Test both styled writers
Not only does this now test StyledStreamWriter the same way as StyledWriter, but it also makes the former work more like the latter, indenting separate lines of a comment before a value. Might break some user tests (as `operator<<()` uses `StyledStreamWriter`) but basically a harmless improvement.
All tests pass.