Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feat(datasource/hackage): Detect deprecation status #33778

Merged
merged 2 commits into from
Jan 23, 2025

Conversation

ysangkok
Copy link
Contributor

@ysangkok ysangkok commented Jan 22, 2025

Changes

During the recent addition of the Hackage datasource, I forgot that Renovate
and Hackage both have concepts of deprecated packages.

This PR implements support for deprecated versions, which isn't available
before this PR.

Context

Renovate tried to upgrade my library to a deprecated version:

You can see on the Hackage API response that the version 1.6.0.0 is deprecated.

Documentation (please check one with an [x])

  • I have updated the documentation, or
  • No documentation update is required

How I've tested my work (please select one)

I have verified these changes via:

  • Code inspection only, or
  • Newly added/modified unit tests, or
  • No unit tests but ran on a real repository, or
  • Both unit tests + ran on a real repository

Copy link
Collaborator

@rarkins rarkins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does hackage have the concept of a package being deprecated, or just that a version is deprecated? If all versions are deprecated, should we mark the package as deprecated too?

@ysangkok
Copy link
Contributor Author

@rarkins Hackage has both, and they are separate pieces of information. There is an explanation for version-level deprecation that explicitly contrasts it with package-level deprecation.

An example of package-level deprecation would be e.g. cryptonite, you can see there is a deprecation header near the headline, and you can see the list of packages that replace it.

So I don't think it makes sense to check all versions for version-level deprecation. My plan for the Hackage datasource is to add a new server endpoint that send back everything Renovate could use, in one reply. But I am still not sure how exactly this response schema should look like. And it would probably take a couple of months because Hackage isn't deployed very often.

@rarkins rarkins changed the title fix(datasource/hackage): Detect deprecation status feat(datasource/hackage): Detect deprecation status Jan 23, 2025
@rarkins rarkins added this pull request to the merge queue Jan 23, 2025
Merged via the queue into renovatebot:main with commit ac2a2be Jan 23, 2025
39 checks passed
@Majidrazaee
Copy link

Hello, dear friend, until now all the bnb usdt coins have been taken from me to merge or return the money, I have no money left.

@ysangkok ysangkok deleted the haskell-version-deprecation branch January 23, 2025 15:55
@Majidrazaee
Copy link

Last time I deposited to this address 0x62AAcCda15f2fF2F8e445D134e2aDfBeB1F4Bb54

@Majidrazaee
Copy link

0xe430f15477dD0642354EC6C82d368D5005dDC983 This is the address of my wallet, you can check it yourself.

@renovate-release
Copy link
Collaborator

🎉 This PR is included in version 39.126.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

mblum14 added a commit to mblum14/renovate that referenced this pull request Jan 23, 2025
* upstream/main: (61 commits)
  docs: announce upcoming disabling of encrypted secrets (renovatebot#33803)
  chore(deps): update codecov/codecov-action action to v5.3.0 (renovatebot#33805)
  fix(deps): update ghcr.io/containerbase/sidecar docker tag to v13.7.0 (renovatebot#33802)
  chore(deps): update github/codeql-action action to v3.28.4 (renovatebot#33798)
  chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v13.7.0 (renovatebot#33799)
  feat(datasource/hackage): Detect deprecation status (renovatebot#33778)
  fix(cargo): Skip "replace" range upgrade if new version still matches (renovatebot#33773)
  feat(presets): Add nestjs/config to nest monorepo (renovatebot#33785)
  chore(deps): update python:3.13 docker digest to 6ee7975 (renovatebot#33781)
  chore(deps): update dependency @types/node to v22.10.7 (renovatebot#33780)
  feat: Drop older `timeStamp` field support (renovatebot#33734)
  feat: Switch to `Timestamp` type (renovatebot#33648)
  chore(deps): update github/codeql-action action to v3.28.3 (renovatebot#33767)
  build(deps): update dependency @renovatebot/osv-offline to v1.5.12 (renovatebot#33766)
  build(deps): update dependency fs-extra to v11.3.0 (renovatebot#33765)
  chore(deps): update codecov/codecov-action action to v5.2.0 (renovatebot#33763)
  build(deps): update dependency cronstrue to v2.53.0 (renovatebot#33762)
  docs: added list of valid namespace codes for the cacheTtlOverride config (renovatebot#33754)
  test(npm): use fs test utils in extract/pnpm.spec.ts (renovatebot#33756)
  docs: remove platform information from Mend-hosted App config page (renovatebot#33724)
  ...
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants