Releases: bartfeenstra/betty
Releases · bartfeenstra/betty
Betty 0.4.0a11
What's Changed
- Simplify Gramps configuration by @bartfeenstra in #1955
- Finetune
betty.serde.dump
's typing by @bartfeenstra in #1958 - Improve
GrampsLoader
by @bartfeenstra in #1959 - Fix event type configuration by @bartfeenstra in #1960
- Make presence roles configurable by @bartfeenstra in #1957
- Make project names valid machine names by @bartfeenstra in #1961
- Add place types by @bartfeenstra in #1963
- Add genders by @bartfeenstra in #1964
- Use
ShorthandPluginBase
everywhere by @bartfeenstra in #1965 - Ensure Attrs are properly typed depending on whether they are required or optional by @bartfeenstra in #1966
- Add a Serde Load API by @bartfeenstra in #1968
- Rename
UnknownEventType
toUnknown
by @bartfeenstra in #1969 - Add predefined media types by @bartfeenstra in #1971
- Add the Unknown presence role, and make it the fallback by @bartfeenstra in #1970
- Remove dead code from
betty.job.Context
by @bartfeenstra in #1967 - Add copyright texts by @bartfeenstra in #1973
- Meta event types must not extend
ShorthandPluginBase
by @bartfeenstra in #1976 - Improve docstring alterations by @bartfeenstra in #1977
- Add
IndependentFactory
by @bartfeenstra in #1975 - Move
betty.generate
andbetty.load
underbetty.project
by @bartfeenstra in #1974 - Organize presence roles, and ensure all default Gramps roles can be loaded by @bartfeenstra in #1979
- Organize concrete place type implementations into a submodule by @bartfeenstra in #1982
- Organize concrete media type implementations into a submodule by @bartfeenstra in #1980
- Organize concrete gender implementations into a submodule by @bartfeenstra in #1981
- Organize concrete event type implementations into a submodule by @bartfeenstra in #1983
- Organize privacy into a submodule by @bartfeenstra in #1984
- Move
HasMediaType
to a submodule by @bartfeenstra in #1986 - Move
HasDescription
to a submodule by @bartfeenstra in #1988 - Make the Date API a top-level API by @bartfeenstra in #1989
- Move
HasLocale
to a submodule by @bartfeenstra in #1987 - Move
HasDate
to a submodule by @bartfeenstra in #1991 - Move
Name
to a submodule by @bartfeenstra in #1990 - Organize links into a submodule by @bartfeenstra in #1985
- Move
Note
andHasNotes
to a submodule by @bartfeenstra in #1993 - Move
HasFileReferences
to a submodule by @bartfeenstra in #1994 - Move
HasCitations
to a submodule by @bartfeenstra in #1995 - Move
Place
to a submodule by @bartfeenstra in #1996 - Move
File
to a submodule by @bartfeenstra in #1997 - Move
Person
to a submodule by @bartfeenstra in #1998 - Move
Enclosure
to a submodule by @bartfeenstra in #1999 - Move
Source
to a submodule by @bartfeenstra in #2000 - Move
PersonName
to a submodule by @bartfeenstra in #2001 - Move
FileReference
to a submodule by @bartfeenstra in #2002 - Move
Event
to a submodule by @bartfeenstra in #2003 - Move
Citation
to a submodule by @bartfeenstra in #2004 - Move
Presence
to a submodule by @bartfeenstra in #2006 - Move
HasNotes
to a submodule by @bartfeenstra in #2005 - Merge
betty.extension
intobetty.project.extension
by @bartfeenstra in #2007 - Do not include the file path when computing a file's content hash by @bartfeenstra in #2010
- Remove
ConfigurationCollection
'sto_key()
,to_keys()
,to_index()
, andto_indices()
by @bartfeenstra in #2011 - Remove the Attr API by @bartfeenstra in #2008
- Add a Repr(esentation) API by @bartfeenstra in #2012
- Upgrade to setuptools 75 by @bartfeenstra in #2013
- Lower the lifetime threshold to 123 by @bartfeenstra in #2015
- Add (de)serialization format plugins by @bartfeenstra in #2016
- Rename
Copyright
toCopyrightNotice
by @bartfeenstra in #2018 - Decouple
_Populator
fromProject
by @bartfeenstra in #2021 - Disambiguate the different factory methods by @bartfeenstra in #2023
- Organize the URL API and decouple it from
Project
by @bartfeenstra in #2024 - Fix incorrectly documented plugin repositories by @bartfeenstra in #2026
- Add a copyright notice for works in the public domain by @bartfeenstra in #2027
- Test that plugins are public by @bartfeenstra in #2028
- Allow the default Gramps plugin mappings to be overridden per key by @bartfeenstra in #2030
- Add a copyright notice for Wikipedia contributors by @bartfeenstra in #2029
- Fix a typo in the Dutch translations by @bartfeenstra in #2031
- Make the Assets API asynchronous by @bartfeenstra in #2032
- Make
TestCoverage
less verbose by @bartfeenstra in #2034 - Fix a bug where the Assets API did not return the correct paths for files on disk by @bartfeenstra in #2033
- Fix missing assets from distributions by @bartfeenstra in #2035
Full Changelog: 0.4.0a10...0.4.0a11
Betty 0.4.0a10
What's Changed
- Add data contexts to assertion errors by @bartfeenstra in #1931
- Introduce a Factory API by @bartfeenstra in #1932
- Work around a regression introduced in Ruff 0.6.4 by @bartfeenstra in #1934
- Host Swagger UI locally by @bartfeenstra in #1933
- Unpin the Ruff dependency by @bartfeenstra in #1936
- Add a Factory interface by @bartfeenstra in #1940
- Move project configuration to a submodule by @bartfeenstra in #1944
- Test on Python 3.13rc2 by @bartfeenstra in #1941
- Add commands to create and update translations for extensions by @bartfeenstra in #1937
- Consistently type plugin IDs as machine names by @bartfeenstra in #1945
- Fix two warnings about unclosed asynchronous generators by @bartfeenstra in #1947
- Make
assert_mapping()
andassert_sequence()
return mutable collections by @bartfeenstra in #1948 - Finetune the CI testing schedule by @bartfeenstra in #1951
- Decouple
GrampsLoader
fromProject
by @bartfeenstra in #1950 - Use simple configuration naming for entity references by @bartfeenstra in #1952
- Add project logo configuration by @bartfeenstra in #1953
- Make event types configurable by @bartfeenstra in #1699
Full Changelog: 0.4.0a9...0.4.0a10
Betty 0.4.0a9
What's Changed
- Improve performance of cache locks by @bartfeenstra in #1895
- Remove unneeded code from the CLI documentation test by @bartfeenstra in #1896
- Remove dead code by @bartfeenstra in #1897
- Turn renderers into plugins by @bartfeenstra in #1901
- Upgrade to setuptools 74 by @bartfeenstra in #1902
- Use Jinja2 to render to HTML only by @bartfeenstra in #1904
- Improve test coverage by @bartfeenstra in #1905
- Fix a bug where bootstrap code wasn't called by @bartfeenstra in #1906
- Improve test coverage of the project module by @bartfeenstra in #1907
- Improve test coverage of the project module by @bartfeenstra in #1908
- Reduce the Github Actions test timeout to 30 minutes by @bartfeenstra in #1909
- Get Betty's version from its packaging metadata rather than a custom file by @bartfeenstra in #1819
- Use job contexts for the Load API by @bartfeenstra in #1910
- Remove
Name.__eq__()
by @bartfeenstra in #1911 - Revert "Reduce the Github Actions test timeout to 30 minutes" by @bartfeenstra in #1912
- Upgrade to Webpack 5.94 by @bartfeenstra in #1914
- Improve test coverage of the
betty.gramps.loader
module by @bartfeenstra in #1913 - Improve test coverage of the
betty.media_type
module by @bartfeenstra in #1919 - Improve test coverage of the
betty.locale.localizer
module by @bartfeenstra in #1918 - Add test coverage for
Extension.register_event_handlers()
by @bartfeenstra in #1923 - Add test coverage for
Entity.label()
by @bartfeenstra in #1924 - Ignore Sphinx integrations when computing code coverage by @bartfeenstra in #1925
- Clean up the test coverage baseline by @bartfeenstra in #1926
- Improve a .coveragerc ignore rule by @bartfeenstra in #1929
- Add test coverage for the
betty.ancestry.presence_role
module by @bartfeenstra in #1927 - Add test coverage for the
betty.ancestry.event_type
module by @bartfeenstra in #1928
Full Changelog: 0.4.0a8...0.4.0a9
Betty 0.3.13
What's Changed
- Fix mypy violations by @bartfeenstra in #1916
- Upgrade to Webpack 5.94 by @bartfeenstra in #1915
Full Changelog: 0.3.12...0.3.13
Betty 0.4.0a8
What's Changed
- Fix mypy violations by @bartfeenstra in #1882
- Provide tools to build all our schemas dynamically, and expand schema metadata by @bartfeenstra in #1880
- npm dependencies (development)(deps-dev): bump typescript-eslint from 7.18.0 to 8.1.0 by @dependabot in #1883
- Make ancestry mixin names consistent by @bartfeenstra in #1885
- Ensure that a failed Project bootstrap still cleans up resources by @bartfeenstra in #1886
- Introduce plugin identifiers by @bartfeenstra in #1888
- Warn if no theme is enabled by @bartfeenstra in #1889
- Remove references to paths on development machines by @bartfeenstra in #1890
- Remove the Nginx extension so it can be moved to a separate software project by @bartfeenstra in #1891
- Upgrade to pytest-asyncio 0.24 by @bartfeenstra in #1892
- Add Python 3.13 compatibility by @bartfeenstra in #1658
- Ignore
pass
when calculating code coverage by @bartfeenstra in #1893 - Fix a bug where bootstrap code wasn't called by @bartfeenstra in #1894
Full Changelog: 0.4.0a7...0.4.0a8
Betty 0.4.0a7
What's Changed
- Make link labels localizable by @bartfeenstra in #1836
- Introduce
assert_len()
by @bartfeenstra in #1845 - Allow
assert_mapping()
andassert_sequence()
to be used with and without item assertions by @bartfeenstra in #1846 - No longer type hint on
list
anddict
by @bartfeenstra in #1847 - Fix broken assertions in tests for some Jinja2 filters by @bartfeenstra in #1849
- Make
Localizable.localize()
returnLocalized & str
by @bartfeenstra in #1848 - Fix yoda conditions in tests by @bartfeenstra in #1850
- Make place names localizable by @bartfeenstra in #1821
- Document how the Wikipedia extension enriches ancestries by @bartfeenstra in #1853
- Allow entity initializers to accept all possible description types by @bartfeenstra in #1855
- Make source names, authors, and publishers localizable by @bartfeenstra in #1856
- Make citation locations localizable by @bartfeenstra in #1859
- Add an ordered configuration mapping by @bartfeenstra in #1860
- Ensure
Jinja2Renderer.render_file()
sets the template name based on the file by @bartfeenstra in #1861 - Fix yoda conditions by @bartfeenstra in #1863
- Make note texts localizable by @bartfeenstra in #1865
- Document test base classes on the base classes they cover by @bartfeenstra in #1864
- Drop support for older Safari mobile versions by @bartfeenstra in #1868
- Fix a broken link to the Code of Conduct in the README by @bartfeenstra in #1872
- Use lxml by @bartfeenstra in #1871
- Remove testing for license compatibility now Betty is no longer packaged with its Python dependencies by @bartfeenstra in #1874
- pip dependencies(deps): bump furo from 2024.7.18 to 2024.8.6 by @dependabot in #1876
- Upgrade to Sphinx 8 by @bartfeenstra in #1854
- Fix linked data schema violations by @bartfeenstra in #1866
- Remove setuptools as a regular dependency by @bartfeenstra in #1879
- Fix lxml erroneously being a testing dependency by @bartfeenstra in #1881
Full Changelog: 0.4.0a6...0.4.0a7
Betty 0.3.12
What's Changed
- Fix a typo by @bartfeenstra in #1829
- Ensure
Jinja2Renderer.render_file()
sets the template name based on the file by @bartfeenstra in #1862 - Update the README with a Code of Conduct badge by @bartfeenstra in #1873
- Fix the license compatibility test by @bartfeenstra in #1875
Full Changelog: 0.3.11...0.3.12
0.4.0a6
What's Changed
- Fix the command suggested by
PotFileTestBase
by @bartfeenstra in #1799 - Fix a bug in the Command Line Interface where configuration files would not be loaded by @bartfeenstra in #1800
- Ignore overloaded and overridden functions when calculating code coverage by @bartfeenstra in #1801
- Fix a bug where the CLI would abort due a fatal error when an invalid configuration file path was provided by @bartfeenstra in #1802
- npm dependencies (development)(deps-dev): bump eslint-plugin-promise from 6.6.0 to 7.0.0 by @dependabot in #1806
- Add a code of conduct by @bartfeenstra in #1808
- Ensure that the Command Line Interface stops the running Betty application by @bartfeenstra in #1803
- Update to setuptools 72 by @bartfeenstra in #1805
- Test docstrings by @bartfeenstra in #1810
- Improve development and contribution documentation by @bartfeenstra in #1811
- Test Sphinx references used in our documentation by @bartfeenstra in #1812
- Improve the translations documentation by @bartfeenstra in #1813
- Improve the environment variables documentation by @bartfeenstra in #1816
- Improve the assets documentation by @bartfeenstra in #1818
- Remove sphinx-autodoc-typehints by @bartfeenstra in #1820
- Add CONTRIBUTING.md by @bartfeenstra in #1823
- Allow aiohappyeyeballs's license by @bartfeenstra in #1826
- Improve the Jinja2 globals documentation by @bartfeenstra in #1825
- Update machine_name.py by @bartfeenstra in #1827
- Fix a typo by @bartfeenstra in #1828
- Improve event dispatcher documentation by @bartfeenstra in #1830
- Improve the usage documentation by @bartfeenstra in #1831
- Move betty.pot into the locale namespace by @bartfeenstra in #1824
- Introduce property-like attributes that can decorate other types by @bartfeenstra in #1822
- Migrate more generic functionality into static translations by @bartfeenstra in #1832
- Improve the Contributing documentation by @bartfeenstra in #1833
- Improve the testing documentation by @bartfeenstra in #1834
- Make descriptions localizable by @bartfeenstra in #1835
- Split the data modeling API into submodules by @bartfeenstra in #1837
- Remove an unused type variable from and improve the documentation of the Fetch API by @bartfeenstra in #1839
- Document that application configuration can be changed with the command line by @bartfeenstra in #1840
- Refactor associations into attributes by @bartfeenstra in #1838
- Improve the npm documentation by @bartfeenstra in #1841
- Remove unused methods from configuration collections by @bartfeenstra in #1842
- Reorganize the ancestry module by @bartfeenstra in #1843
- Make search result template naming consistent by @bartfeenstra in #1844
Full Changelog: 0.4.0a5...0.4.0a6
Betty 0.3.11
What's Changed
- Fix a typo on the documentation front page by @bartfeenstra in #1773
- Relicense Betty under the GNU General Public License, Version 3 or later by @bartfeenstra in #1786
- Add
bin/build-dev-pip
andbin/build-dev-npm
to (re)run pip and npm installs separately by @bartfeenstra in #1787 - Do not explicitly set a documentation version ourselves by @bartfeenstra in #1793
- Fix an unused import by @bartfeenstra in #1795
- Add a code of conduct by @bartfeenstra in #1809
- Revert "No longer create releases for PRs (#1716)" by @bartfeenstra in #1815
- Fix a bug where PyInstaller builds would not include all data files by @bartfeenstra in #1814
- Improve the environment variables documentation by @bartfeenstra in #1817
Full Changelog: 0.3.10...0.3.11
Betty 0.4.0a5
What's Changed
assert_locale()
should suggest locales in its error message by @bartfeenstra in #1741- Upgrade pip dependencies and simplify their version constraints by @bartfeenstra in #1742
- Remove unused
__reduce__()
implementations by @bartfeenstra in #1743 - Use Click for CLI logging by @bartfeenstra in #1744
- Document plugins by @bartfeenstra in #1724
- Document event dispatching by @bartfeenstra in #1746
- Fix incorrectly rendered configuration examples in the documentation by @bartfeenstra in #1747
- Fix bugs where translation coverage percentages and a link were not displayed correctly by @bartfeenstra in #1748
- Add a machine ID API by @bartfeenstra in #1751
- Rename machine IDs to machine names by @bartfeenstra in #1753
- Add a command to create new projects by @bartfeenstra in #1750
- Simplify Click error handling by @bartfeenstra in #1754
- Fix superfluous punctuation by @bartfeenstra in #1756
- Reuse existing assertion chains by @bartfeenstra in #1755
- Add commands to create and update project translations by @bartfeenstra in #1757
- Expand the installation documentation by @bartfeenstra in #1759
- Merge
ProjectConfiguration
base URL and root path into a single URL by @bartfeenstra in #1760 - Introduce a
Localizable
backed by static translations by @bartfeenstra in #1762 - Simplify
Server
and remove its dependency on aiohttp by @bartfeenstra in #1645 - Make the project title and author translatable by @bartfeenstra in #1761
- Fix a bug where project locales would be dumped and loaded in different orders by @bartfeenstra in #1763
- Make
CacheTestBase
reusable by third parties by @bartfeenstra in #1764 - Make template test utilities reusable by third parties by @bartfeenstra in #1765
- Make configuration collection test utilities reusable by third parties by @bartfeenstra in #1766
- Make the cards on the documentation site's front page responsive by @bartfeenstra in #1768
- Add plugin testing utilities that are usable by third parties by @bartfeenstra in #1767
- Remove the Sphinx link check, so websites being down does not disrupt Betty's builds by @bartfeenstra in #1771
- Do not use abstract classes for tests, because Pytest does not run inherited test methods by @bartfeenstra in #1770
- Fix a typo on the documentation front page by @bartfeenstra in #1772
- Add entity testing utilities that are usable by third parties by @bartfeenstra in #1769
- Use event type instances instead of types by @bartfeenstra in #1775
- Add
ConfigurationCollectionTestBase.test_load_item()
by @bartfeenstra in #1776 - Make
assert_machine_name()
an assertion factory by @bartfeenstra in #1777 - Add
copy_tree()
to performantly ensure a directory's contents exist at a destination by @bartfeenstra in #1778 - Remove the search shortcut because it conflicted with other, more common shortcuts by @bartfeenstra in #1779
- Add event type testing utilities that are usable by third parties by @bartfeenstra in #1781
- Add extension testing utilities that are usable by third parties by @bartfeenstra in #1780
- Add assertion testing utilities that are usable by third parties by @bartfeenstra in #1783
- Add Command Line Interface testing utilities that are usable by third parties by @bartfeenstra in #1782
- Add server testing utilities that are usable by third parties by @bartfeenstra in #1784
- Relicense Betty under the GNU General Public License, Version 3 or later by @bartfeenstra in #1785
- Fix and clarify the plugin documentation by @bartfeenstra in #1788
- Remove remaining imports between test files by @bartfeenstra in #1789
- Document the test utilities by @bartfeenstra in #1790
- Fix invalid module references in documentation by @bartfeenstra in #1791
- Do not explicitly set a documentation version ourselves by @bartfeenstra in #1792
- Fix an unused import by @bartfeenstra in #1794
- Make Pytest fixtures usable by third parties by @bartfeenstra in #1796
- Use f-strings everywhere by @bartfeenstra in #1798
Full Changelog: 0.4.0a4...0.4.0a5