
What's Changed Use importlib.metadata for version lookup in CLI entrypoint by @Copilot in https://github.com/zqfang/GSEApy/pull/332 add organism keyword to GSEA, Prerank, GSEA, ssGSEA by @zqfang in https://github.com/zqfang/GSEApy/pull/331 Fix DotPlot dot area scaling to be linear with Hits_ratio by @Copilot in https://github.com/zqfang/GSEApy/pull/336 Fix FDR computation to be scoped per gene set library instead of globally by @Copilot in https://github.com/zqfang/GSEApy/pull/335 Fix signal_to_noise metric: apply GeneCluster sigma correction to match GSEA reference implementation by @Copilot in https://github.com/zqfang/GSEApy/pull/337 Fix non-reproducible prerank NES/FDR results across installations by @Copilot in https://github.com/zqfang/GSEApy/pull/338 Replace zero permutation p-values with minimum detectable value (1/n_perm) by @Copilot in https://github.com/zqfang/GSEApy/pull/342 Add GO term level filtering via standalone GOFilter class by @Copilot in https://github.com/zqfang/GSEApy/pull/340 Modernize build & dev environment with uv by @zqfang in https://github.com/zqfang/GSEApy/pull/343 Add fgsea multilevel p-value algorithm to GSEApy Rust backend by @Copilot in https://github.com/zqfang/GSEApy/pull/349 Update pyo3 to 0.28 and fix FromPyObject deprecations by @Copilot in https://github.com/zqfang/GSEApy/pull/348 Fix TypeError in download_library when server response has no charset encoding by @Copilot in https://github.com/zqfang/GSEApy/pull/354 Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.13...v1.2.1
