Changelog

Changelog

Product updates, new features, and improvements across VetCostIQ releases.

v0

v4.5.0

July 18, 2026

Transparent Pricing Management

Improved

Transparent Pricing section

Renamed the hospital profile "Core Service Pricing" summary to "Transparent Pricing" and expanded it to show every verified service price (not just three core groups), deduplicated by service name so each price appears exactly once.

New

Smart auto-grouping

Verified prices are now automatically grouped into logical categories — Exams, Vaccinations, Spay & Neuter, Dental, Diagnostics, Emergency, Preventive, Medications, and Euthanasia — using keyword matching, with an "Other Services" fallback so nothing is left out.

New

Customizable pricing groups

Hospital admins and claimed owners can now rename group labels, move individual services between groups, create custom groups (e.g. "Laser Therapy"), and delete groups they no longer need — all persisted per hospital and overriding the auto-grouping.

Improved

Access-controlled pricing management

Pricing group editing is gated to admins and the claimed hospital owner only, keeping public pricing displays consistent while giving verified partners full control over how their services are presented.

v0

v4.4.0

July 17, 2026

Checkout & Demo Experience

Improved

Branded Thank You page

All checkout flows (listing subscriptions, AI access, ad budgets, and top-ups) now redirect to a branded in-app Thank You page with tailored messaging and next-step CTAs, replacing the generic post-checkout landing.

New

Demo dashboard tier toggle

The demo hospital dashboard now includes a tier toggle that switches between Free, Premium, and Transparency Partner views, gating the AI Assist, Marketing, and Advertising tabs with upsell cards so partners can preview exactly what each plan unlocks.

Improved

Partner plan terminology

Standardized plan copy across the pricing page and landing showcase to consistently use "Featured listing in search results" and "Partner listing in search results" with "Secure checkout" branding.

v0

v4.3.0

July 13, 2026

Data Quality & Stray Detection

New

Automated stray non-vet detection

Added a backend scanner that identifies non-veterinary businesses accidentally ingested as hospitals — pet stores, feed stores, cremation services, boutiques, and pet sitters — while preserving legitimate vet hospitals that offer boarding, grooming, or daycare as ancillary services.

New

Admin stray purge panel

New "Purge Stray Non-Vet Records" tool in the Admin Panel Duplicates tab with scan-before-delete workflow, showing each flagged record and its detection reason before removal.

Improved

Google Places API paused

Suspended all automated Google Places API population indefinitely, pausing the continuous population workflow to reduce external API spend and focus on data quality over volume.

v0

v4.2.0

July 13, 2026

SEO & Discoverability

Improved

Related content cross-linking

Educational detail pages now surface related conditions, medications, and products with the same category, helping pet owners discover relevant care information.

Improved

Smarter sitemap freshness

City-level landing pages in the sitemap now report accurate last-modified dates based on underlying hospital data, helping search engines crawl more efficiently.

Improved

Dynamic canonical tags

Canonical URLs are now set dynamically on all pages to prevent duplicate-content issues from query parameters.

Improved

Content-type OG images

Social share images now fall back to topic-specific defaults for conditions, medications, and products missing custom imagery.

v0

v4.1.0

July 12, 2026

Content & Documentation Refresh

Improved

Content library enhancements

Improved our educational content with additional reference sources and cross-linking to help pet owners make more informed decisions.

Improved

Help center updates

Expanded and corrected help documentation to better reflect current features and available resources.

Fixed

General maintenance

Routine improvements and accuracy corrections across the platform.

v0

v4.0.0

July 10, 2026

Backend Hardening & Monitoring

New

Enrichment Pipeline Dashboard

Added a real-time enrichment monitoring panel to the Admin Panel showing completion rate, failure rate, counts by status (enriched, pending, not started, failed), and a "Retry All Failed" button that resets failed hospitals for automatic workflow retry. Auto-refreshes every 60 seconds.

Fixed

Invoice image leakage fix

The parseInvoice backend function now clears the uploaded_file field immediately after OCR completes and sets image_deleted=true. The cleanupInvoiceImages function also scans and sanitizes any PriceRecord source_ref fields that may contain leaked file URLs.

Fixed

Deno timeout protection for enrichment

fullEnrichHospital now tracks a 45-second time budget and gracefully skips expensive steps (team page scraping, pricing page detection, AI summary) when under 12 seconds remain, preventing Deno execution timeouts.

Improved

Backend security audit

Comprehensive audit of all 70+ backend functions. Added missing authentication to searchHospitals, fixed auth bypass in enrichmentTick, implemented atomic $inc usage tracking across all Google Places API functions, and enforced monthly API budget checks.

Improved

Removed tech debt

Deleted 4 one-time-use migration functions (migratePricingData, migrateServiceToProcedure, migrateServiceCatalog, getNextUnenrichedHospital) and optimized VCA/Banfield hospital imports to use state-filtered dedup instead of loading the entire hospital table.

v0

v3.4.0

July 9, 2026

Chain Logos

Improved

Chain hospital logos

Added branded logo rendering for Banfield and VCA hospital chains on search result cards and hospital profile pages, using reliable direct PNG sources for consistent display.

v0

v3.3.0

July 8, 2026

Landing & Accessibility

New

Floating accessibility button

Added a persistent floating ADA preferences button in the bottom-left corner with a custom accessibility icon, linking directly to the accessibility settings section in the user dashboard.

Improved

Dashboard screenshot showcase

Added a full dashboard view as the final slide in the "Everything for your pet" landing showcase, giving visitors a complete picture of the pet owner dashboard.

Improved

Refined landing messaging

Updated landing page section labels to emphasize "Built for pet owners", "Built for knowledge", and "Built for transparency" across the showcase, education, and pricing sections.

v0

v3.2.0

July 8, 2026

Performance & Privacy

Improved

Population pipeline performance overhaul

Eliminated recurring Deno timeouts in the Google Places hospital/pharmacy population pipeline by reducing inter-call delay from 2.5s to 0.8s and replacing full-database dedup loading with scoped city-level loading. Batch runs now complete in ~12s instead of timing out at 50s.

New

GDPR-compliant cookie consent

Rebuilt the cookie consent system with dual cookie + localStorage persistence, versioned consent records, no pre-ticked checkboxes (GDPR compliant), and a dedicated Cookie & Privacy Preferences panel in the user dashboard for managing or withdrawing analytics consent at any time.

Fixed

Cookie consent persistence fix

Fixed the cookie banner reappearing on every page reload despite prior acceptance — consent now persists reliably across reloads via localStorage with cookie fallback.

Improved

Accessibility settings sync

ADA accessibility preferences (font size, high contrast, reduce motion) now sync from the user profile across devices and apply immediately on login.

Fixed

Conditions library dedup fix

Removed duplicate condition entries (Addison's Disease / Hypoadrenocorticism, Cushing's Syndrome / Hyperadrenocorticism) from the seed library and replaced with unique entries, keeping the dataset at exactly 400 unique conditions.

v1

v3.0.1

July 7, 2026

UI & Security

Improved

Hero feature card default active state

The Transparent Pricing hero card on the landing page now renders in the deep-green rollover state by default, with white text and icon for immediate visual emphasis.

New

Invoice image redaction & auto-deletion

Uploaded invoice images are now processed through an AI redaction pipeline that strips PII into a secure text transcript. Original images are automatically deleted after 2 days, with manual deletion available to users and admins.

v0

v3.0.0

July 7, 2026

Major Release

Improved

Unified price submission pipeline

Invoice uploads and Share-a-Price now share a single service resolution utility and route through the atomic submitPriceContribution backend function, ensuring PriceRecord, PricingContribution, and ServicePricing stay consistent with no missing service IDs or duplicate service definitions.

v4

v2.1.4

July 6, 2026

Share-a-Price Fix & Spellcheck

Fixed

Fixed Share a Price submission error

Price sharing now resolves a service ID before creating records — catalog matches link to a canonical Service, while unrecognized services are saved as custom HospitalService entries tied to the hospital. This resolves the validation error caused by the missing required service_id field.

Improved

System-wide spellcheck

Spellcheck is now enabled on all text inputs and textareas app-wide, including onboarding flows, pet profiles, and price-sharing forms.

v3

v2.1.3

July 5, 2026

Conditions Library & Admin Tools

Improved

Conditions separated into own tab

The Education page now has distinct "Conditions" and "Articles" tabs, making it easier to browse the condition library separately from generated educational articles.

Improved

Redesigned condition cards

Condition cards now feature a cleaner layout with uppercase category labels, color-coded severity badges (mild/moderate/severe), and clearer species indicators with contagious flags.

New

Admin batch condition management

A new "Conditions" tab in the Admin Panel supports search, category/species filters, select-all, and batch deletion of condition records.

v2

v2.1.2

July 5, 2026

Search Performance & State Sync

Improved

Optimized server-side search

searchHospitals now loads hospitals first, then fetches pricing and reviews only for the current page instead of the entire dataset, eliminating rate-limit failures on large states like California.

Fixed

Radius auto-syncs to State

When no city location is set, the radius filter now automatically switches to State mode instead of holding a stale distance value; distance-based options are disabled until a location is provided.

v1

v2.1.1

July 5, 2026

Search Reliability Fix

Fixed

Fixed auto-locate race condition

When searching for a city while browser geolocation was still pending, the geolocation callback could overwrite the manually-set coordinates and wipe out results. Manual location searches now take priority over any in-flight geolocation request.

Fixed

Smart search resolves bare city names

Typing a city name without a state (e.g. "Edgewood") in the smart search bar now resolves to the correct "City, ST" using the hospital database, so geocoding targets the right state instead of an ambiguous namesake in another state.

v0

v2.1.0

July 5, 2026

Conditions & Species Education

New

Condition articles with species-specific content

Educational article generation now includes DiseaseInfo conditions, with species-tailored content (canine, feline, avian, equine, exotic) covering prevalence, breed predispositions, symptoms, and treatment considerations per species.

New

Species & type filters on Education page

Articles tab now supports filtering by species and content type (Procedures, Services, Conditions), with species badges on article cards.

New

Batch condition generation

Admin batch generation supports a "Conditions" target type to generate condition articles exclusively, with conditions interleaved in auto mode.

Improved

Auto-generation workflow picks up conditions

The 15-minute scheduled article generation now scans DiseaseInfo after procedures and services are exhausted, ensuring conditions are built out automatically.

Fixed

Article markdown rendering fix

Fixed bold-text rendering issue where articles with zero newlines rendered headings and paragraphs as a single bold block; content is now normalized to proper paragraph breaks.

v5

v2.0.5

July 5, 2026

Hero & Education UX

Improved

Compact hero section

Reduced hero height from 540px to 380px (mobile) / 440px (desktop) and added object-center cropping to eliminate stretched images.

Improved

New hero imagery

Generated a new wide veterinary scene with better composition and text overlay space for the homepage hero.

New

Admin article generation from Education page

Added an admin-only "Generate Article" button to the Education page that triggers the generateEducationalArticle function and refreshes the article list inline.

v4

v2.0.4

July 5, 2026

Cited Educational Content

New

Structured source citations

Educational articles now require inline markdown citations and a structured sources array with title, URL, publisher, and source type, prioritizing authoritative veterinary references (AVMA, AAHA, Merck Veterinary Manual, Cornell, UC Davis, PubMed).

New

Verified Sources display

Article detail view now shows a "Verified Sources" section with clickable citation links and publisher attribution.

Improved

Faster article generation

Switched LLM model from gemini_3_1_pro to gemini_3_flash for article generation, reducing per-article time from timeout failures to ~46 seconds while maintaining web search capability.

New

Batch regeneration for unsourced articles

Added regenerateWithSources function and admin "Add Sources" control to backfill citations on existing articles lacking sources.

Improved

Admin sourcing controls

Educational content panel now shows source count badges, a Sourced/Unsourced filter tab, and per-article regeneration buttons.

v3

v2.0.3

July 5, 2026

Pharmacy Platform Intelligence

Improved

Pharmacy product sorting & categorization

Prescriptions tab now groups products by category (Flea & Tick, Heartworm Prevention, etc.) with section headers and alphabetical sort within each group.

New

Pharmacy platform identification

Detected pharmacy platform (e.g. Covetrus) from store URLs and displayed as a clickable badge with direct link to the platform provider.

Fixed

Cloudflare bypass for pharmacy scraping

Escalated scrape.do to super=true residential proxy mode to bypass Cloudflare protection on Covetrus pharmacy portals, retrieving real product data instead of LLM-inferred results.

Fixed

Product image fallback handling

Improved LLM prompt to stop fabricating image URLs; broken or missing product images now display a clean Package icon placeholder.

New

Changelog page

Added a versioned changelog page accessible from the footer, with the version badge linking directly to it.

v2

v2.0.2

July 4, 2026

Presumed Services & Prescriptions Tab

New

Presumed vs. Confirmed pricing distinction

Services tab now clearly separates invoice-verified pricing from presumed service estimates based on similar hospitals, with inline editing to promote user-verified status.

New

Prescriptions tab replaces Specialties

Converted the Specialties tab into a Prescriptions store tab, focused on scraping integrated e-commerce pharmacy solutions.

Data

HospitalProduct entity

Created a dedicated entity for pharmacy products and medications with pricing, category, and platform metadata.

New

scrapeHospitalProducts function

Implemented regex-based extraction for pharmacy product links, handling Covetrus/Vets First Choice platform structures.

Fixed

Inferred pricing cleanup

Removed all inferred/demo pricing records from TLC Pet Hospital to ensure data integrity before presumed services rollout.

v1

v2.0.1

July 2, 2026

Service Catalog & Enrichment Pipeline

Data

HospitalService entity

Created granular, category-based service entity for specialized procedure tracking (TPLO, ACL, laser therapy, etc.).

New

scrapeHospitalServices standalone function

Offloaded service-specific extraction from enrichHospital to bypass runtime limits, using scrape.do browser JS execution for robust DOM parsing.

Improved

scrape.do API migration

Migrated service scraping from LLM-based extraction to scrape.do API with browser-based JavaScript execution for reliable structured data retrieval.

Improved

Auto-Enrich Queue

Replaced entity-trigger enrichment with a scheduled queue running every 10 minutes, as bulkCreate operations do not fire entity triggers.

Fixed

HTML entity decoding

Implemented custom entity-level decoding across all scrapers to clean text artifacts from scraped content.

Improved

Fast-first scraping strategy

All enrichment functions now try render=false first, escalating to render=true only if the response is a JS shell, reducing 504 timeouts.

v0

v2.0.0

June 28, 2026

Transparency & Data Integrity Overhaul

New

Community Guidelines with mandatory agreement

Added a Community Guidelines page and enforced agreement via checkbox during registration.

New

Auto-Batch hospital population

Added Auto-Batch processing to Admin panel for multi-call hospital population with 75s automatic retry on timeout.

Improved

Auto-verify Google Places hospitals

All hospitals ingested from Google Places API are now auto-verified at creation.

Improved

Service catalog priority categories

Prioritized service catalog display using hardcoded categories (Wellness, Vaccinations, Surgery) in frontend and enrichment logic.

New

Email extraction pipeline

Added email field to Hospital entity and implemented regex-based extraction in enrichment to complement LLM parsing.

Improved

Data provenance on pricing tables

Always include data provenance attribution and links to methodology on all pricing tables; removed inferred pricing from the primary Priced section.

Improved

City-skipping optimization

Implemented city-skipping logic in populatePlaces to avoid re-processing existing records and optimize API usage.

v0

v1.9.0

June 20, 2026

AI-Powered Features & Partner Tools

New

AI Pet Triage

Launched AI-powered symptom assessment and triage tool for pet owners.

New

Vet Matcher

Introduced AI-driven veterinarian matching based on pet needs, location, and hospital specialties.

New

AI-generated hospital summaries

Auto-generated truthful summaries from pricing, review, and hospital data displayed on hospital profiles.

New

Education hub with condition library

Built educational resource center with disease/condition details and direct "See treatment costs" CTAs.

New

Partner dashboards

Launched Hospital Dashboard and Pharmacy Dashboard with messaging, profile management, and analytics.

New

Invoice upload & price extraction

Enabled pet owners to upload invoices for automated price extraction and contribution to the pricing database.

v0

v1.0.0

June 1, 2026

Initial Launch

New

Hospital search & comparison

Launched nationwide veterinary hospital search with price comparison capabilities.

New

Google Places integration

Integrated Google Places API for hospital discovery and population across US metros.

New

Price transparency database

Built the core pricing database with invoice-verified, self-reported, and contributed price records.

New

Hospital profiles

Created detailed hospital profile pages with services, staff, reviews, and pricing breakdowns.

Advertisement
VetCostIQ — List your veterinary hospital for free