cancel stalled transactions safely
I made cancelling a transaction with a stalled read release later queued work, while preserving the order used to prepare and commit transactions.
I made cancelling a transaction with a stalled read release later queued work, while preserving the order used to prepare and commit transactions.
I enabled the development Inspector for both JazzProvider and JazzSessionProvider, while keeping an explicit option to turn it off.
I made later queued writes wake up and fail when an earlier publication is abandoned, instead of leaving them waiting forever or sending them out of order.
I made schema conversion reject references to undeclared tables or malformed source columns, while still allowing a valid reference to a row that has not been added yet.
I made the Android plugin use the consuming app's Kotlin version when available, with the package version as a fallback, and kept the standard library version in step.
I made schema conversion reject user columns beginning with the reserved dollar marker, while leaving ordinary column names valid.
I made every way of loading scalar enums reject repeated option names, while preserving the order of distinct options.
I made schema conversion stop with a clear error when a legacy schema declares the same table twice, before one definition can silently replace the other.
I kept nullable and defaulted fields accurately represented when inferring the values needed to create payload enums.
I made saved-connection storage best-effort, so a browser storage error no longer prevents the Inspector from using the newly selected connection.
I made the Inspector display and edit large integers without rounding them, and kept an explicitly selected empty value distinct from a field that was left untouched.
I made Inspector setup shut down clients it created when setup fails or is abandoned, while keeping the original setup error visible.
I made schema conversion reject enum defaults that are not declared, and keep valid text defaults as text values.
I made an empty prepared IN filter resolve to false before execution, while preserving its behaviour when negated.
I made unsupported payload enum values return clear query errors, while keeping supported record values working.
I made schema generation reject names that clash with built-in controls, applying the check consistently across the DSL, permissions and generated app types.
I aligned generated TypeScript relation names with the runtime's naming rules and tied the generated catalogue to the schema it came from.
I put one deadline around both hosted-app requests and reading their responses, so a stalled response cannot leave provisioning waiting forever.
I made the CLI load explicit environment files and remove those options before handing the remaining arguments to a subcommand.
I made large-number branch selectors safe to use in subscription keys, keeping different selector types distinct without changing the caller's input.