Changelog

History of deployed changes, generated from the repository.

Current version 0.1.2323621e91

  1. v0.1.2329 Jul 2026

    chore(vscode): enable tsgo experimental language server

    by OleksandrYehorov · 3621e91

  2. v0.1.2319 Jul 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 155cb7a

  3. v0.1.2309 Jul 2026

    chore: upgrade typescript to 7.0.2 and bump pnpm to 11.10.0

    by OleksandrYehorov · 1380845

  4. v0.1.2297 Jul 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · eacc2f2

  5. v0.1.2287 Jul 2026

    docs(perf): prod compression verified as already enabled; close performance PRD

    by Claude · 6592d03

  6. v0.1.2276 Jul 2026

    perf(db): drop nine unused cars indexes (19 -> 10)

    by Claude · 18513d9

  7. v0.1.2266 Jul 2026

    perf(web): select explicit columns without raw_payload in getCar/getCarsByIds

    by Claude · 6b32a7c

  8. v0.1.2256 Jul 2026

    docs(triage): document in-progress as a PRD-only local status

    by Claude · 6312f27

  9. v0.1.2246 Jul 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 92ee54a

  10. v0.1.2236 Jul 2026

    Warranty as labeled estimate; claim VAT status only when known

    by Claude · 92ab473

  11. v0.1.2226 Jul 2026

    Serve card-sized images on the results grid, not 1400px

    by Claude · 07c170c

  12. v0.1.2216 Jul 2026

    Never delist on a filtered scrape run

    by Claude · abe081f

  13. v0.1.2206 Jul 2026

    Triage: retire perf issues 01/07 as superseded by card-image issue 03

    by Claude · b0f85a8

  14. v0.1.2196 Jul 2026

    Add PRDs: delisting scope safety + data honesty and card images

    by Claude · f6a909b

  15. v0.1.21830 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 421a474

  16. v0.1.21730 Jun 2026

    Group favorites by dealership

    by Claude · 12f861a

  17. v0.1.21630 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 71c8717

  18. v0.1.21530 Jun 2026

    feat(web): save cars to favorites

    by Claude · 0e64931

  19. v0.1.21429 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 15dd3c6

  20. v0.1.21329 Jun 2026

    perf(db): memory-map the DB file (mmap_size pragma)

    by OleksandrYehorov · bfa8363

  21. v0.1.21229 Jun 2026

    triage(options-exclude): mark shipped issues done

    by OleksandrYehorov · fff74c3

  22. v0.1.21129 Jun 2026

    triage(performance/06): wontfix FTS5 — conflicts with ADR 0001

    by OleksandrYehorov · aed8d7e

  23. v0.1.21029 Jun 2026

    docs(issues): file the performance backlog as .scratch issues

    by OleksandrYehorov · 65e88d9

  24. v0.1.20929 Jun 2026

    docs: performance log — shipped work + measured optimization backlog

    by OleksandrYehorov · 75de27d

  25. v0.1.20829 Jun 2026

    fix(web): vertically center the per-section clear (×) button

    by OleksandrYehorov · dd02f8f

  26. v0.1.20729 Jun 2026

    feat(web): keep the Clear-all button visible and disabled when no filters

    by OleksandrYehorov · a1ca2b2

  27. v0.1.20629 Jun 2026

    fix(web): stop the filter panel shifting when applying the first filter

    by OleksandrYehorov · c0d3303

  28. v0.1.20529 Jun 2026

    refactor(web): drop the filter fetch debounce

    by OleksandrYehorov · eea4284

  29. v0.1.20429 Jun 2026

    fix(web): stop the filter list flashing blank on every change

    by OleksandrYehorov · 886e91a

  30. v0.1.20329 Jun 2026

    refactor(web): simplify useDebouncedValue to depend on value identity

    by OleksandrYehorov · 22cc3a8

  31. v0.1.20229 Jun 2026

    perf(web): commit filter changes to the URL instantly, debounce the fetch

    by OleksandrYehorov · 7e21bf2

  32. v0.1.20129 Jun 2026

    perf: compute facet universe in one scan instead of ~13 GROUP BY queries

    by OleksandrYehorov · 2d395f7

  33. v0.1.20029 Jun 2026

    perf: collapse the option-facet count loop to one query when no pack is filtered

    by OleksandrYehorov · fc6377d

  34. v0.1.19929 Jun 2026

    perf: speed up list filters by lifting `reserved` into a column

    by OleksandrYehorov · e2b2be4

  35. v0.1.19829 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 7627476

  36. v0.1.19729 Jun 2026

    feat(web): bigger touch targets for mobile filters

    by OleksandrYehorov · 59aa151

  37. v0.1.19629 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · daac74b

  38. v0.1.19529 Jun 2026

    feat(web): exclusion chips and tri-state legend for the Options facet

    by OleksandrYehorov · 332b617

  39. v0.1.19429 Jun 2026

    feat(web): consistent per-pack count badges for the Options facet

    by OleksandrYehorov · c4d4eb1

  40. v0.1.19329 Jun 2026

    chore(tracker): mark shipped PRDs done; document the `done` state

    by OleksandrYehorov · 7f241ff

  41. v0.1.19229 Jun 2026

    feat(web): add option-pack exclude filter to the Options facet

    by OleksandrYehorov · 8f75faa

  42. v0.1.19128 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 43e7ec5

  43. v0.1.19028 Jun 2026

    chore: add Better Auth docs MCP server to .mcp.json

    by OleksandrYehorov · 17cb7d2

  44. v0.1.18928 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · b5e7526

  45. v0.1.18828 Jun 2026

    feat(web): remove the /update password gate

    by OleksandrYehorov · 9b6fc79

  46. v0.1.18728 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 950a771

  47. v0.1.18628 Jun 2026

    feat(deploy): self-seed preview DBs by scraping instead of cloning prod

    by OleksandrYehorov · ac80d1c

  48. v0.1.18527 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · e807333

  49. v0.1.18426 Jun 2026

    feat(web): move the scrape-run log to /update as a History tab + run bar

    by OleksandrYehorov · 7f73d7c

  50. v0.1.18326 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 2c5b6f0

  51. v0.1.18226 Jun 2026

    feat(web): browse all photos (and video) on the search card

    by Claude · 46734f3

  52. v0.1.18126 Jun 2026

    fix(web): refresh list/stats when a scrape run finishes off /update

    by OleksandrYehorov · 5e968e8

  53. v0.1.18026 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · efe1da3

  54. v0.1.17926 Jun 2026

    fix(stats): backfill cron runs mislabeled as 'cli'

    by OleksandrYehorov · f778dfc

  55. v0.1.17825 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 87546a3

  56. v0.1.17725 Jun 2026

    fix(search): VIN/bare-token search no longer dead-ends on the link page

    by Claude · 3ba9c33

  57. v0.1.17625 Jun 2026

    feat(search): self-heal search_text on scraper start

    by Claude · 8e4eea7

  58. v0.1.17525 Jun 2026

    feat(search): unified accent-insensitive free-text search

    by Claude · 4983ac5

  59. v0.1.17425 Jun 2026

    docs: design unified accent-insensitive search

    by Claude · e7fe2b1

  60. v0.1.17325 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 739e21a

  61. v0.1.17225 Jun 2026

    Add dealership name and car colour to the search card

    by Claude · 014132b

  62. v0.1.17125 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 0644cf6

  63. v0.1.17024 Jun 2026

    Fix dark mode styles for selected saved search

    by Claude · 29e1a73

  64. v0.1.16924 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · ff0a464

  65. v0.1.16824 Jun 2026

    Add a default saved search auto-applied on bare landing

    by Claude · 7fdc64c

  66. v0.1.16724 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · aaeddcc

  67. v0.1.16624 Jun 2026

    Remove stray screenshot file accidentally committed

    by Claude · fd63716

  68. v0.1.16524 Jun 2026

    Sync all relative-time rows to one shared clock

    by Claude · 0063b2d

  69. v0.1.16424 Jun 2026

    Table-driven relative time with a seconds rung

    by Claude · a52f1be

  70. v0.1.16324 Jun 2026

    Auto-update the Latest-syncs relative time without a reload

    by Claude · 5cde68b

  71. v0.1.16224 Jun 2026

    Drop the latest-row tint; keep the "Latest" badge as the only marker

    by Claude · a37842a

  72. v0.1.16124 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · af62c7f

  73. v0.1.16024 Jun 2026

    Make "Latest syncs" actionable + add a trigger/source column

    by Claude · 736c4cf

  74. v0.1.15924 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 9cdeddf

  75. v0.1.15824 Jun 2026

    chore: remove Intent skill gate hook

    by OleksandrYehorov · b8d7f1e

  76. v0.1.15724 Jun 2026

    refactor(db): extract pure planListingChanges from syncCars

    by OleksandrYehorov · 255c6c8

  77. v0.1.15624 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · f81b515

  78. v0.1.15524 Jun 2026

    chore: add agent skills, Intent gate hook, and shadcn MCP

    by OleksandrYehorov · ea83c36

  79. v0.1.15424 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 047e10c

  80. v0.1.15324 Jun 2026

    chore: relocate DWA_UPDATE_SECRET to the web app + scrape label tweak

    by OleksandrYehorov · 89131fe

  81. v0.1.15224 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 52366ef

  82. v0.1.15124 Jun 2026

    chore(deploy): wire DWA_UPDATE_SECRET into the web service

    by OleksandrYehorov · e262b2a

  83. v0.1.15024 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 24229da

  84. v0.1.14924 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · b669313

  85. v0.1.14824 Jun 2026

    feat(web): add a footer "Open by link" entry point to /find

    by OleksandrYehorov · d8fb0dc

  86. v0.1.14724 Jun 2026

    chore: bump packageManager to pnpm@11.9.0

    by OleksandrYehorov · 68b809c

  87. v0.1.14624 Jun 2026

    fix(web): render the bookmarklet without React blocking its javascript: URL

    by OleksandrYehorov · 05379da

  88. v0.1.14524 Jun 2026

    feat(web): open a car by its cupra.com / dasweltauto.es link

    by OleksandrYehorov · 671f0b7

  89. v0.1.14424 Jun 2026

    feat(web): reach /update via a top-nav item, not a header button

    by Claude · f40a657

  90. v0.1.14323 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 521fd38

  91. v0.1.14223 Jun 2026

    Add "Launch Edition" filter to the car list

    by Claude · 32177ec

  92. v0.1.14123 Jun 2026

    feat(web): gated /update page replacing the Update-data modal

    by Claude · 4b835ea

  93. v0.1.14023 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 1bd11fd

  94. v0.1.13923 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · cc1fd7a

  95. v0.1.13823 Jun 2026

    feat(web): edit + run the default scrape scope from the Update panel

    by Claude · a859896

  96. v0.1.13723 Jun 2026

    feat(scraper): persisted default scrape scope (DB + CLI)

    by Claude · 5a904e2

  97. v0.1.13623 Jun 2026

    feat(web): dealership filter + dealer-stock deep link on detail page

    by Claude · 58c85ca

  98. v0.1.13523 Jun 2026

    docs(scraper): PRD for persisted default scrape scope

    by Claude · 1de3227

  99. v0.1.13423 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · d1b22d8

  100. v0.1.13322 Jun 2026

    feat(scraper): typed filter registry across code/CLI/interactive APIs

    by Claude · d1ba485

  101. v0.1.13222 Jun 2026

    docs(scraper): PRD for typed-filter scraper API redesign

    by Claude · 71a5a8b

  102. v0.1.13122 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · bc87445

  103. v0.1.13022 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · bca17f7

  104. v0.1.12922 Jun 2026

    fix(web): guard date formatters against invalid dates (fixes blank home page)

    by OleksandrYehorov · a443b0a

  105. v0.1.12822 Jun 2026

    fix(deploy): drop dead in-repo /prod-data mount; rely on Coolify storage

    by OleksandrYehorov · 8ff5d49

  106. v0.1.12722 Jun 2026

    fix(deploy): gate preview clone on the /prod-data mount, not DWA_PREVIEW

    by OleksandrYehorov · 7628ebb

  107. v0.1.12622 Jun 2026

    fix(deploy): declare DWA_PREVIEW on the scraper service so it reaches the container

    by OleksandrYehorov · 5f036ed

  108. v0.1.12522 Jun 2026

    fix(db): gate preview clone on car count, not file existence

    by OleksandrYehorov · fdccc0a

  109. v0.1.12422 Jun 2026

    fix(deploy): mount prod data read-only via compose, not a Coolify storage

    by OleksandrYehorov · ae1ce3c

  110. v0.1.12322 Jun 2026

    feat(db,scraper): seed preview DBs from prod backups

    by OleksandrYehorov · e5d3c0a

  111. v0.1.12222 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · d5650a5

  112. v0.1.12122 Jun 2026

    chore: trigger preview redeploy

    by Claude · de5621f

  113. v0.1.12022 Jun 2026

    Improve compare page: responsive layout, sticky header, "only differences" toggle

    by Claude · b3f1ff5

  114. v0.1.11922 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 5f9d0bc

  115. v0.1.11822 Jun 2026

    chore: vendor intent-managed agent skills

    by OleksandrYehorov · 78937ec

  116. v0.1.11722 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 3497cd7

  117. v0.1.11622 Jun 2026

    docs: scaffold agent-skills config (issue tracker, triage labels, domain)

    by OleksandrYehorov · 5b6a3d9

  118. v0.1.11522 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 758cc78

  119. v0.1.11422 Jun 2026

    feat: classify Formentor generation from model year

    by OleksandrYehorov · 0cf2bf6

  120. v0.1.11322 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 7e9e964

  121. v0.1.11222 Jun 2026

    feat(web): add a reserved listing-status filter bucket

    by OleksandrYehorov · 209a7c4

  122. v0.1.11122 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 01b67fc

  123. v0.1.11022 Jun 2026

    feat(web): brand the detail view-on buttons with source favicons

    by OleksandrYehorov · db6c2f1

  124. v0.1.10921 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 52bd257

  125. v0.1.10821 Jun 2026

    chore(web): drop orphaned detail.reserved i18n string

    by OleksandrYehorov · 5b4720c

  126. v0.1.10721 Jun 2026

    feat(web): align detail summary with the search card via shared atoms

    by OleksandrYehorov · 965cd59

  127. v0.1.10621 Jun 2026

    feat(web): add an overlay slot to Gallery

    by OleksandrYehorov · e5e87dc

  128. v0.1.10521 Jun 2026

    feat(web): extract shared car primitives, refactor card to use them

    by OleksandrYehorov · bcbbbe7

  129. v0.1.10421 Jun 2026

    feat(web): unify warranty-remaining as base+extension on the list

    by OleksandrYehorov · 1c2a600

  130. v0.1.10321 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 90382ef

  131. v0.1.10221 Jun 2026

    feat(web): responsive header logo and copper active-nav pill

    by OleksandrYehorov · 0f4f21b

  132. v0.1.10121 Jun 2026

    feat(web): localize PWA manifest and document head per locale

    by OleksandrYehorov · 3ac6a6c

  133. v0.1.10021 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · ea4ce65

  134. v0.1.9921 Jun 2026

    feat(web): use the CUPRA emblem for favicon + PWA icons

    by OleksandrYehorov · 83ef9fd

  135. v0.1.9821 Jun 2026

    feat(web): CUPRA emblem logo + Open Graph image

    by OleksandrYehorov · c5c1498

  136. v0.1.9721 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · de00b89

  137. v0.1.9621 Jun 2026

    docs(deploy): forbid rewriting main history; fix coolify MCP env

    by OleksandrYehorov · eb6d5bc

  138. v0.1.9521 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 95298c7

  139. v0.1.9421 Jun 2026

    fix(web): adapt active filter chips to dark mode

    by Claude · e20859a

  140. v0.1.9321 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 90a2de6

  141. v0.1.9220 Jun 2026

    fix(web): align sort select with toolbar buttons in dark mode

    by Claude · e70f87b

  142. v0.1.9120 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 3051600

  143. v0.1.9020 Jun 2026

    Theme option-chip colours and the CUPRA.com CTA for dark mode

    by Claude · f74e4ce

  144. v0.1.8920 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 53ededb

  145. v0.1.8820 Jun 2026

    Add light/dark/system theme

    by Claude · 24d5c67

  146. v0.1.8720 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 19b695e

  147. v0.1.8620 Jun 2026

    perf(scraper): raise default concurrency to 12, shorten request delays

    by OleksandrYehorov · bbeb782

  148. v0.1.8520 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 4bfb3ca

  149. v0.1.8420 Jun 2026

    fix(web): scope Tailwind source detection to fix prod FOUC

    by OleksandrYehorov · 58ed5cf

  150. v0.1.8320 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · e3c5449

  151. v0.1.8220 Jun 2026

    feat(web): mobile-friendly header & filter toolbar; rename Distance filter to Location

    by OleksandrYehorov · f1f4631

  152. v0.1.8120 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 58cf964

  153. v0.1.8020 Jun 2026

    feat(web): per-filter clear button in filter panel

    by OleksandrYehorov · fe90321

  154. v0.1.7920 Jun 2026

    chore(web): refresh build-info [skip ci]

    by github-actions[bot] · 7c50c0b

  155. v0.1.7820 Jun 2026

    fix(docker): copy cupra-scraper source into builder for the web build

    by OleksandrYehorov · a48d293

  156. v0.1.7720 Jun 2026

    fix(web): read version/changelog from committed snapshot, not .git in image

    by OleksandrYehorov · 753dbab

  157. v0.1.7620 Jun 2026

    feat(web): auto-derive app version + changelog from git (#31)

    by OleksandrYehorov · 8e5e5c0

  158. v0.1.7519 Jun 2026

    fix(web): make the compare UI mobile-friendly

    by Claude · 28ca70e

  159. v0.1.7419 Jun 2026

    feat(web): side-by-side car comparison

    by Claude · 411e1eb

  160. v0.1.7319 Jun 2026

    feat(db,scraper): DB backups, pre-migrate snapshot, fetch timeout

    by Claude · fe30548

  161. v0.1.7219 Jun 2026

    docs: add app improvement plan (draft for review)

    by Claude · a446a5f

  162. v0.1.7119 Jun 2026

    fix(deploy): use literal ./data volume so Coolify can parse the compose

    by OleksandrYehorov · c796323

  163. v0.1.7019 Jun 2026

    feat(web): deep-link scrape summary changes + car age and listing-date UI

    by OleksandrYehorov · 0930a2c

  164. v0.1.6919 Jun 2026

    feat(web): auto-name saved searches and prevent duplicates

    by Claude · efb48a6

  165. v0.1.6819 Jun 2026

    feat(web): collapse all filter sections into a single accordion

    by OleksandrYehorov · 875b712

  166. v0.1.6719 Jun 2026

    feat(web): hide CUPRA Formentor facelift filter

    by OleksandrYehorov · 19a29a4

  167. v0.1.6619 Jun 2026

    Add English translations for free-text scraped data

    by Claude · ec6ae5b

  168. v0.1.6519 Jun 2026

    chore: bump pnpm to 11.8.0

    by OleksandrYehorov · 17199bc

  169. v0.1.6419 Jun 2026

    Give the web container DB write access (scraper stays sole migrator)

    by Claude · 33d3cf7

  170. v0.1.6319 Jun 2026

    feat(cupra-scraper): interactive CLI mode (default) with @clack/prompts

    by Claude · 0d47aa9

  171. v0.1.6219 Jun 2026

    Add manual "Update data" scraper trigger with live progress + summary

    by Claude · 4dd7f6c

  172. v0.1.6119 Jun 2026

    Replace city filter with city on card + title-case place names

    by OleksandrYehorov · ca3b80b

  173. v0.1.6019 Jun 2026

    Run DB migrations on scraper start so deploys migrate before web serves

    by OleksandrYehorov · 3e0fa6e

  174. v0.1.5919 Jun 2026

    Unify city filter and distance filter onto the scraped cities

    by Claude · 4105b6f

  175. v0.1.5819 Jun 2026

    Make Docker Compose preview-safe; previews reuse prod DB read-only

    by OleksandrYehorov · a6bc7a5

  176. v0.1.5719 Jun 2026

    Add empty .env.example placeholder

    by OleksandrYehorov · 594189d

  177. v0.1.5619 Jun 2026

    Add filter by trim level (VZ / VZ5)

    by Claude · b0efc65

  178. v0.1.5519 Jun 2026

    Docs: scheduled task targets compose service 'scraper'

    by OleksandrYehorov · 47419c1

  179. v0.1.5419 Jun 2026

    Copy cupra-scraper source into the scraper image stage

    by OleksandrYehorov · 4c7d75e

  180. v0.1.5319 Jun 2026

    Externalize Coolify MCP base URL and ignore env files

    by OleksandrYehorov · cd04169

  181. v0.1.5219 Jun 2026

    Add project-scoped Coolify MCP server config

    by OleksandrYehorov · daa2726

  182. v0.1.5119 Jun 2026

    Revert to a ./data bind mount to reuse Coolify's existing app directory

    by OleksandrYehorov · 266cab4

  183. v0.1.5019 Jun 2026

    Use a named volume for the shared DB instead of a relative bind mount

    by OleksandrYehorov · c357099

  184. v0.1.4919 Jun 2026

    Replace VPS systemd scraper with a Coolify Compose service

    by OleksandrYehorov · e0f702d

  185. v0.1.4819 Jun 2026

    Default Claude Code to auto permission mode in VSCode

    by OleksandrYehorov · 37cc0b6

  186. v0.1.4719 Jun 2026

    Replace hand-rolled server.mjs with TanStack Start's Nitro server

    by OleksandrYehorov · 93cf845

  187. v0.1.4619 Jun 2026

    Enforce LF line endings repo-wide via .gitattributes

    by OleksandrYehorov · d16fb67

  188. v0.1.4519 Jun 2026

    Add /health liveness endpoint for Coolify healthcheck

    by OleksandrYehorov · 637b1b1

  189. v0.1.4419 Jun 2026

    Multi-city distance search; key "new"/newest off offerDate

    by OleksandrYehorov · fb3da35

  190. v0.1.4319 Jun 2026

    Add `pnpm sync` alias for `dwa cupra --sync`

    by OleksandrYehorov · 10fa93a

  191. v0.1.4218 Jun 2026

    Detail page: video in carousel (first), equipment up top, renders collapsed

    by OleksandrYehorov · 27d49a3

  192. v0.1.4118 Jun 2026

    Add .gitattributes: force LF for shell/systemd files, mark PNGs binary

    by OleksandrYehorov · 7db472e

  193. v0.1.4018 Jun 2026

    Phase 4: CI workflow + scheduled-scrape units + ops docs (#15, #19, #21)

    by OleksandrYehorov · b087cf2

  194. v0.1.3918 Jun 2026

    Phase 3b: PWA support (#13)

    by OleksandrYehorov · f7c4525

  195. v0.1.3818 Jun 2026

    Phase 3a: light CUPRA brand pass (#11)

    by OleksandrYehorov · c12c1e8

  196. v0.1.3718 Jun 2026

    Phase 2: distance filter & sort (#9)

    by OleksandrYehorov · 683b3f7

  197. v0.1.3618 Jun 2026

    Mark Phase 1 done in PLAN.md

    by OleksandrYehorov · 5ef845a

  198. v0.1.3518 Jun 2026

    Phase 1 data quick-wins: offer date, DGT badge, paint filter, DWA link, renders

    by OleksandrYehorov · 6730cd6

  199. v0.1.3418 Jun 2026

    Add offline re-extract script (`pnpm reextract`)

    by OleksandrYehorov · db9c47f

  200. v0.1.3318 Jun 2026

    Phase 0: extract render images, DGT badge, offer/paint/coord columns

    by OleksandrYehorov · c76e4f6