Skip to content

Changelog

All notable changes to PastPaths are documented here.

The format follows Keep a Changelog and the project uses Semantic Versioning.


[1.3.X] - Under arbete

Added

Improved

Fixed

  • Auto-generated event titles (e.g. "X born", "X died", marriage/baptism/other GEDCOM-imported events) and date text ("Unknown date", "Around...", "Before...", "After...") previously stayed in Swedish regardless of the selected interface language, since they were saved or built as finished text in the backend. Now correctly follows the selected language. Affects, among others, the person page's places tab, event lists, the calendar, the timeline, and the blog editor. Existing events with old Swedish title/date text are not corrected retroactively.

[1.3.0] - 2026-08-01

Added

  • New event type: "Visit"
  • The place page now shows actual persons born or deceased at the place (the feature existed in the UI before but never displayed anything)

Calendar on the welcome page

  • The welcome page now shows today's birthdays and other life events (deaths, marriages, etc.) that fall on today's date, regardless of year — grouped by type, with the names of the persons involved
  • Persons born on a leap day (February 29) are shown on March 1 in other years, with a clear note explaining why

Calendar page

  • New calendar page (accessed via a link from the "Today" card on the welcome page, not in the main menu) — browse between months and see which events and birthdays fall on a given day, regardless of year
  • Statistics on the calendar page: most common days overall and by event type, with color and icon coding per type

Person statistics

  • New person statistics page, linked from a summary card on the welcome page — most common surnames and first names (split by gender, filterable by birth decade), gender distribution, relationship counts by type and subtype, most common birth and death places, children per family, partner status, and lifespan/birth-decade statistics for deceased persons
  • The persons list can now be filtered directly to persons missing a registered birthplace or place of death, linked from the corresponding statistics card, making it easy to find and correct incomplete records

Tags and categories

  • Tags and categories can now be added directly in the form when creating or editing a person or event — not just afterwards via the pencil icon on the detail page

Places

  • New hierarchical navigation for the places list (country → county → parish/city) replaces the previous flat list — much easier to find your way around a large number of places
  • New place statistics page, linked from a summary card on the welcome page — most common countries/counties/parishes, places with the most connected persons or events, most common place types, places missing coordinates, most common cemeteries, oldest and most recent recorded event, and most common emigration/immigration places
  • Place detail page: filter connected persons by century (e.g. "who lived here in the 1930s")
  • Place detail page: new "Migration patterns" card shows where people came from and moved on to
  • The Media tab on the place detail page now has card/list view switching, just like the Media page
  • New setting under Account: default country, suggested automatically when adding a new place
  • Country, county, parish, and city in the place form now suggest existing values in a dropdown, while still allowing new values to be typed in
  • New "Region" field and an optional fourth hierarchy level in the places list, for countries that need it (e.g. Belgium, USA, Germany) — only shown when actually used, doesn't appear at all for Swedish places
  • GEDCOM import's place parsing now recognizes and separates a region level for countries that normally have one

Improved

  • Unified data model for all place connections (residence, occupation, education, marriage, visits, etc.) — everything is now handled consistently as events, which fixes several related issues:
  • Duplicate or inconsistent place connections in some views
  • The "Persons" tab on place pages could show the wrong count or appear empty
  • The per-type statistics breakdown on place pages now shows accurate categories
  • GEDCOM import's place parsing now checks whether the last comma-separated part is actually a recognized country name before assuming it's the country — prevents county or parish names ending up in the country field for sources that don't specify a country at all (common in Swedish parish register exports, e.g. "Estuna, Stockholms län")
  • The place detail page's Events tab now shows connected persons directly in the list, in the same style as the Events page — no more extra click per event needed to see who it involves
  • Icons now show in the place-type dropdown (form and filter), not just text

Fixed

  • The person edit dialog sometimes retained unsaved changes after clicking Cancel and reopening the same person
  • The event-type filter on a place's Events tab could appear empty even when events existed
  • An undefined function (parse_partial_date) in persons.py flagged by Pylance — replaced with the existing _parse_date_with_precision. Didn't affect actual behavior (the code path was never reached in practice), but was a landmine for future changes.
  • The gender filter on the persons list had no option for persons without a registered gender, making them impossible to find via the filter
  • The place detail page's "Persons" tab could show the wrong count of connected persons and couldn't be filtered correctly by century
  • The statistics card on the place detail page showed a misleading combined "Residence" count that mixed arrivals and departures
  • Creating a new place never saved a filled-in parish — only worked when editing an existing place Item 1 bekräftat
  • Creating a new place never saved a filled-in parish — only worked when editing an existing place
  • MediaPerson and MediaPlace were missing the UTC marker (Z) on timestamps, unlike the other association tables — could cause up to a two-hour display error during daylight saving time Kvarstående TODO

[1.2.0] - 2026-07-24

Added

GEDCOM import

  • REPO records now resolve to the archive's real name in sources, instead of the raw pointer string
  • The standard WWW tag now sets the source's URL
  • EVEN, MARB, and FAM-level NOTE are now imported as events
  • TNG's ADDR move records are now imported as residence events
  • FACT, _MDCL (medical), and _MILT (military) are now imported
  • SPFX (surname prefix) is now combined with the surname
  • Structured address linked to a specific event is now added to that event's notes
  • Standalone NOTE records (common in Gramps exports) are now resolved correctly instead of showing a raw pointer string
  • Coordinates on an event's place are now saved on the place
  • Citation retrieval dates are now saved
  • TNG's _LIVING now mirrors TNG's own rule for living/deceased
  • DEAT Y (known deceased, no date) now marks the person as deceased
  • GPS coordinates are now read automatically — both the standard format's MAP/LATI/LONG tags and TNG's central place register (_PLAC)
  • TNG's entire place register is now imported as real, searchable places, regardless of whether any person or event in the file actually references the place
  • TNG import: persons marked as Living (_LIVING Y) but who, based on birth date, would be older than 110 years are now automatically tagged -Utred hög ålder for manual review. The source's living/deceased value is not changed automatically.

Sources and relationships

  • Sources: new fields for repository contact details and call number
  • Relationships: new "Other relationship" type (associated) with subtypes Godparent, Witness, and Other — for baptism witnesses, godparents, and other important relationships that aren't family ties. Can be added and edited manually via the relationship dialog.

Person and person detail

  • Person: new fields for nickname and alternate names
  • The Sources tab now shows a combined list of all sources linked to the person (direct, via events, and via relationships)
  • The Places tab now shows places from the person's events, not just manual place links
  • New "Biography" tab shows biography and notes in the wide column with rich text formatting (bold, italic, lists), same editor component used in the blog
  • Name and tabs stay fixed at the top while scrolling (sticky header)

Merging and maintenance

  • Duplicate merging for categories, tags, and sources
  • Maintenance: find persons with no family connections, with options to review, flag for follow-up, or delete
  • Maintenance: find and clean up orphaned media files left on disk after merges or interrupted imports

Blog and events

  • Blog: new list view (table) with title, type, status, date, and categories, alongside the existing card view
  • Events: searchable person filter in the events list — finds events linked to a specific person across the whole database, not just the current page

Other

  • Welcome page with summary of content

Improved

Merging

  • Tagging persons for further investigation when merging
  • Commenting the merge
  • Compare parents, siblings, partners, and children (grouped by partner) before merging persons
  • Save diverging information as category Merged and deleted information as tags
  • The person duplicates list (automatic search) can now be sorted alphabetically, in addition to by score
  • The manual search tab for person merging now shows results in alphabetical order

Media

  • Uploaded media files now keep their original name in the on-disk filename, instead of just a random hash
  • Orphaned media files now show an image preview in the list, not just the filename

Lists and filters

  • List view is now the default on Places, Media, and Events (previously card/grid view); Persons already had this
  • The events list now shows the names of linked persons directly (up to 5, then "+X more") instead of just a count — easier to tell apart, e.g., multiple deaths in the list
  • The events filter row has been regrouped: general filters (search, type, person, sort, view) separated from the date range, which now has a clear, always-visible format hint (YYYY-MM-DD)
  • The Maintenance page now links directly to Sources and Taxonomy, with a short description of how merging works there

Look and navigation

  • Consistent avatar size (40/20 px) in the left edge of list rows, started on Events
  • Person detail: clearer tab overflow arrows when tabs don't fit, with color and text for better accessibility
  • Sticky header (title/name + any tabs) is now used on all list and detail pages, not just Persons

Fixed

GEDCOM import

  • REPO and SUBM records leaked into the previous record in the file
  • Several notes-related bugs shared the same root cause: CHAN (last changed) could pollute generic notes/date/place fields, a citation's own notes could leak into the event's notes, and an event's NOTE text was dropped if the event also had its own value. All of these are now fixed.
  • The note text on a RESI (residence) entry was never imported. Now added as the event's description.
  • A citation's own retrieval date (DATA/DATE within a source citation) could previously overwrite the event's own date by mistake. These are now kept separate.
  • Marriage and divorce (MARR/DIV on the family record) were never imported as events, and the dates were never set on the partner relationship. Now imported correctly and shown for both spouses.
  • Adoption and foster pedigree (the PEDI tag) was never read — all parent–child relationships were set to "Biological" regardless of what the file specified. The correct subtype (adoptive/foster/step) is now applied.
  • Media could previously be linked to the wrong event if a person had several events of the same type (e.g. two census records). Now linked to the exact correct event.
  • Places with the same name but different parish or county (e.g. after a historical parish reorganization) could previously be linked to the wrong place during import. Matching is now based only on the exact place text, never on the name alone.
  • Places with no specified country (e.g. "North America") previously defaulted to "Sweden". Now saved without a country if the file doesn't specify one.
  • Repeated events of the same type (e.g. multiple residences, census records, or occupations for the same person) previously overwrote each other — only the last entry was kept. Every occurrence is now imported separately.
  • Media files referenced via standard OBJE/FILE entries (e.g. TNG exports without _PHOTO tags) weren't found if organized into a subfolder the user created — the search only looked directly in the folder containing the .ged file. The search is now recursive across all subfolders.
  • NOTE text (including multi-line NOTE/CONT/CONC) on media objects (OBJE) is now copied into the media's description field. Previously only the title (TITL) was imported.

Person detail and relationships

  • Clicking a source in the Sources tab navigated away to the admin page with no way back — now opens in a dialog instead
  • Relationship subtype (Biological/Adoptive/Foster/Guardian) was shown for partners and siblings but missing for parents and children
  • Edit relationship showed no existing values when editing — type, person, dates, and notes were always blank

Merging

  • Merging persons in automatic search re-scanned the entire list after every merge — unnecessarily slow on large GEDCOM imports. The list now updates locally instead.
  • Notes and biography were shown truncated to 50 characters with no way to see the rest. Now shown in full in a scrollable box.

Events and navigation

  • Filters, page, search, and sorting were reset when opening an event and navigating back to the list — now preserved via the URL, so navigating back returns to the same filtered view
  • Navigating back from the error state and after deleting an event always went to the unfiltered list instead of respecting browser history — now consistent

Other

  • The "Go to tab" links for Sources and Taxonomy on the Maintenance page led nowhere
  • Logging in the packaged .exe didn't correctly emit INFO-level logs, making log-file-based troubleshooting unreliable
  • overflow-x: hidden on several global elements (body, .q-page-container, .q-page, .q-layout) changed to overflow-x: clip — was blocking position: sticky app-wide
  • The tab-badge count was clipped at the top edge on the Place, Event, and Media detail pages (Quasar's internal overflow handling in q-tabs)
  • The Tag media dialog showed raw i18n key paths (e.g. "PERSONS.DETAILPAGE.TABPERSONS") instead of tab labels
  • The category selector (tags and categories) showed hardcoded English text ("Categories", "Select one or more categories") instead of the existing sv/en translations

[1.1.0] – 2026-07-11

Added

  • English as an interface language (full i18n of the UI)
  • Central administration page that gathers maintenance functions
  • Duplicate merging for media, places, and events
  • Parish as a field in the place description
  • Default profile pictures for persons without their own
  • Features in the admin section that were missing per the documentation

Improved

Family tree

  • Rebuilt from the ground up; the tree now displays more logically
  • Arrow-based partner switching
  • Smarter choices when merging persons

Other

  • Better column pinning in the persons list
  • Better handling of deceased persons without a date of death
  • Better map handling; coordinates are used more actively in display
  • Years down to 0 can now be entered for birth and death

Fixed

  • Date handling UTC → local time
  • Image metadata on import from WordPress
  • Various bug fixes in media
  • Bug fixes in GEDCOM import
  • Bug fixes in merging persons
  • Bug fixes in the timeline

[1.0.1] – 2026-05-12

Fixed

  • Tags and categories are now clickable to the overview page
  • Import history for WordPress implemented; images in the blog editor restored; automatic tagging of imports works again

Improved

  • Reverted to Alembic for handling database updates and migrations
  • Tabs are now used instead of popups on the media, event, and place pages

[1.0.0] – 2026-04-25

Fixed

  • Errors in the family-based tree layout
  • Profile picture now displays correctly in the family tree
  • Editing a person directly from the family tree works again

Improved

  • Overall improved layout in the family tree
  • Installation format changed from zip to .exe for easier download

Added (0.9.0 → 1.0.0, full feature list)

Core features

  • Persons – add, edit, and remove persons with name, gender, birth data, death data, biography, and notes
  • Events – register life events (birth, baptism, marriage, death, etc.) with date, place, participants, media, and sources
  • Places – manage places with coordinates, type, address, and description; link to events and persons
  • Media – upload images and documents; link a file to multiple persons, events, and places
  • Sources – document where information comes from
  • Relationships – parenthood, marriage, and siblings; indirect relationships (cousin, grandmother's sister, etc.) are calculated automatically

Views and visualizations

  • Family tree – interactive view with descendant and ancestor views, generation filter, and partner switching
  • Map – Leaflet/OpenStreetMap with all places; click for details
  • Timeline – events visualized chronologically
  • Blog – write longer stories with a rich text editor and image insertion
  • Reports – ancestor chart, descendant chart, family group sheet, source list, and person profile with PDF export

Import and export

  • GEDCOM import (generic, Ancestry, MyHeritage, TNG)
  • WordPress import (blog posts and media)
  • GEDCOM export
  • Undo import – removes all entities from a specific import
  • Automatic tagging on import: {prefix}-import-YYYY-MM-DD

Other

  • Duplicate handling with automatic identification
  • Global tag and category system linked to all entity types
  • Local SQLite database in %LOCALAPPDATA%\PastPaths\
  • Automatic DB migration on startup via Alembic
  • Rotating log file (pastpaths.log, 5 MB, 3 backup copies)
  • Automated build script (build.ps1): Quasar → PyInstaller → Inno Setup
  • EULA and privacy policy in the installer
  • Complete Swedish user manual on pastpaths.se

[0.9.0] – 2026-04-22

First beta version for external testing.

Added

  • Complete person registry with relationships and events
  • Place management with coordinates and map display
  • Media library for images and documents
  • GEDCOM import and export
  • Duplicate handling with automatic identification
  • Source management and citations
  • Family tree view
  • Timeline for events
  • 10 different color themes

[0.8.5] – 2026-04-15 (internal testing)

Improved

  • Optimized database queries for better performance
  • Improved date handling with precision (year/month/day)

Fixed

  • GEDCOM import now handles media tags correctly
  • Fixed an issue with the place picker in forms

[0.8.0] – 2026-04-08 (internal testing)

Added

  • Desktop packaging with PyInstaller
  • Autostart on system startup (optional)

Improved

  • Redesigned login and registration pages

Fixed

  • Resolved an issue with SQLAlchemy cascade during import undo