Skip to content

Releases: vlydev/cs2-masked-inspect-python

v1.1.5 — Reject malformed inspect URLs cleanly

04 May 12:05

Choose a tag to compare

Bug fix: reject malformed inspect URLs cleanly

Real-world URLs from a buggy upstream source arrive truncated mid-keychain with an odd number of hex characters. The library now rejects them with one consistent MalformedInspectLinkException (or equivalent per language) before the binary decode step is even attempted.

What was wrong

  • PHP: hex2bin() emitted an E_WARNING that Symfony escalated to ErrorException (log noise even though the lib already returned false).
  • JS/TS: Buffer.from(oddHex, 'hex') silently truncated odd input — downstream proto parse failed with a cryptic native error or succeeded on garbage.
  • Python/Go/Rust/C#/Kotlin: threw, but with implementation-specific error types leaking through.

What changed

  • Pre-validate hex parity, length, and character set before any binary decode.
  • Wrap proto-decode failures so callers always get the same exception type for "this URL is bad".
  • New exception type extends the previous parent class for backwards compatibility.
  • 9 real-world malformed URLs added as negative test fixtures + synthetic odd-length / empty / non-hex cases.

v1.1.4

09 Apr 18:36

Choose a tag to compare

Bug Fix

  • Handle optional % prefix before hex payload in masked inspect URLs. Some Steam clients produce URLs like csgo_econ_action_preview%20%FDED5D6F... which previously failed to parse.

v1.1.2

23 Mar 07:43

Choose a tag to compare

fix: include paintKit in gen code for sticker slab keychains

v1.1.1

22 Mar 19:27

Choose a tag to compare

What's new

paintKit — Sticker Slab identification (proto field 12)

All Sticker Slabs previously decoded identically: stickerId = 37 with no way to distinguish variants. The underlying proto field 12 inside the Sticker sub-message was silently ignored.

paintKit now exposes this field. For Sticker Slabs it contains the sticker catalog ID that uniquely identifies the variant (e.g. 7256Sticker | Natus Vincere (Holo) | Copenhagen 2024). For regular stickers and keychains the value is absent (null/None/nil).

Also included

  • rarity and quality fields are now correctly decoded for Sticker Slabs (rarity 3/4/5, quality 8)

Test vectors added

  • defIndex=1355, rarity=5, paintKit=7256 — NaVi (Holo) | Copenhagen 2024
  • defIndex=1355, rarity=3, paintKit=275 — Eco Rush

v1.1.0

17 Mar 06:55

Choose a tag to compare

Add gen codes: generate inspect links from item parameters, convert to/from !gen format

CI release added

16 Mar 16:11

Choose a tag to compare

v1.0.2

ci: add PyPI release workflow

Initial release

16 Mar 10:19

Choose a tag to compare

v1.0.1

chore: bump version to 1.0.1