Repository navigation
chore(release): prepare 0.13.0 - #466
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
release/next
branch
4 times, most recently
from
October 19, 2026 19:32
6d83e69 to
7cb9c15
Compare
github-actions
Bot
force-pushed
the
release/next
branch
from
October 19, 2026 21:04
7cb9c15 to
a569274
Compare
bgarcevic
enabled auto-merge (squash)
October 20, 2026 08:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merging this PR tags
v0.13.0and publishes it.Bump: minor, from the commit titles since the last release.
To ship more first, keep merging; this PR updates itself.
Polish the notes by editing
CHANGELOG.mdhere, just before merging:the next merge to main rebuilds this branch and drops edits made here.
Release notes
Added
tx deploychecks the deployed model after it lands: it re-reads the target and reports everyobject the server holds in an error, incomplete, or unprocessed state, in the text output and
as
validationin the JSON result. Objects in an error state (a measure whose DAX does notresolve, a broken RLS filter) fail the deploy with exit code 1 and
TOMIX_DEPLOY_VALIDATION_FAILED, even though the model is deployed; incomplete objects warn(
TOMIX_DEPLOY_VALIDATION_WARNINGS); unprocessed ones point attx refresh. A check thatcannot run warns with
TOMIX_DEPLOY_VALIDATION_UNAVAILABLE.--ci vsts|githubnow printsannotations for post-deploy errors and warnings.
tx deploy --rollback-on-errorchecks the deployed model before the deploy is kept. On anexisting model the deploy runs inside a server transaction and rolls back when an object is in
an error state, leaving the target's definition and data unchanged. A new model is deleted
again. A rolled-back deploy fails with
TOMIX_DEPLOY_ROLLED_BACKand"status": "rolled-back".See ADR 0005.
tx formatstyle options (feat(format): shared format options (--semicolons, skip-space-after-function) + output goldens #229):--separators us|eushows DAX with;list and,decimal separators (display only; models always store the US form, and an explicit
--separators euwith--save,--save-to,--stageor--revertfails with the newTOMIX_FORMAT_SEPARATORS_DISPLAY_ONLY),--function-spacing space|nonedrops the spacebefore a DAX call's parenthesis, and
--shortundoes--long. Each has a config key(
format.separators,format.functionSpacing,format.lines) that the flag overrides.Golden files pin the printed output for each style.
tx bpa run --vpax <file.vpax>reads VertiPaq statistics from a file exported withtx vertipaq --export, so statistics rules run on a model file, a read-only connection, or inCI without annotating the model. The statistics apply in memory only. A file that matches no
table fails the run (
TOMIX_BPA_VPAX_MISMATCH); tables missing from the model warn(
TOMIX_BPA_VPAX_PARTIAL) (feat(bpa): --vpax input and default-off size-stats rules #234).vertipaqruleset preset with every bundled rule that reads statistics,including two new rules:
LARGE_SHARE_OF_MODEL_SIZEandUNUSED_HIDDEN_HIGH_CARDINALITY_COLUMNS. Rules can read model-level annotations throughModel.GetAnnotation(...)(feat(bpa): --vpax input and default-off size-stats rules #234).Changed
FIX_REFERENTIAL_INTEGRITY_VIOLATIONS,AVOID_BI-DIRECTIONAL_RELATIONSHIPS_AGAINST_HIGH-CARDINALITY_COLUMNSand
LARGE_TABLES_SHOULD_BE_PARTITIONEDmove to thevertipaqpreset (categoryVertiPaq),out of
standardandfull.bpa runwithout--rulesetand thedeployBPA gate add thevertipaqpreset when the model has statistics (Vertipaq_*annotations or--vpax), so anunannotated model no longer lists them as "Not checked". A named
--rulesetis used as given:--ruleset standardnow skips them (feat(bpa): --vpax input and default-off size-stats rules #234).Fixed
tx test --tolerance(andtx: tolerance=) now applies to measures whose data type is Variant.Their results read back as
objectcolumns, which compared exactly, so floating-point noisefailed the test whatever the tolerance. Cells compare within the tolerance when both sides are
numbers; text, dates and booleans still compare exactly.
--ignore-row-ordersorts thesecolumns by value after the dimension columns, in a fixed BLANK, number, text order.