Repository navigation
Release 1.2.0 - #25
Merged
Merged
Conversation
Seven merged pull requests have been waiting since 1.1.0, and one of them is now blocking work elsewhere: HJCFIT's fitting layer is duck-typed on a mechanism and needs Rate.is_free, which exists here on master and not in the published 1.1.0. Its [fitting] extra pins scalcs>=1.1.0, which is too loose -- the integration tests fail on the released wheel with "'Rate' object has no attribute 'is_free'". A minor rather than a patch release, because it corrects computed values as well as adding API. #17 root bracketing for the asymptotic pdf. Counts were not recomputed when a search bound moved, widening happened once where it needed to repeat, and the upper bound was compared against the wrong state count. det[W(s)] is also unusable at large |s|, where it is of order 1e53 and changes sign hundreds of times in noise, so roots are now refined by bisecting the eigenvalue count where the determinant cannot be trusted. Roots are validated before being returned. #18 scsim re-exports burst segmentation from dcio; one implementation in the stack rather than two. #20 the dARSdS sign. exact_mean_open_shut_time was too large by exactly twice the dead time and the conditional means by once. This changes numbers a caller will have seen. #21 impose_resolution checked against RESHJC2.FOR interval for interval. #22 the simulator checked against Q-matrix theory for multi-state mechanisms, not only the two-state case where a reciprocal rate is the answer. #23 qmatlib.H inverted sI - QFF directly, which fails where the root search walks. The singularity is removable; only the factored form has a pole. #24 GPL-2.0-or-later rather than GPL-2.0-only, without which HJCFIT (GPL-3.0-or-later) could not depend on this at all. Both version files are bumped; the versions-agree gate added in #16 is what makes that hard to get wrong. Verified: the built wheel reports 1.2.0, carries its three data files, declares GPL-2.0-or-later, and Rate.is_free is present when installed from it into a clean environment. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Seven merged pull requests have been waiting since 1.1.0, and one of them is now
blocking work elsewhere.
HJCFIT's fitting layer (DCPROGS/HJCFIT#194) is duck-typed on a mechanism and
needs
Rate.is_free, which exists here on master and not in the published1.1.0. Its
[fitting]extra pinsscalcs>=1.1.0, which is too loose — theintegration tests fail on the released wheel with
'Rate' object has no attribute 'is_free'.A minor rather than a patch release, because it corrects computed values as
well as adding API.
det[W(s)]unusable at large |s| where it reaches 1e53 and changes sign hundreds of times in noise. Roots now refined by bisecting the eigenvalue count where the determinant cannot be trusted, and validated before being returnedscsimre-exports burst segmentation from dcio — one implementation, not twodARSdSsign.exact_mean_open_shut_timewas too large by exactly twice the dead time, the conditional means by once. This changes numbers a caller will have seenimpose_resolutionchecked againstRESHJC2.FORinterval for intervalqmatlib.HinvertedsI − Q_FFdirectly, which fails exactly where the root search walks. The singularity is removable; only the factored form has a poleGPL-2.0-or-later, without which HJCFIT (GPL-3.0-or-later) could not depend on this at allVerified against the built wheel
1.2.0, both version files bumped — the versions-agree gate from Release 1.1.0 #16is what makes that hard to get wrong;
License-Expression: GPL-2.0-or-later;Rate.is_freeis present when installed from it into a clean environment,which is the thing HJCFIT#194 needs.
617 passing, 1 skipped.
Merge and I will tag
v1.2.0.🤖 Generated with Claude Code