Releases: molpopgen/fwdpy11
Documentation update
Small release to push new docs re: demes.
Support for "demes"
This release includes support for defining demographic models using demes. @apragsdale contributed the code to convert from the demes.Graph
objects to fwdpy11 objects.
Other changes are collected in the 0.14.0 milestone or the change log in the manual.
Point release
Fix for wheel building action. c31420a
Same as previous 0.13.x releases otherwise.
Point release
New features, new manual, new packaging, and bug fixes!
Details are collected under milestone 0.13.0
Copy/paste from the change log:
API changes
- The
demesizes
keyword is no longer accepted to initialize instances of {class}fwdpy11.DiploidPopulation
.
{pr}676
- {meth}
fwdpy11.TreeIterator.nodes
no longer takes an argument.
{pr}678
- The type of {attr}
fwdpy11.Mutation.g
changed from an unsigned integer to a signed integer.
This change has no practical consequence to user code written in Python.
{pr}656
{pr}670
New features
- The dominance of a mutation may now be specified by a function.
See {ref}mutationdominance_vignette
.
{pr}590
{pr}629
{pr}630
- Add {meth}
fwdpy11.TableCollection.build_indexes
.
{pr}651
Improved IDE and editor integration
- Several key classes and functions were reimplemented.
They are now Python layers on top of the C++.
These changes allow better type hinting and make the docstrings more easily discoverable, resulting injedi
, etc., being better able to use them for auto completion and other tasks.
{pr}676
{pr}677
{pr}678
Packaging changes
- The build system is now PEP 517/518 compliant.
{commit}cfd95f57e97d0fff6d4d87d06bd280d2f58ea545
setup.py
no longer importspybind11
.
{pr}634
Bug fixes
- Fixed bugs in experimental features involving simulating neutral mutations during simulations recording ancient samples.
These fixes make these features less experimental and part of the API now.
{pr}643
{pr}647
{pr}650
- Improved input parameter validation for {func}
fwdpy11.evolvets
.
{pr}649
- Fixed a bug where mutations on branches generated by
msprime
had invalid origin times, leading to exceptions when calling {meth}fwdpy11.DiploidPopulation.dump_tables_to_tskit
.
{pr}656
{pr}670
Deployment changes
- Pushes to
main
and new releases now trigger updates to a Docker image.
See {ref}sec_deployment
.
{pr}652
{pr}663
{pr}671
{pr}672
- Binary wheels are automatically deployed for macOS and Linux for new releases.
{pr}669
Documentation changes
- The manual is now built with jupyter book. {pr}
653
. - The manual is now longer hosted on Read The Docs.
It has been moved here and is automatically deployed by GitHub actions.
{pr}654
.
Two bugs fixed!
API breakage:
- Simulation without tree sequence recording is no longer supported. #607
Bug fixes:
This release fixes two bugs.
Neither bug would affect results.
Rather, they affect the behavior of some advanced features.
- Explicit initialization of a data structure used for simplification is now always done. #626 #627
- Simplification is now allowed to occur after a single generation. #624 #627
New features:
- Recombination breakpoints can be restricted to integer positions. #612
- Improved methods for decoding
tskit
meta data. #609
.. note:
The meta data decoding is still a moving target/work in progress.
We anticipate further changes as we get a better idea of what works well/is most useful.
This release also includes several updates to dependencies, documentation, and CI testing.
These changes are collected under the 0.12.0
milestone on GitHub
.
Point release
Point release
New metadata schema, new distribution of effect sizes.
Interface changes:
- When dumping tables to
tskit
via :func:fwdpy11.DiploidPopulation.dump_tables_to_tskit
, we now use the latest metadata methods.
#588 - Most arguments to :func:
fwdpy11.evolvets
are now keyword-only.
#584 - Added :class:
fwdpy11.DiscreteDESD
.
#587
Dependency updates:
- Minimum
tskit
version is now 0.3.2. - Minimum
attrs
version is now 0.19.2. Sphinx
version pinned to 3.1.- The warnings for deprecated features got promoted to :class:
FutureWarning
.
#583
C++ back-end changes:
Python genetic values
This release allows genetic value objects to be written in Python.
The API closely matches the underlying C++, making it easy to prototype
in Python and then implement in C++ later if speed is needed.
As usual, install from PyPi or conda. If you use an archive from this GitHub release, use the sdist and not the auto-generated files.