Quantum 0.17.0
Added
- The
/_dev panel (M12, DEV-1). With server.debug: true, /_dev shows the last requests: the component, the action, every query with parameters, rows and time (or the database's error), the variables of the action or page and of session / application, the redirect and the flash. Off with debug: false, and only for requests from the machine itself. quantum start prints its address. - Errors point to the line (M2, DEV-2). Parse errors say
at line N — everywhere, not only on the page. In debug mode the error page shows the .q lines around the failing one, marked: the innermost statement or element that failed, in the called component's own file when the error is inside one; it links the SPEC rules the message cites. Key messages now cite their rule (PARSE-1, PARSE-2, AUTH-6, ACT-9, UI-1, UI-5). quantum check (M8, DEV-3): every page parses, every q:query compiles against the database (EXPLAIN, read-only, nothing runs), and every {query.field} a page reads — directly, through a loop, a ui:table / ui:list or a <ui:column key> — is a column the query returns. Reports file:line: message; exits 1 on a problem. SQLite for now. The schema reader behind it (tables, NOT NULL, defaults, CHECK … IN, foreign keys) is the one the declarative schema (M6) and forms from a table (M17) will use.- Reloading keeps the session (DEV-2): in debug mode, without a configured
secret_key, the session key lives in .quantum/dev-secret-key; every save used to log everyone out.
Fixed
- Error pages did not escape their title, message and details: an error message carrying a request value (a query parameter) was written into the page as HTML.
- The debug error page showed generic XML hints ("Check your XML syntax") for errors that had nothing to do with XML syntax.
← 0.16.0 · All versions · 0.18.0 →