naymspace/backpex
61.6
Adequate · 3 October 2026
18.3k
lines of production code
Elixir
with JavaScript
2
measurements over time
What this system is
Backpex is a Phoenix LiveView library that provides a pluggable, Ecto-based administration panel for managing database resources. It enables developers to rapidly scaffold CRUD interfaces with configurable fields, filters, and item actions, while supporting a decoupled adapter architecture for future data source flexibility. The system includes a robust user preference engine that persists UI state across sessions and devices, alongside comprehensive internationalization and authorization controls.
How it got here
2023 — Initial project scaffolding and library release
28 changes.
This period established the foundational architecture for the Backpex Phoenix LiveView administration panel, introducing a pluggable data-layer adapter pattern and centralized authorization. It delivered the initial library release with core field, filter, and HTML components, while simultaneously scaffolding a comprehensive demo application to validate the stack using Phoenix 1.8, Bandit, and Tailwind CSS v4.
2024–2025 — UI unification and adapter decoupling
17 changes.
The project refactored the core architecture by introducing an Ecto adapter protocol to decouple data access and splitting the monolithic LiveView into dedicated Form, Index, and Show components. This structural shift was accompanied by a comprehensive user preference system for persisting UI state and the addition of an automated installation task to streamline integration into Phoenix applications.
2026 — preferences subsystem and test expansion
22 changes.
This period focused on implementing a pluggable user preferences system with Ecto and session adapters, including a new batch-write API and strict validation. It was accompanied by extensive test coverage added across the application, covering LiveViews, authorization, filters, and the new preferences infrastructure.
Features
Add Ecto schema for user preferences in the demo application
The demo application now includes a \UserPreference\ Ecto schema mapped to the \backpex\_user\_preferences\ table, enabling the Ecto preferences adapter to persist data to a real Postgres database during testing. This change provides the necessary database structure for the adapter, which was previously limited to the session adapter in the demo context.
demo/lib/demo/preferences · high confidence
Add admin layout template for Backpex installer
A new admin layout template (\priv/templates/layouts/admin.html.heex\) is introduced to structure the admin interface. It utilizes the \Backpex.HTML.Layout.app\_shell\ component to manage the overall page shell, passing through socket, fluid, live resource, sidebar state, and preferences manifest. The layout defines slots for the top bar (including a user dropdown with a logout link), sidebar branding, and sidebar content, while rendering flash messages and the main page content via \render\_slot(@inner\_block)\.
priv/templates · high confidence
Add email and file upload resource actions to the demo
The demo application now includes two new resource actions: a 'Send email' action that allows selecting users and composing a message, and an 'Upload file' action that restricts uploads to a single image file (jpg, jpeg, png) with a description field. These actions demonstrate Backpex resource action capabilities, including form fields, changeset validation, and file upload handling with consume and remove callbacks.
_demo/lib/demo\_web/resource\actions · high confidence
Add script to verify JS asset synchronization
A new shell script, scripts/check\_assets.sh, has been introduced to the project. This utility checks whether the JavaScript assets in the priv/static/js directory are up to date by comparing them against the current git state. If changes are detected, it lists the modified files and instructs the user to run 'mix assets.build' and commit the results; otherwise, it confirms that assets are current. This helps prevent committing outdated static assets.
scripts · high confidence
Added demo filter components for posts, products, and dates
The demo application now includes a set of new filter implementations in the \demo/lib/demo\_web/filters\ directory, enabling users to filter resources by date ranges, datetime ranges, numeric ranges (likes, quantity), boolean states (published status), and multi-select options (categories, users). These new modules implement the \Backpex.Filters\ behaviours to provide specific filtering capabilities for the demo resources.
_demo/lib/demo\web/filters · high confidence
Added film review seed data for the demo application
The demo application now includes a new CSV file (\film\_reviews.csv\) containing 44,608 records of film titles and overviews. This data is used to populate the \film\_reviews\ table in the demo database, providing a realistic dataset for testing and demonstration purposes.
demo/priv/repo · high confidence
Added initial gettext translation template
The \priv/gettext/backpex.pot\ file has been added, providing a comprehensive template of user-facing strings for internationalization. This includes messages for CRUD operations (create, edit, delete), navigation, filters, pagination, and error handling, enabling the application to be translated into other languages.
priv/gettext · high confidence
Automated Backpex installation via Igniter task
The \mix backpex.install\ task now automates the setup of Backpex in Phoenix applications using Igniter. It configures the PubSub server, installs daisyUI via npm, adds Backpex hooks to the JavaScript entry point (auto-detecting app.js or app.ts), updates Tailwind content, and generates an admin layout. The installer also checks for Tailwind CSS version compatibility (requiring \>= 4.x) and warns about potential conflicts with default background colors or the tailwindcss/forms plugin.
lib/mix · high confidence
Demo app introduces new LiveResource implementations for Address, Category, and Film Review
The demo application adds new LiveResource modules for Address, Category, and Film Review resources, demonstrating updated configuration patterns such as the \adapter\_config\ syntax, \init\_order\ settings, and custom layout callbacks. The Address resource showcases grouped select options for countries, the Category resource demonstrates default ordering, and the Film Review resource illustrates full-text search integration, custom index slots, and restricted delete actions.
_demo/lib/demo\web/live · high confidence
Initial project scaffolding and development environment setup
The repository is initialized with a complete development environment for the Backpex Phoenix LiveView administration panel. This includes a multi-stage Dockerfile (using Ubuntu, Elixir 1.20.4, Erlang 29.1.1, and Bun 1.4.2) to build and run the demo application, along with a Docker Compose configuration for local development. The project adopts Bun as the JavaScript package manager (replacing Yarn), configured via \bun.lock\ and \bunfig.toml\. Code quality and formatting are standardized through \.credo.exs\ (with specific check overrides for Backpex namespaces), \.formatter.exs\ (integrating Quokka and Phoenix LiveView formatters), and \.editorconfig\. Additionally, standard repository governance files such as \LICENSE.md\, \CODE\_OF\_CONDUCT.md\, \CONTRIBUTING.md\, and AI assistant guidelines (\AGENTS.md\, \.mcp.json\) are added.
(repo-wide) · high confidence
Initial release of Backpex HTML components
This change introduces the initial set of HTML components for Backpex, establishing the foundational UI layer. It adds core components such as a dropdown menu and icon renderer, form inputs (including support for checkgroups, toggles, and selects), layout structures like the app shell with a collapsible sidebar, and resource-specific views for index tables and item actions. Additionally, it includes a metrics value component for displaying aggregated data and utility functions for prettifying values.
lib/backpex/html · high confidence
Initial release of Backpex HTML resource templates
This change introduces the initial set of HTML templates for the Backpex resource views, including form, index, and show layouts. It establishes the structure for rendering resource fields, handling item and resource actions, managing pagination, and displaying confirmation modals, providing the foundational UI components for the library.
lib/backpex/html/resource · high confidence
Initial release of Backpex field components
This change introduces the initial set of field components for the Backpex admin interface, located in lib/backpex/fields. The release includes implementations for BelongsTo, Boolean, Checkgroup, Currency, Date, DateTime, Email, HasMany, HasManyThrough, InlineCRUD, MultiSelect, and Number fields. Each component provides specific rendering logic for index, form, and value displays, along with field-specific configuration options such as debounce, throttle, and custom formatting.
lib/backpex/fields · high confidence
Initial release of Backpex filter components
This change introduces the core filter implementation for the Backpex admin interface, adding the \Backpex.Filter\ base behavior and four specific filter types: \Boolean\ (checkboxes with Ecto predicates), \MultiSelect\ (dropdown with checkboxes), \Select\ (standard dropdown), and \Range\ (date, datetime, or number ranges). These modules provide the validation, query generation, and rendering logic required to filter data lists in the admin panel.
lib/backpex/filters · high confidence
Initial release of Backpex library with translation and web helpers
This change introduces the initial release files for the Backpex library, adding \lib/backpex.ex\ and \lib/backpex\web.ex\. The \Backpex\ module provides a new \\\_\ macro (renamed from \t\) and \translate\/\translate\_error\ functions to handle text localization via configurable translator functions. The \BackpexWeb\ module serves as the entry point for defining the web interface, offering macros like \html/0\, \live\_resource/0\, and \field/0\ to inject Phoenix components, HTML helpers, and specific aliases into user modules. It also introduces \ok/1\ and \noreply/1\ helper functions for socket handling.
lib · high confidence
Initial release of demo application scaffolding
The demo application now includes its core library structure, introducing the \Demo\ context module for domain logic and the \DemoWeb\ module which serves as the entry point for defining web interfaces such as controllers, LiveViews, and components. This change establishes the foundational modules required for the application's web layer, including routing helpers, controller setups with JSON and HTML formats, and integration with Gettext for localization.
demo/lib · high confidence
Initial release scaffolding for the demo application
This change introduces the initial release files for the demo application, including Docker entrypoint scripts for environment expansion and startup command execution, a new DashboardAuthPlug for optional basic authentication, German and English localization files, and Erlang/Elixir release configuration templates for distributed node startup.
(repo-wide) · high confidence
Introduce pluggable Ecto and Session preferences adapters with write limits
Backpex now ships with two first-party adapters for the preferences system: a database-backed Ecto adapter and a session-backed adapter. The Ecto adapter allows preferences to be stored in a relational database, enabling persistence across devices and support for larger data sets, while the Session adapter stores preferences in the browser's session cookie. Both adapters include safeguards against excessive storage usage: the Session adapter refuses writes that would exceed the cookie size limit (defaulting to 4KB) and logs warnings as the limit is approached, and the Ecto adapter enforces configurable limits on key size, value size, and the total number of keys per scope to prevent unbounded table growth.
lib/backpex/preferences/adapters · high confidence
Introduces core web components and layout structure for the demo application
The demo application now includes a new core component module that provides an analytics snippet for Plausible, a meta tag for Sentry configuration, and helper functions for translating Backpex and error messages. Additionally, a new layout module has been added to manage the admin interface structure, accepting attributes for flash messages, theme, sidebar state, and a preferences manifest to support client-carried UI state.
_demo/lib/demo\web/components · high confidence
Introduction of Ecto adapter for data access decoupling
The \Backpex.Adapters.Ecto\ module has been introduced to decouple Backpex from direct Ecto dependencies, allowing the framework to support multiple data sources in the future. This adapter implements the \Backpex.Adapter\ protocol, providing specific callbacks for \get\, \list\, \count\, and \delete\_all\ operations, as well as configuration options for \repo\, \schema\, \create\_changeset\, \update\_changeset\, and \item\_query\. This change represents the first draft of moving all Ecto-related logic into a dedicated adapter layer, though it is currently marked as work in progress and subject to significant changes.
lib/backpex/adapters · high confidence
New FormComponent live component with configurable 'Save & Continue' button
The \lib/backpex/live\_components/form\_component.ex\ file introduces a new \Backpex.FormComponent\ live component that handles form rendering, validation, and submission for new, edit, item, and resource actions. A key behavioral addition is the support for a 'Save & Continue editing' button, which is now controlled by the \save\_and\_continue\_button?\ configuration option on the LiveResource; when enabled, this button is added to the form actions alongside the standard Save button, allowing users to save changes without navigating away from the edit view.
_lib/backpex/live\components · high confidence
New built-in item actions for Show, Edit, and Delete
Backpex now includes default implementations for common item actions: Show, Edit, and Delete. The Show and Edit actions render as navigation links to their respective resource views, while the Delete action provides a confirmation dialog and handles bulk deletion with appropriate success and error messaging. These actions are defined by the new \Backpex.ItemAction\ behavior, which enforces compile-time validation to ensure actions implement either a \handle/3\ callback for server-side processing or a \link/2\ callback for client-side navigation, but not both.
_lib/backpex/item\actions · high confidence
New duplicate and user soft-delete item actions for the demo
The demo application now includes two new item actions: a duplicate action for tags (DuplicateTag) and a user soft-delete action (UserSoftDelete). The duplicate action allows users to create a copy of a tag by providing a new name, handling the creation via a changeset and navigating to the new item upon success. The soft-delete action replaces the previous hard delete behavior; it requires a reason, updates the deleted\_at timestamp on the selected items, and cascades to nullify user\_id on associated posts, while providing specific error messages for foreign key violations.
_demo/lib/demo\_web/item\actions · high confidence
New unified user preference system with robust persistence
Backpex introduces a comprehensive user preference system that persists UI states—such as sidebar open/close status, sidebar section expansion, theme selection, and scroll position—across live navigations and page reloads. The system uses a combination of sessionStorage mirrors and a short-lived cookie to ensure the client's choice is authoritative even before the server acknowledges the write, preventing state loss during LiveView re-renders. It also scopes preferences by adapter namespace to support multi-tenant or workspace-based isolation, and includes safeguards against oversized cookie writes and focus management for the mobile sidebar drawer.
priv/static/js · high confidence
New user preferences API with batch write support and validation
A new HTTP endpoint at \/backpex\_preferences\ allows clients to persist UI state preferences via JSON. The controller supports both single key-value writes and batch updates, enforcing strict validation on input shapes and value types. Batch operations are best-effort with first-error-wins semantics, returning a 422 status if any entry is invalid or refused by the adapter. The system handles oversized values by refusing them rather than causing cookie overflow errors, and treats anonymous (unscoped) single writes as silent no-ops to avoid noise.
lib/backpex/controllers · high confidence
Architecture
Introduces pluggable data-layer adapter architecture and centralized authorization
Backpex now supports a pluggable data-layer adapter pattern, defined by the new \Backpex.Adapter\ behaviour, allowing the core to be decoupled from Ecto and enabling community adapters (such as Ash). This architectural shift is accompanied by the introduction of \Backpex.Authorization\, a centralized module that enforces permission checks via \can?\ preflight checks and \authorize!\ gates for all mutations, raising \Backpex.ForbiddenError\ or \Backpex.NoResultsError\ on failure. The release also includes new modules for managing UI preferences (\Backpex.Preferences\), validating filter and pagination parameters (\Backpex.FilterValidation\, \Backpex.PaginationValidation\), and initializing socket assigns (\Backpex.InitAssigns\), alongside updated field and metric behaviours.
lib/backpex · high confidence
Behavioural changes
Add esbuild configuration for JavaScript bundling in development
The application now includes explicit configuration for the esbuild JavaScript bundler in the development environment. This setup defines tasks to bundle the \backpex\ JavaScript source into both ESM and CommonJS formats, placing the output in \priv/static/js\, and sets the esbuild version to 0.28.2. Additionally, the test environment configuration has been updated to disable the default logger handler and set the log level to debug.
config · high confidence
Added error handling and user redirect controllers
The application now includes a dedicated error HTML controller that renders plain text status messages for error pages, and a new redirect controller that forwards requests to the admin users section.
_demo/lib/demo\web/controllers · high confidence
Demo app now uses Ecto with binary IDs and custom primary keys
The demo application has been rewritten to use Ecto for data persistence, replacing the previous implementation. All schemas now use binary IDs for primary keys, and the ShortLink schema demonstrates a custom named primary key (short\_key). The demo includes factories for generating test data, a release task for database management, and showcases various Ecto features such as embedded schemas, many-to-many relationships, and custom validation logic.
demo/lib/demo · high confidence
Demo database schema updated with new tables and configuration changes
The demo application's database migrations have been rewritten to support a broader set of entities and configuration options. New tables include \users\ (with a bigserial primary key), \addresses\, \categories\, \posts\, \products\, \suppliers\, \invoices\, \film\_reviews\ (featuring a generated tsvector for GIN search indexing), \tags\, \short\_links\ (initially with a unique index, later dropped), and \backpex\_user\_preferences\ (scoped by user and tenant). The schema also introduces a \tickets\ table for Ash resources, which is subsequently dropped in a later migration as Ash support moves to a community project. Additionally, the \suppliers\ table was extended with \country\, \contract\_date\, \minimum\_order\, and \preferred\ fields, and the \users\ table's \permissions\ column now defaults to an empty array to handle null values consistently.
demo/priv/repo/migrations · high confidence
Initial Phoenix 1.8 web layer with Backpex admin and Bandit integration
The demo application now includes a complete Phoenix 1.8 web stack, replacing the previous implementation. This introduces a new Endpoint and Router that integrate Backpex for the admin interface (providing LiveView-based CRUD for users, products, invoices, posts, categories, tags, addresses, film reviews, and short links) and Phoenix LiveDashboard for monitoring. The stack has migrated from Cowboy to Bandit as the HTTP server, with corresponding telemetry metrics added for Bandit request durations. Additional features include a custom metrics history storage mechanism for the dashboard, internationalization support via Gettext, and number formatting helpers for the UI.
_demo/lib/demo\web · high confidence
Initialize Phoenix LiveView app with Backpex hooks and Sentry integration
The demo application now initializes its Phoenix LiveView socket by importing and merging Backpex hooks alongside colocated hooks, ensuring the first render correctly applies Backpex preferences via the provided params. Additionally, the entry point integrates Sentry for error tracking (configured to preserve v10 IP inference defaults) and enables Phoenix live-reload development features, such as streaming server logs and editor navigation, when running in development mode.
demo/assets/js · high confidence
Introduce pluggable adapter architecture for user preferences
Preferences are now stored via a configurable adapter system rather than a single hardcoded mechanism. The new \Backpex.Preferences.Adapter\ behavior allows routing preference keys to different storage backends (such as the database via Ecto or the browser session) based on key prefixes (e.g., \global.\\ vs \resource.\\). This enables persistent, server-side storage for resource-specific settings like column visibility and sort order, while keeping global UI preferences in the session. The system includes a router for prefix-based dispatch, a context layer for managing read/write scopes, and validation to ensure client-supplied values match expected types, preventing render crashes from malformed input.
lib/backpex/preferences · high confidence
Introduce unified preference system and new interactive hooks
The assets layer now includes a comprehensive preference management system (BackpexPreferences) that persists UI states—such as sidebar open/close status, sidebar section expansion, theme selection, and scroll position—across live navigations and page reloads using a combination of sessionStorage and a short-lived cookie for unacknowledged writes. This system is leveraged by new or refactored hooks: the sidebar hook now supports collapsible sections, focus trapping for mobile drawers, and breakpoint-aware responsive behavior; a new dropdown hook fixes issues with native pickers in Chromium browsers; a currency input hook provides masked number formatting; and a sticky actions hook uses IntersectionObserver to detect when table action columns are scrolled out of view.
assets · high confidence
Migrated demo configuration to Phoenix 1.8 standards and updated tooling
The demo application's configuration has been restructured to align with Phoenix 1.8 conventions, introducing a new \config/runtime.exs\ for environment-based settings (such as database credentials and secret keys) and updating \config/config.exs\ to use the \Bandit\ web server adapter instead of Cowboy. The setup now manages \esbuild\ (v0.28.2) and \tailwindcss\ (v4.3.3) via configuration, sets English as the default locale, and configures \phoenix\_test\ with Playwright for accessibility testing. Additionally, Sentry integration has been upgraded to version 10, and the Money library is configured with USD as the default currency.
demo/config · high confidence
Migrated demo to Tailwind CSS v4 with DaisyUI and Heroicons
The demo application's styling has been updated to use the new Tailwind CSS v4 engine, replacing the previous configuration-based setup with a modern import-based approach in app.css. This change enables all built-in DaisyUI themes by default and integrates a custom Heroicons plugin to provide scalable SVG icon utilities. Additionally, the layout now uses a CSS variable for the sidebar width, and Phoenix-specific loading states are handled via custom variants.
demo/assets/css · high confidence
New admin layout with collapsible sidebar and theme selector
The demo application now features a redesigned admin interface built on a new \admin.html.heex\ layout. This layout introduces a collapsible sidebar with dedicated navigation items for Users, Addresses, Products, Invoices, Film Reviews, Short Links, and a collapsible Blog section. A new theme selector in the top bar allows users to switch between 30 predefined visual themes (such as Light, Dark, Cupcake, and Synthwave). The layout also includes a user dropdown for logout and integrates with a user preference system to persist UI states like sidebar visibility and theme choice.
_demo/lib/demo\web/components/layouts · high confidence
Unified form, index, and show LiveViews with item actions on show
The resource UI is now implemented via three dedicated LiveViews (Form, Index, Show) that replace the previous monolithic structure. The Show view now supports item actions, allowing users to trigger actions directly from the detail page, and respects a validated return\_to parameter to control post-action navigation. The Form view consolidates new and edit workflows into a single view, while the Index view handles filtering, pagination, and item selection with improved state management.
_lib/backpex/live\resource · high confidence
Test coverage
Added Elixir test infrastructure for Playwright integration; Added LiveView tests for the Tag resource; Added Playwright browser tests for admin resources and sidebar behavior; Added comprehensive LiveView tests for the category admin interface; Added comprehensive test coverage for product live views; Added comprehensive test coverage for the Post admin LiveViews; Added comprehensive test coverage for the preferences subsystem; Added comprehensive test coverage for the user management LiveViews; Added demo tests for authorization and preferences persistence; Added initial test suite for Backpex; Added integration tests for the Ecto preferences adapter; Added integration tests for the invoice index LiveView; Added live tests for the Film Review resource; Added test coverage for Backpex authorization, filtering, pagination, and item actions; Added test support infrastructure for the demo application; Added test support modules for preferences adapter testing; Added test support modules for preferences and authorization; Added tests for BackpexPreferences cookie persistence and error handling; Added tests for Ecto adapter search and ordering logic; Added tests for Ecto and Session preferences adapters; Added tests for Short Link index LiveView behavior; Added tests for address resource live views; Added tests for layout and resource HTML components; Added tests for number formatting; Added tests for readonly behavior in dropdown, multi-select, and boolean form inputs; Added tests for the preferences controller; Added unit tests for filter components.
Dependencies
Backpex v0.21.0 release with updated dependencies and demo app setup
This release updates the Backpex library to version 0.21.0, tightening core dependencies such as Phoenix LiveView to \~\> 1.0 and Phoenix to \>= 1.7.6 and \< 1.9.0, while making Igniter and Igniter JS optional. The demo application has been reconfigured to use Bun for package management, updated to use Sentry JavaScript v11, and refreshed with the latest versions of DaisyUI, Playwright, and other tooling.
(dependencies) · high confidence
Migrate demo environment to Bun and establish initial configuration
The demo application has switched its package manager from Yarn to Bun, introducing a new \bun.lock\ file and \bunfig.toml\ configuration. This change includes adding initial environment setup files (\.env.example\, \.env.test\) for secret and database configuration, along with standard project configuration files such as \.formatter.exs\ for Elixir code formatting, \.stylelintrc.json\ for CSS linting, and \.sobelow-conf\ for security scanning. The commit also updates several dependencies to their latest versions, including \@sentry/browser\ to v11, \daisyui\ to v5.7.47, \playwright\ to v1.63.0, and \postcss\ to v8.5.28.
demo · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 61 → 62 (+0.2)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 61 → 63 (+1.8)
- Architecture 95 → 85 (-9.9)
- Maturity 60 → 60 (+0.3)
- Readiness 55 → 55 (-0.8)
- Security 82 → 82 (-0.3)
- Accessibility 80 → 80 (+0.0)
- Performance 100 (new)
Resolved (9)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (7 lines × 2) (lib/backpex/html/resource.ex)
- Medium IaC: WD-DOCKER-0003 (Dockerfile)
- Medium IaC: WD-DOCKER-0003 (Dockerfile)
- Off-boarding risk: anonymized user #1
- Orphaned files with no living knowledge
- Outdated: phoenix_live_view
- Outdated: phoenix_live_view
New (9)
- Duplicated block (5 lines × 2) (lib/backpex/fields/has_many.ex)
- Medium CVE: EEF-[CVE redacted] (mix.lock)
- Medium IaC: WD-DOCKER-0003 (Dockerfile)
- Medium IaC: WD-DOCKER-0003 (Dockerfile)
- Off-boarding risk: anonymized user #1
- Outdated: dns_cluster
- Outdated: sobelow
- Outdated: sobelow
- Projects may be oversized for their cohesion
Changes since last survey
- 96 commits — 96 feature/other, 0 fixes
By area
- (repo) — 47 commits
- demo/bun.lock — 13 commits
- (root) — 11 commits
- .github/workflows — 8 commits
- lib/backpex — 5 commits
- demo/mix.lock — 4 commits
- demo/test — 4 commits
- demo/assets — 1 commit
- demo/lib — 1 commit
- demo/mix.exs — 1 commit
- priv/static — 1 commit
Notable commits
- change: Accept only existing files as removed uploads
- change: Add custom form actions to new and edit forms
- change: Bump version
- change: Detect confirm dialogs of item actions not loaded yet
- change: Expect the show view of the copy after duplicating from a link
- change: Fail closed on a non-boolean can?/3 answer
- change: Keep the navigation of form action handlers
- change: Keep the sidebar scroll position across navigation
- change: Keep v10 IP inference default after Sentry v11 upgrade
- change: Load index data once per item change
- change: Load index form data of all rows at once
- change: Lock file maintenance
- change: Lock file maintenance
- change: Lock file maintenance
- change: Lock file maintenance
- change: Merge branch 'release/0.21.0' into develop
- change: Merge pull request #2220 from naymspace/feature/centralized-authorization-enforcement
- change: Merge pull request #2253 from naymspace/renovate/demo-phoenix_test_playwright-0.x
- change: Merge pull request #2260 from naymspace/renovate/demo-lock-file-maintenance
- change: Merge pull request #2265 from naymspace/renovate/base-image
- …and 76 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
naymspace/backpex was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 122bb6129f6599967d12481b4ebe401fc6465ac1 — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-8fe32cd45d00.