Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Release plan for 0.9.0 #2689

Closed
max-sixty opened this issue Jun 1, 2023 · 27 comments
Closed

Release plan for 0.9.0 #2689

max-sixty opened this issue Jun 1, 2023 · 27 comments
Labels
Milestone

Comments

@max-sixty
Copy link
Member

max-sixty commented Jun 1, 2023

What's up?

0.9.0 is probably going to be our biggest ever release. It'll include:

  • Module system
  • Syntax changes — functions, tuples
  • fmt
  • Relation literals
  • Regex search
  • Integer division
    ...and so many more items (that would at the top of the release notes of any other release)!

Given @aljazerzen is responsible for the vast majority of these, I'll handle the release.

Questions:

  • Are there any code changes that we should add before releasing? Are we at peace over not including NULLS LAST?
  • Do we want to document the module system? Or we want to let it bake before officially releasing?
  • What other docs are missing? I am happy to do these. Are there any features that are under-documented?
@aljazerzen
Copy link
Member

Are there any code changes that we should add before releasing? Are we at peace over not including NULLS LAST?

I don't feel strongly about including it or not, I still think this is not a breaking change.

Do we want to document the module system?

We can document it, with "Experimental" banner.

What other docs are missing?

Probably the syntax changes have not been updated in the book. Also regex and integer division.

@eitsupi
Copy link
Member

eitsupi commented Jun 2, 2023

I think we should document that "The int div operator and mod operator use truncated division".

I'm in favor of introducing NULLS LAST now to update the DuckDB version.

@max-sixty
Copy link
Member Author

Another thing we should do — update the language grammars for the new syntax

@max-sixty
Copy link
Member Author

I'm in favor of introducing NULLS LAST now to update the DuckDB version.

TBC on my perspective:

  • I was +0.2 on adopting NULLS LAST
  • I was -1.5 on adopting NULLS LAST with the expectation to later revert it

We can continue discussing on #2622...

@aljazerzen
Copy link
Member

Well then let's not adapt NULLS LAST, because we don't know yet what we'll do with #2622.

@max-sixty
Copy link
Member Author

As discussed on the dev call — we'll change the float division in generic to just /, and the generic dialect will just be "simple SQL". I'll make the change and add some docs.

@max-sixty
Copy link
Member Author

Indentation — I'll put a PR in with 2 and we can decide on what looks best!

@max-sixty
Copy link
Member Author

Should this block on #2717 ?

@eitsupi eitsupi added this to the 0.9 milestone Jun 12, 2023
@aljazerzen
Copy link
Member

I think so.

@max-sixty
Copy link
Member Author

Another blocker: #2781

@vanillajonathan

This comment was marked as resolved.

@aljazerzen

This comment was marked as resolved.

@vanillajonathan

This comment was marked as resolved.

@max-sixty

This comment was marked as resolved.

@eitsupi
Copy link
Member

eitsupi commented Jun 20, 2023

As I wrote here #2717 (comment), how about releasing without waiting for the issue to be resolved?

@max-sixty
Copy link
Member Author

As I wrote here #2717 (comment), how about releasing without waiting for the issue to be resolved?

Sorry for not having addressing this directly

I agree we should try and release 0.9.0 as soon as possible. But I think it would be a bad experience if it's not ready:

  • For me count s"*" is quite alien for such a fundamental feature
  • The grammars — vscode & the playground especially — are especially important. (Possibly we should add tests to them so we can't change the grammar in future without updating these...)

I do think it's a better project if we "can release at any time", so we should try and make changes somewhat atomically; so, for example, the grammars don't fall out of date with the language.
But I also think there are some big changes in 0.9.0, so it's more understandable in this instance...

@eitsupi
Copy link
Member

eitsupi commented Jun 20, 2023

@max-sixty Thanks for your reply.

Given that count is only one of many functions and that there are many queries that do not use count, I feel that a release should be made even if only count does not work ideally.

As for the grammar, I don't think it is actually part of the PRQL release.
That is, the documentation can be modified later by updating the web branch. prql-vscode can only be released after the release of prql-js.
(That said, I think it's important to update the grammar, so I did as much of that work as I could.)

@max-sixty
Copy link
Member Author

That is, the documentation can be modified later by updating the web branch. prql-vscode can only be released after the release of prql-js.

This is true, yes.

But you don't think it would be confusing for the docs to be different from the version in VS Code? It's not so bad when it's a small change, but this will be very different, and so copying code between the two would be impossible.

Given that count is only one of many functions and that there are many queries that do not use count, I feel that a release should be made even if only count does not work ideally.

I'm open-minded if others agree — what do folks think?

(I also don't know how much work this would be to fix)

Thanks for pushing on this @eitsupi !

@eitsupi
Copy link
Member

eitsupi commented Jun 20, 2023

But you don't think it would be confusing for the docs to be different from the version in VS Code? It's not so bad when it's a small change, but this will be very different, and so copying code between the two would be impossible.

  1. We can work on modifying prql-vscode after prql-js is released. It does not take weeks to complete that work. (By the way I already finished it. fix: update syntax for 0.9.0 prql-vscode#244)
  2. I don't think broken syntax highlighting would prevent the release of the vscode extension. It is common for syntax highlighting to be broken, and a bug fix can be made later.

@max-sixty
Copy link
Member Author

Yes, on reflection, I agree. I was associating the errors in VS Code with the syntax highlighter, but they actually come from the parser...

@max-sixty
Copy link
Member Author

Thanks to @eitsupi for all the grammars!

Aside from the count s"*", is there anything else remaining?

Does #2857 need more work? I see we reopened it? Possibly because of the additional examples in the linked PR??

I can do a pass of the changelog.

@eitsupi
Copy link
Member

eitsupi commented Jun 22, 2023

@aljazerzen Any thoughts on this?

@aljazerzen
Copy link
Member

Aside from the count s"*", is there anything else remaining?

For the count s"*" we have a plan, it just needs to be implemented.

Apart from that it would be nice to fix the windows overflow, but I don't hold that as a hard requirement.

@max-sixty
Copy link
Member Author

@aljazerzen would you want us to release before the s"*"? I was thinking we would wait, but not sure how big the work is (and don't want you to feel like there's something hanging on you)

I agree the Windows issue doesn't need to block. I'm still confused by it FWIW!

@aljazerzen
Copy link
Member

I'd rather wait for s"*", since that is a change to the std module and will be changed again soon. The change should not take too much effort, at most a week.

@aljazerzen
Copy link
Member

I think we can release. Docs can be updated later on.

@max-sixty
Copy link
Member Author

#3051 for post-mortem...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants