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
Merge take two #292
Merge take two #292
Commits on Oct 25, 2012
-
Used realToFrac instead of toRational . fromRational.
Clark Gaebel committedOct 25, 2012
Commits on Oct 28, 2012
Commits on Nov 16, 2012
Commits on Nov 20, 2012
-
-
Merge pull request haskell#89 from wowus/master
Added an instance for the 'Fixed' class.
-
Merge pull request haskell#64 from mike-burns/iso-8601
parseJSON for the variations on ISO-8601 dates as listed in ECMA-262.
-
-
-
Merge pull request haskell#90 from basvandijk/with
Add functions for inspecting Values
-
Merge pull request haskell#69 from basvandijk/eitherDecode
Added eitherDecode and eitherDecode'
-
Merge pull request haskell#91 from chrisdone/master
Add elaborate guide to Data.Aeson's Haddock documentation
-
Commits on Nov 30, 2012
-
Improve introductionary documentation
De-emphasize working directly with the Value type as this is not the common (or recommended) way to use the library, but still include documentation on how to use it when it's called for. Since the documentation on using generics is documented in the FromJSON and ToJSON classes, refer to that documentation instead of only documenting one method (which is not the preferred method anymore with default signatures I believe).
Commits on Dec 7, 2012
-
-
-
-
-
Merge pull request haskell#96 from tibbe/docs
Improve introductionary documentation
Commits on Dec 8, 2012
Commits on Dec 13, 2012
Commits on Dec 14, 2012
Commits on Dec 21, 2012
Commits on Jan 1, 2013
Commits on Jan 2, 2013
-
-
Merge pull request haskell#97 from basvandijk/th-encoding
Add support for specifying how to encode datatypes in Data.Aeson.TH
-
-
Commits on Jan 15, 2013
-
Merge pull request haskell#102 from nikita-volkov/master
Fix the Maybe being treated as ADT in Generics bug
-
Commits on Jan 18, 2013
Commits on Jan 30, 2013
Commits on Jan 31, 2013
Commits on Feb 1, 2013
Commits on Feb 4, 2013
Commits on Feb 5, 2013
Commits on Feb 19, 2013
Commits on Apr 2, 2013
-
Merge pull request haskell#110 from pheaver/topic/graceful-utf8-decode
detect invalid UTF-8 encoding in JSON strings, throw appropriate error
Commits on Apr 7, 2013
Commits on Apr 11, 2013
Commits on Apr 19, 2013
-
-
Merge pull request haskell#115 from cliffordbeshers/master
Tiny documentation patch, resolving small ambiguity.
-
-
-
-
-
Added the genericToJSON and genericParseJSON functions
This makes it easier to parameterize the generic JSON encoding/decoding since users now don't need to import GHC.Generics and so don't need to depend on ghc-prim.
-
Change default encoding options to include Nothing fields by default
I think this is a more sensible default.
-
Commits on Apr 20, 2013
Commits on Apr 21, 2013
-
Refactored Data.Aeson.Types.Generic
- Better naming - Clearer sectioning - Some documentation - Some implementation changes
-
-
Commits on Apr 22, 2013
-
The module is deprecated for the following reasons: - It has issues: haskell#75, haskell#84, haskell#101, haskell#107. - It's slow compared to GHC Generics and very, very, very slow compared to TH. See some recent benchmark results in haskell#116. - The encoding/decoding can't currently be configured using the encoding Options. - Related to the previous point: GHC Generics and TH use compatible encoders/decoders (if the same Options have been used). Data.Aeson.Generic does things slightly differently. - The original author is not around to work on it.
-
-
Renamed valueFieldName to contentsFieldName
This reflects its purpose more accurately.
-
Rename constructor name/type to constructor tag which is more accurate.
- Rename "constructorNameModifier" to "constructorTagModifier". - Rename "ObjectWithType" to "TaggedObject". - Rename "typeFieldName" to "tagFieldName". - Rename "defaultObjectWithType" to "defaultTaggedObject".
-
Commits on Apr 23, 2013
-
-
Firewall off tests for deprecated features
--HG-- rename : tests/Properties.hs => tests/Properties/Deprecated.hs
-
Commits on Apr 30, 2013
Commits on Jun 20, 2013
-
Added default time format that wasn't tried when parsing.
--HG-- extra : rebase_source : f086f5fb8c5249ec8c204d12d2856a79b40ebe5c
Commits on Jul 9, 2013
-
Add jsonEOF, jsonEOF', and make the decode* functions use jsonEOF rat…
…her than json parser
Commits on Jul 24, 2013
-
Fixed typos. ('-' and 'Coord')
* Is there supposed to be a "-" after Show? I had to remove it in order to compile my example. * Clearly "Coord" is from one of the example applications and got missed in a copy-paste. It should be an instance for Person.
Commits on Aug 10, 2013
Commits on Sep 4, 2013
-
-
Merge pull request haskell#130 from Peaker/master
Fix lazy I/O leak and trailing garbage ignore bug in decode functions
-
-
-
-
Get the test suite working with GHC 7.0 again
--HG-- extra : rebase_source : 0fb1957085dc6026442518a0b76401b4b467e055 extra : amend_source : 762f5cacca19cff3b35a8b2f8945d3581a828910
-
-
-
-
-
Commits on Sep 15, 2013
-
Use the Builder from bytestring >= 0.10
Allow building with blaze-builder and older versions of bytestring if the blaze-builder flag is specified.
Commits on Sep 17, 2013
-
Merge pull request haskell#143 from basvandijk/bytestring-0.10
Use the Builder from bytestring >= 0.10
Commits on Sep 18, 2013
Commits on Sep 22, 2013
-
Provide
{To,From}JSON
instances for {5,6,7}-tuplesProviding this instances is motived by the Haskell Report suggesting that libraries ought to support tuples up to a size of 7 (see http://www.haskell.org/onlinereport/basic.html#basic-tuples): > The Prelude and libraries define tuple functions such as zip for > tuples up to a size of 7. This fixes haskell#144
Commits on Sep 25, 2013
Commits on Sep 27, 2013
-
Drop even more ByteString related instances
This follows up on 9ee73f3 by removing some more ByteString related instances as suggested by @basvandijk in haskell#126.
Commits on Oct 13, 2013
-
Added FromJSON and ToJSON instances for Data.Tree.
The instances reuse the instance code for tuples.
Daniel Diaz committedOct 13, 2013 -
Adding functions to TH to make CamelCase to under_score easier.
I have noticed in multiple places around hackage that people add these kinds of functions to get their JSON formatted keys (often underscore_formatted_strings) out of Haskell's CamelCase data properties (often withLongStringsOfCAPITALS). I have also added to the .gitignore those files generated by the new cabal 1.18 'sandbox' feature. I have a few outstanding questions: 1) Should these functions live in another module with an isomorphic inverse function, like `underscoreToCamel`? Like Aeson.Properties? 2) I am at something of a loss as to how to integrate testing into the suite. I've tested the out at the REPL, but what steps should be taken to integrate these into QuickCheck?
Gabe McArthur committedOct 13, 2013
Commits on Oct 14, 2013
-
Try to fix stupid clang cpp incompatibility (haskellgh-154)
--HG-- extra : rebase_source : 4d92fc2b96527581ecba1a9d09e93a2c6ae31682 extra : amend_source : f2b002e759d692bc9bca962484123a7857ebbb02
-
-
-
-
Merge pull request haskell#153 from danidiaz/master
Added FromJSON and ToJSON instances for Data.Tree.
-
Separate class definitions from instances
--HG-- rename : Data/Aeson/Types/Class.hs => Data/Aeson/Types/Instances.hs
Commits on Oct 22, 2013
-
Replace Number with Scientific
Scientific numbers are floating-point numbers with arbitrary precision that are fast to parse and can be efficiently converted to/from Fractional numbers like Doubles.
-
-
Commits on Oct 23, 2013
Commits on Oct 26, 2013
-
Per @basvandijk, I've moved all of the logic into a camelTo function.
Gabe McArthur committedOct 26, 2013
Commits on Oct 27, 2013
-
Gabe McArthur committed
Oct 27, 2013 -
Adding tests for the camlCase operation.
Gabe McArthur committedOct 27, 2013
Commits on Oct 29, 2013
-
Merge pull request haskell#156 from basvandijk/scientific
Change Number to Scientific
-
--HG-- rename : Data/Aeson/Types/Class.hs => Data/Aeson/Types/Instances.hs
Commits on Nov 5, 2013
-
-
Encode RealFloat numbers using Scientific.fromFloatDigits
The previous code used realToFrac (fromRation . toRational) which approximates a floating point value. For example: > toRational (1.2::Double) 5404319552844595 % 4503599627370496 If you encode this Rational number to a Scientific number and render it you get: > encode (1.2::Double) "1.1999999999999999555910790149937383830547332763671875" Using Scientific.fromFloatDigits you get the expected: > encode (1.2::Double) "1.2"
-
-
-
Commits on Nov 18, 2013
Commits on Nov 19, 2013
-
Merge pull request haskell#162 from basvandijk/master
Encode RealFloat numbers using Scientific.fromFloatDigits
-
-
-
Commits on Nov 20, 2013
Commits on Nov 22, 2013
-
-
Rename release notes to changelog, for Hackage compat
--HG-- rename : release-notes.markdown => changelog
Commits on Nov 23, 2013
Commits on Nov 25, 2013
Commits on Nov 26, 2013
-
-
Rewrite arrayValues to be less combinator-driven
This gives us about a 20% performance increase when parsing an array-heavy input, such as json-data/geometry.json (haskellgh-134).
-
-
Rework objectValues to use commaSeparated
This gives us a further 10% performance improvement when parsing object-heavy inputs, e.g. json-data/twitter100.json (haskellgh-134).
-
Commits on Nov 27, 2013
-
-
Check for empty array/object values (oops!)
Well, that was embarrassing - my rewrite wasn't quite as clever as I thought! This fix drops peak throughput, but it's still better than it was.
-
Use symbolic constants more widely, for readability
--HG-- extra : amend_source : ca3adc7f8e317f8db73170b08bc145247fa752ec
-
Switch to a peek-driven version of value
This drops use of the (<|>) combinator, and greatly reduces the extent to which we allocate unused thunks. As a result, it improves both runtime and heap usage significantly. --HG-- extra : rebase_source : 62bc8759400db5a2bc644f5da3fe19c0d10d5d96
-
-
If we've already peeked at a byte, we don't need to check its value a second time.
Commits on Nov 29, 2013
-
Merge branch 'master' of https://github.com/bos/aeson
Conflicts: Data/Aeson/Types/Internal.hs
Commits on Dec 1, 2013
Commits on Dec 4, 2013
Commits on Jan 2, 2014
-
Merge pull request haskell#168 from mkscrg/decodeStrict-fix
Fix "incomplete input" from decodeStrictWith
-
-
Merge pull request haskell#169 from maxpow4h/master
Added data instance to Value
-
Merge pull request haskell#155 from gabemc/master
Adding functions to TH to make CamelCase to under_score easier.
Commits on Jan 3, 2014
-
Use fast 'encodeUtf8BuilderEscaped' if possible
- only use it when compiling against bytestring >= 0.10.4.0 - speed improvement over bytestring-via-text encoding: factor 1.5 - 1.6 for japanase and english JSON messages factor 2 for integer encoding - equal speed for encoding floats
Commits on Jan 6, 2014
-
Fix JSON instance for UTCTime to yield a valid ISO8601 string
The value truncated to milliseconds by rounding down
Lars Kuhtz committedJan 6, 2014
Commits on Jan 8, 2014
-
-
Merge pull request haskell#172 from meiersi/feat-encode-via-bytestrin…
…g-builder Feat encode via bytestring builder
-
Commits on Jan 9, 2014
-
Fix benchmark build with older bytestring
--HG-- extra : amend_source : c1a49357128d6784becacab023c114fceee98abf
-
-
-
-
Update perf numbers for the previous versions of the various libs
I want to be able to use this as a baseline to see how the new versions of the libraries fare. --HG-- extra : amend_source : 166f845a7d1d42ee33c646f6fa7034d853eefe60
-
This clearly shows that on this dataset, decoding is about 33% faster than the previous release, while encoding is about twice as fast. Nice!
-
-
Commits on Jan 11, 2014
-
Fix cabal-install for GHC 7.8; better support for GHC < 7.8
Proposed fix for haskell#177. This does have the downside that it would immediately require text-1.1, which might cause for some people committed to older versions of the Haskell Platform.
Commits on Feb 4, 2014
-
Relax dependency on attoparsec
This allows us to work with the version of the Haskell Platform that is current as of early 2014.
-
-
Commits on Feb 5, 2014
-
depends on unordered-containers 0.2.3.0 for HashMap Data instance
Data instance for HashMap, which only seems to appear in 0.2.3.0, but aeson's current dependency is only on 0.1.3.0. Data instance for HashMap
Commits on Feb 6, 2014
Commits on Mar 4, 2014
-
Merge pull request haskell#183 from codygman/master
depends on unordered-containers 0.2.3.0 for HashMap Data instance
Commits on Mar 5, 2014
Commits on Mar 10, 2014
-
Pred now is just an alias of Type. See GHC Trac #7021.
Commits on Mar 11, 2014
Commits on Mar 23, 2014
Commits on Apr 11, 2014
Commits on Apr 25, 2014
-
This means that dependency solver's job is easier (it doesn't need to consider the opposite flag setting) and it means that cabal cannot automatically switch these flags (which I don't think happened in the past, but it's theoretically possible).
Commits on Apr 29, 2014
Commits on Apr 30, 2014
-
Parse a number using the new scientific parser
The old rational parser applied realToFrac (fromRational . toRational) to the Scientific number to construct a new Scientific number. This had the disadvantage that scientific numbers with big exponents like 1e1000000000 are converted from (Scientific 1 1000000000) to (Scientific (1*10^1000000000) 0). If the Integer coefficient of the latter is later evaluated it will allocate all memory. This is the first step needed to fix haskell#198.
-
Fix haskell#198 for Integral types. Fractional types are still unsafe!
Integral types can now be parsed safely (bounded space usage). Parsing fractional types (Float and Double) still allows an attacker to fill up the memory of the target system by supplying a number with a large exponent. Fixing this is on my TODO list.
-
-
-
-
-
Commits on May 2, 2014
-
Data.Aeson.Types.Instances: fix UTCTime for years outside of [0, 9999]
∙ "take 23" is a dubious way to truncate to millisecond accuracy. ∙ instance ToJSON ZonedTime had it right, so copypasta from it.
Commits on May 12, 2014
-
scientific-0.3 exports the Text and ByteString Scientific Builders from the following modules respectively: - Data.Text.Lazy.Builder.Scientific - Data.ByteString.Builder.Scientific
-
scientific-0.3.1 exports the Text and ByteString Scientific Builders from the following modules respectively: - Data.Text.Lazy.Builder.Scientific - Data.ByteString.Builder.Scientific --HG-- extra : rebase_source : ba52e4d4efebc4d8b28a83f100ede322c2cc85dd extra : histedit_source : 24672de0b23f74e2ddf9b17f054444fa542bed17
-
Use floor on Scientifics again
scientific-0.3 provides a DoS safe floor.
-
Use floor on Scientifics again
scientific-0.3 provides a DoS safe floor. --HG-- extra : rebase_source : 01c184cd9999662e8a73b5819d498fae979c3723 extra : histedit_source : 810ed4934aa7f76f0fe7b63449609ceeba89025b
Commits on May 13, 2014
-
-
Use Scientific.fromRealFloat and Scientific.toRealFloat
--HG-- extra : rebase_source : e4f41aa4600e3623a6a0ac72b29fe644f49c5f52 extra : histedit_source : 18d65f0d3fa236b43343cb25349d6778384dd2f4
-
Renamed fromRealFloat back to fromFloatDigits
I think the latter is more descriptive.
-
Renamed fromRealFloat back to fromFloatDigits
I think the latter is more descriptive. --HG-- extra : rebase_source : ccbcb71c7b8901da4d510f586c02ec5e9c411143 extra : histedit_source : 6db4361fc35e24c7649d96316cd3d4f9170e3a6b
-
Use Scientific.toRealFloat instead of realToFrac in scientificToNumber
--HG-- extra : rebase_source : f50acab7fd39d3e6ef22aeb91394b8bb73c238bb extra : histedit_source : 504f28b4100ae2197e85c19fc1b14cab1ea72a51
-
-
Add warning about space-usage on the Fixed instance
--HG-- extra : rebase_source : 625058aecd476ec8f0140965e04787974ad21b70 extra : histedit_source : 13c9b34b80a918675cffa1311881b00b9e3511d5
-
-
Commits on May 14, 2014
Commits on May 15, 2014
-
-
-
-
-
Constrain the bounds on attoparsec and scientific
--HG-- extra : amend_source : d48e612e53488f41b0d6f2ceb4395978b48d411d
-
--HG-- extra : amend_source : aa3ad961a2c62e2948ee0e213615c01ac002b42c
-
Commits on May 16, 2014
Commits on May 17, 2014
Commits on Jun 17, 2014
-
Test the version of template haskell, not GHC
This is more portable between compilers as well as between variants on GHC (ex: HaLVM is building off of head so GHC appears as 7.8.3 while TH is 2.10).
Commits on Jul 2, 2014
-
Merge pull request haskell#200 from liyang/master
Data.Aeson.Types.Instances: fix UTCTime for years outside of [0, 9999]
-
Merge pull request haskell#199 from ret/patch-1
Modernizing the TH example.
-
Merge pull request haskell#204 from tekul/master
Export 'camelTo' function and fix its tests