Repository navigation
Move #39's changelog entries out of the released 3.3.0 - #41
Merged
Merged
Conversation
v3.3.0 was tagged 32 seconds before #39 merged, so its entries belong in Unreleased. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The changelog now accurately matches the tagged 3.3.0 release while preserving unreleased entries.
Review effort: Balanced
Findings: None
What changed in this PR
Moves post-release changes from the published 3.3.0 notes into Unreleased.
Changes:
- Relocates four #39 changelog entries without altering their text.
- Restores the 3.3.0 section to its tagged contents.
| File | Description |
|---|---|
CHANGELOG.md |
Corrects release attribution for #39. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Member
Author
|
Thanks. Copilot recommended approval with no findings, and it counted the moved entries correctly: four, not five as my description first said. I've corrected the description. |
billfreeman44
added a commit
that referenced
this pull request
Oct 4, 2026
* Narrow tomes that mix old and compact csds player tables csgo-ppp will write player_vector and player_status with int8 to int32 integers, float32 floats and a dictionary place_name. Where a tome mixes those files with older int64/float64 ones, build_basic_tomes and the loaders now cast the wide columns to the narrow types instead of widening the narrow ones. Every cast is checked: a value that doesn't fit raises NarrowingError naming the column, the match (or page) and the value. current_ammo stays int64, since older files hold 4294967295 there. - build_basic_tomes narrows each page as it builds it (pyarrow or the pandas fallback), and narrows and rewrites at the end any page written before the first compact match. - read_pages_pandas and scan_pages_polars narrow across pages. - A narrow integer column with missing values is pandas' nullable IntN. - prepare_table decodes dictionary columns, so compact player_status pages are built with pyarrow instead of pandas. - widen=True on get_dataframe and scan returns 64-bit types. Tomes of old files only build and load as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Document tome column types across csds versions; changelog docs/tome-data-model.md gets a section on how old and compact csds files load together, the checked casts, current_ammo, float32 rounding, the nullable dtypes, narrow arithmetic and widen=True. CHANGELOG: v3.3.1 was tagged with #39 to #41's entries still under Unreleased, so they are titled 3.3.1, and this change opens a new Unreleased section. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Narrow every page to the widest narrow type seen From the Copilot review: a page that joined an int8 match with an old one was narrowed to int8, and stayed int8 when a later match brought int16; an old value of 200 even stopped the build, though it fits int16. - A page whose value doesn't fit its own matches' narrow type keeps that column wide instead of raising. - At the end, every page not yet at the tome's types is cast to them: wide columns narrowed with checked casts, narrower integers widened exactly. A value that doesn't fit the tome's type still stops the build, naming the match. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Narrow 0/1 integer flags to bool where other files hold bool Older csds files hold flags such as burst_mode and is_silenced as 0 and 1 in int64 columns declared Int64; newer ones hold bool. A tome page holding both couldn't be written: pd.concat made an object column of bools and ints, which pyarrow refused, so tomes spanning those csds versions failed to build (on master too). The narrowing rule now casts the integer side to bool where a column is bool in some tables or pages and integers in others, in the builder (pyarrow path, pandas fallback, end-of-build rewrite) and both loaders. 0 and 1 become False and True, a missing value stays missing (pandas boolean), and any other value raises NarrowingError naming the column, the match (or page and row) and the value. widen=True leaves flags bool. A page now keeps a column wide instead of raising only where a wider narrow type may still come (int8, int16); bool, int32 and float32 raise at once. Polars casts every page whose type differs from the plan's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Keep current_ammo int64 on every page of a mixed tome From the second Copilot review: current_ammo is never narrowed, so a compact-only page kept it int16 while the other pages held int64. Loads promoted it, but the pages broke the rule that every page holds the tome's types, and loads took the slower page-by-page path. Where current_ammo is int64 in some tables and a narrower integer in others, the plan now targets int64: the narrow pages are widened, which is exact, and old values are still never narrowed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.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.
v3.3.0was tagged at1565e8c, 32 seconds before #39 merged (816c3cc). The 3.3.0 on PyPI has #38's changes but not #39's, yet master's CHANGELOG listed #39's changes under## 3.3.0.This moves #39's four entries from
## 3.3.0to## Unreleased, next to #40's:columnsargumentpolarsextraRangeIndexChecks
## 3.3.0section is now byte-identical togit show v3.3.0:CHANGELOG.md.🤖 Generated with Claude Code