Skip to content

feat: add qs2 cache file format#327

Merged
KentonWhite merged 3 commits into
KentonWhite:masterfrom
gisler:qs2
May 21, 2026
Merged

feat: add qs2 cache file format#327
KentonWhite merged 3 commits into
KentonWhite:masterfrom
gisler:qs2

Conversation

@gisler
Copy link
Copy Markdown
Contributor

@gisler gisler commented Apr 21, 2026

Types of change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Other (documentation etc)

Pull request checklist

  • Add functionality
  • Add tests
  • Update documentation in man
  • Update website documentation

Proposed changes

Hi there,

I recently noticed qs got deprecated and I just implemented qs2 as a replacement. And I ask myself if it is worth keeping the qs file format. I failed to compile the qs package with R v4.5.3. What do you think?

@gisler
Copy link
Copy Markdown
Contributor Author

gisler commented May 13, 2026

Hi @KentonWhite!

Did you have time to think about my question?

By the way, the code you added in 5e2e17c will never be called because of this function call:

  require.package(
    cache_format[["package"]],
    attach = config$attach_internal_libraries
  )

@KentonWhite
Copy link
Copy Markdown
Owner

Haven’t had a chance to review yet. Moving to Australia and a bit busy :)

@KentonWhite
Copy link
Copy Markdown
Owner

Thanks - this was on my list of things to do. I notice that there is no backward compatibility with qs. I don't use qs or qs2 - will switching to qs2 without a fallback to qs break for users with qs files @gisler ?

@gisler
Copy link
Copy Markdown
Contributor Author

gisler commented May 16, 2026

Oh, moving to Australia definitly sounds like effort.

Yes, removing qs would break things. But it's just a cache. So switching to qs2 should generally just recreate it. In case the cached data stem from a DB query, it might not result in exactly the same data though. Depends on if the data changed in the DB or not.

I guess it doesn't hurt to leave qs there. But shouldn't it remain in the suggested packages list then too? I'm actually surprised CRAN didn't complain.

@KentonWhite
Copy link
Copy Markdown
Owner

Yes let's do that. Keep qs available for backward compatibility but only have qs2 in the suggested packages.

@gisler
Copy link
Copy Markdown
Contributor Author

gisler commented May 20, 2026

OK @KentonWhite, all done now. I think the code is ready to merge. I have one or two more small changes, but one thing after another.

@KentonWhite KentonWhite self-assigned this May 21, 2026
@KentonWhite KentonWhite self-requested a review May 21, 2026 04:19
@KentonWhite KentonWhite merged commit 8da9ed2 into KentonWhite:master May 21, 2026
3 checks passed
@KentonWhite
Copy link
Copy Markdown
Owner

Committed. Thanks!

@gisler gisler deleted the qs2 branch May 21, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants