Release notes grouped by date and change type, covering new features, improvements, and fixes.
Stronger protection for public messages
v0.39.8
Added
Signed submission attemptsThe Contact page now uses FormBastion Enhanced Protection to prepare expiring, single-use browser attempts and provider-generated abuse-detection fields.
Restricted browser accessThe marketing security policy permits scripts only from FormBastion’s CDN and background connections only to its submission host.
Compatibility
Contact behaviorThe same visible fields, native validation, external delivery destination, responsive layout, and standalone Thank you page remain in place. Enhanced submissions require JavaScript.
Application boundaryNo DNventory endpoint, database table, mail worker, authenticated workflow, or public API contract changed.
A simpler contact form
v0.39.7
Removed
Hidden contact fieldThe _gotcha honeypot and its contact-specific styling have been removed from the public form.
Unchanged
Form deliveryThe exact approved FormBastion HTTPS destination, native validation, responsive layout, restrictive security policy, and standalone Thank you page remain intact.
Application boundaryNo DNventory handler, database table, worker, authenticated workflow, or public API contract changed.
A working contact route with quiet spam resistance
v0.39.6
Changed
FormBastion deliveryThe public Contact form now submits directly to the approved HTTPS form endpoint while preserving native validation and the existing responsive layout.
Restricted destinationThe marketing security policy permits form navigation only to DNventory and the FormBastion host.
Added
Honeypot protectionAn off-screen _gotcha field gives the delivery service a basic automated-submission signal without adding a visible challenge.
Compatibility
No application or API changeNo DNventory handler, database table, mail worker, authenticated workflow, or public API contract was added. The no-index Thank you page remains available for a later redirect configuration.
A clear place to start a conversation
v0.39.5
Added
Public Contact pageA focused, accessible contact form now matches the Registry Noir marketing experience and is linked from the public header and footer.
Future Thank you destinationA dedicated no-index confirmation page is ready to become the post-submission destination when message delivery is connected.
Changed
Deployment-ready public routesContact and Thank you are included in the static marketing bundle, clean-route rules, responsive styling, accessibility checks, and release validation.
Intentionally inert formThe form posts only to its placeholder # action and has no handler, storage, email delivery, JavaScript submission, or API dependency.
The desk fits the records
v0.39.4
Changed
Content-aware workbenchesPortfolio and Watchlist now allocate the complete desktop result panel only among visible columns, with useful room for domain identity, decisions, organization, and actions.
Earlier organization reflowThe folder navigator moves above results on constrained desktop layouts so it no longer competes with the records table.
Fixed
No reserved hidden columnsDisabled Watchlist columns no longer leave an unused block beside Actions or force visible headings and controls into narrow vertical fragments.
Clearer confirmation dialogThe stray punctuation marker is replaced by a descriptive Review change label while the existing accessible confirmation flow remains intact.
Deadlines and desks stay in context
v0.39.3
Changed
Contained desktop workbenchesPortfolio and Watchlist columns now proportionally fit the available result panel instead of widening the page.
Clearer renewal languageOverview runway counts now say domains rather than names.
Fixed
Correct auction countdownsRemaining time now uses the stored UTC deadline while the exact date and time remain localized to the workspace.
Preserved Watchlist contextActions return to the same view, filters, sorting, page size, and page. Archiving also stops monitoring, reminders, pending watch email, and active watch alerts without deleting history.
Decisions that read at a glance
v0.39.2
Changed
Signal-first mobile ticketsPortfolio and Watchlist records now have clear separation and one reading order: identity, the renewal or watch decision, aligned supporting facts, then optional details.
Contextual Watchlist hierarchyUpcoming auctions, required outcomes, missing deadlines, change monitoring, and unclassified records each surface the action-relevant state without repeated empty facts or Normal-priority labels.
Fixed
Stable live searchDesktop rows and phone tickets are matched by domain ID instead of display position, preventing conditional content from hiding the wrong record.
Readable interaction statesTicket focus, selection, urgency, long domains, disclosures, and 44px selection controls remain contained and distinct at phone widths.
Mobile layout correction
v0.39.1
Changed
Compact registry ledgersPortfolio and Watchlist phone listings prioritize identity, status, timing, money, and monitoring facts without oversized repeated controls.
Full-width mobile workspacesSettings panels and every owned-domain section use the available phone width with single-column forms and deliberate internal table scrolling.
Fixed
Narrow panelsAccount, record editors, timelines, payment plans, locks, valuation evidence, research, and At a glance no longer inherit desktop minimum widths.
Mobile scanningLong domains, numerous folders and tags, missing values, and active auctions remain readable without document-level horizontal overflow.
A faster portfolio in your hand
v0.39.0
Changed
Hierarchical mobile foldersPortfolio and Watchlist now use compact folder disclosures with one clearly indented parent-and-child tree.
Scan-first domain cardsPhone cards surface registrar, expiration, invested amount, estimate, taxonomy, and relevant Watchlist opportunity facts in a consistent ledger.
Task-focused records and settingsSettings has direct section navigation, while owned-domain records start with key facts and a compact section picker.
Fixed
Mobile action sprawlOverview intake actions are centered and crowded page actions move into an accessible overflow menu.
Desktop regressionsThe new workflow composition is isolated below 768px; desktop rails, tables, tabs, and sidebars retain their established layout.
A Watchlist that uses the desk
v0.38.4
Changed
Proportional Watchlist columnsWide desktop tables now distribute the complete results panel across domain identity, watching state, observations, opportunities, organization, and actions.
Fixed
Unused listing spaceThe Watchlist table no longer settles at its minimum width while leaving a large empty area beside the Actions column.
Cramped row actionsView record and More share a stable action row, with classification actions placed clearly beneath them when required.
A workspace that fits the decision
v0.38.3
Added
Persistent navigation railMembers can expand or collapse the left navigation from its divider, with an accessible state and a browser-local preference.
Changed
Responsive Watchlist recordsThe sortable desktop table now yields to polished two-column and single-column cards based on the space the workbench actually has.
Fixed
Cramped watch recordsLong domains, actions, organization controls, alerts, and editors remain contained when the rail is expanded or the screen narrows.
Responsive workbenches for every desk
v0.38.2
Changed
Earlier rail compactionThe member navigation becomes compact before it competes with the active workbench.
Adaptive organizationPortfolio and Watchlist folder structures move above results on narrower desktops and distribute folders into readable columns.
Responsive data viewsDesktop tables remain available when they fit, while tablets use two-column record cards and smaller screens use one column.
Fixed
Filter and table collisionsSearch, selects, actions, and financial headers no longer compress into overlapping labels or create document-level horizontal overflow.
Contained editing and resilient appraisals
v0.38.1
Added
Actionable appraisal failuresFailed runs now close with a safe reference for retry or support, while the appraisal worker recovers interrupted stale runs and safely reclaims an abandoned worker lock.
Changed
Full-width Watchlist editingReasons & auction opens beneath its watched record with room for marketplace, deadline, timezone, pricing, reminders, and monitoring controls.
Bounded provider handlingOnly transient provider failures retry once; terminal outcomes remain visible without leaving work running indefinitely.
Fixed
Editor containmentRow highlighting and table columns no longer clip or overpaint the expanded Watchlist form.
Numeric market keywordsNumeric-looking aggregate keywords no longer interrupt Internal Model matching.
Value safetyFailed and generated runs never change approved values without explicit user acceptance and approval.
Saved Watchlist viewsPreserve folder, filters, sorting, columns, density, and page size for repeatable scans.
Changed
Predictable auction orderingTimed auctions sort from soonest to latest, followed by untimed auctions alphabetically, then non-auction records alphabetically.
Compact appraisalAutomatic appraisal remains on the domain record but now behaves as a secondary valuation workflow.
Bulk reconciliationSelected provider differences now carry an explicit action and complete together without an unnecessary desktop list scroller.
Faster portfolio decisions
v0.37.0
Added
Practical paginationPortfolio and Watchlist now provide server-backed page controls and selectable row counts for large collections.
Inline appraisalAutomatic appraisal can be started and reviewed without leaving an owned-domain record.
Bulk reconciliationSelected connection differences can accept provider evidence or retain DNventory values together.
Changed
Watchlist workbenchSearch, reason and state filters, sortable columns, auction-end ordering, mobile cards, and clearer opportunities make watched records easier to scan.
Connection deskProvider marks, health, capabilities, schedules, and reconciliation actions now use a clearer operational hierarchy.
Payment remindersThirty-day installments join daily digests, seven-day and overdue items are urgent, and weekly summaries include the due count.
Fixed
Registry Desk detailsCorrected dashboard help placement, rail chrome, dark field states, form and filter alignment, report navigation affordance, and portfolio/footer spacing.
Readable rowsPortfolio hover no longer flashes white, long content remains contained, and toolbars have deliberate breathing room.
Registry Desk corrective application pass
v0.36.1
Changed
Clearer application hierarchyThe authenticated workspace now uses one stable page gutter, quieter surfaces, tighter typography, and more deliberate spacing across dense workbenches.
Tablet compositionPortfolio, Watchlist, rails, filters, tables, and forms now reflow intentionally at 768px and 1024px instead of behaving like squeezed desktop layouts.
Fixed
Consistent dark statesLegacy light-theme values and competing cascade paths no longer produce white controls, mismatched borders, or inconsistent text contrast inside the member application.
Workbench containmentLong domain, provider, folder, and tag labels, sticky controls, menus, and narrow tables remain within their intended surface.
Compatibility
Presentation-only releaseNo route, authentication rule, stored preference, database behavior, workspace boundary, or public API contract changed.
Registry Noir 4.0 — Registry Desk
v0.36.0
Added
Task-based navigationMember and administration destinations are regrouped around daily decisions, with one account menu and a complete mobile More sheet.
Expressive interaction systemMenus, drawers, tabs, dialogs, entrances, saved rows, live results, and page transitions share accessible motion and feedback contracts.
Changed
Registry Desk compositionOverview, portfolio workbenches, records, forms, public pages, authentication, and privileged operations now share one balanced, information-dense visual system.
Smaller frontend payloadFive overlapping runtime stylesheets are consolidated into one fingerprinted asset with more than 20% lower compressed transfer size.
Fixed
Responsive containmentLong labels, folders, tables, sticky controls, editors, popovers, and action menus remain inside mobile and desktop viewports.
Accessible motionReduced-motion and forced-colors modes preserve content, focus, status meaning, and complete non-JavaScript fallbacks.
Internal valuation model 2.0
v0.35.0
Added
Name classificationResults identify exact keywords, compounds, brandables, acronyms, numeric names, and unsupported international forms.
Liquidity guidanceA separate relative score, label, and broad holding horizon help rank names without pretending to predict a sale.
Changed
Robust evidence blendTLD and keyword periods now combine in logarithmic space with outlier resistance, evidence reliability, and sparse-keyword shrinkage.
Wholesale integrityWholesale remains anchored to direct wholesale TLD evidence instead of applying a fixed discount to retail.
Fixed
Morphology matchingPlural keyword surfaces and Unicode-aware name lengths improve segmentation and placement decisions.
UncertaintyUnsupported and stale segments widen ranges and lower confidence rather than producing overconfident numbers.
Porkbun workspace connections
v0.34.0
Added
Porkbun connectorWorkspace managers can connect multiple Porkbun accounts with separate production API-key and secret-key pairs and synchronize API v3 evidence into the existing reconciliation desk.
Access-aware evidenceExternally managed domains, per-domain API-access limits, account labels, registration facts, and permitted nameservers remain visible without overstating provider authority.
Security
GET-only boundaryPorkbun credentials are encrypted per workspace, sent only in request headers over verified TLS and forced IPv4, and restricted by DNventory to documented domain-list and nameserver GET operations.
Dynadot workspace connections
v0.33.0
Added
Dynadot connectorWorkspace managers can connect multiple Dynadot accounts with separate production API keys and secrets and synchronize signed REST v2 domain evidence into the reconciliation desk.
Rich source evidenceDates, renewal option, locks, holds, privacy, status, for-sale state, nameservers, DNS mode, provider folder, note, and transfer-lock date remain traceable without importing sensitive contact records.
Security
GET-only boundaryDynadot requests are HMAC-SHA256 signed, forced through the allowlisted production IPv4 address, encrypted per workspace, and restricted by DNventory to the domain-list GET endpoint.
Canonical provider reconciliation
v0.32.1
Changed
Identity-aware comparisonRegistrar and DNS evidence now compares canonical provider identities and aliases instead of requiring identical display text.
Fixed
Label-only proposalsGoDaddy DNS and GoDaddy no longer appear as a meaningful difference. Existing alias-only proposals are closed automatically while source evidence remains intact.
GoDaddy workspace connections
v0.32.0
Added
GoDaddy connectorWorkspace managers can connect multiple GoDaddy accounts with read-only Personal Access Tokens and synchronize Domains v3 facts into the existing reconciliation desk.
Nameserver evidenceDomain status, dates, auto-renew, lock, privacy, and nameservers remain traceable; GoDaddy DNS is inferred only from recognized domaincontrol.com nameservers.
Changed
Provider-neutral ConnectionsCloudflare and GoDaddy now share the same tenant-safe sync, provider-only import, missing-record, scheduling, and decision workflows.
Security
Workspace-owned PATsGoDaddy credentials are verified, encrypted at rest, never redisplayed, optionally tracked by expiration, and replaceable without losing history.
Cloudflare reconciliation actions
v0.31.8
Fixed
Reconciliation decisionsUse provider and Keep DNventory now retain the active connection context instead of resolving to a false Connection not found page.
Complete action coverageSync, provider-only import, ignore, settings, credential replacement, and disconnect use the same explicit tenant-scoped POST contract.
Cloudflare connection completion
v0.31.7
Fixed
Account confirmationThe selected Cloudflare account can now be connected without losing the one-time authorization state during the confirmation POST.
Expired-state accuracyThe final form uses an explicit canonical endpoint and carries the short-lived state in its protected submission instead of relying on the browser to retain a query string.
Cloudflare account discovery
v0.31.6
Fixed
Authorized account returnAfter successful Cloudflare consent, DNventory now lists accounts from accepted user memberships instead of calling an account-management endpoint outside the granted permission.
Membership paginationEvery accepted membership page is read with bounded pagination and duplicate-safe account normalization.
Changed
Credential-aware discoveryOAuth uses Memberships Read while the advanced API-token fallback retains its existing account lookup behavior.
Cloudflare permission consent
v0.31.5
Fixed
Usable Cloudflare consentThe consent screen now receives Memberships Read plus the selected Registrar Domains Read and/or Zone Read permissions instead of showing zero permissions.
Configuration guardOAuth readiness now requires every permission used by DNventory's Cloudflare adapter, preventing an incomplete client configuration from appearing ready.
Changed
Capability-aware accessRegistrar-only and DNS-only connections request only their corresponding provider permission; selecting both requests both read permissions.
Cloudflare consent completion
v0.31.4
Changed
Consent-stage diagnosticsRemoved the protocol-only scope that caused Cloudflare's consent submission to fail, revealing that this provider also requires explicit resource scopes in the authorization request.
Callback reachability evidenceProduction diagnostics distinguish a consent-page failure from a callback or token-exchange failure without exposing authorization data.
Cloudflare consent compatibility
v0.31.3
Fixed
Valid scope requestDNventory no longer requests OpenID from a Cloudflare client configured for Authorization Code access, preventing an immediate invalid_scope rejection.
Provider-side verificationThe production OAuth probe now asks Cloudflare to validate the generated request before reporting the connection path healthy.
Changed
Actionable authorization errorsSafe provider error codes now distinguish cancelled consent from invalid permissions or callback configuration.
Cloudflare connection routing
v0.31.2
Fixed
OAuth launch routeThe Cloudflare authorization button now preserves nested clean-route separators instead of encoding them into one invalid path.
Live deployment probeProduction verification now confirms OAuth readiness and a secret-free Authorization Code + PKCE redirect before rollout is accepted.
Changed
Reliable connection startWorkspace managers can proceed from Connections to Cloudflare consent using the configured production client.
Cloudflare authorization correction
v0.31.1
Added
OAuth-first connectionWorkspace managers now continue to Cloudflare, review consent, select an authorized account, and return to finish setup.
Renewable accessShort-lived access tokens refresh through encrypted, rotatable credentials without asking members to copy secrets.
Changed
Token setup is advancedManual API tokens remain available only as a fallback for Cloudflare accounts where OAuth cannot be used.
Safer reconnectExisting token connections can upgrade in place without losing snapshots, decisions, or imported records.
Security
Bound authorization stateOne-time OAuth state is hashed, session-bound, short-lived, and scrubbed after use.
Revocation and cleanupDisconnect attempts provider revocation, while expired setup credentials are removed by the connection worker.
Connected portfolio evidence
v0.31.0
Added
Workspace ConnectionsAdd multiple provider accounts and manage Cloudflare Registrar and DNS capabilities independently.
Reconciliation deskReview provider differences, deliberately import provider-only domains, and inspect immutable snapshots and sync history.
Connection operationsAdministrators can control availability and inspect aggregate health, redacted failures, and worker freshness.
Changed
Manual data remains authoritativeConnected data is source-attributed evidence and never silently overwrites a workspace field.
Non-destructive absenceA domain missing from a provider response is flagged for review rather than deleted or closed.
Security
Encrypted credentialsProvider tokens use authenticated encryption and are never returned after save.
Tenant-safe reviewEvery connection, snapshot, decision, and import is scoped to its workspace.
Clear notification triage
v0.30.1
Changed
Notification InboxDismissed notifications now leave the default Inbox while remaining available through the Dismissed filter.
Timezone readabilityThe selected auction timezone uses the full width of an existing-domain editor instead of being clipped inside a narrow half-column.
Fixed
Dismiss feedbackRead and dismiss actions now confirm their result, and already-dismissed history no longer presents another Dismiss button.
Reliable auction intake
v0.30.0
Added
Auction timezone entryEnter a marketplace-local deadline with any supported IANA timezone; DNventory converts it to UTC with daylight-saving rules and displays the saved result in the workspace timezone.
URL-assisted auction setupAn existing Watch URL fills an empty Auction URL, and recognized auction hosts can suggest the marketplace and its usual timezone without scraping.
Changed
Durable auction provenanceEach auction episode retains the timezone used when its deadline was entered.
Fixed
Notification statusMark read, dismiss, and mark-all-read no longer fail because of a database collation comparison.
Auction savesExisting and unchanged auction details save reliably through native PDO.
Long domain containmentPortfolio domain labels no longer cross into the Status column.
Faster portfolio navigation
v0.29.0
Added
Live Portfolio and Watchlist searchResults narrow immediately while typing, announce the match count, update the URL, and retain normal server-side submission as a fallback.
Changed
Watchlist workbenchLifecycle, reason, search, state, tag, opportunity, and actions now form a clearer desktop table and labeled mobile-card workflow.
Fixed
Portfolio folder visibilityThe rightmost folder column now fits at large desktop widths and remains locally scrollable at narrower breakpoints instead of being cut off.
Email preference renderingProfile now renders every category delivery choice correctly instead of failing while selecting the saved option.
Quieter watchlist email
v0.28.1
Added
Run-aware watch summariesRelated state, registrar, expiration, nameserver, and monitoring-failure changes now share one concise email after a short quiet period.
Changed
Calmer immediate deliveryEvery domain still receives its own in-app notification and record link, while email avoids sending one message per changed domain.
Fixed
First-run burstsA newly scheduled monitor can discover many changes without flooding a member's inbox.
Email delivery and scheduled communications
v0.28.0
Added
Verified account deliveryNew registrations require a 24-hour email verification link; invitations, password resets, security notices, and welcome mail use the same durable outbox.
Digests and summariesRoutine activity is grouped by workspace-local day while a weekly portfolio summary highlights renewal, payment, restriction, review, and data-quality exposure.
Timezone-safe schedulesDaily and weekly email follows each workspace timezone and daylight-saving rules while production cron remains UTC.
Auction and change watchlists
v0.27.0
Added
Overlapping watch reasonsClassify a domain for Auctions, Domain changes, or both and filter each view without duplicating its record.
Durable auction deskTrack marketplace, URL, deadline, current price, maximum bid, reminders, outcomes, and prior auction episodes.
Changed
Contextual WatchlistAuction rows prioritize ended and upcoming opportunities while change records retain RDAP state and history.
Canonical marketplacesAdministrators govern marketplace names alongside registrar, DNS, and parking providers; Other remains immediately usable.
Fixed
Lossless outcomesWon, Lost, Extended, and Cancelled actions preserve auction history, reschedule or cancel derived reminders correctly, and keep Changes records active when appropriate.
Responsive auction controlsReason selection, auction forms, outcome prompts, and history remain keyboard accessible and contained on mobile.
Portable portfolio views
v0.26.0
Added
Direct Portfolio exportDownload a CSV from the Portfolio header without detouring through Reports.
Complete organization contextFolder paths and flat tags travel with each exported domain.
Changed
View-aware outputExports preserve the current search, lifecycle, registrar, folder, tag, and sort selections while including every matching result across pagination.
Richer portable recordsInfrastructure, dates, costs, values, plans, restrictions, reviews, and notes share one stable column contract.
Fixed
Spreadsheet safetyExported text that resembles a spreadsheet formula is neutralized before download.
Private cachingPortfolio downloads are explicitly marked private and non-cacheable.
First-class portfolio tags
v0.25.0
Added
Dedicated Tags workspaceCreate, rename, recolor, archive, restore, and inspect usage for reusable workspace labels.
Bulk tag actionsAdd, remove, replace, or clear tags across selected Portfolio records.
Changed
Clear taxonomy rolesFolders remain hierarchical locations while tags are presented as flat cross-portfolio labels.
Direct assignmentOwned and watched records, intake, and Portfolio organization expose tag controls and management links.
Fixed
Tag discoverabilityTags are now a primary Inventory destination instead of a hidden Settings control.
Consistent navigationVisible tag chips open the matching filtered Portfolio or Watchlist view.
Reliable Watchlist actions
v0.24.2
Fixed
Visible More menuThe Watchlist action menu now renders above clipped table and card surfaces at every row position.
Predictable dismissalThe menu closes on outside click, action selection, or Escape and restores keyboard focus when dismissed.
Reliable folder rail controls
v0.24.1
Fixed
Expand after collapseThe folder rail now keeps its toggle visible in the collapsed state, allowing the full folder tree to be restored immediately.
Accessible stateThe toggle continues to update its label and expanded state for keyboard and assistive-technology users.
Faster decisions on every screen
v0.24.0
Added
Saved Portfolio viewsPreserve filters, folder scope, visible and ordered columns, density, and an optional personal default.
Review triageSnooze, dismiss with a reason, resolve, restore, or bulk-triage current decision signals.
Changed
Focused Watchlist actionsView record is primary while edit, alerts, acquisition, and archive actions live in a clear overflow menu.
Report wayfindingReports are grouped by decision type, use a mobile selector, and remember the current session\'s last report.
Fixed
Responsive containmentThe renewal runway, record tabs, wide tables, sticky actions, and mobile navigation no longer widen or hide the working area.
Visual consistencyRecord notes, intake mode labels, tag selection, table density, and overflow affordances now match Registry Noir.
Reliable in-place organization
v0.23.2
Fixed
Correct folder-save destinationPortfolio folder changes now post to the canonical authenticated Portfolio route instead of interpreting the hidden action field as a URL.
Alternate page statesIn-place saves remain reliable from filtered, paginated, and otherwise parameterized Portfolio views.
Changed
Explicit form contractBoth desktop and mobile organizers declare their save endpoint and retain the ordinary no-JavaScript fallback.
Faster portfolio organization
v0.23.1
Changed
In-place folder savesPer-domain organization now updates folder labels and counts without refreshing Portfolio or losing scroll position.
Bidirectional ancestryClearing a child clears ancestors that no other selected branch requires.
Fixed
Filtered folder viewsA domain that no longer belongs in the active folder view exits smoothly while result and folder counts remain accurate.
Save resilienceBusy, success, error, keyboard and no-JavaScript fallback states preserve a reliable organization workflow.
Canonical providers and stronger folders
v0.23.0
Added
Canonical provider directoryRegistrar, DNS, and parking choices now use a platform-managed catalog with exact aliases and service-specific capabilities.
Other-provider reviewUnlisted services can still be saved and are placed in an administrator queue for mapping or addition.
Changed
Complete folder ancestrySelecting a nested folder automatically includes every parent, across single entry, batch review, imports, watch records, bulk organization, and existing assignments.
Consistent reporting labelsKnown spelling and legal-name variants resolve to one canonical provider.
Fixed
Bottom-row organizationThe Portfolio folder editor is now positioned against the viewport and can no longer be clipped by a long scrolling domain table.
Accessible overlay behaviorThe organizer closes outside or with Escape, restores focus, and stays inside the available viewport.
Official market-data compatibility
v0.22.1
Changed
Complete NameBio coverageThe snapshot importer now recognizes official value headers, safe Unicode keyword rows, and compound suffixes such as .co.uk.
Relevant statistics onlyZero-sale groups are omitted from the immutable snapshot while every positive-sale aggregate remains strictly validated.
Fixed
Snapshot activationComplementary official rows such as NameBio's padded .bot entry no longer create false duplicate-period failures.
Retry recoveryAn inactive failed preview can be safely discarded before corrected files are uploaded again.
Compound-domain valuationThe internal model uses the longest matching imported suffix when selecting TLD evidence.
Zero-cost internal valuation model
v0.22.0
Added
DNventory Internal ModelGenerate point or low/base/high retail and wholesale estimates locally from administrator-imported NameBio aggregate statistics.
Immutable market snapshotsAdministrators can validate, preview, activate, and roll back monthly CSV or gzip snapshots with checksum protection and required attribution.
Separate evidenceInternal results can be accepted and explicitly approved without being blended into provider estimates.
Changed
Automatic appraisal availabilityUSD workspaces can use the internal model when the active snapshot is current even when no paid provider is configured.
Transparent uncertaintyConfidence is capped at Medium, stale data forces Low, expired data produces Insufficient, and broad minimum ranges prevent false precision.
Fixed
No circular valuation inputsAcquisition cost, asking price, approved values, prior appraisals, provider estimates, and tenant outcomes cannot affect internal calculations.
No runtime market dependencyInternal estimates make no external market-data request and wholesale is never fabricated from a retail discount.
Explainable automatic appraisals
v0.21.0
Added
Retail and wholesale estimatesRequest a point or low/base/high appraisal for owned and watched domains, with confidence, sources, comparables, RDAP facts, and missing-source explanations.
Batch operationsQueue up to 50 selected records, follow worker progress, review partial failures, and retry without losing usable results.
Administrative controlsPlatform administrators can manage availability, quotas, provider circuit breakers, credential readiness, cache usage, failures, and worker freshness.
Changed
Evidence governanceGenerated results stay separate until accepted; approval is always explicit, retail and wholesale evidence never mix, and historical runs remain immutable.
Valuation provenanceEvidence and working-value snapshots now record market basis, origin, model version, and linked automatic run.
Fixed
Marketing presentationThe standalone homepage bundle now includes and verifies its complete Registry Noir stylesheet set, preventing a partially styled public page.
No fabricated fallbackDNventory shows Insufficient with a reason when no real market source is available instead of producing a structural guess.
Clear entry cuesValuation controls now identify workspace currency and required or optional inputs.
Changed
Responsive form measureAppraisal entry uses a readable desktop width and stacks before tablet columns become cramped.
Fixed
Spacing and alignmentRestored gutters, stable selector width, and equal control heights in both estimate modes.
Aligned valuation entry
v0.20.4
Added
Purpose-built valuation gridPoint and range inputs now use a layout designed for their conditional states.
Changed
Coherent range rowLow, Base, and High appear together at equal widths, with a clear single-column order on smaller screens.
Fixed
Uneven form alignmentConditional fields no longer alternate awkwardly through the generic two-column form grid.
Valuation visibility correction
v0.20.3
Added
Computed-layout coverageValuation tests now verify that inactive fields occupy no visual layout space.
Changed
Reliable hidden statesHidden application controls now consistently resolve to display:none even when a component has its own display rule.
Fixed
Relevant valuation fieldsPoint mode now visibly removes Low/Base/High, while range mode visibly removes Point Value.
Focused valuation entry
v0.20.2
Added
Contextual guidanceThe estimate selector explains whether one value or an ordered range is required.
Changed
Relevant fields onlyPoint estimates show Point Value; range estimates show Low, Base, and High across owned, watched, and evidence-editing workflows.
Fixed
Stale value submissionHidden fields are disabled so values from an inactive estimate type are not submitted.
Resilient batch lookups
v0.20.1
Added
Automatic recoveryA transient RDAP failure receives one automatic retry before DNventory asks you to retry manually.
Changed
Gentler lookup queueMultiple intake staggers requests and limits simultaneous public lookups to reduce upstream bursts.
Fixed
Initial batch reliabilityAutomatic per-domain checks no longer fail immediately when the public RDAP service has a brief busy response.
Per-domain RDAP review
v0.20.0
Added
Suggestion provenanceHover or keyboard-focus an RDAP result to see each field and exact value DNventory filled.
Progressive row checksEvery valid pasted domain receives its own public-data check and visible progress state.
Changed
Domain-only first stepMultiple entry now begins with names only instead of asking for misleading shared details.
Independent editorsRegistrar, registration, expiration, DNS, acquisition, renewal, folders, and tags are reviewed per domain.
Fixed
Release chronologyThe August 25 access-and-navigation release is correctly identified as v0.17.1 rather than duplicating v0.17.0.
Responsive reviewThe wide batch table is replaced by accessible cards that do not require horizontal scrolling.
Overview metric guidance
v0.19.1
Added
Eight summary explanationsEvery top-level Overview metric now has concise question-mark guidance explaining its scope and calculation.
Changed
Overflow-safe placementMetric guidance opens inward from the card edge so it remains readable on compact and wide screens.
Fixed
Complete Overview guidanceThe eight summary cards now match the contextual help already available on the eight detailed Overview sections.
Rapid Domain Intake
v0.19.0
Added
Single and Multiple entryCapture one domain quickly or paste and review up to 50 names at once.
Public RDAP suggestionsEmpty registration details can be suggested without replacing information you entered.
Reusable defaultsWorkspace and current-session values reduce repetitive entry.
Changed
Quick-first formAcquisition and renewal essentials stay visible while secondary detail is grouped into clear optional sections.
Editable batch reviewEvery valid row can be corrected, organized, included, or removed before an atomic save.
Fixed
Faster repeated entryRecent reusable values remain available only for the current login session and can be reset instantly.
Safer pasted URLsHTTP and HTTPS URLs are reduced to hostnames without accepting email addresses or unsafe paths.
Prior release
v0.18.3
Added
Overview guidanceContextual question-mark help now explains every major Overview panel.
Historical renewal basisMonthly or annual renewal costs can accrue on completed acquisition anniversaries.
Existing-domain cost correctionAcquisition date, acquisition cost and renewal history can be previewed and recalculated together.
Changed
Production release identityVersions 0.18.0 through 0.18.2 were local development builds; 0.18.3 was the promoted production release and removed the local-build suffix.
Changelog organizationUpdates are grouped by release day and change type for faster scanning.
Investment reportingActual cash and calculated renewal basis remain visibly separated throughout the portfolio.
Fixed
Portfolio compositionTLD and purpose counts no longer include watchlist targets.
Acquisition correctionsReplacing an active acquisition basis retains prior entries without double counting.
Access and navigation
v0.17.1
Added
Trusted-device accessStandard users can stay signed in for 30 days by default and opt out on shared devices.
Changed
Cleaner routesApplication pages use readable paths such as /dashboard, /portfolio and /watchlist.
Resource navigationHelp, API, Updates and Status links are consistently available.
Fixed
Account accessRegistration alignment, exact password handling and sign-out behavior were corrected.
Session boundariesMember and administrator identities use separate sessions and login surfaces.
Platform completion
v0.17.0
Added
Complete watch recordsSource URLs, editing, reminders, notification rules, folders, tags, research and retained acquisition history.
Richer domain recordsDomain age, DNS, parking, payment plans, lease-to-own arrangements and transfer restrictions.
Expanded reportingRenewal exposure, performance, portfolio ranges, closed results, plans, restrictions and data quality.
Changed
Premium dark workspaceThe refreshed interface brought clearer hierarchy, responsive navigation, accessible confirmations and focused motion.
Fixed
Portfolio organizationNested folders, direct cell organization and watchlist actions were refined across desktop and mobile.