Grouped list of changes in Gramps 6.0.0-beta 1

Gramps 6.0.0-beta1 announcement lists an impressive change log. I took the liberty of running it through an AI to group items into the high-level categories (sub-categories were generated by AI). Please look to the original announcement for the most accurate changes, this is definitely a simplified and consolidated version, but again, it may be easier to browse.

The summary definitely does not highlight the significant database-related changes made by @dsblank, @Nick-Hall and others. If those could be a summarized in layman’s terms, that would be very helpful.

New Features

Reporting/Visualization Tools
    Heatmap added to narrative web report
    Gender symbol options in detailed descendant/ancestral reports
    Show other event roles in narrative web reports
    New place added to example database
Filtering/Rules System
    HasEvent and HasSource rules
    'Having note of type' rule
    Enhanced Filter gramplet with improved capabilities
Editor Improvements
    Multiple selection in media selector/gallery tabs
    Edit capability added to Notes gramplets
    Preferred name support in name editor (#13256)

User Experience Enhancements

Interface Improvements
    Mouse button navigation (forward/back)
    Standard search bar in SelectPerson dialog
    Improved backlinks gramplets with drag/drop
    Context menus in gramplets
    Toolbar style preference option
Workflow Enhancements
    Memorized report options per database
    Help buttons in plugin dialogs
    Enhanced date column display
    Media selector path column
    Updated familylines plugin layout (#7788, #10699)

Internationalization/Localization

Added ISO 639-3 language code support (#12772)
Updated translations for 43 languages
Translation context for name origins
Fixed Icelandic date modifiers
de_AT translation fixes
Untranslatable elements marked:
    Welcome gramplet filename
    Empty column headings
    Filter comment strings

Bug Fixes

Critical Issues
    Windows safe mode fix
    Empty ADDR crash (#13479)
    Redo operation exception
    Narrative web proxy exclusion fix
Functional Fixes
    Editor surname tab AttributeError (#13322)
    Exact search filters in selectors
    ProbablyAlive code improvements
    Event citation display (#13401)
    Place model typo correction
Minor Fixes
    Date format tip correction
    Margin/xalign deprecations
    Gtk.Arrow replacements
    Spelling corrections

Technical Changes

Code Quality
    Type hinting across codebase
    mypy static type checking
    Pylint cleanups (db, plugins, lib)
    Deprecation fixes (GtkMenu, Gdk.Color)
    Assert→TestCase replacements
Performance
    orjson package made mandatory
    Filter proxy optimizations
    JSON serialization refactor
    Tree report thumbnail conversion
Infrastructure
    macOS 11.0+ requirement
    Python version bump
    Ubuntu 24.04 build support
    GitHub Actions updates
    PyPI upload workflow
    Glade 3.40 file format
Data Handling
    Switch from pickle→JSON
    DataDict improvements
    GrampsType dict support
    ISO date storage schema
    Gedcom 7.0 role support
10 Likes

The narrative web report appears to have four main improvements:

  • New indexes for big databases.
  • Add heatmap.
  • Improve language and hamburger menus.
  • Show other roles for an event.

Other report changes:

  • Add gender symbol option to the detailed descendant, detailed ancestral and descendant report.
  • Add Gramps ID option to Kinship Report.

Tree reports convert images to thumbnails for embedding. This allows cropped rectangles selected in the media references to be displayed.

Report options are now memorised on a per family tree (database) level.

5 Likes

Congratulations on the release.

Have you seen that the Gramps AIO beta 1 for windows does not work?

0013602: Windows AIO 6.0.0 beta 1 [grampsw.exe - System Error The code execution cannot proceed because libgcc_s_seh-1 dll was not found] - Gramps - Bugtracker – Free Genealogy Software

1 Like

For changes to gramplets, have a look at:

  • Improvements to the backlinks (References) gramplets:

    • Allow an object to be made active from within the backlinks gramplet.
    • Add a context menu to make ā€œEditā€ and ā€œMake Activeā€ more discoverable.
    • Allow objects in the backlinks gramplets to be dragged to the clipboard.
  • Add edit capability to the notes gramplets.

  • Enhanced version of the Filter gramplet.

3 Likes

For selectors check out:

  • A standard search bar has been added to the person selector dialog. It may default to selecting men or women by default, but selecting on other columns is possible.
  • It is now possible to select multiple media objects in the media selector and gallery tabs.
  • The media selector has a new path column.
3 Likes

Other changes that may be of interest:

  • Improvements to the Probably Alive code.
  • New rules: ā€œHas Eventā€, ā€œHas Sourceā€ and ā€œHaving Note of Typeā€.
  • New Gedcom 7.0 event roles: ā€œFatherā€, Mother", ā€œParentā€, ā€œChildā€, ā€œMultipleā€, Friend", ā€œNeighbourā€ and ā€œOfficiatorā€.
  • Allow web-accessible file references in media objects.
  • Add a preference option for the selection of the toolbar style.
  • Enhancements to the help display. This is ongoing though. (122 addon plugins linked to help, most built‐in plugins linked)

Then there is technical stuff which is probably less interesting to most people:

  • Many bug fixes.
  • Removal of deprecated features.
  • Adding type hints and static type checking.
  • Code quality improvements and clean-ups.
  • Extra unit tests.
3 Likes

And finally the significant database-related changes that you asked me to summarise in layman’s terms:

  • We now store objects in the database in a human-readable format.
  • Power users can now read the database directly without needing to use python.
  • Certain operations may be slower, but we don’t think by much.
  • Refactoring and optimisation of the filters/rules should make these much quicker.
  • The new storage format will make future maintenance and optimisations easier for the developers.

We are very interested in feedback from beta testers relating to performance in all aspects of Gramps.

4 Likes

The MacPorts distribution of Gramps [1] was able to be built on Mac systems all the way back to Snow Leopard on 386. Are there known code changes that prevent supporting older OS versions?

[1] gramps | MacPorts

Craig
cc: @jrails

2 Likes

Thanks a lot, a big step forward!
Don’t know if this is the proper place, just wanted to report that v6.0.0-beta1 built without issues on my Linux slackware system. Of course I haven’t tested every function, but no issues noted during a quick test run.
Will revert to 5.2.4 for now since obviously existing add-ons won’t work on this version.

1 Like

10 posts were split to a new topic: Beta testing Gramps 6.0 on Raspberry Pi5 Bookworm

A post was merged into an existing topic: Beta testing Gramps 6.0 on Raspberry Pi5 Bookworm

I see the db.get_raw… has changed. It used to be handy when running through a lot of objects and only looking at one or two attributes, faster than getting the whole object. Example
place_data = self.dbstate.db.get_raw_place_data(hndl)
p_type = place_data[8][0] # place_type

What is the preferred method of getting partial data quickly now?

P.S. I’m starting to fix up my addons to work correctly, and see that there are others that will also need work. Is there a plan to update addons, or is it left to authors?

2 Likes

A few days ago, Doug Blank and Gary Griffin posted 6.0 updates to the registration files for the 154 addons. help_url and black formatting harmonizations were applied to all. Please keep that part.

You can still get the ā€œrawā€ data for an object, but it isn’t as raw as before. We now store a JSON representation of objects which mirrors the structure of the full objects. These data structures have a lightweight wrapper around them that lets you access the data in an attribute style.

So for example you could access the third alternative place name with:

place_data.alt_names[2].value

This will be left to the authors.

Filed a request to remove a newly redundant feature in Themes addon earlier today.

Hey, good to see you again!

For this one specifically, you can use:

p_type = place_data.place_type.value # integer

Is there a plan to update addons, or is it left to authors?

I’ll probably do a pass to catch the main differences.

2 Likes

Is this dialog new? It is nice feedback. (opened by clicking on the version in red in the lower right of the screen)

The warning was moved to the status bar in a commit on 4th Feb 2020, but the dialog is much older.

1 Like

While our users may appreciate the ā€œDangerā€ warning, may I suggest that it be sprinkled with some positive and encouraging notes? Something along the lines of,

ā€œWe hope you will be delighted by the new features and enhancements which were requested by users like yourselves. We’d love your feedback!ā€

Then go on to say, ā€œOn the other hand, this version of Gramps is a development releaseā€¦ā€

This danger dialog ONLY appears for releases tagged ā€œUnstableā€. (And only after clicking the Red Version in the status bar.) So soft-pedaling may be counterproductive. A stern warning seems appropriate.