Gramps v6.1.0-beta1 released

Version 6.1.0-beta1, an experimental pre-release.

Make sure to backup before you upgrade.

The key word is experimental!

It might be unwise to “upgrade” your main/real Gramps family tree into 6.1.0-beta1. In general, we recommend you make a copy of your family tree instead (typically by doing a “gramps XML” export), then try 6.1.0-beta1 on the copy. (You can keep things really separate by using the GRAMPSHOME environmental variable, if you want.)

The primary purpose of this release is to verify that our Gramps-FamilySearch Integration meets compatibility requirements. Authentication keys will only issued to the public after we pass compliance checks.

Anyone can test all other functionality.

We are interested in your feedback, especially if you discover any bugs or problems which we haven’t noticed.

2026-04-21
Version 6.1.0-beta1

  • Update translations: da, es, fr, hr, nl, pl, pt_PT, sk, sv, zh_CN.
  • Improve Windows AIO README.md.
  • Skip bsddb tests on Windows.
  • Run unit test suite in AIO pipeline.
  • Call self.close() for “:memory:” DBs to avoid warnings.
  • Close database in tearDownClass method.
  • Avoid hard-coded paths and close the db at the end of the test.
  • Refactor media path tests to ensure environment restoration and database closure.
  • Skip tests which are locale dependent when the correct locale is not selected.
  • When running unittests make the environment invariant of the current users configuration.
  • Fix some translated strings.
  • Remove mingw64 entry from gitignore.
  • Fix local Windows AIO build.
  • Migrate Windows AIO to MSYS2 UCRT64 environment. Fixes #14149.
  • Replace hexlify with getSortKey() bytes, drop binascii import. Bug #10077.
  • Add config to allow ignore XML media flag.
  • Implement FamilySearch-Gramps Integration.
  • Pass an object rather than a handle to the note editor callback. Fixes #13702, #13884.
  • Add a HasNoteTag filter rule.
  • Add HasNoteType filters for Media and Repository objects.
  • Add a “References” tab to the family editor dialog. Fixes #13673.
  • Avoid opening a Citation when dragging or selecting an existing one.
  • Improve birth/death estimation.
  • Update the INSTALL file.
  • Add tearDownClass method to cleaup after unit test.
  • Fix ProbablyAlive ignoring fallback when birth event has no year.
  • Add non-sharable notes to media. Fixes #13922.
  • Add a favorites sidebar and all persistent sidebar.
  • Narrative web: Add an option to allow internet indexing.
  • Allow invalid dates in the relationship graph. Fixes #13672.
  • Calendar enhancements. Fixes #13754.
  • Add an Address option to the Individual Complete Report. Implements #14170.
  • Remove duplicated name formats.
  • Small one-line fixes mainly to comments and log messages.
  • Change the default gramps IDs to %05d.
  • Tidy up the add_row method in the PlaceDetails gramplet.
  • Move embedded URLs out of translated strings.
  • Add AGENTS.md with contributor and agent guidelines.
  • Update minimum python version. Python 3.9 reached EOL in October 2025.
  • Remove out of date comments.
  • Maintain compatibility with the directories used by Gramps 6.0.
  • Fix home directory location on Windows.
  • When writing a gramps XML file use the NS URI not the homepage URL.
  • Update http://developers.gramps-project.org.
  • Use https instead of http.
  • Fix spelling mistake in comment.
  • Fix code formatting.
  • Convert Windows AIO to use the new build process.
  • Provide a fallback for locale module without gettext support.
  • Decouple the core library code from GObject introspection.
  • Fix license issues in the pyproject.toml file.
  • Fix test path.
  • Dev version correctly reports the SHA of the local HEAD commit.
  • Rename apply to apply_to_one to reflect global change in v6.0.
  • Code improvements.
  • Unrelated formatting fixes.
  • Fix test directory location in unit tests.
  • Convert to using a pyproject.toml based build system.
  • Add a configuration option for the length of note previews.
  • Add mypy configuration.
  • Add py.typed to indicate the code base is (becoming) typed.

You can obtain Gramps 6.1.0-beta1 from the GitHub release page.

4 Likes

Gramps 6.1.0-beta1 — Release Notes (2026-04-21)

This is a pre-release (beta) of Gramps 6.1. The primary purpose of this release is to
verify that the new FamilySearch integration meets compatibility requirements.
Authentication keys for FamilySearch will only be issued to the public after compliance
checks are passed. Anyone can test all other functionality.

Always back up your database before upgrading.

We recommend testing against a copy of your family tree, not your main database.

Also includes all bug fixes from Gramps 6.0.8.


New Features

FamilySearch Integration

  • FamilySearch-Gramps Integration: Connect and synchronize Gramps with the FamilySearch API (#2176) — SourceAirbender

UI Enhancements

  • Favorites sidebar: Add a favorites sidebar and persistent sidebar for all views (#2091) — SNoiraud
  • Calendar: Calendar enhancements, including improved date display (#2001) — SNoiraud
  • Family editor: Add a “References” tab to the family editor dialog (Fixes #13673, #2005) — stevenyoungs
  • Note previews: Add a configuration option for the length of note previews — SNoiraud
  • Default IDs: Change the default Gramps ID format to %05d (five-digit padding) — stevenyoungs

Filters

  • HasNoteTag rule: Add a HasNoteTag filter rule for filtering objects by note tags (#2037) — stevenyoungs
  • HasNoteType rules: Add HasNoteType filter rules for Media and Repository objects (#2036) — stevenyoungs

Reports & NarrativeWeb

  • NarrativeWeb: Add an option to allow internet indexing (#2084) — SNoiraud
  • NarrativeWeb: Add non-sharable notes to media (Fixes #13922, #2100) — SNoiraud
  • Individual Complete Report: Add an Address option (Implements #14170) — DaveSch-gramps

Bug Fixes

Data & Calculations

  • sort_key: Replace hexlify with getSortKey() bytes, drop binascii import (Bug #10077) — dsblank
  • ProbablyAlive: Fix ignoring fallback when birth event has no year — dsblank
  • Birth/death estimation: Improve estimation algorithm (#2131) — Rak424
  • Person schema: Fix incorrect person gender schema max — DavidMStraub
  • Name formats: Fix Notpatronymic and Rawsurnames format code entry bug — petr-fedorov
  • Name formats: Remove duplicated name formats — Nick-Hall

UI & Editing

  • Citations: Avoid opening a Citation when dragging or selecting an existing one (#2132) — roptat
  • Note editor: Pass an object rather than a handle to the note editor callback (Fixes #13702, #13884) — stevenyoungs
  • Notes gramplet: Fix signals in notes gramplet (Fixes #14148) — riskysnail
  • ImageThumb: Fix savev() passing strings instead of lists — dsblank
  • PersistentTreeView: Fix AttributeError when widget is GtkBuilder-created — dsblank
  • PlaceDetails: Tidy up the add_row method — stevenyoungs
  • Relationship graph: Allow invalid dates in the relationship graph (Fixes #13672) — SNoiraud

Localization & Text

  • Date modifiers: Fix date modifiers for Serbian (sr) locale — Nick-Hall
  • Translated strings: Move embedded URLs out of translated strings — Nick-Hall
  • HTTPS: Use https instead of http throughout (#1979) — stevenyoungs

Windows

  • Home directory: Fix home directory location on Windows — stevenyoungs
  • Compatibility: Maintain compatibility with Gramps 6.0 directory layout — stevenyoungs
  • Windows AIO: Migrate to MSYS2 UCRT64 environment (Fixes #14149) — hgohel
  • Windows AIO: Fix addon installation failing on missing stdlib modules — eduralph

Other

  • XML media flag: Add config option to allow ignoring the XML media path flag — dsblank

Build System & Type Checking

  • pyproject.toml: Convert to pyproject.toml-based build system — Nick-Hall
  • Python minimum: Update minimum Python version to 3.10 (Python 3.9 reached EOL October 2025) — stevenyoungs
  • GObject decoupling: Decouple the core library code from GObject introspection — Nick-Hall
  • Locale fallback: Provide a fallback for locale module without gettext support — Nick-Hall
  • py.typed: Add py.typed marker to indicate the codebase is (becoming) typed — bartfeenstra
  • mypy: Add mypy configuration — bartfeenstra

Testing

  • Unit tests: Add tearDownClass to clean up after unit tests (#2150) — hgohel
  • Test environment: Make unit test environment invariant of user configuration — stevenyoungs
  • Media path tests: Refactor media path tests to ensure environment restoration and database closure — stevenyoungs
  • Locale tests: Skip locale-dependent tests when the correct locale is not selected — stevenyoungs
  • Windows AIO: Run unit test suite in AIO pipeline — stevenyoungs
  • Dev version: Dev builds now correctly report the SHA of the local HEAD commit — hgohel

Translations

Updated: da, es, fr, hr, nl, pl, pt_PT, sk, sv, zh_CN.

3 Likes