Files
json/docs/mkdocs/scripts/figures/data/perf_timeline.csv
T
Niels Lohmann c321ee0d2a docs: measure the 3.13.0 post against develop with all open pull requests
The baseline is now develop 9c349b1d7c with every open non-draft pull
request merged, including #5968, #5970, #5971, #5975, #5976, #5978,
#5979, #5980, #5981 and #5982. The suite was rerun on 11-01 with every
step repeated when the load rose above 5 while it ran; the comparison
with other libraries and the held-out files were rerun on 10-31.

- suite: 3.0x geometric mean (median 2.9x); Appendix B, the overview
  and the distribution regenerated
- timeline endpoint, Appendix D and the cliffs figure updated
- the held-out figure compares json_document with the fastest other
  library
- new paragraphs for the pull requests listed above

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-11-01 13:48:18 +01:00

71 KiB

1indexcommitdateprsubjectparse_twitterparse_citmparse_canadaparse_citm_compactparse_twitter_ifstreamaccept_twitterdump_twitterdump_citmdump_canadadump4_citmfrom_cbor_twitterto_cbor_twittercopy_destroy_citmequal_citmview_parse_twitterview_parse_citmview_parse_canada
2055f93686c02025-04-11Merge branch 'release/3.12.0'3571.4878219.60917049.0734366.7923846.0062394.2131441.2131375.4467510.9891917.8093463.281695.5241643.3271956.891
311705bfe9142025-04-114727:bookmark: set version to 3.12.0 (#4727)3589.3318245.42217079.2504422.7113894.7872397.5971440.5461377.7457514.6981922.3713498.997695.5591655.2401967.301
424cca3b9cb22025-04-134738Fix warning and add emscripten CI step (#4738)3559.6578195.10517066.2914373.0113794.2692388.9001419.1821355.7247420.7031912.0383468.667664.2141631.6101939.475
5396c1b52f1c2025-04-154742Fix conversion to std::optional (#4742)3573.8388157.27616993.2084383.6563858.9272395.0921438.1691372.2087497.7761925.4813482.185667.8951633.6191946.687
6488c92e605c2025-04-164744Fix compilation failure and warnings with NVHPC (#4744)3563.1498039.91116922.7394381.9273768.5602385.0861407.5641345.5787370.0631897.4743462.010662.9551623.2861925.804
75c67d5382742025-04-174749Fix C4702 warning and extend MSVC CI job (#4749)3585.4228251.05717050.4484400.5423896.5862390.6551440.3911371.7227453.4741921.2773478.523667.9111636.2061939.531
86756ca22ec52025-04-234736Provide fallback for missing `char8_t` support (#4736)3559.1468139.70317085.1144387.6583856.7452392.8491424.9971370.5997477.5371907.6613484.427665.5411634.1561957.401
976b9199382b2025-04-274763Add missing header (#4763)3541.3238077.76117011.6364359.1833842.3802396.6861421.1161363.7377431.3751902.9093474.250664.4421625.6441934.732
1083b02afb9d92025-04-284760Specialize char_traits for std::byte to fix from_msgpack (fixes #4756) (#4760)3583.0708198.14617134.6984381.7433899.8722409.1851440.2331380.8107504.8381921.7813500.125666.0781657.2071966.036
119eef76c200e2025-04-284764Make library work with C++20 modules (#4764)3528.5298080.45816936.6564330.5703764.2872363.8481407.8511358.0797356.2391897.4233455.287665.1941632.2551937.675
1210dff2b4756c2025-04-294765fix: BJData size calculation overflow (#4765)3553.7068141.37517047.5114360.1443797.0702389.7561417.7371364.7187454.3131921.9623479.878666.4561644.7601944.696
13119110918cf82025-05-044748Fix typos (#4748)3563.6828176.42717239.3544398.0553891.6692399.7821441.6691387.1337516.0731925.3233483.271669.3481647.7601957.747
141246e7cd3dc22025-05-164775Replace deprecated std::is_trivial in C++26 (#4775)3565.2428195.39617135.6464373.4793851.6042392.2581418.4251370.9587464.8541909.8443485.046665.6061643.1551952.329
1513828c8914272025-05-164786Extend type_name() to invalid type (#4786)3549.5738103.76117066.1984359.9113804.8492389.1211428.5841366.4057424.8381914.4343452.497667.4521632.7501928.324
16144b17f90f652025-05-224609Add `ignore_trailing_commas` option (#4609)3544.6628132.05216997.3754344.5923825.7652382.7551408.4351367.4687460.4481924.5223434.062733.0891631.3561891.572
1715b19f0584652025-06-014802Encode infinity and NaN as float for MsgPack and CBOR (#4802)3550.0208126.43817350.8854327.5963825.4192389.3561409.4221376.6497363.8021921.2263441.081683.1901624.1441886.388
1816cf16c5ab9f2025-06-024805Use binary_t::value_type (#4805)3551.7358143.52117153.2914309.4773829.2292387.6401428.5501385.5857415.2711932.3473425.838657.7351631.5861888.954
1917d70e46bc652025-06-254830:bug: add missing header to input_adapters.hpp (#4830)3546.4488157.46917062.3644335.3003805.2212382.7961422.8631382.5817411.4011928.6763433.190691.8421632.9721892.453
201830d27df61c2025-07-314871Fix CI (#4871)3570.0158150.85917070.6254330.0783806.5052400.3291434.9471381.0657425.7181931.5563429.632656.5451633.5151892.916
2119efcf9efb4f2025-08-024873Fixes #4854 Explicitly handle nullptr in sax_parse (#4873)3520.3818050.71916883.0424331.8203861.9062368.0691408.4351375.9547363.6511898.4663432.992653.9881634.1411894.948
22204106af8d922025-08-204896:rotating_light: suppress cppcoreguidelines-c-copy-assignment-signature,misc-unconventional-assign-operator (#4896)3540.5998175.26517010.4384345.1823866.8332393.9351435.1001389.4967453.7241945.7913433.169657.4461638.4341900.360
2321a63795caf12025-10-224791:rotating_light: avoid deprecation warning (#4791)3550.0578174.64616983.1774363.5213888.3362393.3051423.4341376.3347469.4071936.0133447.279666.7061645.3541903.707
24221cc56b2dcd2025-10-234957Address CWG issue 2521 (#4957)3557.3968119.65117072.7304351.8813834.7392386.0971442.1001393.2457474.4631932.3153446.883660.1871638.9831896.000
252354be9b04f02025-10-234960:page_facing_up: update REUSE (#4960)3554.6258098.28717115.2194324.5783809.9502390.7911424.4881376.7157422.8281913.2083424.693659.0301623.4051892.756
262429913ca7602025-10-254963Add char8_t* overload for _json and _json_pointer (#4963)3544.8998169.20317007.8444353.5943797.6302392.1081423.0321375.2167349.7871909.8973428.771655.6251635.2731891.018
2725515d994acb2026-01-015044:page_facing_up: adjust year (#5044)3524.6108059.52116949.4164313.5083773.7502364.7421410.4271372.9887382.4381915.5023403.159643.9681618.9721884.213
28268f757001412026-01-114958support types convertible to string_view as JSON keys (#4958)3546.7578142.59917103.3864327.7393825.9902388.5401420.5151379.3097413.0621924.5403433.677658.2661628.0791890.759
2927457bc283ff2026-01-125039fix(cbor): reject overflowing negative integers (#5039)3508.8838077.29116930.0114305.9823785.6982378.6931425.5261366.1117407.0421929.1423478.909657.7221636.3041944.681
3028e3014f162a2026-01-135052Fix conversion to std::optional (#5052)3547.9958140.05217010.0314321.9143797.8072385.8561430.4141386.2027407.2601930.4033462.213657.8291629.5791932.066
31295ed07097fa2026-01-135050Fix -Wtautological-constant-out-of-range-compare in serializer (#5050)3544.1368180.20817033.2094339.5913799.7792391.9401427.8701387.8717368.7651922.3213454.938659.3671630.7071959.722
323025f48639c72026-01-235016Reference tuple from json (#5016)3563.1808209.03717030.9694388.6753895.0862392.0881430.6661393.8537528.5671934.3473481.351677.2341645.4181957.591
3331f8eee1bb792026-02-075071Annotate unreachable comment-scanner switch paths to satisfy C26819 (#5071)3508.0008128.75016958.9594315.2353797.2372371.9631425.1461374.8677453.3811930.2113456.508658.5681629.1881909.736
3432fd17b0889e2026-05-085139Remove nullptr safety check from sax_parse functions (#5139)3544.1018033.02116963.2924334.1023800.7362382.5831419.0501361.7457357.0731907.1533429.315657.0411618.8151937.829
353362f3b41b302026-05-085090fix: treat single-element brace-init as copy/move instead of wrapping in array (#5074) (#5090)3550.3238168.71317060.0314349.4173794.1102380.5831416.8221361.1827369.6511897.7173466.731659.2971631.4631941.905
36344fad4468972026-05-105162docs: add IDs to @requirement tags to fix Doxygen autolinking (#5162)3545.4408031.89117069.4484324.6983802.8622383.5131422.7681384.6027325.7761917.6063469.787659.0111631.2961940.370
3735a0a4e7cc0b2026-05-135152Add front methods to json_pointers (implements #4889) (#5152)3582.8988215.01017034.4484345.5153891.5132396.5721432.7331395.7147554.1191934.0083484.859659.2981642.3141957.356
383693e49decbd2026-05-145167Fix incomplete-type error in set_parents with ordered_json (#5167)3555.2248147.77117017.0734320.8463831.3182386.7501435.8401385.5787436.8641927.4833466.508658.4091632.7241939.528
39377192763f152026-05-145163Fix compile error when using nlohmann ordered_map with WITH_DEFAULT macros (#5163)3520.6758039.14516892.2914303.4483769.1982363.3371410.0301364.6797380.7971913.2853437.278660.1301630.7381943.235
40385a05627b1f2026-05-145169:rotating_light: fix warning (#5169)3600.5558160.85416979.0314324.0703887.8232389.1571430.9831387.1067509.9841912.6013473.713663.2791652.9821958.774
4139bb5404bb862026-05-155164Fix GCC C++20 modules compilation #5103 (#5164)3543.8238120.26617015.3954349.3003794.8802364.1781414.4081374.5487484.2181920.4953444.266699.3261626.2411954.688
4240b1bb9fce0c2026-05-153929Fix for printing long doubles bug in dump_float (#3929)3549.3788089.89116934.9274313.3103824.8022386.9581412.1641385.4257417.8691930.5133461.151651.5571618.7351944.450
4341cba5dc0ed82026-05-164563New macros for the named JSON convertor generation (#4563)3544.6578168.18216990.8864327.6883806.9632370.9751421.6291390.2067454.1511919.2843452.456677.4131623.6221941.921
444247202c804a2026-05-185171Add missing overload to ordered_map::find (#5171)3527.5428168.31217141.9894409.4563887.3782397.0071428.7651387.0337495.6041935.7103485.088660.1551648.9771951.430
454358cfecf7f72026-05-185151Serialize enum (#5151)3521.3028100.10416805.4894288.4633763.9712381.4941408.7131383.0597328.2611915.2023440.372648.7261617.6611922.608
4644584e6b1cfb2026-05-225187Fix: update() parent pointers not updated after recursive merge with JSON_DIAGNOSTICS (#5187)3550.6398083.46317055.1984326.8333804.2572381.5191432.0391381.9867377.8441915.1593460.750656.8731631.5271940.953
474502dfbea39d2026-06-175209added explicit instantiations of 'has_from_json' and 'has_to_json' for std_fs::path (#5209)3552.2098215.47417167.7604338.4043845.1442398.0261425.0121387.6297458.6141931.3883475.343658.1831644.3291958.324
4846fc1df0b7db2026-06-235172:recycle: remove unnecessary if (#5172)3562.0888175.53117044.0424336.5833863.6512404.6951425.8721389.4347523.8551914.1283481.000653.2591639.5151957.649
4947c5b2b26fdc2026-06-295217:memo: fix docs (#5217)3526.8258052.30717000.0114343.9633793.4122388.1941416.7061374.1777361.6461904.0083463.919658.3221627.7651921.887
5048b7566c62932026-06-305161Harden JSON_HAS_RANGES detection for incomplete C++20 ranges implementations (#5161)3538.9958071.78717120.7514318.7973772.4452384.0081421.4401385.2397419.2921898.9293431.466647.9481602.2581928.644
5149adf78d3a762026-06-305215Minor: unique_ptr template resolution workaround for MSVC (#5215)3550.3808138.02617036.8024366.0623842.4302389.5361426.6581385.6097428.7871915.2333467.188658.3321636.1581942.556
5250272411c5e62026-06-305218Overwork project infrastructure (#5218)3547.4878087.25016962.1984341.9693793.8312387.5091420.8881381.0727450.0781930.0033466.193659.6761631.3291943.043
5351730b57775d2026-07-015222:bug: avoid assertion in patch (#5222)3539.9128169.77117027.2294345.1513790.7532376.5521421.2631386.7177399.9851923.2373455.722653.6091630.9141934.028
5452ca49ab61232026-07-025223Extend value to arrays when using JSON pointers (#5223)3550.3418113.78716951.3134346.8053793.0972391.2241409.6951380.0757374.0731926.4013458.438659.3821629.3871941.306
55538d7e0046f42026-07-025224Add std::format and fmt support (#5224)3546.9358170.40616968.9274346.9063814.9562387.6121424.8611386.5427350.7651900.3763461.177662.4761633.8581930.434
565431dd15b2582026-07-025221Fix ambiguous static_cast (#5221)3551.9458213.00017131.2714373.6203845.7632393.0741438.6331385.7697471.1461927.8043486.568662.0151631.8101958.901
5755eed15870002026-07-055234Reconstruct lexer diagnostics lazily for seekable input (#120) (#5234)3145.9095311.09415381.8434292.9613851.2601966.8331422.5981365.4617443.2761920.4673467.060702.8321637.5871905.758
585683c87cb9e02026-07-055233Read binary strings/blobs in bulk chunks with a memcpy fast path (#5233)3141.8675259.48515454.9594326.6643797.1981987.6231406.4921372.7657424.7291899.7262363.895667.5021630.0971888.392
5957acf076a6772026-07-065238Fix ADL leak of nlohmann::detail through basic_json's default base class (#5238)3152.1535277.07315291.4074338.8283839.3311995.5241429.9601365.9177456.7761907.9282398.016670.2571627.5901897.997
6058c05c5e229b2026-07-075241Add missing copyright notices to SBOM (#5241)3147.4855268.86515319.5844321.8233796.9721981.1671432.6891371.2647465.4161918.0832388.154667.1191630.7451891.583
6159366f3d26e52026-07-085235Replace snprintf with a branch-free writer for \uXXXX escapes (#5235)3127.6415272.30215425.2394340.4593850.3571997.9571459.6031356.4617509.7031899.9162366.966668.3831624.9811889.145
6260f8e99e856c2026-07-095248Fix nvcc CUDA 12.0/12.1 C++20 ranges parse error (#3907) (#5248)3132.0995226.37515164.5104301.9013769.6511967.6471456.7591365.8107530.7241908.6352381.610683.8151616.6991879.795
6361855f511db42026-07-095250Fix stale Clang -Weverything suppression comments; drop -Wno-missing-noreturn (#5250)3126.7925208.33815352.5204293.5963800.5441969.4971458.6011329.8517372.8491876.4042368.894662.1731603.8811874.673
6462d0a43141ea2026-07-095253Fix #3868: Remove operator!= to enable P2468R2 rewritten candidate synthesis (#5253)3165.1825270.45815479.0314302.7293845.6461989.2311474.1351343.3127443.2821887.9092392.523670.3951634.8711894.474
6563b630f5e9c72026-07-105260Fix container input_adapter SFINAE for lvalue-only ADL begin/end (#5260)3128.1175263.80715375.6774330.5443819.9531982.1961454.0881339.0627364.6831877.6992361.482666.4861616.5141920.626
6664c60217e8012026-07-115205fix: support constructing json from C++20 range views (#4916) (#5205)3117.5395206.55215308.1664320.5133798.7131983.4581447.0721350.9507357.2131875.6322340.731662.9051633.3571934.261
6765fe2bcc080f2026-07-115266Custom BinaryType direct assignment (#5266)3174.5285284.56215383.6454328.1203895.0861996.9131478.4271355.5697512.1151899.2362398.490672.1181642.9101967.660
6866ca76c376502026-07-115265Add iterator+sentinel tests and docs for binary deserializers (#5265)3134.2655218.02115352.5214306.2843791.6121967.8241451.9531358.6857508.8281891.6972377.848665.4741631.4951934.907
6967c197feff812026-07-125268Extend memcpy fast path to sized sentinels (e.g. std::counted_iterator) (#5268)3116.2715207.14615415.7714272.4433815.8511984.9661451.1031341.0937328.0371865.3852383.169664.4941617.9671915.428
70681c5a953de52026-07-195276reject unpaired UTF-16 surrogates in wide-string input (#5276)3155.3605299.63115419.8124302.0893853.1041987.2591468.6531349.6657549.4321911.3652457.555680.3111653.2821955.673
71693565f402292026-07-205284reject negative UBJSON/BJData string length (#5284)3170.4565301.69815404.4164351.2263893.5941997.0341470.9071358.2457491.4801909.6012401.384671.2601639.8651963.899
72709a3ebb94562026-07-235287validate BSON document size against the bytes read (#5287)3157.6465264.06215305.2714338.6723839.6431987.1961461.3561351.6307444.7911890.6262398.503665.2621655.7981930.268
73718ec98e2c9e2026-07-275313adding cleanups to bson writer (#5313)3150.4485268.94815445.9274308.6123805.0051989.6431466.3481349.5917326.4531895.8422393.278708.1641644.0251946.652
74722e236870922026-07-285314to_bson() silently emits corrupt documents when a length exceeds INT32_MAX (#5314)3146.5345254.54715445.2504304.0083798.6201986.2601459.7351345.5347517.6511903.9962395.155674.3441644.5651952.682
7573868506dcc02026-07-305335Fix CBOR half-float assertion bounds (#5335)3167.0865267.06815397.9794351.0113883.1352003.3451468.9391360.4837455.2301909.0552406.305679.9421643.6461945.639
7674dd24e2dffd2026-07-305332check all BSON reads and add an EOF check for booleans (#5332)3138.3155284.83315399.1664310.5133847.6301980.6821464.1041344.1087445.1461901.5122400.532670.8501635.1961900.946
7775fd72ecfc8c2026-07-315301validate ndarray element types in write_bjdata_ndarray (#5301)3164.6625262.14115399.0104287.2713849.3181988.1861460.6881353.7677458.3801893.6692398.485668.4661644.0181921.615
7876bc489511282026-07-315323Fix UBJSON high-precision floating-point overflow handling (#5323)3155.6285289.86415474.3754324.2533888.9662015.0681477.8461354.6227480.7301905.5662415.428668.9971641.7761911.819
7977d94cbd99dc2026-07-315274reject CBOR array/map length equal to the indefinite-length marker (#5274)3144.0415272.19315466.9804338.7353848.8491999.2311459.1291358.1197507.3071901.8072394.972667.0161635.9601899.878
80782222d386c92026-07-315339fix: check CBOR tagged subtype reads (#5339)3095.7685137.79215064.1464258.9773755.2291965.9001454.8901338.0667399.0681883.6242358.193660.1901618.1721939.713
8179585929bff92026-08-035289Fix Clang deprecation warning for json_pointer operator== with ordered_json (#5289)3142.3415259.36015258.2714275.4793807.6721969.7041453.6881337.6337451.0371879.4472364.966661.5601635.6171945.709
82805f121d8c502026-08-035336avoid sign extension in char_traits<signed char>::to_int_type (#5336)3145.0005264.88015441.5214269.6323796.7811983.4971440.8101325.2327427.7501880.0472361.899663.7721621.5951912.378
838168f0722a192026-08-035342remove discarded array from parent object in end_array (#5342)3161.2735269.90715312.4694335.4333840.5101995.9651465.7451355.9347474.9011895.4832401.197657.3971634.7911901.902
8482dca9d49a332026-08-055348reject out-of-range code points in UTF-32 wide-string input (#5348)3119.7535210.97915209.2604273.9843799.0341995.2971459.4561342.9827431.6461891.4782370.364653.6181633.5851882.753
85839a091d2b822026-08-055362Do not write BJData ndarrays whose size overflows std::size_t (#5362)3137.3815257.31215286.0844308.5003805.3251995.1401468.1381354.7297510.0881893.0362384.577659.3941628.2601890.245
8684d5647e6a3b2026-08-055355Resolve the TODO(niels) in get_ubjson_string (#5355)3121.2785249.92715246.0114292.7373800.4901967.0871443.7621333.2267368.9531862.1312347.852644.6471623.9091889.958
8785bacdabd1762026-08-055361Fix start_pos() for strings containing escape sequences (#5361)3114.6535251.61915253.9074331.8183786.1561960.6761442.3881330.2477354.7241863.3062351.588650.7811623.5431886.671
88861c136a66c42026-08-065363Move the CBOR doc block to the function it describes (#5363)3124.2745209.61515411.8974293.3203812.1561982.8541457.6531345.6807422.3431884.8482387.050656.0761627.6201878.737
89876285225fd02026-08-125211Fix integer comparison bug (#5211)3159.5575291.32315395.3954329.8363867.2001989.4761456.0521359.7957526.8601879.6422396.137659.0771638.1761900.416
9088b5378e8deb2026-08-195331Fix CBOR tag handlers not recognizing tags 0-5 and 21-23 (#5331)3172.4765239.81215479.9174295.5393871.2892003.4391473.4471343.7427516.8751888.4122400.572645.5881641.6211886.531
91892f025f401e2026-08-255380Throw other_error.502 when UBJSON use_type is set without use_size (#5380)3155.8735190.31215144.4064286.3883793.8051968.1991442.2401340.9297373.6101860.5432370.570648.9061631.2071893.750
929035705d79d82026-08-285414Fix update(merge_objects=true) throwing on primitive-to-object merge (#5414)3169.0295252.57815387.2924340.6903893.6461979.6161472.2861361.5437491.3021903.9092401.404659.3961641.6971912.409
9391137a40b9aa2026-09-055459Compare integers with floats exactly instead of widening the integer (#5459)3134.2295259.34915404.5414300.1463846.6461992.1551467.9191351.7747467.1461887.2552391.467660.3471631.7351891.751
94923c875683a52026-09-055461Make diff() linear when an array shrinks (#5461)3141.0685259.00015271.1664319.6593797.0881983.4501455.3541354.6767444.8601891.6872389.333657.1631632.9981887.016
959309b6b6b5ba2026-09-055455Fix to_bjdata() emitting unparsable output when _ArraySize_ is not an array (#5455)3161.5425253.04715311.7184291.3883834.2641992.7441472.6851357.6807409.4791889.2872389.501698.6801628.2371888.705
9694faa35cc6472026-09-095484Skip integer conversion in accept()/SAX validation when the value is unused (#5484)3103.6545222.45315458.5734215.7653804.3201935.1611468.6601353.4997452.0521883.1912383.524654.4411631.7001885.664
97956d86cc0f6b2026-09-095490Speed up whitespace skipping in the lexer (#5490)3181.3285276.31815307.3124262.7713877.4011977.0621465.1961356.1197594.1771906.8142388.615684.9261636.9501893.526
9896c05347dd542026-09-095475Undefine the four JSON_HEDLEY_* macros that leak after including json.hpp (#5475)3147.9325156.62515347.9904217.5053871.8121982.8071458.7871354.9347639.3281879.8232370.342674.6251637.2571903.903
9997d6660cf7182026-09-095485Route hand-rolled diagnostic pragmas through Hedley (#5485)3116.1515215.53115257.4994189.9793835.0231974.1111459.3631342.9967553.8021887.6982379.999669.9341635.3501877.492
10098c9477ccf912026-09-095496Throw when JSON Patch remove's target path resolves through a primitive or null parent (#5496)3138.8415258.40115315.4174201.0083874.6821967.6301446.3931335.0607542.7081870.1112390.141668.4841634.1381886.981
101998c38e270b52026-09-095497Reject JSON Patch move when from is a proper prefix of path (#5497)3183.8205280.00015346.9694222.1643839.5961970.7531470.4281351.8387515.3441895.8092389.731673.6961633.2471889.546
102100a316738cfa2026-09-095471Add JSON_HEDLEY_WARN_UNUSED_RESULT to the current accept() overloads (#5471)3175.8915281.30215397.0624240.5763934.3331981.7651475.8901353.3877625.1041896.1812401.097669.7291646.1331895.638
103101c9f1d2d6462026-09-095477Broaden JSON_HEDLEY_WARN_UNUSED_RESULT coverage to pure query functions (#5477)3171.7065286.88015430.8444264.2423880.9431979.9901472.2891357.2837569.8541904.0262407.487671.6731641.5211889.053
1041028e26b9d4b32026-09-095495Make contains(json_pointer) return false instead of throwing on unrepresentable array-index tokens (#5495)3163.7895240.75515337.6984226.1543880.9561971.9121475.3221357.1257632.2811904.0602401.190678.8631638.3711903.385
105103b17c272f462026-09-095472Reserve capacity in from_json() object conversion when the target container supports it (#5472)3152.8995257.64515401.0004210.8463885.1231989.1591476.6371359.8517639.3961898.9812408.243670.0751633.5281894.086
1061043e2de322262026-09-105516Remove unused iomanip include (#5516)3141.3495253.65715364.0744203.9693847.6201968.4221455.0351352.7547582.4941882.0512371.814663.5041630.1721870.223
107105d69fb8654d2026-09-105501Return the parsed value by move from from_cbor() and friends (#5501)3133.4855231.66215309.9264183.2003835.6621971.1251462.4471349.5637479.1361904.2021595.991661.5191630.2781883.994
1081064a93aa4e2f2026-09-105283Speed up parsing of contiguous input (numbers, strings, UTF-8) (#5283)1963.8794221.30811609.5313278.4973857.880927.7791483.7261357.7937483.3431906.9161481.419676.4381643.7461895.551
109107bfb07786cd2026-09-105473Fix to_bjdata() silently truncating out-of-range _ArrayData_ elements (#5473)1941.8944204.97111726.6883264.0553808.784923.7971453.0711351.7607458.1251891.4701473.508662.1641633.0431888.548
110108ff80ed32952026-09-115285Speed up dump(), and keep it from overflowing the stack (#5285)1939.2894175.54111781.2913233.3023816.101914.071441.200540.4736895.041852.2141478.197656.6351632.6751885.303
111109da42a627dc2026-09-115449Stop dump() from heap-allocating its output adapter per call (#5449)1937.6584200.96611639.1983235.4933827.695909.901448.948537.0086909.036839.0271479.968659.2101643.6211878.065
1121101dc1d09fc62026-09-115457Do not search a container for the value the callback rejected (#5457)1937.4594140.07811576.8033271.8383845.193924.316450.148539.0316848.776844.6241470.333671.5631645.6241900.347
113111fae364db242026-09-115458Move the scanned string into the value instead of copying it (#5458)1986.1464110.78711757.1573150.9323830.550918.517442.629539.6066913.104843.9201417.037655.2591628.2241892.991
114112dd50f0eb162026-09-115502Stop CBOR indefinite-length strings from recursing per chunk (#5502)1987.8534033.18211613.8343116.3783841.164915.943442.366539.4806864.130836.4581431.035656.1461599.5741885.858
1151134bb2de8cc52026-09-115503Reject a nested BJData ndarray dimension vector where it is read (#5503)1981.2984086.27611569.2403141.5393829.870923.087444.038539.8636800.724835.4341429.637655.4481628.9991879.300
11611444f8ec30e92026-09-115504Bound UBJSON optimized arrays of a valueless type (#5504)2005.2654092.26511730.1983130.6353863.992925.033448.222542.3236893.078849.9011437.855662.1711638.3061896.324
1171150dd8ca90232026-09-115505Read MessagePack containers without recursing per nesting level (#5505)2019.9834105.30511862.9793142.5813891.601927.092447.942543.9366939.963845.6341442.889656.5781637.5121897.815
11811691ab3e81f52026-09-115506Read CBOR containers and tags without recursing per nesting level (#5506)1986.3344039.96111554.0943118.7613783.101912.504440.410534.8946831.943834.6611439.061655.2871615.6191869.912
119117a14619b3542026-09-115507Read UBJSON and BJData containers without recursing per nesting level (#5507)2011.9594095.86811782.6883135.2643873.604926.014447.638541.3046905.838846.0511468.512664.1611629.0831898.772
1201180452641c182026-09-115508Read BSON documents without recursing per nesting level (#5508)1974.1604043.88711662.9383095.0113832.744916.007439.914534.1496904.453835.6151450.792648.2981616.9171874.133
121119aa391dc0a52026-09-115520Fix two develop CI regressions: dump() nodiscard warning and binary-reader const-correctness (#5520)2003.0104068.01011771.3643137.2663825.247924.668442.416539.4786847.083841.9961460.659649.3781633.7381885.897
122120a50c2537eb2026-09-125476Reserve capped array capacity in json_sax_dom_parser::start_array() for definite-length binary arrays (#5476)1986.4884063.88311588.3333077.9953827.479908.419440.959539.1146806.177833.5551452.851662.4221627.9951915.388
123121c0b2878a442026-09-135493Swap diagnostic positions in basic_json::swap() (#5493)2010.8814081.05711734.7303130.9193882.258925.490450.092542.9536925.188848.4861480.051698.6361643.5081933.941
1241221da2f689922026-09-145522Only reserve array capacity if the array type supports it (#5522)1972.1224048.62211775.0623107.9383803.528909.385441.204535.8856793.927842.8431446.330658.7871619.2391899.164
1251236487678bc52026-09-155464Fix swap(array_t&)/swap(object_t&) to update parent pointers under JSON_DIAGNOSTICS (#5464)2023.0284116.16911737.4383165.1723893.266924.912448.959541.5296970.438852.0391483.231689.6311635.2401937.356
126124c72f37a40d2026-09-155443Support custom object/array types and improve template parameter handling (#5443)2001.6174076.54711666.5833109.7563918.206923.197450.592542.2666901.703846.5581468.284660.1161641.5861905.840
127125502e9d66f62026-09-165479Fix to_bjdata() emitting the Draft-3-only 'B' marker in default Draft-2 mode (#5479)1970.9354018.06011445.5003079.4093809.050910.459444.217539.2916851.407833.7551444.697698.0401626.6011889.024
128126c41152e6202026-09-165494Fall back to plain-object encoding when to_bjdata()'s _ArrayType_ annotation is not a string (#5494)1979.4814054.68811734.2923085.5423819.351916.992445.126539.8706853.005833.1901457.166665.3911629.5861888.734
129127e564136c222026-09-225465Make diff() account for member order in ordered_json objects (#5465)1970.5194063.74411605.1983087.4973848.867915.695447.051539.7116835.172841.4021452.004664.5601640.7511890.473
130128e4854411232026-09-225466Restore a duplicate key's prior value when the callback rejects its new value (#5466)2012.9204099.26511796.8953156.8183913.812931.464451.403541.4196981.041846.5361469.521704.1381633.3271905.709
131129a2b19d61582026-09-225467Honor allow_exceptions=false for excessive array/object size (out_of_range.408) (#5467)1996.4784084.42211734.2083129.0993850.854923.499446.555539.3796949.427842.0291453.166694.2001631.1331888.865
132130d2c1a6a2722026-09-225468Reject array insert(pos, first, last) iterators not pointing into an array (#5468)1983.7674066.65111618.6673128.5053848.427914.900447.603541.9736915.265844.3071458.762677.6991638.7891892.443
1331310b20b7e6222026-09-225469Reject MessagePack/BSON binary subtypes that don't fit their wire format (#5469)2010.5484097.47611681.2183121.0103866.146925.619448.533540.7866957.000843.3491463.518658.3021630.8571902.522
1341321054b2097e2026-09-235286Speed up binary writing: value-type output sink + byte-swap number encoding (#5286)1989.7394101.39312034.4383157.2403853.987910.115449.084555.9706884.386864.5261471.905656.6351661.8061926.233
135133ed513715a82026-09-245534Document that a NUL byte in the input is treated as end of input (#5534)2016.2364104.76311906.3233141.1383936.240916.611455.397562.0536987.917871.1101475.622657.8771676.9341936.557
13613456b3ee566c2026-09-245389Fix stack overflow when copying a deeply nested value (#5387) (#5389)1998.3564051.20611660.8653101.1073834.672910.072452.943544.4646908.974849.2121460.691638.6441650.7491914.423
137135918da646572026-09-245542Keep BJData ndarray annotations that would not survive a round trip as objects (#5542)2003.0094042.96911517.3753095.1223815.360908.444448.415539.4236911.041840.0441449.543671.5301651.7091908.408
1381368699de30642026-09-245555Stop allocating the BJData excluded-marker list per container (#5555)2001.7184071.33311686.4273122.0653796.757900.895447.123539.9186860.765844.7521444.435646.6081644.9431879.295
1391372e91641de22026-09-245544Test JSON_BRACE_INIT_COPY_SEMANTICS for real, and fix one-element tuples under it (#5544)2004.7854083.91411662.2703119.6023917.914922.465454.869547.6316987.234853.0101469.612649.9461672.2461913.098
1401387c90ec23232026-09-245546Hash deeply nested values without recursing per nesting level (#5546)1952.9124071.15911594.9273117.4973793.052900.729444.245539.7876854.406841.2641457.530643.1391638.5781890.482
1411394daca40d7b2026-09-245547Merge deeply nested objects without recursing per nesting level (#5547)2008.2264104.39911619.5423148.6043918.175921.207457.191547.5536942.265855.3521464.974651.9241665.2321915.869
14214001b53c8c152026-09-255552Keep JSON_DIAGNOSTICS parent pointers of ordered_json members after erase() and update() (#5552)1979.3544061.37811603.4803098.5863875.258919.125455.911546.2696940.026849.5111461.751648.8411660.9781917.254
143141abbe52d6de2026-09-255344Add JSON_PRECISE_STREAM_POSITION to leave the character that terminates a number in the stream (#5344)2001.1704081.61711653.5313131.3313876.208915.153453.436546.7206971.864848.9001463.182647.9461662.9431906.246
14414202dd3e67f22026-09-255390Fix stack overflow and exponential runtime when comparing nested values (#5390)1987.8614074.03911596.0003161.2843901.497919.541447.553543.9486910.162845.6681455.759664.2241652.0741930.575
145143465407f3ce2026-09-252818Improve error message for const fields (#2818)1975.2744118.56511863.4483130.5413880.764910.767452.904545.3636906.890843.1181459.728645.7701654.2651934.900
146144632a5812a82026-09-255272Support zero-member types in NLOHMANN_DEFINE_TYPE_* macros (#4041) (#5272)1963.3234021.52611747.9593102.0063784.896904.545444.355543.7486840.604841.4161438.306639.2231649.8161930.274
147145d19f7f5dce2026-09-255185Fix BSON conformance issue (#5185)1958.6064048.53611541.0113086.8053817.875900.452446.001544.0716824.323837.0781971.245641.2711651.2091934.647
148146c60a0bc3362026-09-255573Allocate the deep copy's key scratch space with the provided allocator (#5573)1965.2164021.45911630.8553074.0783807.258902.782444.394542.5626919.969840.9421975.668645.8271637.4291918.607
1491471e442620912026-09-255560Make JSON_STRICT_NUL_HANDLING part of the ABI tag (#5560)1961.8624069.61711594.0833117.5003817.758909.186448.820544.4206845.802844.0161977.909645.8641651.2691937.217
15014895e9a5931c2026-09-255553Write BSON in linear time, without recursing per nesting level (#5553)1965.8324033.39411589.3643120.4223792.091905.110446.984543.3286794.244844.9431991.659640.1881647.6751928.562
151149fe4a544c7e2026-09-275515handled when size exceed uint32 (#5515)1998.2444047.20811755.2093091.7763815.000908.733447.990546.2956903.084850.9461993.351645.4871654.3431933.385
1521504fa95d98102026-09-275583Remove unreachable branches from the binary writer (#5583)1983.3234038.33111666.4803092.8413844.935910.149449.697541.1106840.583830.6041979.750653.5421650.6701928.883
1531516178982b8d2026-09-275582Compare unordered objects by key below the nesting bound (#5582)1971.7064073.49811600.6463132.7003830.323910.231448.982538.8126836.770846.1492007.607657.1801653.0891934.675
154152f7972970a42026-09-275584Throw instead of writing MessagePack lengths beyond UINT32_MAX (#5584)1969.4174013.02111602.4473083.5523842.495904.223447.444542.1706862.735839.6282000.766655.0341653.0061939.922
1551536bd106893a2026-09-275559Fix CBOR tag handling in cbor_tag_handler_t::store for non-binary items (#5559)1969.2504034.69311691.5003119.1713827.860916.053455.026542.5776886.360839.7182012.919653.0311651.0901931.698
1561541e101ecac12026-09-272998Add BON8 support (#2998)1975.8044082.37511658.5423192.8283758.141907.029444.920556.4706844.698849.2761977.153649.1811645.3061920.836
1571559e1a09eec02026-09-285594Name the key type when rejecting non-string CBOR/MessagePack map keys (#5594)2006.5824151.78411788.5323156.1563845.052915.647454.027557.8466814.282864.0942021.072654.0951663.0511947.078
158156fc03b9912e2026-09-285597Look up the locale decimal point at conversion time, not lexer construction (#5597)2020.4314172.91612716.9583196.9583909.774910.001449.314547.3346900.968852.3062048.019665.8431696.9371982.586
1591575b9ffae8bb2026-09-305616Move the float conversion chain out of the lexer (#5616)1992.3324167.32812638.5733212.5153842.885906.649446.941539.6746952.672839.0422021.057695.8131684.6891967.216
160158d268eaa6932026-09-305617Convert floats with Eisel-Lemire when std::from_chars is unavailable (#5617)1987.6084086.12511507.0623170.0133830.425898.856445.077542.8546919.568839.2102021.918666.9251701.4661951.211
16115965af2601172026-09-305609Move instead of deep-copy ordered_json values when an object grows (#5609)1998.9814134.05711592.8553192.7793863.005904.702446.575539.6856850.886840.8452035.646680.3311682.7551968.744
1621606a8a7735ed2026-09-305614Do not throw in contains() for an empty array reference token (#5614)2008.4474144.02411612.1763165.4683842.060905.045443.941539.7556846.042846.2481998.713669.7521684.7171953.487
1631610050d0f7a42026-09-305637Share one nesting depth limit between all bounded descents (#5637)2021.0784170.58111589.8863224.9633937.021906.411448.033541.1776911.391848.6412040.978670.0051703.5931984.639
16416268beba727c2026-09-305679Fix from_json() for enums with underlying type bool (#5679)1986.4684139.03311632.8333201.3513798.006888.464438.471535.9036843.110836.0301996.109685.0531672.4301940.598
165163fc4c9c34462026-09-305680Fix clear() to also reset the subtype of a binary value (#5680)1972.5614094.86711540.1573155.7223833.925893.243445.764539.7396848.562843.0682016.293664.7881685.7591965.342
166164678fd3017b2026-09-305681Fix element path for map/unordered_map JSON_DIAGNOSTICS errors (#5681)2014.7834164.47111563.6143219.8653891.917892.727445.945542.0446900.807844.4222034.323669.9011688.0511981.601
1671656d7845d2072026-09-305683Fix deprecated json_pointer/string operator== warning in value() (#5683)1965.1974105.78911501.3643157.5443800.289898.122445.399539.6856900.433834.5412000.133652.3541670.9451960.876
16816642f89e31302026-09-305684Let to_json(std::optional<T>) propagate exceptions from T's to_json (#5684)2016.8994156.43011476.4893216.3153895.245908.714444.300541.7646923.422839.4592018.934672.8591689.3061987.428
1691676218aa212b2026-09-305687Throw std::length_error for operator[](SIZE_MAX) instead of corrupting the array (#5687)1989.1584149.15611547.2293193.0153845.187905.308446.389541.2906853.266843.0282037.245661.2131681.3901966.649
17016811518265082026-09-305691Take diff()'s fast path unless the object type reorders members (#5691)1991.2804147.34111570.3123171.1823847.333904.510441.250539.8036885.776836.3032018.693665.3071685.9901970.057
171169e444a662762026-09-305693Copy values before inserting an initializer list into an array (#5693)2000.7744175.50711546.9793189.3573841.169897.455442.384539.4936839.688836.2132014.519667.3901685.4181968.991
172170bfea6f36d32026-09-305694Fix to_msgpack() reading the inactive number union member (#5694)1997.4654144.27911549.7813224.2873855.120899.475441.995539.9246903.776839.5502019.396664.4871688.2491954.211
1731715b11a0282c2026-09-305697Exchange the CustomBaseClass subobject in basic_json::swap() (#5697)1987.9834074.34911483.1143174.6323841.604893.256438.279535.8856866.641834.3281996.396660.8281676.3001936.210
17417244a88d85be2026-09-305698Fix NLOHMANN_JSON_SERIALIZE_ENUM_STRICT's from_json message (#5698)1972.2374125.94511373.9173158.7163810.039890.097438.075534.5776867.432842.0452028.150664.2061681.3531936.231
175173bfe0f32d712026-09-305699Fix std::terminate and null pointer access in input_stream_adapter (#5699)2014.3714159.77911667.4163200.4253876.135911.716448.788543.1986932.657852.3972056.197668.7641699.5731984.479
1761744bb1b14b062026-09-305702Trim the compiler-appended NUL from wide/UTF string literals too (#5702)1979.7234105.68511603.5623180.9323846.698906.188443.969534.5346837.479840.5882006.043654.8511672.2891965.408
1771755bd766aa502026-09-305703Move to_bson's binary subtype check into calc_bson_sizes (#5703)1999.6064183.38611588.6463192.7713844.425900.169446.795541.4066888.114847.1072022.637663.4801686.7021974.777
1781766ae17630a42026-09-305705Reject integral keys for contains(), find(), and count() at compile time (#5705)2000.4054157.12011551.6563197.4173891.646903.558448.544541.5536914.203848.5612042.578663.6611691.9101974.341
1791777fd68957882026-09-305706Hide a discarded container's content from the parser callback (#5706)1971.9874075.36211463.2193164.9093797.453889.534443.974535.0266857.323835.7932025.343651.9701687.6701951.428
18017866877675b12026-09-305719Check the iterator range for binary values in basic_json(first, last) (#5719)1970.3694104.88611534.6353168.6013796.291897.271444.655538.9176826.990842.4452016.962650.0991673.9401953.693
1811792ea6d8c1272026-09-305720Require the found key to equal the looked-up key when comparing objects (#5720)2015.5564188.88611567.1253251.8903863.818903.970448.691540.4226912.255843.7742044.479653.8321676.6341951.959
18218067435c9c7e2026-09-305721Give a deep copy its type only after its container exists (#5721)1994.2574160.65811600.5533218.3673880.128900.769449.260541.6076899.448841.6352043.909666.7591694.6461974.861
1831816fc0d501f32026-09-305610Move the user-defined string literals to <nlohmann/json_literals.hpp> and add JSON_NO_AUTOMATIC_UDLS (#5610)2021.7154187.88811647.5943209.3883925.060911.591450.961544.3036975.265845.1092049.853670.2951697.0191987.428
184182fdcc569eee2026-09-305692Use only documented StringType members in json_pointer (#5692)1965.2644147.27311378.1883159.3643787.758889.399447.397535.0626809.698835.1162015.202656.2411689.0721955.238
1851836a073dbae42026-09-305695Give operator>> a strong exception-safety guarantee (#5695)2010.9794211.98211698.2183205.4013897.172898.499445.961545.2256898.870847.0422051.316664.7161706.4011981.247
1861843b6ae43c532026-09-305598Add JSON_DISABLE_TUPLE_REFERENCE_CONVERSION to fix std::tuple conversions (#5598)2025.1224195.46811682.1993204.5293924.068904.766448.209544.6697041.276849.1032047.488665.5921695.9871984.755
1871857d7055ec502026-09-305723Fix stack overflow converting deep values between specializations (#5723)1985.3104117.09911457.0523157.5913832.175895.910442.225535.2376864.375833.6532001.760679.8261674.8191956.998
18818635802e78d62026-09-305735Remove dead Makefile targets; document macro_builder; tidy serve_header (#5735)2004.4984163.06511590.5943184.8103902.229906.494447.394539.5426923.969845.5962044.457666.1871692.0191977.030
189187c2615784312026-09-305730Deduplicate binary reader/writer helpers and fix stale comments (#5730)1968.7234154.78911441.7183160.3673870.578889.545443.139535.3146850.886837.2812024.650660.8421691.6281978.000
1901881d675cdb462026-09-305733Fix CI jobs that check less than they claim; move arm64 to GitHub (#5733)1995.7044206.18511691.1253227.6223966.104909.748449.770541.5666951.938852.5062009.592663.7011686.2651983.285
191189a32f61eb982026-09-305678Fix update() and merge_patch() when the argument is *this or one of its members (#5678)2014.8104157.10111636.1353210.3263924.659899.344448.133541.3716913.401841.4872038.263667.5151697.5031980.686
19219018dd5663b02026-10-015548Diff deeply nested values without recursing per nesting level (#5548)1990.9314152.50011469.6973204.7403985.593903.248448.981540.9746929.740847.4932040.504665.3521698.9031981.438
1931913926fcaac32026-10-015729Deduplicate serializer dump code; fix stale includes, docs, and lint (#5729)1999.5564178.48911581.0003208.6573876.755891.669452.445538.5256893.078846.7212042.010662.1541689.6531975.503
194192cff0a613692026-10-015731Share DOM SAX position handling; fix stale parser and lexer comments (#5731)2017.2314112.60411588.2913157.0473890.343902.329458.713539.5397020.568847.9952073.873654.5621696.8231978.381
195193e4007805332026-10-015745Re-amalgamate single_include (#5745)1980.3384100.65911418.8543166.8963835.432885.298452.886538.0536888.203824.6662031.410650.8461668.9521949.107
1961946aec1a085f2026-10-025677Report BON8 input that ends after a UTF-8 lead byte as truncated (#5677)2003.3214099.06611614.3643159.0293849.857899.995459.542539.4366904.474843.2212071.503652.3031685.7021972.556
1971954d46bce4e12026-10-025750Fix CI on develop (#5750)1962.6854025.67711277.7183103.0523785.213894.610448.583533.8876870.062834.8562020.231658.3391674.8741954.242
19819663c10a51fc2026-10-025638Review and extend the documentation, and check it in CI (#5638)1968.9544036.85111425.1353104.3593797.852902.519451.067537.6686910.375852.4382043.889674.9381701.3141971.711
1991976d0867a85f2026-10-025751Make comparisons with scalars noexcept only when the conversion is (#5751)2008.3604091.45311376.5623144.5753820.110903.850455.980538.0356851.885841.5492010.128667.1821690.5861970.957
200198d11e89471b2026-10-045606Assert on missing array indices in const operator[] and document the JSON pointer case (#5606)2000.1214075.69511475.5203139.4563837.211900.437453.703538.8956921.432845.0642027.417663.9691679.1481964.082
201199df27cc3d4c2026-10-045682Add scalar-on-left overloads for legacy discarded comparisons in C++20 (#5682)2010.8384092.43211495.6253125.7263873.167911.281456.807538.3866911.630844.4512033.630688.2191691.4071971.697
2022006f2048cd5d2026-10-045685Accept lvalues in ordered_map::emplace's value parameter (#5685)1999.8164095.00611445.7403136.6853924.146918.692458.336542.4236968.520848.7832037.096667.7721708.2742002.449
2032010d01d6ae902026-10-045686Classify leaves with operator<=> itself past the nesting bound (#5686)1983.3204116.98111466.2503192.9693923.208914.596456.625539.5586975.537849.2522056.035701.2211716.4931983.908
204202b7309464322026-10-045689Fix key types convertible to std::string_view breaking lookups (#5689)1990.2884060.48711377.7093107.5373803.857892.191451.727538.0456896.480844.9892018.884658.6491676.5662023.638
20520349cd4271962026-10-045690Copy-construct the base class of a deep copy's elements, not assign it (#5690)1983.3204033.15611333.8433138.5473882.878894.785454.473538.3376918.619841.2052072.151655.1931693.8711977.288
206204756b28c2b82026-10-045696Keep a NUL byte ending a // comment as the end of input (#5696)1985.9314099.33111579.8753148.5603872.422896.276451.436536.7746901.156845.6312014.820648.0541685.1991971.762
2072051edf0ef0412026-10-045700Fix value(json_pointer, default) aborting under JSON_NOEXCEPTION (#5700)1987.2334076.13311442.6253124.0993888.688898.266454.349539.4236950.140852.8032030.279654.5861691.7511978.197
208206a212d3b2e42026-10-045722Preserve the object comparator's state in a deep copy past the nesting bound (#5722)2000.1384113.47111391.8543151.0063866.904905.695455.384539.5046929.818842.2132029.619674.4381697.0441983.856
2092071df1e8a8452026-10-045591Make cross-string-type basic_json conversion explicit without implicit conversions (#5591)2000.5334107.99411370.9893160.8543881.635897.877455.201540.3076927.167840.1302053.458664.1181697.6181982.876
21020838a2db260c2026-10-045728Remove dead metaprogramming and duplicated code in traits and pointers (#5728)1971.4504040.82811319.2703109.5213819.505903.606451.137538.7256825.640843.9512016.652663.1601684.5961958.896
211209c5650eaa3c2026-10-045704Reject malformed UTF-16/UTF-32 units in wide-string input (#5704)2006.6894133.59411469.2093180.9303881.633902.924456.572540.5576992.385850.4742025.267652.3671680.0251957.468
21221040021f38fb2026-10-045589Add basic_json::as_base_class and document name conflicts with custom base classes (#5589)2012.6734147.19311453.2503167.4483892.542910.149457.238541.6426998.084852.2472049.759652.8681688.2291972.508
21321173e9eae3c12026-10-045746Add an error_handler parameter for UTF-8 to the binary readers and writers (#5746)2013.8454130.23711456.0413135.6883818.956892.111449.408538.3086825.213835.8721495.468697.0541679.7601970.285
214212d8d47be4a52026-10-045754Fix CI on develop after merging the ready-to-merge PRs (#5754)2013.1914119.94811573.6563173.0293941.703912.201459.208541.2647013.364848.9081514.681699.2731685.3911984.652
2152136b4b825af22026-10-045607Handle numbers that do not fit narrow number types in the binary readers (#5607)2009.1904044.12711362.6773127.6883827.841892.131449.386534.7316915.360829.5621487.640697.2061688.2371952.157
2162148c1f60a45e2026-10-045600Store maps with enum keys as objects (opt-in) (#5600)2008.5604128.05911523.0113187.7633843.177912.520456.427537.5146859.010839.6851501.515696.5081688.8481968.910
217215c5a7a4b46d2026-10-045688Add deprecated from_bon8/from_bjdata(ptr, len) overloads (#5688)2030.3104108.50511412.9073141.8363899.435904.756455.298541.0696926.151846.2401504.193700.8201693.9831987.713
21821623d3b373e12026-10-045755Add JSON_DELETE_DEPRECATED_FUNCTIONS to delete the deprecated functions (#5755)2018.7084106.01511533.7293134.9453826.409899.623452.833538.5446846.443830.5551509.060705.7241692.8191971.476
2192178a142bc4362026-10-065764Fix CI on develop after #5600, #5607, and #5755 (#5764)2017.5334151.85411526.3343195.2403884.953907.457456.697540.1146891.136844.1451517.241699.0511690.3441972.104
2202185379e04ce42026-10-065761Throw type_error.321 when serializing discarded values to binary formats (#5761)1999.1564055.30011427.5213153.5813836.060891.927455.413540.9386883.093853.0941510.099701.8881686.6951982.806
2212190a365865f92026-10-065762Make basic_json destruction allocation-free and non-recursive (#5762)2024.2894081.64610719.4283112.9583900.503924.900462.081540.7656965.453850.0191511.381669.8021620.2691912.078
2222205ecb704f6b2026-10-065592Speedup; check for the expected separator before the lexer's token switch (#5592)1920.4283801.97910139.2502891.8623833.159823.859451.951540.3106885.672843.5701512.778668.7931608.5011885.206
2232216d4543e7432026-10-065767Fix destroy() for ObjectTypes without reverse iteration (#5767)1929.0303843.26610232.5412911.4583926.867830.030450.002542.0436938.890846.5891515.211675.2641622.2451904.006
2242229b179cee1e2026-10-065770Handle all value_t enumerators in has_no_children() (#5770)1931.2753794.49710155.1252891.9273871.831829.432446.176535.1266909.625833.1141498.945677.5711615.7851884.043
22522369874e45442026-10-065760Fix NUL bytes in UBJSON/BJData high-precision numbers (#5760)1924.8963853.08110247.7502926.5153872.041835.227453.025541.0026919.037842.2401521.169674.4871607.4411880.884
226224162e13b86f2026-10-065758Add with_*_t alias templates to create basic_json types with changed template parameters (#5758)1938.2683842.12610289.9682914.1043962.414834.967455.536543.6306969.266850.0821530.064678.0541635.3031916.763
22722521a69230bd2026-10-065585Create a value before giving it its type (#5585)1918.1653829.35410247.6562914.6193874.909832.287451.252543.7916873.995839.5141521.088699.6041615.7421894.449
228226ff6f3d7d4a2026-10-075766Reject nested indefinite-length CBOR string chunks (#5766)1926.0743868.81010256.8232919.8023957.807832.129457.241543.6407024.745847.7701522.612705.6231634.2121918.402
2292271c754cfe312026-10-075701Copy a pair-shaped array value under JSON_BRACE_INIT_COPY_SEMANTICS (#5701)1930.6523828.19510263.9272921.5703901.404832.628455.652541.7016909.037843.5631512.309704.3541623.2541909.917
23022824dd7c63f02026-10-075777Re-amalgamate after #5740 (#5777)1908.6323833.93010278.1462905.4433935.422838.465454.491545.6056905.047839.0871519.816709.2231618.6431886.706
23122930e542e52a2026-10-075776Declare the namespace-scope constants in to_chars.hpp inline (#5776)1934.9343823.72410229.6362916.6983929.565829.102452.279543.0386951.995837.0591524.049720.7221619.8231903.938
232230367336c83d2026-10-075779Fix CI on develop after #5585 (#5779)1928.9213780.92710153.3952883.6043877.750824.488451.999543.6626927.395835.4951506.387694.0581622.9031907.732
233231069ace74af2026-10-075707Round-trip BJData ND-array annotations exactly (single precision, key order) (#5707)1937.3873843.71610184.3022923.3233936.570827.610456.123543.1696907.756847.0201515.229696.2021626.0011901.142
23423243fe8928e12026-10-075781Stop binary writers overflowing the stack on deep values (#5781)1961.0463868.27410300.5732899.7923982.526845.594461.395543.2987059.093846.6961522.728697.7171623.8461921.370
235233a5f5d3059b2026-10-075772Make std::hash<basic_json> consistent with operator== for numbers (#5772)1949.2203857.15910170.4272890.0523981.349840.234459.334541.9476953.786843.4951509.713703.3391627.0861911.653
236234a269794db72026-10-085782Use MSVC intrinsics for full multiplication (#5782)1931.8693817.74210159.6662902.8203903.263840.740455.827540.6216884.562843.2721513.776702.0281614.4591901.008
23723569a0c1b82c2026-10-095328Avoid allocating temporary basic_json for cbor and msgpack object keys (#5328)1909.5793777.56010065.6822852.7323897.659833.289459.856540.6316882.354833.9981498.288314.0591609.3431906.714
238236374dfe4f0f2026-10-095791Keep converted object keys alive while writing UBJSON and BJData (#5791)1911.2743827.18810159.5532886.5683890.388833.632459.800542.6496954.547838.5071509.324314.3571613.6551892.838
23923744e85977012026-10-095792Flatten deeply nested values without recursing per nesting level (#5792)1940.1033811.77910139.3962865.0503874.896835.001459.686544.0656866.943836.8621496.298314.6171614.8371891.741
2402382913e964332026-10-095793Unflatten in time and memory linear in the pointer depth (#5793)1908.4533785.09910262.1472878.9613920.657845.619459.806543.9986874.813832.6591486.901312.1751589.6201863.981
24123984ee12a67c2026-10-095797Make UTF8_ACCEPT/UTF8_REJECT inline variables to avoid TU-local exposure in modules (#5797)1922.6913792.84910162.6562871.5623887.719836.308456.522542.5776912.807840.3691497.447313.6831609.9881899.591
2422401649d9eda42026-10-115783Use and extend the detail helpers to remove duplicated code (#5783)1916.2583804.24210297.3442913.1183847.662836.519453.270538.7506953.015832.7741506.068324.7151596.9741875.878
2432412cca04ae6f2026-10-115800Report one-character non-numeric array indices like longer ones (#5800)1932.3273803.75010135.4382881.0413894.622840.016458.569538.0376842.948829.4441499.722324.8111607.1941875.851
24424274a03dec842026-10-115802Throw type_error.321 for discarded values in to_bon8 (#5802)1924.6953814.85410084.2392873.1803848.498839.406450.575534.1816893.005834.3001503.369324.3891607.3231887.871
245243e8b747e4bc2026-10-115808Re-amalgamate single_include after #5795 and #5806 (#5808)1937.9953840.62210221.9902896.0243885.568834.394458.874539.7716906.182839.7931517.689324.8001609.8381890.885
24624440a62947d32026-10-124965support JSON Merge Patch (RFC 7396) diff creation (#4965)1932.0213822.18810248.4162924.5603980.331842.462459.010540.2376978.526838.9411529.508326.4351636.1531917.472
247245f23830b65e2026-10-135809Derive the lexer position lazily for seekable input (#5809)1814.0753368.0289974.7552807.5323943.229647.639457.018551.2066954.166843.3551522.762315.7161618.9531903.816
248246aa9620fb152026-10-135810Skip the indentation after a newline 8 bytes at a time (#5810)1719.6292959.34410139.7712799.5553939.292592.867465.821545.8586968.068849.1671519.774315.3851629.9811907.253
249247e839bbd1c02026-10-135813Export client-facing headers from json.hpp for IWYU / include-cleaner, and check clients in CI (#5813)1725.7422949.07010136.6032821.5913919.927589.957463.642544.8516987.427843.1511517.562314.4251619.6711903.613
2502485b4c8f9b002026-10-145738Speed up the lexer: own float parser, string scan, and \u table (#5738)1615.6682934.5658763.6512794.5033928.286559.107374.921516.3916937.140815.7761513.238325.0431625.2261912.905
25124991a7a94cc62026-10-145634Write doubles with the shortest digits (Żmij), digits in registers (#5634)1613.1262929.5998708.5992783.9543874.248548.449363.632468.1272421.176745.4661511.406323.7431614.1951900.392
252250a6e9785ab62026-10-155831Look up the key only once in the callback parser's key() (#5831)1589.3092938.5578798.8232767.8723882.154547.301364.257467.8332395.851744.7161506.830316.1921623.7711899.458
2532510c4e7c103c2026-10-155834Make flatten() linear for ordered_json (#5834)1625.7542936.2038755.0882793.0813879.740557.529366.745468.3592418.388746.2101524.325315.9541614.6771898.544
2542520a4b3a84ee2026-10-155836Speed up JSON pointer parsing, formatting, comparison and lookup (#5836)1622.9142915.9018819.0732783.9903922.758558.429366.216470.0192427.606747.1681526.881316.9721625.6111912.601
2552536ba53e63dd2026-10-155833Speed up array-to-container from_json (#5833)1626.1552920.7478777.9892782.8703988.206560.154367.695469.8922427.262749.3011529.474316.3991631.8101915.217
256254ca7740fef22026-10-155837Move elements when converting rvalue containers to JSON (#5837)1615.7472928.7788765.7922773.0623926.456561.034367.498469.8072424.344748.4231523.215316.3391624.3741894.455
2572554530d9681c2026-10-155832Fix quadratic parent updates for ordered_json with JSON_DIAGNOSTICS (#5832)1618.9372911.3788794.0942763.1913886.974555.789366.475469.2752415.231746.7551512.590315.8561618.2261899.284
25825691869983a02026-10-155840Make the value lifecycle inline-friendly (#5840)1595.0752832.2748420.3902690.0503876.841555.209366.118469.7832424.335747.9311485.914314.0481549.7871775.823
2592576a27b9acb22026-10-155838Construct remaining hot-path exceptions out of line so core functions inline (#5838)1589.5352824.3608466.7552699.6903888.990557.917364.879471.6012422.995746.5431498.371314.9781539.6561797.752
2602584f115126412026-10-155835Speed up container destruction, iterator access and diff() (#5835)1515.7502714.7568639.2132574.6983805.860561.827366.793469.6802421.769748.7271383.744317.2481446.5251705.789
261259ed86019a212026-10-155839Move binary reader error construction out of line (#5839)1507.9072766.7748597.8702622.2893767.638553.026362.644468.4822408.731744.9361362.080324.8331445.5311703.216
2622606261d1e4322026-10-155842Construct the JSON Patch exceptions out of line (#5842)1532.0152756.8678670.6772617.9893869.133558.865365.834469.9322435.279750.2951380.628327.0101453.3401705.232
263261ce28c722bc2026-10-155815Allow the same type for number_integer_t and number_unsigned_t (#5815)1533.0452775.8078543.7552615.4123776.721553.127365.866471.1742433.384745.3091372.372328.4051452.8481716.649
26426291b9ee26022026-10-155829Update cppcheck to 1.5.2 (Cppcheck 2.20) and fix its new findings (#5829)1516.4502748.9618571.5212599.8703807.744557.303367.220472.2092421.389743.8891379.405326.0871451.9261710.506
265263dcb96e82fb2026-10-155822Escape characters below 0x60 from a table straight into the write buffer (#5822)1525.7772734.9638524.7712588.2893790.726557.907360.057463.5742430.626743.3821375.816325.3081439.9471695.307
266264b41228c2272026-10-155843Fix AppVeyor failures from the Zmij double writer (#5843)1497.9222690.6148406.9062582.4823726.195548.374352.932459.6632398.953737.6391347.507322.8271429.6401682.775
2672654da73dc5ff2026-10-155858Fix compiler warnings on develop from the API performance stack (#5858)1523.1382731.8258474.0732593.1493782.769553.758359.180462.9152380.246739.0491346.755324.9091441.4081698.043
2682665683f5e0242026-10-155859Define less_general() only without three-way comparison (#5859)1504.6892739.1728603.6932605.1593797.057560.213358.865464.4292423.456742.2071374.000326.7021447.4881712.379
269267cd6b428ef02026-10-165860Fix CI failures on develop from the API performance stack (#5860)1510.1602732.6958564.5102603.2423810.518556.015362.409466.0472437.364745.1531377.439325.7531444.8921699.255
270268cc8334113c2026-10-195866Do not use Qt's keyword macros as identifiers (#5866)1498.8582732.6448535.3282587.2583787.993548.267362.607464.4872403.147735.6331368.831323.9971442.7091686.963
2712694da932f5182026-10-195828Make parsing from std::istream and FILE* fast (#5828)1499.2892723.6058397.7872597.2371956.330553.182363.501458.8982397.342733.0541362.816320.3461429.3141698.294
272270122d7183302026-10-215620Add json_document and json_view: node index, parser, and document (#5620)1520.6512751.0998527.1352588.4941994.466560.384362.257461.9172393.611741.1981362.167328.6201441.2111691.238230.700389.375976.277
27327143e97b629b2026-10-215622Add element access, iteration, values, and JSON pointers to json_view (#5622)1493.8752687.3078383.3542567.0781986.311547.934353.938462.3802400.331737.0981374.560322.0121445.5041686.421231.353386.679958.441
2742724c3a3eb5b52026-10-215624Add dump() and comparisons to json_view (#5624)1502.9262714.7478522.1612608.5652001.856552.014359.510462.6562393.110732.0911366.524324.3131442.1191682.564228.836393.082976.976
2752733ff37ead752026-10-215628Scan json_view strings with SIMD and index large objects (#5628)1514.5802728.6198406.5622609.7582041.176556.017357.330462.5732383.158733.9391368.057324.3911442.7111700.884177.833367.806950.071
276274823eee3b592026-10-215630Add editable json_documents: set, push_back, insert, and erase (#5630)1498.1342754.8108537.0622588.4741994.441556.670353.931463.6462392.987740.0231357.930324.1291441.6221698.022181.404376.470962.253
2772754971200b542026-10-215632Add images of json_documents: save() and load() (#5632)1494.2312681.2118425.8342543.2761984.849548.146354.762460.4402414.747734.6791363.841321.3491421.8061670.134177.777368.631949.292
2782764155e2938f2026-10-215633Write json_view's dump() without a call or conversion per token (#5633)1500.2472712.3578612.1932597.2112012.860558.559359.889462.3712412.896739.0481372.456324.0701441.5461697.571180.320371.514954.088
27927708d7fbb0a12026-10-215874Read FILE* input with std::fgetc under MemorySanitizer (#5874)1543.1242758.2118565.7302584.4532046.255558.522358.865464.5422421.435743.7151374.005324.6871462.5721700.819180.714372.601965.361
2802780cbe95ffa22026-10-215824Speed up writing CBOR and MessagePack, above all integer arrays (#5824)1501.5502706.5348707.1202584.8072039.728551.688360.692466.0242397.182742.7771361.847201.4881429.2231682.436178.641371.038946.389
281279bd5227c2ec2026-10-215805Fix silent wrong results for custom number types (#5805)1511.0362733.3258786.4062588.9062000.483553.456360.458465.9892398.381743.3381370.524201.1681444.0511701.345179.776372.557954.733
282280e13e9768012026-10-215851Accumulate number digits while scanning them (#5851)1501.7372667.5707762.3652523.2891987.518545.368359.336462.0562407.652739.2261368.104200.6321440.3901688.117178.721374.278956.353
2832815e13f834c12026-10-215852Copy the text of float tokens only when a SAX handler asks for it (#5852)1512.3182655.3127314.3542515.0442019.288547.993362.038463.7882410.262745.8391364.898208.9691450.4221713.902179.198371.996968.699
284282e9970066c52026-10-215853Scan strings with SSE2, SSSE3, or NEON (#5853)1488.7052654.4047339.5892551.0502015.716486.719341.381475.5912434.369756.9731376.754208.7971449.9811706.044182.358379.153968.355
285283fa37b952df2026-10-215854Match literals without a stack array and keep parser states in bytes (#5854)1471.8942619.1647285.0002485.8831949.380471.534347.785475.2872413.552751.4871374.254207.5221443.1771699.611181.643377.971977.268
28628452fecc1fab2026-10-215855Move object keys into the value when parsing (#5855)1392.5992628.6887362.5622485.2931882.663471.968339.711473.6632414.903751.3761319.857200.1851448.0571705.675179.410371.865963.306
2872856aefd8c6622026-10-215878Copy short printable-ASCII strings without starting the scanner (#5878)1399.3842664.4017232.5572535.4251922.431470.185320.230418.4402446.082696.7861317.889201.9551447.2171701.135180.860376.217968.215
2882867c26e99ac52026-10-215879Copy ASCII strings in the view's dump with ensure_ascii (#5879)1361.8392610.1827187.1152471.7081853.592464.274313.821414.3162388.840687.8511318.253200.3991434.9861697.487178.601368.595947.799
2892873e031b06a52026-10-215876Use standard library helpers where available, with C++11 fallbacks (#5876)1381.5992592.1227336.7192499.9941848.434467.895315.257415.7882430.769692.2501311.164200.4241444.3031698.311180.149374.484961.091
2902889bf531436f2026-10-215861Speed up flatten(), unflatten(), diff() and patch() (#5861)1379.3012613.2197170.4332472.6281853.035467.161315.217412.3032406.597683.0621298.512198.6811434.0891682.912177.511368.116947.255
2912899855db81f32026-10-225881Silence macro-to-enum for the endianness macros (#5881)1369.1502613.5477209.7872476.2321841.347467.780316.011416.1872415.504686.9201304.263200.8681441.2431694.603178.739368.123948.579
292290aa0b371f7c2026-10-235884Faster std::istream input: inline get-area path, binary reads, unbuffered streambufs (#5884)1375.0302569.3627218.3752484.4251743.476470.240319.245403.7502436.034679.7591319.508201.5311443.3541698.057180.133372.206946.488
29329186d5c56c542026-10-235886Speed up flatten(), unflatten(), diff() and patch() further (#5886)1386.1692622.3317281.5512495.9231700.794472.317317.282403.4162409.097682.5071320.319200.9631444.9081697.678179.138375.751954.573
294292dec0e9b7492026-10-235883Write strings, scalars and indentation in dump() with fewer calls (#5883)1383.2352621.8477151.4122491.6441732.469473.034211.016288.6852276.953416.0681318.490200.5741452.0991701.256180.064372.324960.583
2952936fa14d8f952026-10-235885Write binary formats through reserved sink space and number runs (#5885)1366.9562600.9147176.9942465.3431691.333462.351210.662285.2592301.553417.5891324.173136.6011429.2401687.947179.319368.881962.518
2962940b924f53752026-10-235887Split and print JSON pointers in one pass (#5887)1377.5262597.3947242.6882464.4451739.841466.382211.716288.2022319.771418.2881318.592138.7441441.9831706.639179.684372.087976.078
297295e9c4fe3cdf2026-10-245889json_view: indented and ensure_ascii dumps through the fast writer (#5889)1393.0072627.2267248.2872491.5511769.642469.976211.665291.3272305.655420.1681319.431139.5771457.9651712.927182.274377.741983.284
298296dd7686a2692026-10-245888json_view: faster reading, indexing and C-stream parsing (#5888)1382.4442607.0267161.3652472.6351701.277468.438209.963287.5642276.329415.5111311.194137.8751439.7001696.646177.624367.131977.802
2992979c50bdd1402026-10-245882Make the DOM parser cheaper per container and per member (#5882)1392.6732461.0826068.6252334.7061696.950475.550209.313291.7762300.287416.3491317.581138.1941441.2091707.720178.751367.339978.031
30029801139dc1922026-10-245905Silence an Infer false positive in json_view materialize (#5905)1381.4702463.0136078.0102335.2161709.088475.718211.023291.2122275.302418.0981320.441137.5721443.4341696.436175.969365.658975.272
301299fe5e4018702026-10-255901Consolidate duplicated detail helpers and bodies (#5891) (#5901)1395.8812462.7656066.6982327.7081706.745474.184212.683289.3212283.842417.6571314.153138.0841442.7961696.588177.144364.092961.847
3023003eae5680d62026-10-255902from_json: number-first dispatch for arithmetic types, loop for std::array (#5902)1397.3432477.0606080.8642340.7811711.774481.523213.618289.3602289.503417.5171313.541138.2711440.8221695.785178.731367.293983.555
3033012a56afc7142026-10-255916Fix VS 2015 build of the DOM parser (#5882) (#5916)1373.9292476.1396056.7972341.8901749.167482.883215.107290.0532292.495417.4411320.640137.8681445.2271702.064177.912367.669984.794
304302d6431a91042026-10-265918Throw out_of_range.411 for JSON Patch add into a null parent (#5917) (#5918)1371.6352445.9056017.6362314.1781696.447478.134210.996287.3972278.718414.1861291.197137.3741436.2121682.197175.790361.130962.070
30530381d66291c52026-10-265358Create objects for pointer tokens that cannot be array indices (#5358)1382.9092465.6496052.1142332.5561711.721479.927213.359289.9132289.412417.2011311.695137.5721437.1681696.302177.495367.526963.924
306304d5da84249f2026-10-265927Skip CBOR tags in front of map keys, validate indefinite text chunks, fix CBOR docs (#5927)1374.5532476.4646076.8342346.0751744.224483.375211.423291.1482287.800420.2471320.015137.3691449.0681704.785177.459365.004963.908
3073050c3570d44a2026-10-265929Validate the UBJSON/BJData container type marker for count 0; fix UBJSON docs (#5929)1381.4622462.5786055.1832329.9701713.086484.962210.683290.0242260.371416.8951319.093137.7821453.4951706.801177.031361.025962.952
308306dc768a7d5d2026-10-265930Fix BSON binary subtype 0x02 and check the declared document size earlier (#5930)1386.8562463.4006054.2552337.1051746.441485.425214.508290.9542314.702418.7691325.164139.2551452.1251718.313179.005367.327977.054
30930760107eda3f2026-10-265931Read BJData ND-arrays of float16, restrict ND-array char to 0..127, correct BJData docs (#5931)1389.0512464.4576049.0842336.7271710.473483.159213.007288.9902285.073417.6631317.537137.8931443.3011697.126178.706364.051962.202
310308731f1b5bfb2026-10-265919json_view: view_mode enum instead of bool Editable, node_kind for node::kind (#5919)1381.6642428.5295978.7132333.4851746.571479.163211.036288.9572281.592416.9901308.904137.4861447.6651691.427175.453363.704963.371
3113094cdfa6d0f42026-10-265920json_view: no save() and load() on big-endian targets (#5920)1390.9012477.8416102.4742337.9251777.003485.382214.373290.9462303.147421.1781321.976139.9421446.7261704.816179.928367.825976.532
3123105a2819c9402026-10-265921json_view: one SIMD macro set with the library (#5921)1393.4092479.8416073.0112350.3361785.087485.658214.651292.0442304.448418.0261326.212138.9421468.9811719.505179.174368.704982.764
313311e5fe4ebdd22026-10-265922json_view: from_json() of the macros reads views directly (#5922)1384.6122467.0786056.3282337.3091742.751482.554213.389289.5432299.118417.5211309.673138.2371448.6281704.550177.925365.163984.351
3143129e67bfa1152026-10-265923json_view: the library's std conversions read views directly (#5923)1395.1032482.5176066.6042350.5381751.603482.504213.399290.1852306.188420.4061317.415138.7301444.3671708.720178.016369.111975.875
31531321ec9bd8012026-10-275915json_view: fewer allocations when parsing small documents (#5915)1388.2822469.1186066.4952340.3911744.901478.745214.934292.9702309.264422.8421323.237138.5411454.1511707.314178.058366.514958.110
3163142bb2feeef42026-10-275942Fix the red CI on develop (json_view pointer tokens, bson, from_json tests, Infer, IWYU) (#5942)1391.9812468.2666068.4952335.7071751.527482.908214.285291.2912300.453417.8761328.089138.0101454.9341701.845178.250367.182964.917
31731578a06871472026-10-275940Strong exception guarantee for operator[](json_pointer) (#5940)1379.4142467.4926109.1362335.3091723.090480.260216.197292.0752313.798415.4441314.530138.3141449.6291698.792177.628364.844965.314
318316candidatedevelop + open pull requests1404.8812459.6455976.2102313.5831739.023477.276214.858289.3662301.972415.9631307.406137.8281440.7101714.002176.462364.414971.829