514de78ba7
- Fix ExemptionManager apiVersion bug (apps/batch resources used wrong API path) - Replace resource: any with proper KubeResource interface (strict TypeScript) - Replace all var(--mui-palette-*) CSS variables with useTheme() + theme.palette.* - Replace custom drawer with MUI Drawer component (proper a11y and theming) - Replace alert() calls with StatusLabel-based inline feedback - Add PolarisErrorBoundary wrapping all registered plugin components - Export getPolarisApiPath/isFullUrl from polaris.ts, deduplicate in PolarisSettings - Fix PolarisDataContext test mock missing triggerRefresh - Fix DashboardView test SimpleTable mock using any - Remove dead NamespaceDetailView (replaced by drawer), unused MockPolarisProvider, unused getSeverityColor export - Add tests for InlineAuditSection, AppBarScoreBadge, topIssues, checkMapping (32 new) - Update CLAUDE.md, CHANGELOG.md, README.md for v0.6.0 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
12 KiB
12 KiB
Changelog
All notable changes to the Headlamp Polaris Plugin will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.6.0 - 2026-03-04
Fixed
- ExemptionManager apiVersion bug:
appsandbatchresources now correctly use/apis/{group}/v1/instead of the broken/api/v1/path - Strict TypeScript: Replaced
resource: anyin InlineAuditSection with properKubeResourceinterface - PolarisDataContext test mock: Added missing
triggerRefreshto mock, preventing silentundefinedforrefreshin context - DashboardView test: Fixed
SimpleTablemock that usedArray<any>and didn't exercise column getters
Changed
- Dark mode / theming: Replaced all
var(--mui-palette-*)CSS variables withuseTheme()+theme.palette.*across all components (DashboardView, NamespacesListView, InlineAuditSection, ExemptionManager, PolarisSettings, AppBarScoreBadge) - Namespace drawer: Replaced custom
<style>block + positioned<div>with MUIDrawercomponent for proper accessibility (role="dialog",aria-modal, Escape key handling via MUI) - AppBarScoreBadge: Uses
theme.palette.success/warning/errorwith propercontrastTextinstead of hardcoded hex colors - ExemptionManager feedback: Replaced
alert()calls withStatusLabel-based inline feedback; removed deadgetExemptions()stub and unreachable remove-exemption UI - URL construction: Exported
getPolarisApiPathandisFullUrlfrompolaris.ts; PolarisSettings now reuses them instead of duplicating logic
Added
- Error boundaries: All registered components (routes, detail sections, app bar action) wrapped in
PolarisErrorBoundaryfor graceful error rendering - Tests for InlineAuditSection (7 tests): loading, unsupported kind, not found, score/summary, failing checks, link, exemption manager
- Tests for AppBarScoreBadge (6 tests): loading, no data, score colors, navigation, aria-label
- Tests for topIssues.ts (8 tests): empty, all pass, controller/pod/container results, counting, ignore filter, sorting, max 10
- Tests for checkMapping.ts (11 tests): name/description/category/severity lookups, unknown checks, CHECK_MAPPING structure validation
Removed
- NamespaceDetailView.tsx: Dead code with no registered route (replaced by drawer in NamespacesListView)
- NamespaceDetailView.test.tsx: Tests for removed component
- MockPolarisProvider in test-utils.tsx: Unused mock provider (tests use
vi.mockinstead) getSeverityColorexport in checkMapping.ts: Dead export not imported anywhere
0.3.5 - 2026-02-12
Fixed
- Fixed drawer background remaining white in dark mode by using correct CSS variable (
--mui-palette-background-default)
Documentation
- Added comprehensive Priority 2 documentation (ARCHITECTURE.md, DEPLOYMENT.md, SECURITY.md)
- Added CONTRIBUTING.md with development workflow, branching strategy, and code style guidelines
- Added complete CHANGELOG.md documenting all releases from v0.0.1 to current
0.3.4 - 2026-02-12
Fixed
- Removed all
@mui/materialand@mui/icons-materialimports causing plugin load failure - Fixed plugin settings page registration (changed name from 'polaris' to 'headlamp-polaris-plugin')
- Added dark mode support using MUI CSS variables for proper theme adaptation
- Resolved TypeScript compilation errors in plugin registration calls
Changed
- Replaced all MUI components with standard HTML elements and inline styles
- Updated
registerDetailsViewSectionandregisterAppBarActionto match Headlamp plugin API v0.13.0 - App bar badge, settings buttons, and UI elements now use theme-aware CSS variables
Infrastructure
- Added CI workflow for lint, type-check, build, and test
- Enhanced E2E testing documentation with comprehensive guides
- Added documentation-engineer subagent
0.3.3 - 2026-02-12
Fixed
- Corrected plugin settings registration name to match package.json
- Added displaySaveButton parameter to settings registration
0.3.2 - 2026-02-12
Fixed
- Removed all MUI dependencies to fix plugin loading in Headlamp v0.39.0+
- Plugin now loads correctly in sidebar and routes
0.3.1 - 2026-02-12
Fixed
- TypeScript compilation errors in
registerDetailsViewSectionandregisterAppBarActioncalls - Test failures in DashboardView (added missing SimpleTable mock)
0.3.0 - 2026-02-11
Added
- App bar badge displaying cluster Polaris score
- Inline audit sections in resource detail views (Deployment, StatefulSet, DaemonSet, Job, CronJob)
- Exemption management UI (view/add exemptions via annotations)
- Connection testing button in plugin settings
- Top issues dashboard with severity-based filtering
- Namespace drawer navigation with URL hash support
Changed
- Migrated namespace detail to right-side drawer panel
- Improved drawer keyboard navigation (Escape to close)
- Enhanced settings page with connection testing
Fixed
- Empty namespace crash handling
- Drawer navigation pattern for better UX
0.2.5 - 2025-12-XX
Fixed
- Improved theming and settings visibility
0.2.4 - 2025-12-XX
Changed
- Increased namespace detail panel width to 1000px for better readability
0.2.3 - 2025-12-XX
Added
- Full URL support for custom Polaris dashboards
- Support for external Polaris instances (not just service proxy)
0.2.2 - 2025-12-XX
Added
- Configurable Polaris dashboard URL setting
- Settings page for plugin configuration
- Refresh interval configuration
0.2.1 - 2025-12-XX
Infrastructure
- Migrated to GitHub as primary repository
- Fixed v0.2.0 checksum in ArtifactHub metadata
0.2.0 - 2025-12-XX
Added
- Namespace drawer navigation
- URL hash-based routing for namespaces
- Keyboard shortcuts (Escape to close drawer)
Infrastructure
- GitHub release automation
- Improved CI/CD workflow
0.1.7 - 2025-11-XX
Documentation
- Removed incorrect development installation instructions
0.1.6 - 2025-11-XX
Fixed
- Plugin settings display name changed to "Polaris"
Documentation
- Added tooltip to skipped count explaining limitation
- Documented skipped count limitation in README
0.1.5 - 2025-11-XX
Fixed
- Restored
:80port in service proxy URL for correct dashboard access
0.1.4 - 2025-11-XX
Added
- Playwright E2E smoke tests
- Test coverage for sidebar, overview, namespaces, and detail views
Fixed
- Empty namespace crash (graceful handling)
- Removed
:80port suffix from service proxy URL for RBAC compatibility
0.1.3 - 2025-11-XX
Fixed
- Service proxy URL format for consistent RBAC requirements
0.1.2 - 2025-11-XX
Added
- Namespace filtering and sorting
- Enhanced resource table in namespace detail view
0.1.1 - 2025-11-XX
Fixed
- Score calculation for resources with mixed results
- Percentage display formatting
0.1.0 - 2025-11-XX
Added
- Namespace detail view with resource-level audit results
- Drill-down navigation from namespace list
Changed
- Improved data fetching with error handling
- Better loading states
0.0.10 - 2025-11-XX
Fixed
- RBAC Documentation: Corrected to use
services/proxypermission instead of ConfigMap access
Documentation
- Updated README with accurate RBAC requirements
- Added minimal Role example
0.0.9 - 2025-11-XX
Added
- Refresh button for manual data reload
- Last updated timestamp display
0.0.8 - 2025-11-XX
Added
- Skipped checks display in check summary
- Improved check categorization (pass/warning/danger/skipped)
0.0.7 - 2025-11-XX
Changed
- Enhanced overview dashboard layout
- Better visual hierarchy for cluster score
0.0.6 - 2025-11-XX
Added
- Namespace list view with per-namespace scores
- Navigation between overview and namespace views
0.0.5 - 2025-11-XX
Fixed
- Data fetching error handling
- API proxy path configuration
0.0.4 - 2025-11-XX
Added
- Check distribution visualization
- Pass/Warning/Danger count display
0.0.3 - 2025-11-XX
Changed
- Improved cluster score calculation
- Better result aggregation logic
0.0.2 - 2025-11-XX
Added
- Cluster score display
- Basic check summary table
0.0.1 - 2025-10-XX
Added
- Initial release
- Basic Polaris plugin structure
- Sidebar entry "Polaris"
- Overview page with cluster info
- Data fetching from Polaris dashboard via Kubernetes service proxy
- TypeScript support with strict mode
- React components using Headlamp CommonComponents
Infrastructure
- GitHub repository setup
- ArtifactHub package registration
- Automated release workflow
- Basic CI/CD pipeline