Releases: bartfeenstra/betty
Releases · bartfeenstra/betty
Betty 0.4.0a2
What's Changed
- Use no-op caches for temporary apps by @bartfeenstra in #1626
- Unpin the sphinx-autodoc-typehints dependency by @bartfeenstra in #1630
- Use
macos-latest
for all Github Actions builds by @bartfeenstra in #1638 - Use current and compatible Node.js versions during Github Actions builds by @bartfeenstra in #1640
- Add a
@public
decorator to match@internal
by @bartfeenstra in #1643 - Decouple
App
andProject
by @bartfeenstra in #1629 - Upgrade to types-aiofiles 24 by @bartfeenstra in #1647
- Remove eslint-plugin-compat by @bartfeenstra in #1648
- Upgrade to Ruff 0.5 by @bartfeenstra in #1646
- Refactor
Str
into globalLocalizable
factory functions by @bartfeenstra in #1651 - Refactor the Deserialization API into an Assertion API by @bartfeenstra in #1652
- Simplify the Assets API by @bartfeenstra in #1653
FileBasedConfiguration
must no longer create its own project directories by @bartfeenstra in #1650- Remove the Graphical User Interface by @bartfeenstra in #1656
- Make the Requirements API asynchronous by @bartfeenstra in #1590
- Remove
FileBasedConfiguration.autowrite
by @bartfeenstra in #1659 - Remove
HasFiles.associated_files
by @bartfeenstra in #1657 - Remove
Configuration.on_change()
by @bartfeenstra in #1660
Full Changelog: 0.4.0a1...0.4.0a2
Betty 0.3.8
What's Changed
- Add test coverage for
Asserter.assert_or()
by @bartfeenstra in #1569 - Pin sphinx-autodoc-typehints to an earlier version because of a recently introduced critical bug by @bartfeenstra in #1572
- Simplify the Serde API's chained assertions by @bartfeenstra in #1571
- Test for unreachable code by @bartfeenstra in #1573
- Simplify how assertions can be chained and passed as arguments by @bartfeenstra in #1574
- Add basedmypy 2.5 compatibility by @bartfeenstra in #1577
- Ensure favicon.ico always exists (to satisfy eager clients) by @bartfeenstra in #1598
- Unpin the sphinx-autodoc-typehints dependency by @bartfeenstra in #1631
Full Changelog: 0.3.7...0.3.8
Betty 0.4.0a1
What's Changed
- Add test coverage for
Asserter.assert_or()
by @bartfeenstra in #1569 - Pin sphinx-autodoc-typehints to an earlier version because of a recently introduced critical bug by @bartfeenstra in #1572
- Simplify the Serde API's chained assertions by @bartfeenstra in #1571
- Test for unreachable code by @bartfeenstra in #1573
- Simplify how assertions can be chained and passed as arguments by @bartfeenstra in #1574
- Add basedmypy 2.5 compatibility by @bartfeenstra in #1577
- Refactor assertion chains to be valid assertions by @bartfeenstra in #1580
- Remove Betty's own, deprecated
getLogger()
functions by @bartfeenstra in #1583 - Require Node.js 20 or newer by @bartfeenstra in #1584
- Remove the deprecated classes
AnonymousSource
andAnonymousCitation
by @bartfeenstra in #1582 - Remove
GrampsLoader
's ability to accept anAncestry
instead of aProject
by @bartfeenstra in #1586 - Remove the deprecated project ID functionality by @bartfeenstra in #1585
- Remove
asyncio.sync()
andasyncio.wait()
by @bartfeenstra in #1588 - Type hint on
Localizable
instead ofStr
by @bartfeenstra in #1589 - Remove the deprecated
betty.app.extension.requirement
API by @bartfeenstra in #1581 - Ensure favicon.ico always exists (to satisfy eager clients) by @bartfeenstra in #1591
- Remove server negotiation by @bartfeenstra in #1587
- Make all type variables private by @bartfeenstra in #1592
- Remove the deprecated cache patching functionality by @bartfeenstra in #1594
- Remove
fs.hashfile()
by @bartfeenstra in #1595 - Remove the deprecated cache compatibility layer by @bartfeenstra in #1597
- Remove LocalizerRepository's deprecated subscription behavior by @bartfeenstra in #1593
- Remove the Jinja2 templating base64-encoding filter by @bartfeenstra in #1600
- Remove
fs.CACHE_DIRECTORY_PATH
by @bartfeenstra in #1596 - Remove the Job API's deprecated
Context.claim()
by @bartfeenstra in #1599 - Make all arguments to
App
required by @bartfeenstra in #1602 - Make
DemoServer
require anApp
by @bartfeenstra in #1601 - Remove coverage ignore rules for deprecated (and removed) code by @bartfeenstra in #1605
- Remove
functools.walk()
and the Jinja2walk
filter by @bartfeenstra in #1604 - Replace
Asserter
with module-level assertion functions by @bartfeenstra in #1606 - Remove
serde.load.Fields
by @bartfeenstra in #1607 - Make all assertion builders return assertion chains by @bartfeenstra in #1608
- Remove
ConfigurationMapping._create_default_item()
by @bartfeenstra in #1610 - Replace
FileSystem
withAssetRepository
by @bartfeenstra in #1613 - Remove an unused logging test fixture by @bartfeenstra in #1614
- Upgrade to aiofiles 24 by @bartfeenstra in #1615
- Upgrade sphinx-design to 0.6.0 by @bartfeenstra in #1616
- Upgrade to pytest 8 by @bartfeenstra in #1619
- Upgrade to wheel 0.43 by @bartfeenstra in #1618
- Fix a test mock that went out of sync after a recent commit by @bartfeenstra in #1612
- Upgrade referencing to 0.35 by @bartfeenstra in #1617
- Update README.md to 0.4.x by @bartfeenstra in #1621
- Make
Configuration.load()
an instance method by @bartfeenstra in #1512 - Refactor all
ProjectConfiguration
field arguments into kwargs by @bartfeenstra in #1623
Full Changelog: 0.3.7...0.4.0a1
Betty 0.3.7
What's Changed
- pip dependencies(deps): bump furo from 2024.4.27 to 2024.5.6 by @dependabot in #1543
- Fix a bug in how media types were parsed by @bartfeenstra in #1547
- Fetch labels for links without any by @bartfeenstra in #1544
- Ensure public fle names have extensions by @bartfeenstra in #1548
- Install a newly missing Qt dependency when building setuptools/PyPI releases by @bartfeenstra in #1552
- Fix outdated tab markup on documentation pages by @bartfeenstra in #1561
- Do not require docstrings for test modules (disable D104) by @bartfeenstra in #1563
- Spell 'entry point' using separate words in the Webpack API by @bartfeenstra in #1564
- Remove the eslint-config-standard package as it was unused and is no longer maintained by @bartfeenstra in #1568
- npm dependencies (development)(deps-dev): bump eslint-plugin-n from 16.6.2 to 17.9.0 by @dependabot in #1565
Full Changelog: 0.3.6...0.3.7
Betty 0.3.6
What's Changed
- Fix a bug where changing the Command Line Interface verbosity would cause a fatal error by @bartfeenstra in #1501
- Track missing coverage for public functions and classes. by @bartfeenstra in #1502
- Collect branch coverage by @bartfeenstra in #1503
- Add a Uniquifier to iterate over (unhashable) values, skipping duplicates by @bartfeenstra in #1504
- Test for class method coverage by @bartfeenstra in #1506
- Clean build artifacts upon build test completion by @bartfeenstra in #1507
- Increase test coverage of the Graphical User Interface by @bartfeenstra in #1500
- Track coverage of properties and dunder methods by @bartfeenstra in #1511
- Replace Black, Flake8, and Pydocstyle with Ruff by @bartfeenstra in #1513
- Link out to dependencies' API documentation by @bartfeenstra in #1520
- Simplify Ruff configuration by @bartfeenstra in #1519
- Limit the documentation's navigation depth by @bartfeenstra in #1521
- Run sphinx-build with concurrency by @bartfeenstra in #1522
- Fix a bug where
TestPotFile
would accidentally modify existing*.po
files by @bartfeenstra in #1524 - Explicitly use a filter when extracting Gramps tar files, and be less trusting of such archives by @bartfeenstra in #1525
- Refactor code that used pkg_resources as that was deprecated by @bartfeenstra in #1509
- Improve performance of subprocess pipes with large amounts of output by @bartfeenstra in #1523
- Add missing public class and method docstrings by @bartfeenstra in #1515
- Replace the documentation's Immaterial theme with Furo by @bartfeenstra in #1450
- Fix a Playwright race condition by @bartfeenstra in #1535
- Upgrade to setuptools 70 by @bartfeenstra in #1531
- Localize the Nginx Graphical User Interface by @bartfeenstra in #1532
- Add prebuilt assets documentation and Webpack front-end assets to setuptools builds/PyPI releases by @bartfeenstra in #1530
- Localize Gramps loader messages by @bartfeenstra in #1533
- Make the Cotton Candy logo configurable by @bartfeenstra in #1536
- Track and render a site's last modified date by @bartfeenstra in #1538
- Fix a bug where the Cotton Candy page logo's size was not sufficiently constrained by @bartfeenstra in #1541
- Show links without labels, and add demo links by @bartfeenstra in #1542
Full Changelog: 0.3.5...0.3.6
Betty 0.3.5
What's Changed
- Prebuild documentation by @bartfeenstra in #1461
- Deprecate
betty.functools.walk()
by @bartfeenstra in #1459 - Extend the Github Actions timeout by @bartfeenstra in #1462
- Improve test performance by reducing the amount of permutations when testing Webpack builds by @bartfeenstra in #1466
- Increase test coverage of the Nginx extension by @bartfeenstra in #1467
- Improve test performance by reducing the amount of permutations when testing Webpack builds, part 2 by @bartfeenstra in #1468
- Add test coverage for the Gramps' extension's configuration by @bartfeenstra in #1471
- Add a test that tests that tests exist by @bartfeenstra in #1470
- Ensure there are no baseline test coverage ignore rules for modules with tests by @bartfeenstra in #1472
- Increase code coverage of the Wikipedia API by @bartfeenstra in #1474
- Increase code coverage of the Nginx extension by @bartfeenstra in #1473
- Add a command to serve sites using the Dockerized nginx server by @bartfeenstra in #1476
- Make Gramps load links for sources by @bartfeenstra in #1477
- Make the Wikipedia extension's functionality to download images configurable by @bartfeenstra in #1481
- Fix a bug where the Nginx extension no longer showed in user interfaces by @bartfeenstra in #1482
- Remove the types-mock pip dependency as it is no longer needed by @bartfeenstra in #1484
- Increase coverage of the Wikipedia API by @bartfeenstra in #1483
- Increase coverage of the Wikipedia API by @bartfeenstra in #1488
- Finetune .coveragerc for more accurate test coverage reporting by @bartfeenstra in #1489
- Increase and finetune coverage of the event types by @bartfeenstra in #1491
- Make TestTestsExist read .coveragerc and use the ignore rules in there by @bartfeenstra in #1490
- Increase and finetune ancestry API coverage by @bartfeenstra in #1492
- Ignore empty definition bodies for coverage metrics by @bartfeenstra in #1493
- npm dependencies (development)(deps-dev): bump @stylistic/eslint-plugin from 1.8.1 to 2.1.0 by @dependabot in #1497
- Increase coverage of the Command Line Interface by @bartfeenstra in #1495
- Prevent dead code by measuring coverage for tests and test utilities by @bartfeenstra in #1498
- Clean build directories before starting PyInstaller builds by @bartfeenstra in #1499
Full Changelog: 0.3.4...0.3.5
Betty 0.3.4
What's Changed
- Add test coverage for enabling and disabling extensions with unmet dependencies through the Graphical User Interface by @bartfeenstra in #1394
- Add test coverage for enabling and disabling extensions in the Graphical User Interface by @bartfeenstra in #1317
- Replace Cypress with Playwright by @bartfeenstra in #1395
- npm dependencies (Cotton Candy extension)(deps): bump style-loader from 3.3.4 to 4.0.0 in /betty/extension/cotton_candy/assets/betty.extension.npm._Npm/src by @dependabot in #1397
- Convert the search functionality to TypeScript by @bartfeenstra in #1398
- Remove a global npm dependency that was once added in error by @bartfeenstra in #1403
- Refactor the testing web server used in Playwright tests by @bartfeenstra in #1406
- Make all JS/TS ES2022 modules by @bartfeenstra in #1405
- Improve code coverage of the HTTP API documentation by @bartfeenstra in #1410
- Disallow implicit any in TypeScript by @bartfeenstra in #1411
- Ensure that development environments install a version of @types/node that matches the environment's major Node.js version by @bartfeenstra in #1408
- Work around an error in Qt where the reference to a QObject would be invalid by @bartfeenstra in #1413
- Ensure all JS and dependencies are available in development environments by @bartfeenstra in #1409
- Use a single ESLint configuration by @bartfeenstra in #1412
- Clean up temporary directories used in Playwright tests by @bartfeenstra in #1407
- Make ESLint rules stricter by @bartfeenstra in #1416
- Introduce the Black code style by @bartfeenstra in #1417
- Convert the Cotton Candy JavaScript entrypoint to TypeScript by @bartfeenstra in #1414
- Work around an ImportError introduced by PyQt6-Qt6 6.7.0 by @bartfeenstra in #1421
- Fix a segfault in the Graphical User Interface by @bartfeenstra in #1420
- Convert the show/hide functionality to Typescript by @bartfeenstra in #1400
- Convert the media gallery to Typescript by @bartfeenstra in #1399
- Use isolated App caches during Playwright tests by @bartfeenstra in #1425
- Move the Requirement API to the package root by @bartfeenstra in #1426
- Alias extensions instead of subclassing them by @bartfeenstra in #1429
- Ensure extension names are static by @bartfeenstra in #1430
- Remove a temporary workaround for the PyQt6/PyQt6-Qt6 installation by @bartfeenstra in #1434
- Modernize the Trees JavaScript by @bartfeenstra in #1436
- Modernize the Maps JavaScript by @bartfeenstra in #1437
- Increase the Playwright maximum retries by @bartfeenstra in #1438
- Fix misused promises in TypeScript by @bartfeenstra in #1435
- Use a custom Jinja2 Context class rather than a custom Template class by @bartfeenstra in #1439
- Fix a bug where a promise was not awaited, and that broke the maps by @bartfeenstra in #1440
- Add a Hash ID API by @bartfeenstra in #1441
- Support creating hash IDs for sequences of keys by @bartfeenstra in #1444
- Improve the uniqueness of the new hashid API by @bartfeenstra in #1445
- Fix an unawaited promise by @bartfeenstra in #1446
- Reintroduce Flake8 by @bartfeenstra in #1448
- Improve Babel logging by @bartfeenstra in #1282
- Add a link to the example site to the README by @bartfeenstra in #1449
- Revert "Improve Babel logging" by @bartfeenstra in #1451
- Mock requests to Wikipedia during Demo extension tests by @bartfeenstra in #1454
- Make the locale API asynchronous and improve Babel logging by @bartfeenstra in #1452
- Improve test coverage of the Setuptools build script by @bartfeenstra in #1456
- Deduplicate Webpack builds by @bartfeenstra in #1419
- Add test coverage for the contextlib API by @bartfeenstra in #1458
Full Changelog: 0.3.3...0.3.4
Betty 0.3.3
What's Changed
- Ensure localizables are localized before using them as strings by @bartfeenstra in #1360
- Mock servers during tests, so they no longer open browser windows by @bartfeenstra in #1359
- Ensure extensions managed by App are sorted in a stable manner by @bartfeenstra in #1362
- Fix mypy violations by @bartfeenstra in #1364
- Add a cache API by @bartfeenstra in #1310
- Ensure Betty's own deprecation warnings are emitted by @bartfeenstra in #1365
- Fix mypy violations by @bartfeenstra in #1367
- Improve cache fixtures, and introduce one for an App-compatible Cache implementation by @bartfeenstra in #1368
- Add additional package classifiers by @bartfeenstra in #1369
- Make Cache.get() return a context manager by @bartfeenstra in #1371
- Remove dead code by @bartfeenstra in #1375
- Improve a variable name that was no longer accurate by @bartfeenstra in #1376
- Isolate QApplication from tests, and ensure there is only one QApplication instance as per Qt guidelines by @bartfeenstra in #1377
- Fix broken JSON due to HTML escaping by @bartfeenstra in #1384
- npm dependencies (Maps extension)(deps): bump css-loader from 6.11.0 to 7.1.0 in /betty/extension/maps/assets/betty.extension.npm._Npm/src by @dependabot in #1385
- npm dependencies (Trees extension)(deps): bump css-loader from 6.11.0 to 7.1.0 in /betty/extension/trees/assets/betty.extension.npm._Npm/src by @dependabot in #1387
- npm dependencies (Cotton Candy extension)(deps): bump css-loader from 6.11.0 to 7.1.0 in /betty/extension/cotton_candy/assets/betty.extension.npm._Npm/src by @dependabot in #1386
- Rewrite Python dependency constraints to allow for more accurate and granular future compatibility by @bartfeenstra in #1389
- Do not use live caches during tests by @bartfeenstra in #1370
- Reduce memory consumption by adding slots to EntityCollection and subclasses by @bartfeenstra in #1390
- Limit Github Actions test runs to 30 minutes by @bartfeenstra in #1391
- Run sphinx-docs with concurrency by @bartfeenstra in #1392
- Simplify the asyncio API by @bartfeenstra in #1393
Full Changelog: 0.3.2...0.3.3
Betty 0.3.2
What's Changed
- Fix missing whitespace in the Dutch translations by @bartfeenstra in #1334
- Reduce memory usage when referencing citations in templates by @bartfeenstra in #1339
- Remove cyclic entity references by @bartfeenstra in #1343
- Fix a bug where the Wikipedia extension would try to save files with unsanitized names by @bartfeenstra in #1344
- Update the referencing dependency by @bartfeenstra in #1345
- Reorganize CLI tests and improve coverage by @bartfeenstra in #1340
- Raise Betty deprecation warnings as errors during tests by @bartfeenstra in #1348
- Upgrade to pytest-cov 5 by @bartfeenstra in #1349
- Improve the image filter's memory footprint by @bartfeenstra in #1351
- Remove redundant garbage collection by @bartfeenstra in #1352
- Deprecate redundant logging functionality by @bartfeenstra in #1353
- Emit a warning instead of a log message when casting a Localizable to a string by @bartfeenstra in #1355
- Fix a bug where Gramps loader error messages would not be localized by @bartfeenstra in #1354
- Allow Betty's Gramps attributes to be declared for individual projects by @bartfeenstra in #1350
Full Changelog: 0.3.1...0.3.2
Betty 0.3.1
What's Changed
- Make sleeping in tests more robust by @bartfeenstra in #1321
- Fix race conditions in HTTP requests to Betty servers by @bartfeenstra in #1322
- Explicitly close orphaned Qt widgets by @bartfeenstra in #1324
- Fix a bug where rate limits would be exceeded by @bartfeenstra in #1325
- Simplify the Command Line Interface tests by @bartfeenstra in #1329
- Support Notes for all entities that have them in Gramps by @bartfeenstra in #1330
- Add the German language to the project classifiers by @bartfeenstra in #1332
Full Changelog: 0.3.0...0.3.1