Changelog
v1.6.8 (2026-05-24)
Analysis queue for rate-limited URLs
- When GitHub API rate limits are hit, the URL is queued in the database
- User gets a "queued" page with estimated wait time
- Deduplication — same URL can't be queued twice
- Background processor retries analysis when rate limit resets
- Refreshable status page
v1.6.7 (2026-05-23)
Scoring accuracy improvements
- Fixed recent contributor activity always returning 1.0 (now uses commit recency)
- Fixed first response time inflated by subsequent issue activity
- Fixed tracking fields for open/closed issues and PRs in mergeWith
- Added 8 unit tests for mergeWith
- Softened Activity thresholds (14d for A, 20 commits/mo for A)
- Alternative PR workflow detection — repos using mailing lists no longer penalized
- License classification corrected (EPL/OSL removed from permissive, MPL added)
Silent failure fixes
- Added warning logging to parseInstant, safeContentLength, safeHead, safeGet
- Persistence failures now return Failed to user instead of silent Success
- Enum parse errors in AnalysisHistory now logged
- Skipped GitLab pipelines marked as NotApplicable instead of Available
- Warning logging in all 4 scraper extractCount methods
- Warning logging for unknown metrics in RecommendationEngine
New features
- Per-repository grade history page at /history?url= with timeline chart
- Grade History link on analysis page
Infrastructure
- CI: mvn verify now uses -am for version-bumped builds
- DOCKER_HOST configured in Surefire for Podman native pipe
v1.6.6 (2026-05-22)
GraalVM 25 native image support
- Native image build with GraalVM 25 — Flyway pre-migration, JTE reflection, Jackson without KotlinModule
- 27 automated e2e tests (JVM) + 10 native image e2e tests
- Dynamic migration manifest generation at build time
- Null-safe MetricAvailability deserialization for native image
- Fixed footer version display
v1.6.5 (2026-05-09)
Coverage-weighted grading
- Grades now weighted by metric availability — categories with missing data contribute proportionally less to the overall grade
- New
MetricAvailabilitytracking: rate-limited, fetch errors, and not-applicable metrics shown inline - New
Confidencebadge: HIGH (80%+ metrics), MEDIUM (50-79%), LOW (below 50%) - Coverage warning banner when less than 50% of metrics available
- All providers (GitHub, GitLab, Gitea/CodeBerg, Bitbucket) now record per-metric availability
- Removed flaky test that hit the live GitHub API
v1.6.4 (2026-05-08)
Footer version fix
- Fixed footer showing literal
v%s— platform i18n bug withParameterInjectornot supporting%ssyntax - Footer now reads version directly from
AppConfig.version - Added footer regression test
v1.6.3 (2026-05-08)
Theme toggle and footer fixes
- Fixed theme toggle button — was generating broken
href="light"links that 404'd, now uses proper HTMX form submission - Fixed footer showing build timestamp instead of version number
- Theme toggle matches platform's SidebarSelector pattern with hidden fields
v1.6.0 (2026-05-08)
UI fixes and content rendering
- Fixed content pages (algorithm, changelog) rendering empty bodies — worked around JTE
!{}bug in Content blocks - Fixed theme switching — uses DaisyUI theme IDs directly via
data-theme - Fixed desktop navbar hidden on large screens
- Added Tailwind Typography plugin for proper prose rendering
- Added regression tests for themes, content pages, and desktop header
- Sidebar layout with responsive drawer navigation
v1.5.0 (2026-05-08)
Platform upgrade
- Upgraded outerstellar-platform from 1.5.1-SNAPSHOT to 1.6.0 (stable, Maven Central)
- Fixed theme switching — now uses DaisyUI theme IDs directly
- Fixed empty content pages (changelog, algorithm) — added Tailwind Typography for proper prose rendering
- Added proper desktop header visible on all screen sizes
- Moved recommendations section to bottom of analysis results
v1.4.0 (2026-05-08)
Metric availability tracking
- Providers declare which fields they fetched via
MetricFieldenum - Provider merge — results from API + scraper merged to maximize coverage
- Unavailable metrics excluded from grading (shown grayed out in UI, not scored as F)
- Overall grade renormalized from only categories with available data
v1.3.0 (2026-05-05)
Deeper analysis: richer signals, history tracking, and recommendations
- 9 new metrics: commit frequency trend, release cadence, README quality, stale issue ratio, first response time, PR size, PR review depth, contributor growth, recent contributor activity
- Metric explanations: collapsible "What/Why/Improve" for every metric on the analysis page
- Grade history: automatic snapshots when grades change, with trend arrows (improving/declining)
- History cleanup: automatic pruning (per-repo cap + age limit) via background job
- Actionable recommendations: prioritized suggestions for metrics graded C or below, with effort levels and specific guidance
- Algorithm page updated with new metrics, thresholds, and recommendation docs
v1.2.0 (2026-05-03)
Platform integration
- outerstellar-platform v1.4.2 integration (PlatformPlugin architecture)
- Full repository analysis engine with A-F grading
- Leaderboard, algorithm, and changelog pages
- JTE precompiled templates with Tailwind + DaisyUI 5
- Testcontainers-based integration tests with PostgreSQL 18
v1.1.0 (2026-05-02)
Initial scoring engine
- 5 scoring categories: Activity, Community, Issues, Pull Requests, Contributors
- GitHub API provider with metrics collection
- PostgreSQL persistence layer with JDBI
v1.0.0 (2026-05-01)
Project scaffolding
- Maven multi-module structure (core + web)
- Core domain models and repository interfaces