NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1669 most downloaded on PyPI
HOCON parser for Python
Last release 6 months ago
20 Mar 2026
Release timing varies
gaps range from 3 weeks to 1.8 years
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
75 releases · first in 2015
Fix wrong parameter name for pyparsing Keyword (@CribberSix) [#343]
Migrate to pyparsing 3.x and drop Python 2.7 support (@alejandrorm) [#337]
fix(tox): remove old EOLed python 3.x versions, added new python versions (@pierresouchay) [#330]
One column per quarter.
Update pyparsing requirement from ~=2.0 to >=2,<4 (@ecederstrand) [#296]
Resolve namespace package (@yifeitao) [#264]
Add support for Python 3.9 and fix deprecation warning (@olii) [#254]
https://github.com/chimpler/pyhocon/pull/247
https://github.com/chimpler/pyhocon/pull/247
fix include error with chinese strings (@xinghaixu) [#240]
Add test for include substitution (@gpoulin) [#217]
Fix self references when environment variables exist (@anujkumar93) [#219]
Fix JSON and HOCON string escaping (@dtarakanov1) [#209]
Added partial implementation of hocon duration and period recommended api (@gabis-precog) [#199]
Do not unquote keys containing special characters (@Tommassino) [#198]
Return None instead of NoneValue when using items() method (@roee-allegro) [#196]
Support conversion of numerically-index objects to arrays (a.1 = 4) ( @lune-sta ) [ #189 ]
Fixed negative integer parsing [#185]
Fixed forbidden characters (@sambible) [#184]
Fixed scientific notation parsing (@chunyang-wen) [#177]
Escape backslash (@roee-allegro) [#173]
Support slash character / in keys (@richard534) [#166]
Added resolve option to with_fallback (@afanasev) [#164]
Fixed escaped quotes inside quoted and unquoted string (@darthbear) [#158]
Fix non-root ConfigTree merge onto root ConfigTree (@aalba6675) [#156]
Fixed self ref substitution (@aalba6675) [#142]
Added compact option for hocon output. #129
Dropped support for Python 2.6 (wheel)
Fixed tripled quoted string parsing bug. PR [#119]
Implemented contains method. PR [#108]
Fixed some error handling that was unable to deal with unicode keys. PR [#99]
* Fix unicode dict key. PR [#94]
Bug fix for include file. PR [#93]
Bug fix for variables that start with include-blabla. PR [#92]
Bug fix for ConfigTree.get_bool(). PR [#90]
Don't lock pyparsing to a specific version. PR [#86]
* Quoted str ws fix. PR [#85]
Fixes for self-reference resolution after merging configs. PR [#82]
Implemented self-referential substitutions and +=. PR [#81]
ConfigValue.transform: do not wrap lists. PR [#76]
Use recursive merging when concatenating objects. PR [#74]
Handle unreachable URL include. PR [#73]
Bumped pycparsing to 2.1.1. PR [#72]
* Fixed from_dict. PR [#71]
Updated pycparsing to 2.1.0. PR [#70]
Fixed unresolved optional substitution logic. PR[#69]
Bumped pyparsing from 2.0.3 to 2.0.6. PR[#68]
Bugfix for nested substitution failure. PR[#64]
Support \r and no eol on last line. PR[#61]
Added ConfigTree.merge_configs(). PR[#57]
Added argparse as a dependency if being installed on Python 2.6. PR[#54]
Fixed dictionary substitution merge. PR[#52]
* Fixed list merge. PR[#51]
Added default indent to 2. PR[#47]
Backward compatibility with imports
Added from_dict to convert a dict or ordered dict into a config tree. PR[#42]
Fix multi line string (don't escape). PR[#41]
Added with_fallback method. PR[#38]
Added with_fallback method. PR[#37]
Fixed substitutions to be evaluated after all files are loaded. PR[#36]
Fixed substitutions that are overridden later on by a non substitution. PR[#34]
Fixed optional substitution when overriding elements at the same level. PR[#28]
Your coding agent can read these notes before it upgrades. Set up the MCP server →