Releases: bartfeenstra/betty
Releases · bartfeenstra/betty
Betty 0.5.0a20
What's Changed
- Decouple Jinja2 from the render API by @bartfeenstra in #3131
- Simplify renderers and add a plain text renderer by @bartfeenstra in #3132
- Decouple
PluginRepositoryeven more by @bartfeenstra in #3139 - Fully split and reorganize the plugin API by @bartfeenstra in #3145
- Simplify plugin references by @bartfeenstra in #3146
- Simplify the requirement API by @bartfeenstra in #3147
- Allow plugins to express system requirements by @bartfeenstra in #3138
- Reorganize the service API by @bartfeenstra in #3149
- Support requirements for dependencies on extensions enabled in projects by @bartfeenstra in #3148
- Rename service providers to service containers by @bartfeenstra in #3151
- Improve dependency requirement UX by @bartfeenstra in #3152
- Mark positional-only arguments in the serde API as such by @bartfeenstra in #3157
- Mark positional-only arguments in the localizable API as such by @bartfeenstra in #3158
- Mark positional-only arguments in the json API as such by @bartfeenstra in #3159
- Mark positional-only arguments in the user API as such by @bartfeenstra in #3160
- Mark positional-only arguments in the render API as such by @bartfeenstra in #3163
- Mark positional-only arguments in the progress API as such by @bartfeenstra in #3161
- Mark positional-only arguments in the factory API as such by @bartfeenstra in #3162
- Mark positional-only arguments in the url API as such by @bartfeenstra in #3165
- Mark positional-only arguments in the service API as such by @bartfeenstra in #3164
- Mark positional-only arguments in the job API as such by @bartfeenstra in #3166
- Mark positional-only arguments in the locale API as such by @bartfeenstra in #3167
- Mark positional-only arguments in the model API as such by @bartfeenstra in #3169
- Mark positional-only arguments in the config API as such by @bartfeenstra in #3170
- Mark positional-only arguments in the assertion API as such by @bartfeenstra in #3171
- Mark positional-only arguments in the hashid API as such by @bartfeenstra in #3173
- Mark positional-only arguments in the string API as such by @bartfeenstra in #3175
- Mark positional-only arguments in the machine name API as such by @bartfeenstra in #3177
- Mark positional-only arguments in the resource API as such by @bartfeenstra in #3174
- Mark positional-only arguments in the typing API as such by @bartfeenstra in #3176
- Mark positional-only arguments in the functools API as such by @bartfeenstra in #3172
- Mark positional-only arguments in the date API as such by @bartfeenstra in #3178
- Replace
#:code comments with docstrings by @bartfeenstra in #3179 - Temporarily disable macOS Github Actions builds by @bartfeenstra in #3181
- Remove
DefaultConfigurableby @bartfeenstra in #3180 - Remove an outdated requirement from the documentation by @bartfeenstra in #3182
- Remove
ProjectDependentFactoryfromExtensionby @bartfeenstra in #3186 - Improve the documentation and allowed targets of the factory API by @bartfeenstra in #3188
- Decouple template-based content providers from projects by @bartfeenstra in #3194
- Add
LocalizableLikeby @bartfeenstra in #3197 - Always subclass
Genericafter any other type by @bartfeenstra in #3199 - Ensure JSON schemas are in
schemasubmodules by @bartfeenstra in #3203 - GitHub Actions dependencies(deps): Bump actions/checkout from 5 to 6 by @dependabot[bot] in #3204
- Decouple the core date and locale APIs from the linked data API by @bartfeenstra in #3205
- Upgrade to Pytest 9 by @bartfeenstra in #3028
- Revert "Temporarily disable macOS Github Actions builds" by @bartfeenstra in #3184
- Make configuration accept any
Localizableby @bartfeenstra in #3090 - Simplify
StaticTranslationsby @bartfeenstra in #3208 - Add
Localizableattributes by @bartfeenstra in #3207 - Remove
TargetFactoryby @bartfeenstra in #3210 - Use
LocalizableLikeeverywhere by @bartfeenstra in #3206 - Move all jobs into dedicated modules by @bartfeenstra in #3211
- Add a media gallery content provider by @bartfeenstra in #3130
- Add a color style content provider to Raspberry Mint by @bartfeenstra in #3135
- Add an external links content provider by @bartfeenstra in #3213
- Rename concrete
PluginDefinitionsubclasses from*Definitionto*Pluginby @bartfeenstra in #3222 - Make all plugins classed by @bartfeenstra in #3223
- Shorten plugin API definition syntax by @bartfeenstra in #3224
- Add a command to profile generating the demonstration site by @bartfeenstra in #3228
- Default to memory caches for job contexts by @bartfeenstra in #3229
- Fix a bug where the dev-profile-demo command would erroneously test using app caches by @bartfeenstra in #3231
- Cache discovered plugin types by @bartfeenstra in #3232
- Fix a bug in the caches where context managers would not stop yielding by @bartfeenstra in #3233
- Simplify the Wikipedia contributors copyright notice plugin by @bartfeenstra in #3235
- Allow configuration mappings to resolve keys by @bartfeenstra in #3237
- Use Babel's
Localeeverywhere to reduce data conversions by @bartfeenstra in #3234
Full Changelog: 0.5.0a19...0.5.0a20
Betty 0.5.0a19
What's Changed
- Make all
Unknown*plugin classes singletons by @bartfeenstra in #3083 - Add a map content provider by @bartfeenstra in #3065
- Remove
betty.reprby @bartfeenstra in #3089 - Make the demo content localizables gettext translatables by @bartfeenstra in #3091
- Rename
Mutable.get_mutable_instances()toMutable.get_mutables()by @bartfeenstra in #3094 - Simplify classed plugin definitions by @bartfeenstra in #3098
- Update the translations documentation and demo locales by @bartfeenstra in #3099
- Update translations from 0.4.x by @bartfeenstra in #3101
- Allow plugin types to be discovered by @bartfeenstra in #3095
- Move plugin repository definitions from plugin definitions to plugin type definitions by @bartfeenstra in #3104
- Move all directory path constants to
betty.dirsby @bartfeenstra in #3105 - Improve the content provider API DX by @bartfeenstra in #3084
- Add an about command by @bartfeenstra in #2869
- Make plugin repository services on
AppandProjectprivate by @bartfeenstra in #3111 - Remove
Project.new()andProjectConfiguration.new()by @bartfeenstra in #3118 - Allow multiple plugin repositories to be proxied for a plugin type by @bartfeenstra in #3113
- Remove factory methods from exceptions by @bartfeenstra in #3123
- Clean up the Map content provider by @bartfeenstra in #3122
- Add a family content provider by @bartfeenstra in #3124
- Add a family tree content provider by @bartfeenstra in #3121
- Reduce plugin repository usage by @bartfeenstra in #3127
- Reorganize the plugin API by @bartfeenstra in #3129
Full Changelog: 0.5.0a18...0.5.0a19
Betty 0.4.32
What's Changed
- Translations update from Hosted Weblate by @weblate in #3025
- Translations update from Hosted Weblate by @weblate in #3067
- Translations update from Hosted Weblate by @weblate in #3096
- Translations update from Hosted Weblate by @weblate in #3097
- Update the translations documentation and demo locales by @bartfeenstra in #3100
Full Changelog: 0.4.31...0.4.32
Betty 0.5.0a18
What's Changed
- Fix incomplete conversion from Bash to Python by @bartfeenstra in #2996
- Add the backoff() exponential backoff API function by @bartfeenstra in #3000
- Reduce locking and blocking in the cache API by @bartfeenstra in #3001
- Cache Jinja2 template fragments using a new cache tag by @bartfeenstra in #2997
- Move I/O to a thread when loading Gramps family trees by @bartfeenstra in #3002
- Improve
betty.html.Attributesperformance by @bartfeenstra in #3003 - Clean up the
Jinja2Renderercode by @bartfeenstra in #3004 - Avoid coverage 7.11.1 due to a regression by @bartfeenstra in #3020
- Fix a jump in progress when invoking multiple APIs that track their own progress by @bartfeenstra in #3018
- Show author and publisher on source pages by @bartfeenstra in #3019
- Use
<dl>for citation and place details templates by @bartfeenstra in #3021 - Update translations from 0.4.x by @bartfeenstra in #3022
- Revert "Avoid coverage 7.11.1 due to a regression" by @bartfeenstra in #3024
- Remove unneeded usage of
NotImplementedErrorby @bartfeenstra in #3027 - Make the examples in the plugin documentation less verbose by @bartfeenstra in #3033
- Introduce configurable regional content for themes by @bartfeenstra in #3023
- Add a content provider base class for Jinja2 templates by @bartfeenstra in #3046
- Add a content provider for page sections by @bartfeenstra in #3048
- Fix an inconsistently named
RaspberryMintConfigurationattribute by @bartfeenstra in #3049 - Add a 'most verbose' verbosity level, and detailed information messages by @bartfeenstra in #3051
- Test on Node.js 24 by @bartfeenstra in #3052
- Remove
betty.typing.Sentinelby @bartfeenstra in #3053 - Remove
betty.typing.processsafeby @bartfeenstra in #3054 - Allow notes to declare their media type by @bartfeenstra in #3056
- Allow section headings to be visually hidden by @bartfeenstra in #3057
- Add a Wikipedia summary content provider by @bartfeenstra in #3055
- Add a notes content provider by @bartfeenstra in #3059
- Simplify generating unique HTML IDs by @bartfeenstra in #3070
- Do not start the log handler and its thread unnecessarily by @bartfeenstra in #3072
- Remove unneeded URL generation for permalinks by @bartfeenstra in #3073
- Fix a bug where too much of the Raspberry Mint header template was cached by @bartfeenstra in #3076
- Include source names in private citation labels by @bartfeenstra in #3077
- Add resource contexts to ensure resource-level information is accessible by different environments by @bartfeenstra in #3068
- Make file entity search result preview images rounded by @bartfeenstra in #3079
- Fix breadcrumbs by @bartfeenstra in #3078
Full Changelog: 0.5.0a17...0.5.0a18
Betty 0.5.0a17
What's Changed
- Fix the constraints on the job API's exponential backoff by @bartfeenstra in #2994
- Revert "Revert "Reduce the CI test timeout from 60 to 30 minutes"" by @bartfeenstra in #2995
- Fix a bug where the setuptools build script would not include the correct Betty version by @bartfeenstra in #2993
Full Changelog: 0.5.0a16...0.5.0a17
Betty 0.5.0a16
What's Changed
- Show place coordinates on place pages by @bartfeenstra in #2946
- Finetune user messages by @bartfeenstra in #2947
- Use media types for serialization formats by @bartfeenstra in #2948
- Use media types for renderers by @bartfeenstra in #2949
- Fix a bug where the Jinja2 media type was too specific by @bartfeenstra in #2951
- Add a thread pool executor to the job API by @bartfeenstra in #2953
- Clean up the Maps extension's JS options by @bartfeenstra in #2959
- Remove file operations from renderers by @bartfeenstra in #2950
- Remove the dependency on Bash by @bartfeenstra in #2962
- Allow entry point plugin definitions to be less verbose for classed plugins by @bartfeenstra in #2964
- Revert "Reduce the CI test timeout from 60 to 30 minutes" by @bartfeenstra in #2966
- Revert back to using
AsyncExecutorwhen loading ancestries by @bartfeenstra in #2971 - Paginate entity listing HTML pages by @bartfeenstra in #2965
- Remove the breadcrumb to the current page from the tabindex by @bartfeenstra in #2972
- Rename
UserFacingExceptiontoHumanFacingExceptionby @bartfeenstra in #2975 - Hide pagers if there are no multiple pages by @bartfeenstra in #2976
- Hide search form filters for entity types without public entities by @bartfeenstra in #2977
- Simplify citation labels by @bartfeenstra in #2978
- Make a string used in the place details template translatable by @bartfeenstra in #2980
- Add a data API by @bartfeenstra in #2983
- Fix missing error contexts for partial configuration validation by @bartfeenstra in #2981
- Reuse caches between browsers when running Playwright tests by @bartfeenstra in #2986
- Ensure Trees styling can be overridden by themes by @bartfeenstra in #2987
Full Changelog: 0.5.0a15...0.5.0a16
Betty 0.4.31
Betty 0.5.0a15
What's Changed
- Reorganize the test matrices by @bartfeenstra in #2889
- GitHub Actions dependencies(deps): Bump actions/setup-node from 5 to 6 by @dependabot[bot] in #2895
- Reduce the CI test timeout from 60 to 30 minutes by @bartfeenstra in #2897
- Upgrade to Pillow 12 by @bartfeenstra in #2901
- Add
betty.about.VERSION_MAJORby @bartfeenstra in #2904 - Remove
betty.user.UserFacingby @bartfeenstra in #2903 - Allow event types to declare that their existence indicates that another event of the specific type happened around the same time by @bartfeenstra in #2902
- Rename
UserFacingPluginDefinitiontoHumanFacingPluginDefinitionby @bartfeenstra in #2905 - Add a cemetery place type by @bartfeenstra in #2907
- Fix a bug where
ngettext()would not always format a{count}placeholder by @bartfeenstra in #2906 - Add localizables to format paragraphs, lists, and enumerations by @bartfeenstra in #2910
- Allow localizables to be rendered as sequences of paragraphs by @bartfeenstra in #2911
- Fix indentation for list localizables with more than a few items by @bartfeenstra in #2912
DependentPluginDefinition.comes_aftershould includeDependentPluginDefinition.depends_onby @bartfeenstra in #2914- Make
App.new_temporary()default toNoOpUserby @bartfeenstra in #2916 - Improve user messages by @bartfeenstra in #2915
- Inline JSON Schemas to prevent I/O by @bartfeenstra in #2920
- Make static JSON Schemas singleton objects by @bartfeenstra in #2922
- Use test fixtures to provide Systems Under Test in test base classes by @bartfeenstra in #2917
- Remove dead code by @bartfeenstra in #2924
- Add
Entity.public_idby @bartfeenstra in #2919 - Refactor
PluginConfigurationintoPluginDefinitionConfigurationby @bartfeenstra in #2923 - Rename
new_temporary_apptotemporary_appand make it session-scoped, and renamenew_temporary_app_factorytotemporary_app_factoryby @bartfeenstra in #2926 - Remove
argsandkwargsfromSingletonby @bartfeenstra in #2929 - Remove remaining references to the old CLI by @bartfeenstra in #2930
- Fix incorrect lifetime thresholds in the documentation by @bartfeenstra in #2931
- Make all event types derivable by @bartfeenstra in #2927
- Hide the locale navigation on monolingual sites by @bartfeenstra in #2937
- Hide the locale navigation on monolingual sites by @bartfeenstra in #2939
- Show breadcrumbs by @bartfeenstra in #2936
- Do not output empty JSON-LD on HTML pages by @bartfeenstra in #2941
- Hide canonical links from error pages by @bartfeenstra in #2942
- Merge the different JSON-LD blobs on HTML pages into a single one by @bartfeenstra in #2943
- Fix an incorrect
AllEnumerationcall by @bartfeenstra in #2944
Full Changelog: 0.5.0a14...0.5.0a15
Betty 0.4.30
What's Changed
- Hide the locale navigation on monolingual sites by @bartfeenstra in #2940
Full Changelog: 0.4.29...0.4.30
Betty 0.4.29
What's Changed
- Revert "Remove APT packages from CI builds that were needed for legacy Python 3.14 support" by @bartfeenstra in #2888
- Fix incorrect lifetime thresholds in the documentation by @bartfeenstra in #2932
- Upgrade to lxml 6 by @bartfeenstra in #2933
- Use (stable) Python 3.14 for Github Actions by @bartfeenstra in #2842
- Remove APT packages from CI builds that were needed for legacy Python 3.14 support by @bartfeenstra in #2934
- Hide the locale navigation on monolingual sites by @bartfeenstra in #2938
Full Changelog: 0.4.28...0.4.29