What's Changed
* Extend .gitignore by berland in https://github.com/equinor/ert/pull/2427
* Add pytest-like Tmpdir for Catch2 by dotfloat in https://github.com/equinor/ert/pull/2432
* Skip tests conditionally by oyvindeide in https://github.com/equinor/ert/pull/2438
* Add ecl_sum serializer to registry by lars-petter-hauge in https://github.com/equinor/ert/pull/2380
* Ensure newline after printed stacktrace by berland in https://github.com/equinor/ert/pull/2376
* Remove unused matrix_inplace_matmul_mt1 by dafeda in https://github.com/equinor/ert/pull/2444
* Remove references and use of ENKF_CROSS_VALIDATION by BjarneHerland in https://github.com/equinor/ert/pull/2439
* Fix regex tmpdir.cpp by dotfloat in https://github.com/equinor/ert/pull/2454
* Add 2.30 release notes by markusdregi in https://github.com/equinor/ert/pull/2451
* Replace old GENERAL_OBSERVATION error message by BjarneHerland in https://github.com/equinor/ert/pull/2369
* Some housekeeping in the analysis code by joakim-hove in https://github.com/equinor/ert/pull/2406
* Test cases_config using catch2 by dafeda in https://github.com/equinor/ert/pull/2425
* Remove unused matrix det calcs by dafeda in https://github.com/equinor/ert/pull/2448
* Add an `ExperimentRunConfig` object by verveerpj in https://github.com/equinor/ert/pull/2433
* Remove unnecessary (void)_ by dafeda in https://github.com/equinor/ert/pull/2461
* Restructure and clean CMakes by dotfloat in https://github.com/equinor/ert/pull/2440
* Async `load_collection_from_file` and `load_record`, rename tar-creator. by berland in https://github.com/equinor/ert/pull/2411
* Add pybind11 by oyvindeide in https://github.com/equinor/ert/pull/2467
* Add cmake-format to dev-requirements.txt by joakim-hove in https://github.com/equinor/ert/pull/2464
* Move resource loading to the workspace object by verveerpj in https://github.com/equinor/ert/pull/2447
* Remove all references to ENKF_SCHED_FILE and ENKF_MERGE_OBSERVATIONS by BjarneHerland in https://github.com/equinor/ert/pull/2453
* Stop running ctests against komodo by oyvindeide in https://github.com/equinor/ert/pull/2477
* Split row_scaling and non-row_scaling update steps by ManInFez in https://github.com/equinor/ert/pull/2431
* Remove res_version from libres by dotfloat in https://github.com/equinor/ert/pull/2484
* Speed up running of tests by seperating out integration tests by eivindjahren in https://github.com/equinor/ert/pull/2473
* Fix storage dump, ErtTestContext, and related shenanigans by mortalisk in https://github.com/equinor/ert/pull/2347
* Add codecov to ci by eivindjahren in https://github.com/equinor/ert/pull/2478
* fix path to c codecov by eivindjahren in https://github.com/equinor/ert/pull/2494
* Change ensemble_size to __len__ in RecordCollection by berland in https://github.com/equinor/ert/pull/2475
* Treat warnings as errors when testing documentation by sondreso in https://github.com/equinor/ert/pull/2455
* Remove unused res files by eivindjahren in https://github.com/equinor/ert/pull/2495
* Update development strategy by markusdregi in https://github.com/equinor/ert/pull/2496
* Test enkf_fs_fwrite_misfit by dafeda in https://github.com/equinor/ert/pull/2471
* Refactor: Flatten the callstack from enkf_main_smoother_update in C++ by ManInFez in https://github.com/equinor/ert/pull/2488
* Replace int_vector with std::vector by oyvindeide in https://github.com/equinor/ert/pull/2437
* Simplify and test is_forward_model_finished by dafeda in https://github.com/equinor/ert/pull/2508
* Fix some simple lint issues with autopep8 by eivindjahren in https://github.com/equinor/ert/pull/2506
* Split long lines in res/ by eivindjahren in https://github.com/equinor/ert/pull/2517
* Fix res import errors by eivindjahren in https://github.com/equinor/ert/pull/2502
* Remove unused block_fs cache functionality by dotfloat in https://github.com/equinor/ert/pull/2499
* Remove unused res/enkf/plot module by eivindjahren in https://github.com/equinor/ert/pull/2509
* Remove config value ANALYSIS_LOAD by joakim-hove in https://github.com/equinor/ert/pull/2407
* Reduce calls to fs->refcount at decref by dafeda in https://github.com/equinor/ert/pull/2501
* Replace stringlist in analysis_config by dafeda in https://github.com/equinor/ert/pull/2504
* Remove res/ interoperability with python 2 by eivindjahren in https://github.com/equinor/ert/pull/2518
* Remove unused ert_gui.ide files by eivindjahren in https://github.com/equinor/ert/pull/2532
* Remove unused ert_gui/newconfig.py by eivindjahren in https://github.com/equinor/ert/pull/2533
**Full Changelog**: https://github.com/equinor/ert/compare/2.30.0...2.31.0-b0