Skip to content

v3.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:13
· 49 commits to main since this release

3.0.0 (2025-10-15)

⚠ BREAKING CHANGES

  • AI summaries now require user authentication
  • Require login to access AI-generated contributor summaries
  • Add requiresAuth flag to useContributorSummary return value
  • Display elegant login CTA when user is not authenticated
  • Update UI to show 'AI-powered insights available' message with login button
  • Add comprehensive tests for authentication requirements
  • Reuse existing login components and UX patterns

Benefits:

  • Creates product-led growth (PLG) motion through value-gated features
  • Controls LLM service costs by limiting to authenticated users
  • Encourages user signup to access premium features
  • Maintains seamless UX with existing auth components

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • Embedded authentication removed. Users must now use
    actions/create-github-app-token to generate App tokens. See README for
    migration instructions.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • docs: add comprehensive GitHub App setup guide and remove unused workflow
  • Add detailed step-by-step guide for creating GitHub Apps
  • Include security best practices and troubleshooting
  • Remove unused PULL2PRESS_WORKFLOW.yml file

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • security: use SHA-pinned version for create-github-app-token action
  • Replace all uses of @v1 with SHA-pinned @5d869da34e18e7287c1daad50e0b8ea0f506ce69
  • This is v2.0.0 of the action, providing better security
  • SHA pinning prevents supply chain attacks

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • refactor: simplify to single workflow with GitHub App auth only
  • Update main workflow to use GitHub App authentication
  • Remove reusable workflow (no longer needed)
  • Use SHA-pinned create-github-app-token action for security
  • Remove fallback to GITHUB_TOKEN (App auth only)

This eliminates duplicate workflow runs and simplifies the setup.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • fix: restore job-level permissions with documentation
  • Add back job-level permissions for clarity
  • Include comments explaining each permission
  • Ensures correct permissions even if workflow-level changes

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • security: remove insecure embedded authentication files
  • Remove app-config-encrypted.ts with hardcoded passphrase
  • Remove build-embedded-auth.ts build script
  • These files used plaintext passphrases in open source (security risk)
  • Action now uses secure GitHub App authentication only

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • cleanup: remove references to embedded authentication
  • Update HOW_IT_WORKS.md to document secure App auth approach
  • Remove @octokit/auth-app dependency (no longer needed)
  • Remove build:embedded-auth script from package.json
  • Documentation now reflects GitHub's recommended pattern

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

🚀 Features

  • Add 90-day workspace event backfill UI (#957) (#965) (9d224b5)
  • Add admin dashboard for failed jobs monitoring (#910) (d1247cc), closes #882
  • add aggressive repository backfill script (5b37ed5)
  • Add AI-generated contributor summaries to hover cards (#979) (0e1450c), closes #924
  • Add assignee and reviewer distribution charts for workspace views (#740) (a849c90), closes #737
  • Add automated monitoring and cleanup for Inngest jobs (#884) (1ab1762), closes #883 #881
  • add automatic discussion sync for workspaces (#1039) (675b7b8)
  • Add CODEOWNERS backend API endpoints (#841) (1c8a258), closes #448
  • Add comprehensive slow network performance testing (#952) (1023684)
  • Add Continue review-bot config for Snyk analysis (f55c8a9)
  • Add contributor hover cards across workspace views (#920) (d438cd6)
  • Add database support for GitHub issue comments (#743) (bff3ae3), closes #742 #741
  • add dynamic OAuth redirect URLs for deploy previews (#707) (0ba90b8)
  • add editable workspace description in settings (#669) (904c39e), closes #668
  • Add exponential backoff service for GitHub API calls (#828) (bcea47d), closes #782
  • Add filtering capabilities to Workspace PRs and Issues tables (#738) (9943d67), closes #696
  • add GitHub Actions workflow for inngest-prod deployment (#1073) (a7aa770)
  • Add GitHub App authentication to Continue Review action (#524) (c4c601e)
  • Add GitHub App installation CTA (Phase 0) (#868) (4ba8032), closes #833 #833 #833 #833
  • add GitHub Discussions tab to workspace pages (#988) (e0195c0), closes #985
  • Add github_id columns to pull_requests for DLT sync (#876) (9f9c4e0), closes #874 #873
  • Add github_issues table with DLT tracking support (#852) (3f4bab9)
  • Add Inngest pipeline validation script and documentation (#890) (1c154d2)
  • Add metrics and trends to workspace PR tab (#652) (f324ad2)
  • Add minimal inngest-sync endpoint (#757) (e720182), closes #754 #754 #487
  • Add Mintlify documentation setup (#955) (6e5b0b6), closes #939 #940 #406 #FF5402
  • add needs-triage Continue workflow for automatic issue labeling (#568) (ea1f6c9), closes #567
  • Add notification system for async operations (#973) (6335d61), closes #959
  • add page view data capture for workspace and repository views (#1109) (c75eca9), closes #1107
  • Add PostHog and GitHub credentials to workflow (3e1aeeb)
  • Add PostHog session analysis workflow with Continue CLI (#855) (35edc2c)
  • Add PostHog session recording for repository tracking (#735) (aa38e9f)
  • Add PostHog tracking for auth flow and workspace CTA (#751) (d887638), closes #749 #750
  • Add respond tracking for issues and discussions (#1060) (8038191)
  • add seed data generation system with Inngest integration (#560) (3b3426e), closes #549
  • add shared utilities for edge functions (database, responses, github) (#1025) (4184c58), closes #1020 #915
  • Add Snyk security scan workflow with Continue AI (#858) (b9b350b)
  • Add Snyk security scanning workflow with Continue CLI (#869) (67e55b0)
  • add Supabase schema for GitHub Discussions support (#985) (121eae4), closes #160
  • Add workspace integration button to repository view (#753) (6900872)
  • Add workspace metrics functions to Netlify Inngest endpoint (#966) (3ce307e), closes #905 #904
  • admin: add PostHog analytics dashboard card (#923) (b85e3ed), closes #922
  • AI-generated discussion summaries using LLM service (#995) (f6921ce), closes #992
  • complete debug files cleanup phases 2-3 (#676) (#682) (cf7b02b)
  • complete migration to MiniLM embeddings (#1034) (e855171)
  • comprehensive load testing suite for Edge Functions (#719) (fd96837), closes #486
  • Configure docs subdomain rewrite and update app links (#964) (dbd01ee)
  • Connect live data to workspace dashboard (#642) (ad47963), closes #598
  • connect UI to reviewer suggestions API (PR #841) (#843) (bcaf3a7)
  • Connect workspace overview stats to real aggregated metrics (#651) (f48b241)
  • contributor CRM system - Phase 1 planning (#800) (7ce80e4)
  • dev: cross-platform local Supabase migration runner (#623) (989a33a)
  • Display individual star and fork events in workspace activity feed (#659) (8591ccd), closes #657 #657 #658 #660 #661
  • Display star and fork events in activity feed (#658) (9adc16c), closes #657
  • docs-review: add contextual feedback with specific line numbers and validation examples (#970) (9ed68a3)
  • docs-review: detect and suggest missing documentation (#976) (9fbee91), closes #973
  • docs-review: enhance documentation review bot with comprehensive checks (#962) (d42362d), closes #950
  • embeddings monitoring and discussion prioritization (#1032) (e3371a3)
  • Enable ESLint and Prettier with pre-commit hooks (#557) (1b5df9c)
  • enable issue similarity search in 'Respond with Similar Items' (#1046) (5577894), closes #1045 #8098
  • enhance Continue review to be more critical and context-aware (#618) (7f43672)
  • Enhance continue-review action with contextual insights and metrics (#832) (#836) (8c0200b)
  • enhance demo workspace with improved charts and rising stars visualization (#629) (a3edddc)
  • Enhance similarity service with caching and batch processing - Phase 2 (#831) (89083dc), closes #350
  • enhance triage bot with @continue-agent mentions and context awareness (#582) (a55b584), closes #580 #580
  • health-metrics: expand contributor definition and add issue engagement (#1026) (e5e6f48), closes #1004
  • health: add YOLO Coders button to lottery factor card (#1006) (9537e10), closes #1005
  • implement comprehensive code-splitting strategy for bundle optimization (#616) (9e02230)
  • implement comprehensive feature flag system with PostHog integration (#628) (68419c1), closes #610
  • implement comprehensive issue comment metrics and first responder tracking (#670) (#675) (3590db5), closes gh-datapipe#86 #678
  • implement documentation review workflow with Continue Agent (#571) (3a0d162), closes #566
  • implement Edge Function concurrency management system (#720) (dc031dc), closes #488 #719 #718 #489
  • implement full page workspace creation at /workspaces/new (#604) (aaaee24), closes #399 #399 #598 #597 #599 #603
  • implement GitHub Events API capture for stars and forks (#654) (5f64862), closes #650
  • implement lazy loading for heavy view components (#640) (fe8fb32), closes #634
  • implement live data workspace activity feed with GitHub usernames (#649) (68f9fc2), closes #598 #642
  • implement phase 2 strategic event tracking for user journey insights (#617) (30b035d)
  • implement Polar subscription system for workspaces (#401) (#710) (9ea3411)
  • implement PostHog LLM analytics for OpenAI features (#606) (5bdc009)
  • implement request deduplication with idempotency keys (#718) (d37fe11), closes #488 #719
  • implement RLS performance monitoring system (Phase 5) (#824) (6fad1c3), closes #820 #820
  • Implement secure GitHub App checks for fork PRs (#613) (3db0e28), closes #585
  • Implement webhook priority system for GitHub App data fetching (#969) (4805ae5), closes #263
  • implement workspace creation feature flag controls (#691) (#698) (bd513f0), closes #291 #276 #276
  • implement workspace data aggregation service (#561) (a2edcc9), closes #398
  • implement workspace invitation email system (#590) (ff763e7), closes #588
  • Implement workspace repository prioritization (Phase 2 - #882) (#907) (a8599dc)
  • improve Continue AI code review accuracy (#1069) (661b4d0), closes #1067
  • improve PR review status and distribution charts UI (#766) (d46564d)
  • improve scatterplot enhancement toggle UX (#639) (cfe034c)
  • improve similar items response format and filtering (#1044) (4c06ded)
  • improve similar items response format and filtering (#1044) (8780b9e)
  • improve workspace table links and layout (#739) (1b4b31f)
  • Integrate commit capture with progressive data system (#830) (#835) (9c71161)
  • integrate useWorkspaceIssues hook with linked PRs support (#1095) (f83dbec), closes #1074
  • logs: suppress console.logs in production (#1084) (183f82d)
  • make demo workspace page responsive and mobile-friendly (#641) (33275e4)
  • migrate CODEOWNERS and Workspace Sync APIs to Supabase Edge Functions (#1088) (2030a9f), closes #1070
  • migrate critical CSS to external stylesheet for CSP Phase 2 (#665) (f436ae6), closes #655
  • Migrate inngest-prod-functions to Supabase Edge Functions (#754) (43389c6), closes #487
  • migrate PR compliance to secure pull_request_target event (#620) (048b297)
  • Modernize Snyk security workflow with Continue CLI (#866) (302a77c)
  • monitoring: Add PostHog error tracking for 500 errors and critical failures (#949) (035426a), closes #939 #940
  • Move all mock data to dedicated /i/demo workspace (#624) (9c48d21), closes #611
  • move sitemap generation to daily GitHub Actions workflow (#581) (12f8c03)
  • notifications: add invite status notifications for workspace invitations (#1003) (64eda0b), closes #975 #975
  • optimize bundle size by lazy-loading react-markdown (#638) (b57a70d)
  • optimize tree shaking configuration for better bundle size (#614) (6753ddc)
  • optimize tree shaking configuration for better bundle size (#615) (5e86166)
  • Re-enable embeddings via dual Inngest architecture (#903) (#904) (a057ce4), closes #899
  • Remove 'unsafe-inline' from CSP script-src (Phase 1) (#663) (3b60ce1), closes #655
  • remove SECURITY DEFINER from database functions (#812) (346c537)
  • remove stars and forks from repo-view PR activity feed (#674) (56cff25)
  • replace star count with velocity metric and fix trend calculation (#958) (c973570), closes #660 #660 #659 #660 #661 #660-661 #957
  • replace TypeScript any types with proper interfaces in components (#591) (9bb59d5), closes #541 #577 #588 #542
  • simplify continue-review with TLDR and remove metrics (#846) (ebd4c82)
  • social-cards: update design to match app dark theme (#912) (3145121), closes #FF5402 #901
  • Team Collaboration with Role-Based Permissions (#711) (45fd56b), closes #401
  • Testing & Quality Assurance for Edge Functions (#1022) (#1055) (86f838d)
  • This includes adding a state variable showAllContributors and condi… (#930) (c5a5633), closes #931 #931
  • ui: show GitHub icon on login button only on mobile (#1027) (602aef5)
  • ui: Update notification icon from mail to bell (#1117) (caf4aa7)
  • Update favicon and workspace icon to plant logo (#963) (1979eae)
  • update leaderboard cards to match workspace contributor card styling (#531) (bc039bf)
  • Update to bdougie-test org and review-bot config (7c6eb97)
  • Update workspace navigation to use slugs instead of IDs (#763) (e0ae5c8)
  • Use npx and add Anthropic API key (b0da1aa)
  • Webhook consolidation with real-time similarity and monitoring (Phases 0-5) (#871) (75437ee)
  • widgets: Default embeddable widgets to dark mode (#947) (fdf56bc), closes #0A0A0 #141414 #FF5402 #912 #943 #FF5402 #0A0A0 #141414
  • Workspace Command Palette with Slug Support (Phase 2) (#521) (74808a7)
  • workspace invitation UI with upgrade CTAs (#713) (dbd62f8), closes #397
  • Workspace Navigation - Phase 1 Implementation (#520) (3a6e5c8), closes #400
  • workspace: add billing link to entice workspace creation (#1050) (8ac3e0f)
  • workspace: Add linked PRs support for issues tab (#1072) (98d2e58)
  • workspace: add My Work card with live data integration (#1001) (e157991), closes #997 #789 #1009 #1010 #1011 /github.com/bdougie/contributor.info/pull/1001#issuecomment-3382175710
  • workspace: add pagination to discussions table (#997) (ea11c76)
  • workspace: integrate GitHub events cache for rich analytics (#688) (5597018)
  • workspace: require login for metrics and trends cards (#993) (a3e22a4), closes #991

🐛 Bug Fixes

  • activity: use Supabase avatar cache for activity page (#1061) (5041749), closes #1058
  • Add blocklist to prevent app routes from being treated as GitHub repos (#914) (264533b)
  • Add comprehensive diagnostic logging for gh-datapipe backfill 500 errors (#889) (615c443), closes #144
  • add comprehensive error logging to Inngest compute-embeddings function (#1041) (4f43cd0)
  • Add config flag to cn command (4b5639c)
  • Add docs subdomain to CSP connect-src directive (#967) (a69f9a3), closes #964
  • Add error handling to capture Continue CLI failures (920a18c)
  • add manual sync button for stale workspace activity data (#764) (7882029), closes #767
  • Add missing last_updated field to pull_requests table (#727) (2c93136)
  • Add missing original_commit_id column to comments table (#918) (1484390)
  • Add missing repository_id and author_id to review writes (#926) (f91b093), closes #921
  • Add missing workspace priority migration from PR #907 (#911) (f3feeff)
  • add PostHog assets URL to CSP connect-src directive (#653) (10c2fff), closes #645 #655
  • add redirects for legacy workspace invitation URLs (#1030) (25a146d), closes #1008
  • Add repository_full_name column to pull_requests table (#768) (d5c2381), closes #765
  • Add repository_full_name to PR upsert in GraphQL capture (#906) (71eecba)
  • Add repository_id column to reviews table (#909) (69292ca)
  • Add respond tracking columns to correct 'issues' table (#1085) (eab3c78), closes #1060 #1060 #1060
  • add security audit overrides for known false positives (#705) (dc60c3e)
  • align PR table links with Issues dashboard format (#784) (72efd4a)
  • allow workspace invitation lookup by token (#1068) (ff44542)
  • api: resolve 404 error in backfill trigger endpoint (#1087) (623ca71), closes #1059 #1059
  • audit and fix database migrations for universal compatibility (#559) (3f3aebe), closes #552 #552 #503
  • auth: update GitHub OAuth scope from 'repo' to 'public_repo' (#1051) (af98ca0)
  • avatars: replace GitHub avatar URLs with Supabase cached avatars (#994) (14e731c), closes #990
  • billing: display three plan cards side-by-side on medium+ screens (#978) (81cafd9)
  • center app content with margin auto (#946) (b4f34dc), closes #945
  • Code Activity chart data display consistency (#555) (8050255)
  • Configure workspace invitation email system (#860) (f0f4585), closes #857
  • consistent workspace UI width constraints (#680) (68aca76)
  • consolidate 91 duplicate permissive RLS policies (Phase 2) (#818) (c7d8c8c), closes #816
  • continue-review: prevent truncation warnings in reviews (#971) (45f10a3)
  • Contributor of the month cards not rendering (#695) (#744) (4de262d), closes #1 #1 #1 #1 #1 #1
  • Contributor of the Month showing wrong time period data (#932) (8a7d1bb), closes #931
  • correct console.error parameter order in Inngest capture functions (#1056) (5751135), closes #1026 #788
  • correct My Work card to query issues table with proper schema (#1047) (8518f64)
  • Correct Netlify Functions directory structure to resolve 404 errors (#1081) (3d1a962), closes #1079
  • CORS header case sensitivity for queue-event Edge Function (#728) (6a3b8a4)
  • critical race condition fixes for start-local-supabase script (#619) (2df7071)
  • critical webhook system issues from PR review (#723) (7983e13)
  • database: add workspace discussion similarity function with correct VARCHAR type (#1012) (f9b0f45), closes #1011
  • db: ensure original_commit_id column exists in comments table (#1024) (94784b2), closes #1015
  • Disable client-side telemetry to prevent 403 errors (#881) (8f6135a)
  • discussions: auto-generate summaries and ensure authors in contributors (#999) (1a9457e)
  • display specific time ranges in workspace metrics trend labels (#536) (2ef7d8e), closes #534
  • docs-review: encourage review of existing docs for code changes (#1007) (71ad54a), closes #1006
  • docs: Fix MDX syntax errors and broken links in Mintlify docs (#956) (03d2b13)
  • email: correct workspace invitation URL format in emails (#864) (d5ae872), closes #863
  • embeddings: add discussions to embedding generation pipeline (#1013) (ff29adb), closes #1010
  • embeddings: add discussions to embedding generation system (#1014) (6764cde), closes #1009
  • embeddings: configure esbuild to use ESM format for inngest-embeddings (#1019) (97fa6b5), closes #1016
  • enable PostHog analytics beyond just web vitals (#605) (9b6e566), closes #593
  • Enable public read access for pull_requests table (#853) (d958ac6)
  • enable workspace metrics aggregation on manual sync (#1048) (9d233e1), closes #8164 #8166
  • Ensure track-repository endpoint is properly deployed (#794) (89db1ec), closes #776
  • Fix Lighthouse CI configuration for proper performance monitoring (#607) (5d69364), closes #601 #593
  • Guard import.meta.url usage in evals CLI detection (34c6390)
  • handle dry-run input safely in continue-triage action (#569) (cbfdb84), closes #567 #568
  • handle HTTP 206 partial responses in Service Worker (#565) (18ef4e6)
  • handle missing prNumber in capture/pr.comments gracefully (#1106) (0ba0d3a)
  • implement direct database insertion for repository tracking (#796) (16cfc00), closes #795
  • implement PR reviewer data sync infrastructure (#778) (fe517a3)
  • implement proper Inngest SDK serve endpoint for sync (#758) (77406e6)
  • improve 'Track This Repository' button placement and UI clarity (#553) (1591b95)
  • improve @continue-agent bot responsiveness and error handling (#839) (558e3a0), closes #838
  • improve backfill trigger error handling and Inngest client resilience (#799) (d5e30e1), closes #798
  • improve billing page UX and update pricing tiers (#722) (8e011cf)
  • Improve CODEOWNERS 404 error handling with friendly UX (#972) (8bd0422), closes #968
  • improve continue-triage workflow triggers (#584) (a5a1ca9), closes #579
  • improve mobile responsive UI for workspace and landing screens (#982) (f7eaf8d), closes #981
  • improve mobile responsiveness for workspace components (#697) (2477369)
  • improve progressive backfill detection with better logging and thresholds (#1101) (e036c4d)
  • improve table link behavior and fix column overlap issues (#792) (c030c2c)
  • Improve test organization and extract magic numbers (#827) (a68f90f), closes #648 #648
  • improve triage bot comment formatting (#570) (a71b59e)
  • Improve workspace creation modal messaging based on auth state (#752) (dac2278)
  • improve workspace repository management (#535) (ca0a089), closes #528
  • Inngest jobs now update completion status (#886) (8dc75ce), closes #883 #881 #884
  • Inngest local development integration and client configuration (#762) (07d0d3c), closes #754 #755 #770
  • inngest: resolve event data structure mismatch in Supabase Edge Functions (#1096) (6dde950), closes #1097
  • inngest: resolve schema validation issues and add comprehensive tests (#1098) (2df7902), closes #1055 #1097 #1097 #1097
  • Make author_id and repository_id nullable in pull_requests (#878) (c81718c), closes #877 #876
  • Make foreign key constraints deferrable for DLT merge compatibility (#880) (42b9a7d), closes #879
  • make pull_requests.author_id non-nullable (#806) (5683879)
  • make workspace loading non-blocking with better error handling (#526) (878a7c8), closes #7273
  • Migrate Inngest to Supabase Edge Functions (#899) (f842042), closes #895 #898 #898 #878
  • move action timestamps to HTML comments (#533) (82dc88a), closes #532
  • move Inngest event sending to server-side API for workspace sync (#791) (2b3141d), closes #789 #789
  • needs_attention returns NULL instead of false (#888) (ea1eedc)
  • normalize contributor foreign keys handling across PRs (#845) (347578b)
  • Normalize GitHub review states to prevent database constraint violations (#913) (9d403f4)
  • Normalize review states to prevent database constraint violations (#917) (6748129), closes #916
  • optimize remaining 120+ auth RLS policies (Phase 4) (#823) (5b4157d)
  • optimize RLS auth initialization for 50+ policies (Phase 1) (#817) (2051f42), closes #816
  • optimize RLS auth initialization for 50+ policies (Phase 1) (#821) (bfe7103), closes #820 #820
  • optimize service role RLS policies (Phase 2) (#822) (c7c4083), closes #820 #820 #820 #820
  • pass embedding arrays directly instead of converting to strings (#1040) (f430967)
  • persist social links after fetching from GitHub (#948) (802d7f2), closes #925
  • PR data corruption - adjust auto-fix rate limit from 12h to 1h (#525) (1557d8f), closes #7273
  • prevent async/await patterns in unit tests to avoid CI hangs (#787) (f23c7b5), closes #779 #781
  • Prevent workspace timeouts from auth token refreshes (#556) (9019317), closes #554
  • properly escape JSON values in compliance-secure workflow (#622) (b0f6f45)
  • properly type embedding item mapping without any types (#1037) (441f21f)
  • refresh My Work list after marking items as responded (#1118) (d27626b)
  • register syncDiscussionsCron function in Inngest endpoint (#1043) (d6f102d), closes #1039
  • remove 11 duplicate database indexes saving 19MB (Phase 3) (#819) (371060a), closes #816
  • Remove all import.meta usage causing Inngest 502 errors (#894) (80e6dc2)
  • remove custom handler blocking Inngest SDK sync operations (#760) (7322337)
  • remove DEBUG console statements from production code (#786) (4b3f4fd), closes #777 #777
  • remove explicit any types and improve TypeScript type safety (#825) (e31316a), closes #646 #646
  • Remove explicit snyk auth command (d79ef7c)
  • Remove import.meta.env usage from serverless functions (d62d6fb)
  • Remove incorrect Continue CLI auth step (f2d110c)
  • Remove interactive config loading for headless mode (af50860)
  • Remove missing issue-similarity import from webhook handler (#867) (15ff91c), closes #865
  • Remove non-optional import.meta.env from smart-commit-analyzer (ce6c545)
  • remove SECURITY DEFINER from database views (#814) (918a71f), closes #810
  • remove vulnerable database objects and SECURITY DEFINER views (#815) (798609d)
  • replace all 'any' types with proper TypeScript interfaces in webhook handlers (#891) (8389248), closes #872
  • replace any types with proper TypeScript types in core library files (#541 phase 1) (#577) (5480854)
  • replace template literal console.log statements with secure format specifiers (#788) (eee9897), closes #781
  • repository filtering now updates overall metrics (#572) (bbde50c), closes #573
  • repository tracking for workspaces and repo-view (#834) (3e4f031)
  • resolve API endpoints returning HTML instead of JSON (#793) (28db6b8)
  • resolve Edge Function 500 errors by setting INNGEST secrets (#731) (7d7c71f), closes #730
  • resolve embeddings generation failure with dimension mismatch (#1042) (828da0c)
  • resolve Inngest PR capture failures and schema mismatches (#1111) (b26b9ff), closes #1107 #1109
  • resolve issue metrics query errors and missing Time to Resolution trend (#671) (5d4bada), closes #670
  • resolve JSON parsing error in repository tracking (#771) (85a6c94)
  • resolve manual repository sync failures (#656) (#664) (1eaf22d)
  • resolve Nivo ScatterPlot theme errors (#635) (e91c362), closes #630 #636
  • resolve notes data isolation and overwrite bugs (#983) (f0f147f), closes #1 #2
  • resolve page view data capture and workspace sync issues (#1113) (d7f4d9a)
  • resolve queue-event endpoint 500/404 errors (#734) (65d0ef6), closes #732 #733
  • resolve React hooks dependency warnings (#587) (134d0ae), closes #544
  • resolve subscription tier inconsistencies and team plan invite issues (#716) (91df1c3)
  • resolve Supabase console errors and missing commits table (#829) (22f0bf8)
  • resolve test environment variable handling in CI and local (#1103) (589e51e)
  • resolve test failures and update health metrics documentation (#1053) (b8f61a4), closes #1026
  • resolve TypeScript type errors in inngest-prod edge function (#1099) (d05dc08)
  • resolve unused variable warnings in functions and tests (#564) (b2bcb15), closes #537
  • resolve workflow JSON parsing errors and build script issues (#621) (ace3044)
  • resolve workspace-sync Edge Function authentication errors (#1116) (8f56c68), closes #1114 #1114
  • restore page view-based data capture by properly initializing smart notifications (#1107) (8187c34), closes #1106
  • restore stable build from known good state (#608) (c706eef)
  • round daily PR volume to whole numbers and update labels to 'Last 30 days' (#679) (08bee54)
  • routing: move invitation route before workspace routes to prevent conflicts (#1017) (02671cb), closes #1008
  • secure backup tables with RLS policies (Phase 1) (#809) (bad1a28), closes #783 #783 #783
  • secure critical system tables with RLS policies (Phase 3-5) (#811) (bcf0141), closes #783 #783
  • send repositoryId instead of owner/repo in capture/repository.sync event (#797) (f94b57e)
  • Service worker caching HTML for API responses (#774) (b1c5dbe), closes #772
  • show only winner with toggle during active month leaderboard (#942) (c6b0a62), closes #1 #1 #929
  • show placeholder for invalid star velocity instead of total stars (d117e5d)
  • Simplify command and remove Anthropic key (22c53ab)
  • social cards (#887) (9fcae6d), closes #856 #856
  • spam-detection: resolve Edge Function import errors and database query issues (#898) (479e6b7), closes #859
  • standardize bot detection across application (#808) (ceccef0), closes #736
  • standardize date formatting across codebase (#826) (0cdc654), closes #647
  • supabase local migration (#704) (2b4029f), closes #705 #694 #703 #694
  • sync PR count columns to resolve chart failures #694 (#703) (d84288c)
  • ui: remove duplicate workspace switcher from workspace dashboard (#1052) (5f6a00b)
  • update candlestick chart tooltip to follow cursor position (#586) (077f116), closes #579
  • update discussions migration to use VARCHAR for GitHub node IDs (#987) (9c8333a)
  • update gitignore to properly ignore debug files in root only (#681) (5bc96e3)
  • update repository polling URL to use correct Netlify functions path (#773) (39cf83b), closes #772
  • upgrade @actions/core from 1.10.1 to 1.11.1 (#960) (ab194d3)
  • upgrade @actions/github from 6.0.0 to 6.0.1 (#961) (b87ee5c)
  • upgrade @netlify/functions from 4.1.10 to 4.2.5 (#1093) (3972aa5)
  • upgrade @radix-ui/react-toast from 1.2.14 to 1.2.15 (#1092) (4a91658)
  • upgrade @supabase/supabase-js from 2.54.0 to 2.57.4 (#933) (29a9e1a)
  • upgrade dub from 0.63.7 to 0.66.4 (#937) (181e25c)
  • upgrade openai from 5.11.0 to 5.22.0 (#1090) (da1f33c)
  • upgrade posthog-js from 1.260.2 to 1.265.0 (#935) (8abb39a)
  • use author_id instead of reviewer_id for PR review authors (#941) (888155b)
  • use correct 'issues' table in similarity search (#1078) (7046908)
  • Use real Inngest implementations to fix stuck jobs (#892) (3078c23), closes #886 #886
  • Use service role key in Inngest functions to bypass RLS (#873) (6fc03c3), closes #8039-8049 #7984
  • workspace issues display and smart notifications (#529) (0b4302d)
  • Workspace member removal and visibility issues (#726) (0503372)
  • workspace members tab UI and add team subscription tier (#714) (f9549b2)
  • Workspace owners can now add and remove repositories (#539) (a52d011)
  • workspace preview cards with square repo avatars and cached URLs (#998) (0f83a48), closes #994
  • workspace-only embeddings backfill for PRs and issues (#1045) (fd6f521)
  • workspace: correct trend icon direction and color logic (#687) (54c97fd)
  • workspace: implement server-side pagination and debounced search for contributor search (#1071) (ef236bb), closes #1065
  • workspace: improve workspace creation modal UX (#951) (34a684d), closes #938
  • workspace: resolve workspace repository API errors (#644) (9c97176), closes #643

⚡ Performance Improvements

  • embeddings: reduce cron frequency to 4 times per day (#1062) (382e91f)
  • optimize workspace loading - eliminate N+1 query problem (#984) (c504519), closes #974

⏪ Reverts

  • MiniLM embeddings migration due to deployment failure (#1036) (bbdaac5), closes #1034

♻️ Code Refactoring

  • centralize operational workflows documentation (1a14c90)
  • Complete Remaining Edge Functions Refactoring (#1049) (67a5156), closes #1029
  • extract shared utilities to reduce edge function duplication (#1028) (d859428), closes #1021
  • extract workspace dashboard utilities and components (#1083) (31e6880)
  • Extract workspace page components for better maintainability (#1094) (08e80d7), closes #1074
  • extract workspace tab components for improved maintainability (#1076) (116e573), closes #1075
  • Phase 1 - replace 9 nested ternary expressions with utility functions (#592) (a2c54b3)
  • Phase 2 - replace 10 nested ternary expressions with utility functions (#594) (d7f09ff), closes #542
  • Phase 3 - replace 12 nested ternary expressions with utility functions (#595) (28b5c48), closes #542
  • replace 28 nested ternary expressions with utility functions (#574) (6993452), closes #541 #577 #541 #541

📚 Documentation

🔧 Maintenance

  • apply lint formatting fixes from PR #800 (#802) (e4dcaf1)
  • clean up obsolete scripts and reorganize test files (#717) (96e23a8)
  • delete local db migration archive (#885) (b0e1246)
  • dev: skip auto-seed during supabase:start; add helper script (#576) (a8a7e26)
  • migrate console.log statements to production-safe logger (#1086) (1f54338)
  • remove cache update console logs for cleaner output (#1100) (97db195)
  • remove console logs from data fetching and service worker (#1066) (ea5a07f)
  • remove Polar.sh upgrade CTA (#1064) (11b6f95)
  • update tracked repositories list [skip ci] (fcfd700)