<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Recent GitClear Improvements</title>
    <link>https://www.gitclear.com/snap_changelogs/17820cfb-a1e0-4269-8aeb-658ddbe2ed4a</link>
    <description>Get your own free automated changelog at the link</description>
    <language>en-us</language>
    <pubDate>Tue, 15 Sep 2026 08:06:03 +0000</pubDate>
    <currentPageNumber>1</currentPageNumber>
    <pagesAvailableCount>11</pagesAvailableCount>
    <nextPageUrl>https://www.gitclear.com/snap_changelogs/17820cfb-a1e0-4269-8aeb-658ddbe2ed4a.rss?page=2</nextPageUrl>
    <item>
      <changeMagnitude>Epic Improvement</changeMagnitude>
      <title>Add enterprise install script; implement Portkey request interpreters (Phases 1–3) and Docker resource bounding</title>
      <description>Adds script/enterprise/install to configure host-level CPU/memory limits and launch GitClear Enterprise via Docker Compose (detects Docker resources, applies defaults/high-capacity thresholds, migrates legacy containers and supports CLI flags like --config/--reconfigure/--config-only). Completes Portkey request interpreters Phases 1–3 and includes test/deploy fixes. Impact: enables bounding Enterprise resource usage on customer hosts and finishes interpreter work.</description>
      <pubDate>Tue, 15 Sep 2026 00:05:39 +0000</pubDate>
      <diffDelta>1111</diffDelta>
    </item>
    <item>
      <changeMagnitude>Epic Improvement</changeMagnitude>
      <title>Migrate Suggested Features leaderboard from Amplenote and implement Portkey request interpreters with improved telemetry parsing</title>
      <description>Integrates a Portkey interpreter registry and ConversationHistory into portkey telemetry processing (vendor/gems/databricks/lib/databricks/bronze/portkey_logs.rb): moves parsing into interpreters, detects corrupt/unusable rows, accumulates diagnostic reasons, and retracts failed edits via interpreter metadata. Enables multiple portkey formats, reduces wasted work, and yields more accurate telemetry for the Suggested Features leaderboard and Diff Digest.</description>
      <pubDate>Sun, 13 Sep 2026 19:55:34 +0000</pubDate>
      <enclosure url="https://image.gitclear.com/8ekmpq61zj41dad9v8icejjdrb4k" type="image/png"/>
      <diffDelta>5746</diffDelta>
    </item>
    <item>
      <changeMagnitude>Large Improvement</changeMagnitude>
      <title>Refactor: rename group 'hull' to 'husk' and attach group metadata to computed husks</title>
      <description>Renames terminology and identifiers in app/javascript/bundles/cab-viewer/commit-group-forces.js from 'hull' to 'husk' (variables, comments and functions: refreshGroupHulls→refreshGroupHusks, groupHulls→groupHusks, hullsByDate→husksByDate, _hullCenterXWithinDay→_huskCenterXWithinDay). Computed husk objects now include a 'group' field (falling back to commitGroupForBubble) so husks carry group context — enabling overlayed husk text and clearer semantics.</description>
      <pubDate>Mon, 14 Sep 2026 21:13:06 +0000</pubDate>
      <diffDelta>512</diffDelta>
    </item>
    <item>
      <changeMagnitude>Large Improvement</changeMagnitude>
      <title>Revise group husk labels for readability and hide covered commit titles</title>
      <description>Update app/javascript/bundles/cab-viewer/group-husk.js to improve group-husk label layout and behavior: add layout constants (settle frames, top ratio, long-summary words, max skipped notes), pass title into label geometry/font-size calculations, replace padding with top offset, early-return when groups disabled, and call syncCoveredBubbleTitles when labels settle. Result: clearer, better-positioned husk titles and prevention of overlapping commit titles.</description>
      <pubDate>Tue, 15 Sep 2026 08:06:03 +0000</pubDate>
      <enclosure url="https://image.gitclear.com/e5ga84qaqx4zs5f29zguq1p39ewf" type="image/png"/>
      <deployedAt>Mon, 14 Sep 2026 22:22:51 +0000</deployedAt>
      <diffDelta>360</diffDelta>
    </item>
    <item>
      <changeMagnitude>Large Improvement</changeMagnitude>
      <title>Add LLM-authored diff delta and preload; Fix diff reporting in CommitCodeFile concerns</title>
      <description>Introduce preload_llm_diff_deltas and LLM delta accessors in app/lib/commit_concerns/commit_code_file_concerns.rb: add attr_writer :llm_diff_delta, human_diff_delta and llm_diff_delta methods, and change diff_delta to return human + LLM shares. preload_llm_diff_deltas sums LLM deltas per commit group (credited by after-rename code_file_id) to avoid per-file queries and ensure model-authored changes are included, yielding accurate diffs and far fewer DB queries when rendering file lists.</description>
      <pubDate>Wed, 09 Sep 2026 23:09:07 +0000</pubDate>
      <enclosure url="https://image.gitclear.com/yjazkluo582jflpd0untp23o2p4d" type="image/png"/>
      <deployedAt>Thu, 10 Sep 2026 23:16:51 +0000</deployedAt>
      <diffDelta>394</diffDelta>
      <userLikeCount>1</userLikeCount>
    </item>
    <item>
      <changeMagnitude>Epic Improvement</changeMagnitude>
      <title>Add team_member start/end date to API</title>
      <description>Add per-member stats window fields to the Teams API and update integration tests (vendor/gems/customer_api/test/integration/api_teams_test.rb). Tests now assert gitclear_id and expanded member props in with_provider_details responses, and cover updating member name, setting/clearing committer_stats_start_at and committer_stats_end_at (elite-only) and rejecting non-elite updates. Enables clients to set/clear member stats windows via API.</description>
      <pubDate>Sun, 06 Sep 2026 15:52:53 +0000</pubDate>
      <deployedAt>Tue, 08 Sep 2026 14:58:58 +0000</deployedAt>
      <diffDelta>1387</diffDelta>
    </item>
    <item>
      <changeMagnitude>Epic Improvement</changeMagnitude>
      <title>Export CodeLine/CodeLineBodyChecksum/CodeFile and persist repos/orgs to Databricks to retain LLM attribution</title>
      <description>Export CodeLine, CodeLineBodyChecksum and CodeFile and begin persisting repositories and organizations to Databricks; add a databricks_development env and docs and update silver_model_export_test to assert parent-first restore ordering and new exported names. Benefit: LlmResourceStat, LlmLineFingerprints and other attribution data survive restores and table pulls without id collisions.</description>
      <pubDate>Tue, 08 Sep 2026 06:40:20 +0000</pubDate>
      <enclosure url="https://image.gitclear.com/ln7kra1fgcof3g12kchvuwxjicbs" type="image/png"/>
      <diffDelta>1321</diffDelta>
      <userLoveCount>1</userLoveCount>
    </item>
    <item>
      <changeMagnitude>Medium Improvement</changeMagnitude>
      <title>Add reviewContext handling and pollQuestionUrl to data-interrogator UI</title>
      <description>Import pollQuestionUrl and review-context utilities (REVIEW_CONTEXT_EVENT_NAME, questionWithLineContext) and add a reviewContext prop to renderDrawer. Update UI logic to suppress the subtitle when reviewContext is present, reorder props, and remove large inline comments. Prepares the data interrogator for PR diff / review-context queries and improved polling/resume flows.</description>
      <pubDate>Tue, 08 Sep 2026 22:36:10 +0000</pubDate>
      <enclosure url="https://image.gitclear.com/9jkrcsm78pz9fg8a4xjssy3ed2q3" type="image/png"/>
      <diffDelta>261</diffDelta>
      <userLikeCount>1</userLikeCount>
    </item>
    <item>
      <changeMagnitude>Small Bug</changeMagnitude>
      <title>Fix: Exclude imports and punctuation-wrapped keywords (e.g. 'return (') from copy/paste labeling</title>
      <description>Prevent false positives where imports and punctuation-wrapped keywords were marked as copied. LanguageLine gains a KeywordPunctuationStrip wrapper that removes spaces/punctuation to correctly detect keywords like "return ("; Labeler::CopyPastedLine skips not-meaningful and include_statement? lines when stamping LINE_COPY_PASTE. Tests added for JS imports and "return (". Result: more accurate copy/paste detection and fewer false positives.</description>
      <pubDate>Tue, 08 Sep 2026 22:35:30 +0000</pubDate>
      <diffDelta>57</diffDelta>
    </item>
    <item>
      <changeMagnitude>Medium Improvement</changeMagnitude>
      <title>Add AI Scorecard Section 3: AI Cohort Mix (developer-week cohorts and preferred models)</title>
      <description>Adds Section 3 to the AI Scorecard (app/javascript/apps/ai-scorecard.js). Introduces formatDeveloperWeekCount, cohortSegmentShape PropTypes and new components: CohortMixSection, CohortSegmentTooltip and CohortStripeLegend (plus hookup to CohortWeekStripe). Renders developer-week counts, percent shares and most-used models per cohort, with an empty-state when no commit activity. Benefit: surfaces how teams actually used AI during the selected period.</description>
      <pubDate>Sat, 05 Sep 2026 08:50:45 +0000</pubDate>
      <enclosure url="https://image.gitclear.com/k5qv7f5fly9q1btleiqf8175jst2" type="image/png"/>
      <deployedAt>Tue, 08 Sep 2026 14:58:58 +0000</deployedAt>
      <diffDelta>226</diffDelta>
      <userLoveCount>1</userLoveCount>
    </item>
    <item>
      <changeMagnitude>Small Feature</changeMagnitude>
      <title>Add sorting controls to Pull Requests index (PR#index)</title>
      <description>Adds a Sort select to the PR filter UI plus styles and JS to apply it, and implements PullRequest.sorted_by scope. The UI change inserts a sort dropdown when relevant; client code rewrites the URL to set sort_by (and drop page) so existing filters persist; the model scope supports largest_size, most_comments, most_follow_on_work, oldest and default newest. Result: users can reorder PR lists without losing filters and land on the first page.</description>
      <pubDate>Sat, 05 Sep 2026 04:28:26 +0000</pubDate>
      <enclosure url="https://image.gitclear.com/w55ko644b6di5wf79htudm2ix6dc" type="image/png"/>
      <diffDelta>83</diffDelta>
      <userLoveCount>1</userLoveCount>
    </item>
    <item>
      <changeMagnitude>Small Improvement</changeMagnitude>
      <title>Polish AI Scorecard theming: use theme tokens for heatmap empty cells, tooltip, hover outline, and legend</title>
      <description>Update AI Scorecard UI to be theme-aware: replace hardcoded "no data" heatmap color with $color-background-tertiary, switch tooltip background to $color-slight-background-accent, change hover outline to $color-border-primary, and make the Plotly legend bgcolor conditional on isDarkMode(). Changes touch ai-scorecard.scss, llm-model-durability-tooltip.scss and the durability chart JS to improve contrast and dark/light consistency.</description>
      <pubDate>Sat, 05 Sep 2026 04:26:17 +0000</pubDate>
      <enclosure url="https://image.gitclear.com/tf89rkx1326ryme45mvcmaxmomsz" type="image/png"/>
      <diffDelta>7</diffDelta>
      <userLoveCount>1</userLoveCount>
    </item>
    <item>
      <changeMagnitude>Medium Improvement</changeMagnitude>
      <title>Add: Update Diff Digest to allow submitting PR reviews that sync to GitHub</title>
      <description>Change SyncPullRequestReviewComments to use repo.provider_em_for_pull_requests, respect repo.comment_sync_enabled?, and pass the commenter user into remote_connection_for_committer; post reviews via Defines::PullRequest.review_klass. Also update GitHub client to use repo.provider_path for API calls. Result: PR reviews and associated comments from Diff Digest can be posted and synced to GitHub when commenter has a remote connection.</description>
      <pubDate>Thu, 03 Sep 2026 02:33:03 +0000</pubDate>
      <diffDelta>222</diffDelta>
    </item>
    <item>
      <changeMagnitude>Medium Improvement</changeMagnitude>
      <title>Add Pull Request review-status button and popup styles; position button beside header controls</title>
      <description>Adds a new SCSS component (pull_request_review_status_button.scss) to style the review-status pill, tone-aware icons, popup, prior-review list, facts and action buttons, plus a follow-up button. Also tweaks review header tabs to place the status button beside the provider link and prevent wrapping. Impact: surfaces prior reviews in the Review Code UI and provides consistent, accessible visual tones for review actions.</description>
      <pubDate>Thu, 03 Sep 2026 02:33:05 +0000</pubDate>
      <enclosure url="https://image.gitclear.com/bls7vpamvncasplgy15oy0fz5as9" type="image/png"/>
      <diffDelta>186</diffDelta>
      <userLikeCount>1</userLikeCount>
    </item>
    <item>
      <changeMagnitude>Small Bug</changeMagnitude>
      <title>Fix loss of leading whitespace in diff rendering; preserve indent-only lines and add PR opened-at tooltip with timezone fallback</title>
      <description>Preserve indent-only bodies in syntax-highlighted diffs by treating only nil/empty as empty (replace .blank? behavior), add explanatory comments and tests to ensure leading spaces are kept. Also add opened_at_in_zone and opened_at_title to the PR tabs and a controller test to fall back to the repo timezone when the viewer has none. Result: start-of-line edits keep their leading spaces and PR opened tooltips show the correct timezone.</description>
      <pubDate>Thu, 03 Sep 2026 01:29:48 +0000</pubDate>
      <deployedAt>Wed, 02 Sep 2026 18:54:31 +0000</deployedAt>
      <diffDelta>45</diffDelta>
    </item>
    <item>
      <changeMagnitude>Medium Feature</changeMagnitude>
      <title>Add Databricks Silver exports for AiPendingAssignmentLines, CommitterLlmTurns, and LlmUsageMetrics to preserve LLM-CodeLine mappings</title>
      <description>Introduce three new Databricks::Silver export modules (ai_pending_assignment_lines.rb, committer_llm_turns.rb, llm_usage_metrics.rb) to persist in‑progress AI telemetry: pending assignment lines, committer LLM turns, and per-resource LLM usage. These exports prevent loss of not-yet-matched lines, duplicate turn minting, and ledger resets across Pod/Postgres rebuilds, ensuring correct deduplication and accurate ingest reconciliation.</description>
      <pubDate>Wed, 02 Sep 2026 03:45:17 +0000</pubDate>
      <deployedAt>Tue, 01 Sep 2026 19:14:13 +0000</deployedAt>
      <diffDelta>151</diffDelta>
    </item>
    <item>
      <changeMagnitude>Medium Improvement</changeMagnitude>
      <title>Update Diff Digest tray to show PRs awaiting review; clarify 'Download' label; fix desktop date selector and PR demo layout</title>
      <description>Show PRs awaiting review in the desktop tray by adding pull_requests_awaiting_review to Desktop status JSON and clarify Diff Digest as a "Download"; fix timezone bug in TeamCommitterHistoryWeek by using Date.current instead of Date.today so AI cohort derivation no longer misses weeks; plus PR demo centering, move Documentation into Research &amp;amp; Learning, and test fixes — resulting in improved Diff Digest UX, correct cohort logic, and more reliable tests.</description>
      <pubDate>Thu, 03 Sep 2026 00:12:01 +0000</pubDate>
      <deployedAt>Fri, 28 Aug 2026 22:26:24 +0000</deployedAt>
      <diffDelta>265</diffDelta>
    </item>
    <item>
      <changeMagnitude>Large Feature</changeMagnitude>
      <title>Implement v1 checkout flow: add Stripe Checkout &amp;amp; Billing Portal sessions; include purchase in entitlement; reconcile starter subscription</title>
      <description>Adds a v1 checkout flow for the desktop edition: introduces Desktop::PurchaseCheckoutSession and Desktop::PurchasePortalSession (Stripe Checkout and Billing Portal), updates Desktop::ProviderConnection#entitlement_from_payload to return purchase metadata, and refines StarterSubscriptionRenewal (settleable trial end reasons and reconcile_at_launch). Deployed to production to enable Diff Digest subscriber purchases and correct local starter subscription handling.</description>
      <pubDate>Mon, 31 Aug 2026 01:49:18 +0000</pubDate>
      <diffDelta>503</diffDelta>
    </item>
    <item>
      <changeMagnitude>Large Improvement</changeMagnitude>
      <title>Update telemetry agents: prefer telemetry over API, ensure Diff Digest delivery, and ignore Cursor scratchpad edits</title>
      <description>Change cursor-telemetry.entry.mjs to prefer the telemetry channel when both API and telemetry are connected, mark Diff Digest as the preferred destination and retain batches for up to two weeks if a recent install is unresponsive, and add logic (scratchFileReasonFromPath) to ignore Cursor-authored/scratchpad and .git files when recording file-edit events. Version bumped to v0.4 — yields more reliable Diff Digest delivery and cleaner churn counts.</description>
      <pubDate>Tue, 01 Sep 2026 00:36:26 +0000</pubDate>
      <deployedAt>Fri, 28 Aug 2026 22:26:24 +0000</deployedAt>
      <diffDelta>944</diffDelta>
    </item>
    <item>
      <changeMagnitude>Small Improvement</changeMagnitude>
      <title>Add automatic 0.5x scaling for committer+date bubbles when cell fill would overflow, plus cursor telemetry tweaks</title>
      <description>Introduce CELL_FILL_OVERFLOW_PERCENT (0.5) and PROFICIENCY_RADIUS_SCALE (0.5) and implement logic in BubbleDateActivity to halve bubble radii (area → 25%) for committer+date cells whose unscaled area would occupy too much of a row×day cell. Mark scaled committer IDs in the JSON and call scale_overflowing_committer_radii!; also refactor to use snap_repo_ids in the committer changelog concern and apply minor cursor_telemetry tweaks. Result: reduces visual overcrowding and improves CAB readability.</description>
      <pubDate>Sat, 29 Aug 2026 05:03:11 +0000</pubDate>
      <diffDelta>94</diffDelta>
    </item>
  </channel>
</rss>
