Fix for Issue #42738: Crash in parse_latest_non_beta_release due to non-semver tags

Hi everyone,
I recently submitted a pull request (frappe/frappe#42861) to fix an issue where update checks crash when encountering non-semver release tags (such as custom descriptive tags like v14-baseline).

The Problem

When parsing GitHub releases via parse_latest_non_beta_release, the function attempts to parse every tag string into a semantic_version.Version object. If a repository contains non-semver compliant tags, it raises an uncaught ValueError, causing update checks to crash (fixes #42738).

The Fix

I updated parse_latest_non_beta_release in frappe/utils/change_log.py to loop through releases and safely wrap version parsing in a try...except ValueError block so that invalid semantic version strings are silently skipped. I also added a comprehensive regression test.

Request for Vouching / Review

Since my account isn’t vouched yet, the initial PR was automatically closed by the automated bot. I would love some feedback on this fix or help from a maintainer / vouched member to get added to the VOUCHED.td list so I can reopen and merge it.

Here is a link to my closed PR for reference:

Thank you for your guidance and support!