Changelog

All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

1.0.0 (2019-10-07)

Features

  • Adding the ability to define custom JSONSchema $id and $schema properties. Will raise user warnings if unsupported schema draft is specified. #41

Documentation

  • Adding some documentation around schema_id and schema_draft parameters for the @config() decorator in Getting Started

Miscellaneous

  • Adding long_description_content_type to setup.cfg for new twine package check warnings

0.3.10 (2019-10-04)

Bug Fixes

  • Allowing Python 3 typehints to be considered as the config var’s type just like the var’s type kwarg #38

Miscellaneous

  • Fixing access to collections.abc for Iterable deprecation warning

  • Updating package stubs to mimic true kwargs typings

0.3.9 (2019-06-15)

Miscellaneous

  • Adding kwarg passthrough for config so you can now use things like config(hash=True)

  • Adding extremely basic reflection tests for ujson serialization (please use rapidjson instead of ujson)

0.3.8 (2019-04-01)

Bug Fixes

  • Fixed issue related to the prefer keyword not loading the proper modules for serialization / deserialization when prefer had already been invoked in subsequent calls for a given config #36

Documentation

  • Adding codecov for alternate coverage reporting since codacy struggles sometimes and isn’t always correct

Miscellaneous

  • Adding and improving tests for serialization handlers

  • Improving testing and code coverage for schema_builder and _file_config

0.3.7 (2019-03-22)

Bug Fixes

  • Adding the ability for nested configs to default to the empty state of the nested config if desired #26

Documentation

  • Adding documentation Loading Defaults in “Getting Started” regarding the different results when loading defaults from serialized content

Miscellaneous

  • Updating the copyright year in the docs to 2019

0.3.6 (2019-03-15)

Bug Fixes

  • Fixing failures when loading from serialized content missing configuration for nested configs #24

Miscellaneous

  • Adding latest PyPi version badge to documentation and README

  • Adding basic auto-generated typing stubs under stubs/

0.3.5 (2019-02-15)

Bug Fixes

  • Allowing default values to be used in configs when loading from dictionaries that are missing the value #22

0.3.4 (2019-01-11)

Bug Fixes

  • Fixing typing._GenericAlias typecasting raising AttributeError #21

0.3.3 (2019-01-10)

Bug Fixes

  • Fixing regex check bug where type_.__name__ raises an AttributeError on typing.List edge case #19

  • Fixing dump_x handlers not using kwargs like dumps_x handlers #20

0.3.2 (2019-01-09)

Bug Fixes

  • Fixing schema builder where building schemas for object types with nested typing types silently fails #18

Documentation

  • Showing newly documented private methods in package documentation

  • Adding basic docstrings for private schema_builder functions

  • Adding basic docstrings for util functions

Miscellaneous

  • Updating copyright statements from 2018 to 2019

  • Fixing missing wheel in release

0.3.1 (2018-12-18)

Features

Miscellaneous

  • Fixing lxml required for import

0.3.0 (2018-12-16)

Features

  • Adding basic ini support through configparser #10

  • Adding basic xml support through lxml #12

Documentation

  • Splitting up Sphinx autodocs into separate sections

  • Adding Handlers section to documentation

Miscellaneous

  • Adding TYPE_MAPPINGS to utils.py as a way of generically representing available types and their translations

  • Project Restructure - restructuring project to provide a better development experience

  • Updating from MIT to ISC licensing

0.2.0 (2018-11-07)

  • adding serialization and deserialization support for enums

0.1.0 (2018-10-26)

  • adding encoder and decoder var kwargs for customizing how a specific var is serialized/deserialized

  • adding support for python-rapidjson as json serializer

0.0.8 (2018-10-16)

  • adding sort_keys support for json dumpers

  • adding conditional validate boolean flag for load_<json,toml,yaml,etc...> config method (performs pre-validation of loaded dictionary)

  • fixing typecasting of loaded content when var is missing in content, now sets var to None

  • improved tests via a hypothesis dynmaic config instance builder

  • removing support for complex vars since no serializers support them

0.0.7 (2018-10-12)

  • adding prefer keyword to use specific serialization handler

  • adding inline_tables argument for toml handlers (takes a list of fnmatch patterns)

  • adding support for toml

0.0.6 (2018-10-08)

  • fixing make_config not using any passed in file_config.var instances

  • added indent dumping argument for JSONHandler

  • improved documentation in file_config.schema_builder

  • improved sphinx linking from getting-started.rst to generated autodocs

0.0.5 (2018-10-05)

  • added better docstrings

  • added better documentation in rtd

  • fixed file_config._file_config._build for file_config.Regex types

  • fixed file_config.utils.typecast for serializing to str instead of None

0.0.4 (2018-10-04)

  • added basic sphinx documentation

  • fixing dynamic type casting for config var typing types