Releases: bartfeenstra/betty
Releases · bartfeenstra/betty
Betty 0.4.0a14
What's Changed
- Fix a bug where Gramps' family tree configuration would not properly keep default mappings by @bartfeenstra in #2127
- Upgrade to MarkupSafe 3 by @bartfeenstra in #2129
- Make
Project
factory methods consistent by @bartfeenstra in #2130 - Use locks for asynchronous service factories by @bartfeenstra in #2131
- Be consistent in how we expose plugin repositories by @bartfeenstra in #2132
- Suppress
SIGINT
inProcessPoolExecutor
to prevent unhelpful additionalKeyboardInterrupt
being raised by @bartfeenstra in #2134 - Handle
KeyboardInterrupt
propagated from event loop shutdown by @bartfeenstra in #2135 - Do not produce and check npm requirements multiple times by @bartfeenstra in #2136
- Ensure that the CLI exits with code 2 for bad invocations by @bartfeenstra in #2138
- Derive events for the demonstration site by @bartfeenstra in #2141
- Cache the demo site by @bartfeenstra in #2142
- Remove betty.ico and generate favicon.ico from the project logo by @bartfeenstra in #2143
Full Changelog: 0.4.0a13...0.4.0a14
Betty 0.4.0a13
What's Changed
- Test on Python 3.13 stable by @bartfeenstra in #2077
- Fix an unawaited coroutine by @bartfeenstra in #2087
- Fix a bug that caused Betty to always warn no theme was enabled by @bartfeenstra in #2088
- Add a
@private
decorator for items whose names cannot be prefixed with an underscore by @bartfeenstra in #2090 - Add a
@threadsafe
decorator by @bartfeenstra in #2091 - Make
TemplateTestBase
internal until we've refactored it by @bartfeenstra in #2092 - Deprecate
wait_to_thread()
and make it internal until we can remove it by @bartfeenstra in #2093 - Improve test coverage by @bartfeenstra in #2094
- Improve
betty.ancestry
coverage by @bartfeenstra in #2095 - Improve
betty.jinja2
coverage by @bartfeenstra in #2096 - Improve
betty.render
coverage by @bartfeenstra in #2097 - Improve
betty.date
coverage by @bartfeenstra in #2098 - Simplify
TestCoverage
by @bartfeenstra in #2099 - Simplify
TestCoverage
by @bartfeenstra in #2100 - Improve
betty.app.config
coverage by @bartfeenstra in #2101 - Improve
betty.app.App
coverage by @bartfeenstra in #2102 - Remove
serde.dump.minimize()
by @bartfeenstra in #2105 - Improve
betty.config
coverage by @bartfeenstra in #2103 - Improve
betty.subprocess
coverage by @bartfeenstra in #2107 - Fix a bug where assertion contexts were formatted in reverse by @bartfeenstra in #2108
- Improve
betty.assertion
coverage by @bartfeenstra in #2109 - Improve
betty.jinja2
coverage by @bartfeenstra in #2110 - Refactor
TemplateTestBase
for public consumption by @bartfeenstra in #2111 - Remove the sleep from
RateLimiter
by @bartfeenstra in #2112 - Remove
Configuration.update()
by @bartfeenstra in #2113 - Allow plugins to be ordered with respect to each other by @bartfeenstra in #2114
- Organize the Demo extension by @bartfeenstra in #2115
- Add copyright notices to all images downloaded from Wikipedia by @bartfeenstra in #2116
- Fix a bug where ProxyPluginRepository would attempt to create new instances using the wrong factories by @bartfeenstra in #2117
- Add SPDX licenses by @bartfeenstra in #2078
- Remove
FamilyTreeConfiguration.__eq__()
by @bartfeenstra in #2120 - Improve core component resource management by @bartfeenstra in #2124
- Add images to the demonstration site by @bartfeenstra in #2121
Full Changelog: 0.4.0a12...0.4.0a13
Betty 0.3.14
Betty 0.4.0a12
What's Changed
- Fix a race condition in the caches by @bartfeenstra in #2036
- Rename
enclosed_by
andencloses
by @bartfeenstra in #2038 - Add types for required and optional associations by @bartfeenstra in #2014
- Add
has_generated_entity_id()
by @bartfeenstra in #2039 - Add a top-level Privacy API by @bartfeenstra in #2042
- Simplify the internal type variables used by the Association API by @bartfeenstra in #2044
- Add API methods to manage
Schema
's title and description by @bartfeenstra in #2045 - Automatically dump linked data for entity associations and static translations by @bartfeenstra in #1946
- Simplify static translations by @bartfeenstra in #2043
- Add license plugins by @bartfeenstra in #2046
- Improve plugin test coverage by @bartfeenstra in #2047
- Add copyright notices and licenses to files by @bartfeenstra in #2048
- Make core components emit warnings as well as raise exceptions by @bartfeenstra in #2050
- Refactor Cotton Candy's Search API in preparation for expansions by @bartfeenstra in #2051
- Add sources and notes to the search index by @bartfeenstra in #2053
- Improve the DX of the Generate API's file helpers by @bartfeenstra in #2052
- Remove
wait_to_thread()
usage by @bartfeenstra in #2054 - Remove
wait_to_thread()
usage by @bartfeenstra in #2056 - Remove
wait_to_thread()
usage by @bartfeenstra in #2059 - Test on Python 3.13.0rc3 by @bartfeenstra in #2061
- Remove
wait_to_thread()
usage by @bartfeenstra in #2062 - Remove
wait_to_thread()
usage by @bartfeenstra in #2064 - Be more specific than
BaseException
by @bartfeenstra in #2065 - Add
functools.passthrough()
by @bartfeenstra in #2067 - Add
ensure_await()
by @bartfeenstra in #2066 - Rename
Uniquifier
tounique()
by @bartfeenstra in #2068 - Remove
wait_to_thread()
usage by @bartfeenstra in #2069 - Remove
betty.asyncio.gather()
by @bartfeenstra in #2058 - Revert "Remove
wait_to_thread()
usage" by @bartfeenstra in #2070 - Remove
wait_to_thread()
usage by @bartfeenstra in #2072 - Remove
wait_to_thread()
usage by @bartfeenstra in #2073 - Make URL generators accept
MediaType
instead or raw media type strings by @bartfeenstra in #2076 - Add a lock orchestrator by @bartfeenstra in #2080
- Rename
LockOrchestrator
toLedger
by @bartfeenstra in #2081 - Refactor
betty.wikipedia
'sImage
andSummary
into dataclasses by @bartfeenstra in #2082 - Remove
_LinkedDataObjectSchema
by @bartfeenstra in #2085
Full Changelog: 0.4.0a11...0.4.0a12
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