Skip to content

Commit 319b2c5

Browse files
committed
Update changelog; version bump
1 parent 247471b commit 319b2c5

File tree

2 files changed

+56
-1
lines changed

2 files changed

+56
-1
lines changed

CHANGELOG.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,61 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.5.0] - 2025-10-27
9+
10+
### Added
11+
12+
-`io`: Read/write support for **JSON** and **CBOR** formats. (#125)
13+
14+
### Changed
15+
16+
- ♻️ `stats.qvalues`: Set the **regular target–decoy formula** explicitly in Pyteomics when `remove_decoy=False` and apply the **+1 correction** (probability that the first excluded decoy out-scores the threshold PSM). This produces less overly conservative q-values (e.g., on `example_files/msms.txt`). (#128)
17+
- 🏷️ **Typing**: Adopted full **MyPy** typing across the codebase. (#125)
18+
- 👷 **CI**: Replaced file-hash–based tests for `io.idxml` with unit tests; added formatting checks. (#125)
19+
20+
### Removed
21+
22+
- 💥 Dropped support for **Python 3.9**. (#125)
23+
24+
### Fixed
25+
26+
- 🐛 `io.mzid`: Treat **MS:1001460 “unknown modification”** as a **delta-mass–designated** modification in peptidoforms so mass calculations remain possible. Previously rendered as `[unknown modification]`. (#126 by @levitsky)
27+
- 🐛 `io.fragpipe`: Build more comprehensive **ProForma** strings using “Assigned Modifications” from FragPipe output. (fixes #123; #124 by @levitsky)
28+
- 🐛 `peptidoform`: Allow **residue `X` with a MassModification** to indicate a **gap of known mass** per ProForma §4.2.7; resolves failures computing theoretical mass for non-natural residues (fixes #127). (#130)
29+
30+
## [1.4.1] - 2025-04-15
31+
32+
### Fixed
33+
34+
- Restored compatibility with older Sage versions that have no ion mobility columns (introduced in v1.4.0) (by @rodvrees in #120)
35+
36+
## [1.4.0] - 2025-03-06
37+
38+
### Added
39+
40+
-`io.sage`: Add parsing of ion mobility values (PR #113)
41+
42+
### Fixed
43+
44+
- 🐛 `io.percolator`: Fix bug in `PercolatorTabWriter` where style parameter was not propagated (fixes #114, PR #117)
45+
- 📝 Docs: Explicitly set Sphinx configuration path for Read the Docs (fixes #115, PR #118)
46+
47+
## [1.3.0] - 2025-01-20
48+
49+
### Added
50+
51+
-`io.idxml`: Parse ion mobility from idXML files if present.
52+
- 🐍 Added support for Python 3.12 and 3.13
53+
54+
### Removed
55+
56+
- 🐍 Removed support for Python 3.7
57+
58+
### Fixed
59+
60+
- 🐛 Fix bug introduced in #102 where dtypes were not coerced anymore by Numpy, which lead to unexpected behavior downstream (e.g., `psm_list["is_decoy"]` would return an array of objects instead of bools)
61+
- 🩹 Fix potential downstream issues because pepxml-read PSM had `rescoring_features=None` (partially fixes #108)
62+
863
## [1.2.0] - 2024-11-19
964

1065
### Added

psm_utils/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""Common utilities for parsing and handling PSMs, and search engine results."""
22

3-
__version__ = "1.4.1"
3+
__version__ = "1.5.0"
44
__all__ = ["Peptidoform", "PSM", "PSMList"]
55

66
from warnings import filterwarnings

0 commit comments

Comments
 (0)