Widget surfaces
Releaseo widget behavior for feature requests, roadmap, tabs, Home Hub, and public customer-facing data.
Config-driven tabs
The widget config controls visible customer-facing areas such as changelog,
feature requests, roadmap, feedback, messages, and the Home Hub. Labels and
icons are resolved from navigationConfig, while feature-specific settings such
as featureRequestsTitle, featureRequestsRequireLogin, and roadmapTitle
control page copy and behavior.
Feature requests
Current public feature request behavior:
- list, search, detail, create request, success state, comments, and voting
- only approved requests are public
- new submissions start as pending and need dashboard review
- create, comment, and vote can require an identified user
- list payload includes description, score, comment count, category, and vote state
Widget endpoints:
GET /sdk/feature-requests/categories
GET /sdk/feature-requests
POST /sdk/feature-requests
GET /sdk/feature-requests/:id/comments
POST /sdk/feature-requests/:id/comments
POST /sdk/feature-requests/:id/vote
Roadmap
Roadmap visibility is item-based, not column-based. Internal-only items never render publicly, and audience-targeted items use the same visibility runtime as targeted changelog posts.
Preferred widget endpoints:
GET /sdk/roadmap/snapshot
GET /sdk/roadmap/:id
POST /sdk/roadmap/:id/follow
DELETE /sdk/roadmap/:id/follow
The snapshot response groups visible roadmap items by columns and avoids extra round trips for the normal list view.
Home Hub and navigation
homeConfig stores the small widget-scoped Home Hub payload:
- tab label, title, and subtitle
- request feature CTA
- latest announcements section
- quick links, up to 8
- social links, up to 10
navigationConfig controls compact bottom navigation labels and icons. Custom
HTML, custom JavaScript, and custom SVG payloads are not accepted in the backend
validation layer.
Theme and tab tokens
Navigation tab style is stored in widget theme JSON. Supported layout modes are
pill and bar. Color mode can be automatic or manual, and automatic mode
derives tab colors from existing widget body tokens.
Preview data
For dashboard previews and local demos, the SDK supports mock data inputs such
as mockFeatureRequests, mockRoadmapColumns, and mockRoadmapItems. Mock
mode should be used for preview fidelity, not for production customer data.