2026-01-03 - 2026-07-03
Overview
76 Pull requests merged by 1 user
Merged
#254 Cleanup tool: mark deceased by a child's birth year
Merged
#253 Tree cards: living/unset-sex people render gray, not blue
Merged
#252 docs: note the spouse-layout fix is upstreamed
Merged
#251 Move cardToMiddle fix into the family-chart patch (+ document patches)
Merged
#250 Fix fly-to vertical centering at non-1 zoom levels
Merged
#249 Tree: clicking ×N flies to the person's other copy
Merged
#248 Tree: Legend by the pan/zoom hint + clickable ×N duplicate badges
Merged
#247 Person page: server-side search; stop loading the whole tree
Merged
#246 Fix list_persons N+1 (the ~4s person-page load)
Merged
#245 Close citation/source living-person leak; add on-demand tree purge
Merged
#244 docs: bring all documentation current with shipped work
Merged
#243 compose: drive app config from .env (env_file, blanket passthrough)
Merged
#242 compose: forward AI provider + mailer/SMTP env to the backend
Merged
#241 compose: forward OWNER_EMAIL to the backend container
Merged
#240 Instance owner/operator role (env-declared via OWNER_EMAIL)
Merged
#239 Guard against schema drift (readiness 503 + loud startup log)
Merged
#238 Per-tree AI model policy (owner-only admin view)
Merged
#237 Model providers: OpenAI/xAI/Ollama + run several at once
Merged
#236 Fix #214: ChangeProposal (propose-then-confirm)
Merged
#235 Fix #215: pluggable LLM + embedding provider abstraction
Merged
#234 Fix #196: one-command operator backup (pg_dump + MinIO)
Merged
#233 Fix #145: tree membership management (list / add / role / remove)
Merged
#232 Fix #169: keep citation links on GEDCOM export
Merged
#53 Security: gate sessions on verified email (opt-in)
Merged
#52 Cleanup: infer a missing sex from a known-sex spouse (preview → approve)
Merged
#51 Public tree view: add generation depth controls (shared with member view)
Merged
#50 Public tree view: full-width canvas like the member view
Merged
#49 Public view: add tree chart + homepage Explore links
Merged
#48 Visibility phase 5: public /explore directory + search
Merged
#47 Visibility phase 4: no-login public viewer pages + robots
Merged
#46 Fix leak: redact per-person on authed non-member reads
Merged
#45 docs: add product backlog (genealogy feature gap analysis)
Merged
#44 Visibility phase 3: redaction-safe public read API + leak test
Merged
#43 Visibility phase 2: privacy-engine branches on viewer auth state
Merged
#42 Visibility phase 1: add site_members value + 4-option dropdown
Merged
#41 Trees list: inline visibility selector (private/unlisted/public)
Merged
#40 Tree view: configurable generation depth (ancestors/descendants + All)
Merged
#39 Person page: one-click sex setter (no edit mode)
Merged
#38 Person page: make marriage-event spouse picker searchable
Merged
#37 Tree view: center a person between multiple spouses
Merged
#36 Tree view: add "Back to default person" recenter link
Merged
#35 Preserve focused person across tree/people/detail navigation
Merged
#34 Prevent duplicate relationships; harden tree render against cycles
Merged
#33 Cleanup: list people with no sex set + inline set
Merged
#32 Cleanup: best-guess sex from first name (offline dictionary)
Merged
#31 Tree Cleanup tool: bulk deceased / gender-from-source / name fixes (preview-first)
Merged
#30 Show a sex symbol after the name on the person page
Merged
#29 Full light/dark theme toggle; brand-aware connector lines
Merged
#28 Discoverable Add Person + inline create-new when linking relatives
Merged
#27 Account export / restore-into-new-tree / delete
Merged
#26 Link media to people (person page + media page)
Merged
#25 Shared marriage events; deterministic parent ordering
Merged
#24 Account menu + Settings (change password), per-tree home person, full-width tree
Merged
#23 Auto-apply migrations on deploy (entrypoint + one-shot service)
Merged
#22 Global Import menu entry + mobile drawer nav
Merged
#21 GEDCOM: duplicate-aware import + maiden/married + RELI/NOTE mapping
Merged
#20 Alternate names, self-person link, deletion integrity + dangling people
Merged
#19 Tree search + click-rebuild; searchable relationship picker; gender dropdown
Merged
#18 Full-CRUD sweep (API): update for tree/source/citation/relationship/media
Merged
#17 Edit people + events; existing-person picker; full-CRUD rule
Merged
#16 Tree layout toggles + fan + card->profile + server search
Merged
#15 Fuzzy search (pg_trgm) + living-person protection
Merged
#14 Interactive Tree view (pan/zoom genealogy chart)
Merged
#13 Scalable people directory
Merged
#12 Phase 2: GEDCOM import/export
Merged
#11 Pedigree connector lines + 4 grandparents
Merged
#10 Family view + soft-delete/recovery
Merged
#9 App-shell UI overhaul + media stream endpoint
Merged
#8 Phase 1: media (object storage) + background worker
Merged
#7 Frontend redesign: real type, hero, depth
Merged
#6 Phase 1: sources-first spine (sources + citations)
Merged
#5 Phase 1: events + relationships + person detail
Merged
#4 Use host global Watchtower (drop bundled one)
Merged
#3 Add Watchtower auto-deploy (2-min poll)
Merged
#2 Frontend rebrand: ink + bronze + paper
Merged
#1 Phase 0 — Foundation: backend, data model, local auth, frontend, deploy + CI
5 Issues closed from 1 user
Closed
#214 ChangeProposal (propose-then-confirm)
Closed
#215 Pluggable LLM + embedding provider
Closed
#196 Operator backup: one-command pg_dump + MinIO sync
Closed
#145 Membership PATCH/DELETE + role change (minimal slice)
Closed
#169 Citation links dropped on GEDCOM export
178 Issues created by 1 user
Opened
#57 Non-family associations (FAN)
Opened
#58 Relationship-status enum
Opened
#59 Family/couple unit (GEDCOM FAM)
Opened
#60 Kinship / relationship calculator
Opened
#64 Person timeline / LifeStory
Opened
#65 Multi-calendar normalization
Opened
#66 Evidence/persona vs conclusion model
Opened
#54 Repository as first-class entity
Opened
#62 Per-field revision history + restore-prior-value
Opened
#55 Note as first-class entity (SNOTE)
Opened
#61 Read-only audit-log viewer / activity feed
Opened
#56 Shared/event-centric model + witnesses
Opened
#63 Color-coded tags & custom labels
Opened
#79 Auto-citation on save/match
Opened
#70 Health/medical, historical-facts index, LDS ordinances
Opened
#69 Raw GEDCOM record editor / configurable fact tabs
Opened
#67 Negative assertions
Opened
#68 Custom groups / networks
Opened
#71 Citation confidence selector in UI
Opened
#75 Evidence-Explained guided citation builder
Opened
#72 Source edit UI + all 8 fields
Opened
#74 Transcription / abstract / extract fields
Opened
#73 GET /{tree}/citations/{id}
Opened
#77 Record-to-source attachment ("save to tree")
Opened
#78 Source Linker (one record → many persons)
Opened
#76 Citations on OwnershipEvents
Opened
#88 Tree-to-tree matching (Smart Matches)
Opened
#82 Proprietary record collections
Opened
#80 Memories-as-sources (cite a photo directly)
Opened
#81 GPS / Proof-Standard reasoning artifact
Opened
#87 Semantic / vector search (pgvector)
Opened
#92 Automated record hints
Opened
#83 Standalone duplicate detection
Opened
#84 Interactive two-person merge (side-by-side, field-select, undo)
Opened
#86 Phonetic matching (Soundex/Metaphone/DM)
Opened
#85 Advanced search (wildcards, boolean, date/place facets, sort)
Opened
#91 External search deep-links
Opened
#90 Match confirm/reject + "not a match" memory
Opened
#89 Mutual-consent match notification
Opened
#104 Raw DNA upload (own file)
Opened
#96 EXIF / GPS stripping on upload
Opened
#105 Kit/Match entities linked to persons
Opened
#100 Mobile photo scanning + auto-split
Opened
#93 Jurisdiction-aware record-search hints
Opened
#97 Thumbnail / preview generation
Opened
#98 Image reference regions
Opened
#94 Cross-language / transliteration matching
Opened
#95 Record Detective, newspaper matches, collection catalog, GQL query builder, OCR full-text search
Opened
#101 AI photo dating / colorize / restore / animate / narrate
Opened
#99 Photo/face tagging (manual)
Opened
#102 British Library / paywalled archives, pay-per-view credits
Opened
#103 DNA-confirmed relationship flag
Opened
#110 Pluggable geocoding provider
Opened
#111 Bulk/batch geocoding (worker)
Opened
#113 Place-name cleanup tools
Opened
#108 Place autocomplete + picker in event editor
Opened
#112 Place merge/split (dedup)
Opened
#106 Autosomal match list, segments, chromosome browser, triangulation, ThruLines/AutoTree, ethnicity/admixture, haplogroups, GEDmatch, NPE detection
Opened
#107 Place as usable first-class entity
Opened
#116 Interactive map of events & places
Opened
#115 Alternate/historical place names with date ranges
Opened
#117 Migration trail / pedigree-birthplace maps
Opened
#109 Geocoding (manual coords + forward)
Opened
#114 Standardized-name vs original text
Opened
#124 Sentence-template narrative engine
Opened
#126 Drag-to-edit / interactive chart canvas
Opened
#130 Color-by-lineage, fan overlays, lifespan/timeline charts
Opened
#128 Kinship/relationship diagram report
Opened
#127 Statistics dashboard
Opened
#120 Multi-format export (PDF / SVG / image / HTML)
Opened
#121 Ahnentafel report
Opened
#129 List reports (sources/places/repos/media)
Opened
#122 Family group sheet / individual summary
Opened
#119 Historical boundary overlays, time slider, heatmaps, radius/nearby, tile-provider switch
Opened
#118 Bundled world gazetteer
Opened
#123 Narrative descendant/ancestor reports
Opened
#125 Photo boxes in charts
Opened
#137 Source-driven data entry
Opened
#133 Print-shop products, XML template engine, blank forms
Opened
#136 To-do / research task planner
Opened
#132 Bowtie/couple-rooted/circular-sun/3D/network/calendar
Opened
#131 Book/multi-report compiler, wall-chart tiling, page-setup, customizable charts
Opened
#134 Data-quality / consistency checker
Opened
#135 Research log
Opened
#138 Task↔log linkage
Opened
#143 Persona-adaptive onboarding
Opened
#139 Family chronology / timeline
Opened
#141 Saved-record shoebox / review queue
Opened
#144 Dashboard widgets, scratchpad, research-link sidebar, blog/narrative authoring, research wiki, crowd indexing
Opened
#140 Navigation: active person / history / bookmarks
Opened
#142 Guided research suggestions
Opened
#157 Two-way desktop↔online sync
Opened
#146 Full invite/grant flow (email + UI)
Opened
#156 Narrative website / HTML export
Opened
#150 In-app messaging (contact details hidden)
Opened
#145 Membership PATCH/DELETE + role change (minimal slice)
Opened
#151 Watch/follow + change notifications
Opened
#149 Comments / discussion threads
Opened
#153 Pending-changes moderation (human edits)
Opened
#148 Notification / event-dispatch substrate
Opened
#155 Ownership transfer
Opened
#152 Optimistic concurrency / lost-update protection
Opened
#154 Field-by-field profile merge & approval
Opened
#147 SEO public profile pages (server-rendered)
Opened
#162 Privacy-stripped export (redact living)
Opened
#158 Curator roles, trusted-list ACLs, field locking, projects/workspaces, forum, honor code, free-space wiki, portal homepage
Opened
#160 Self-registration mode gating (approve / open / closed)
Opened
#163 Per-fact / per-field privacy + record flags
Opened
#159 Real-time co-editing
Opened
#164 Granular rules by record type & viewer relationship
Opened
#161 Make LIVING_RECENCY_YEARS configurable
Opened
#165 OIDC / external IdP login
Opened
#166 Two-factor auth (TOTP)
Opened
#167 DB-level audit immutability
Opened
#170 GEDCOM 7.0 import/export
Opened
#168 Block/hide users, family-group private space, DNA opt-in controls
Opened
#171 Custom/underscore tag preservation
Opened
#169 Citation links dropped on GEDCOM export
Opened
#183 Native mobile apps
Opened
#176 GEDZIP (.gdz) bundle
Opened
#178 Import conformance validation
Opened
#180 PWA (manifest + icons + viewport + service worker)
Opened
#177 Selective / filtered export
Opened
#181 Responsive parity audit
Opened
#173 Encoding detection (ANSEL/UTF-16)
Opened
#182 Offline-first editing + reconnect sync
Opened
#172 PLAC FORM hierarchy + MAP coordinate round-trip
Opened
#174 HEAD completeness
Opened
#175 GEDCOM media (OBJE) round-trip
Opened
#179 GEDCOM-X, Gramps XML, multi-format import, FHISO/ELF, PRF upload, KML export
Opened
#190 Plugin/addon architecture
Opened
#184 Companion app w/ cross-device sync
Opened
#185 Relatives Around Me
Opened
#194 Pagination on list endpoints + server-side tree loading
Opened
#186 Public read-only API + scoped tokens (OAuth)
Opened
#192 Certified partner program
Opened
#188 Webhooks / change feeds
Opened
#195 Scale validation (50k+ trees, P95<2s, load test)
Opened
#187 SourceConnector framework
Opened
#189 CLI / scripting surface
Opened
#191 In-app query tooling (SuperTool)
Opened
#193 Real job queue (Postgres/Redis-backed)
Opened
#196 Operator backup: one-command pg_dump + MinIO sync
Opened
#204 Typed OwnershipEvents
Opened
#205 Chain-of-title timeline + gap flagging
Opened
#207 Legal description verbatim storage
Opened
#200 pgvector enablement
Opened
#197 Scheduled / cloud automated backup + restore tooling
Opened
#202 Pluggable DB backend, billions-scale shared tree, weekly record releases
Opened
#203 Property/parcel first-class entity
Opened
#208 Parcel/plat boundary geometry
Opened
#206 Bidirectional owner↔person, parcel↔place
Opened
#209 PLSS / metes-and-bounds parsing → geometry
Opened
#210 BLM/GLO federal land-patent connector
Opened
#199 Structured JSON logs + Prometheus metrics
Opened
#198 ARM64 build matrix
Opened
#201 Database check-and-repair
Opened
#216 AI research-assistant chatbot (RAG over tree)
Opened
#211 USGS map + public county-deed connectors
Opened
#212 Co-ownership roles / tenure types
Opened
#213 Tax/assessment rolls, UK Tithe, Lloyd George Domesday
Opened
#219 OCR/HTR transcription + document translation
Opened
#218 Fact extraction from documents
Opened
#217 Conversational / connector record search
Opened
#223 Multi-language UI (40–60+ langs)
Opened
#221 AI biography / audio narration
Opened
#220 Next-step research guidance
Opened
#222 UI string externalization
Opened
#214 ChangeProposal (propose-then-confirm)
Opened
#215 Pluggable LLM + embedding provider
Opened
#224 Accessibility / WCAG 2.2 AA
Opened
#225 Unicode-correct non-Latin names
Opened
#227 Non-Gregorian calendar dates
Opened
#231 Multi-language report/diagram output
Opened
#230 Selectable themes
Opened
#226 Structured/compound surname components
Opened
#228 Language tags / romanized variants per name
Opened
#229 RTL support