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

RethinkDB 2.4.2 release list #6975

Closed
srh opened this issue Jun 24, 2021 · 31 comments
Closed

RethinkDB 2.4.2 release list #6975

srh opened this issue Jun 24, 2021 · 31 comments

Comments

@srh
Copy link
Contributor

srh commented Jun 24, 2021

The purpose of this ticket is to start a list of features needed for the next release. I'm not sure whether the next release should be numbered 2.4.2 or 2.5.0 (because of the v8 -> quickjs list).

Mandatory(?):

Nice-to-haves:

Doubtful nice-to-haves:

  • De-coffeescriptify the JS driver, replacing it with ugly coffee-scriptified JS
  • Update rethinkdb-package-builder to use g++ instead of clang for 2.4.2 and later (but why bother?)

Very Doubtful

  • Extended LTS or Extended Security Maintenance Debian/Ubuntu
    • Ubuntu 14.04 (Trusty) support - QuickJS build does not work - ESM ends April 2024
    • Debian 8 (Jessie) support - QuickJS build does not work - ELTS ends June 2022
  • Get the Windows build working (after we remove v8, see https://github.com/srh/rethinkdb/releases/tag/v2.4.0-srh-win-1 , but it might take some nominal effort to have QuickJS building and linking on Windows) - QuickJS-on-Windows support #7008
    • Audit the c-smile/quickjspp code changes

Drivers?:

  • Python
  • JavaScript -> TypeScript client?
@atassis
Copy link

atassis commented Jun 26, 2021

I think it is better to leave coffeescript as is, write new official admin client and then remove admin frontend completely

@atassis
Copy link

atassis commented Jun 26, 2021

And what about making more releases, even with less changes?

@gabor-boros
Copy link
Member

gabor-boros commented Jun 27, 2021

@srh we could add to the list a new version of the python client that includes some refractors type hints, dropped python 2 support, and some more that we worked on with @lsabi in the past couple of months.

Regarding the JS client, we could replace it with the TS one, but that's a separate discussion.

@lsabi
Copy link

lsabi commented Jun 27, 2021

In order to keep track of the completed tasks, we could use github's projects (or whatever it is called).

Otherwise, editing the first comment and updating what's done and what's not.

@srh
Copy link
Contributor Author

srh commented Jun 28, 2021

Is the TS client drop-in compatible with the JS client? I mean, is it supposed to be?

@atassis
Copy link

atassis commented Jun 28, 2021

@srh No, it's API differs drastically. The only common thing are queries. Connection creation, query running, etc differs.

@v3ss0n
Copy link

v3ss0n commented Jun 29, 2021

And what about making more releases, even with less changes?

That is a good idea , this will bring users back to RethinkDB.

I think it is better to leave coffeescript as is, write new official admin client and then remove admin frontend completely

I thought there was an attempt to develop seperate admin frontend.

@srh
Copy link
Contributor Author

srh commented Jun 30, 2021

If the TypeScript client isn't compatible then we shouldn't replace the JS client with it.

@atassis
Copy link

atassis commented Jun 30, 2021

@srh this is coming into the house (no ETA either).

@refi64
Copy link

refi64 commented Jul 10, 2021

There's a [fork of QuickJS with Windows support](https://github com/c-smile/quickjspp) (and other functionality that can be disabled) that's used in Sciter, maybe that could be useful?

@462548187
Copy link

When will it be released?

@462548187
Copy link

如果 TypeScript 客户端不兼容,那么我们不应该用它替换 JS 客户端。

My Mac M1 is just waiting to be released for use.

@DenisBY
Copy link

DenisBY commented Nov 17, 2021

Auto-rebalance. I.e. when a server is gone and replaced with a new one, DB/tables should be automatically rebalanced (re-sharded/re-replicated) to a new server. In our case, we use AWS EC2 Autoscaling to run servers and have to use custom scripts to rebalance DB/tables after instance replacement by Autoscaling.

@v3ss0n
Copy link

v3ss0n commented Nov 17, 2021

is this a bot?

@srh srh pinned this issue Feb 20, 2022
@srh
Copy link
Contributor Author

srh commented Feb 20, 2022

I have allocated some time to get this completed and out.

@srh
Copy link
Contributor Author

srh commented Feb 23, 2022

Moving Windows support to Nice-to-have. I think it's doable, but it's below the line right now.

@srh srh mentioned this issue Feb 27, 2022
1 task
@srh
Copy link
Contributor Author

srh commented Feb 28, 2022

If you have a platform (aside from Ubuntu or Debian) you want packages to be built for, it wouldn't hurt to comment here.

@srh
Copy link
Contributor Author

srh commented Mar 6, 2022

Linux ARM builds are basically working on Ubuntu 20.04 and Bullseye. I haven't tested others.

I'm considering moving them to "Mandatory", simply because they seem to be working out of the box.

@srh
Copy link
Contributor Author

srh commented Mar 10, 2022

Decisions on updating package dependencies:

boost - Don't want to mess with datetime behavior, keep version unchanged.
curl - Update to latest, but packages will be dynamically linked with system libs.
gtest - would need cmake to build with latest version. Stick with old version.
jemalloc - Update to latest.
libidn - Curl uses this. Update to latest, but packages will be dynamically linked with system libs.
OpenSSL - Updated to 1.1.1m (latest old version). Then updated to 1.3.0 (latest). But packages will be dynamically linked with system libs.
protobuf - We have patches for Visual Studio. No need to upgrade.
re2 - Don't want behavioral changes. Don't upgrade.
zlib - Already on latest version.

So, openssl, libidn, jemalloc, and curl have been updated, but only jemalloc will affect release packages. Currently in branch https://github.com/srh/rethinkdb/tree/srh/dependencies . Building works on Ubuntu 20.04, but I need to check that building works on other platforms.

I think we should change package build scripts, or all build scripts, to statically link re2 and boost, because differing versions could affect query language behavior.

@srh
Copy link
Contributor Author

srh commented Mar 17, 2022

It looks like AlmaLinux and CentOS 7 will be able to have packages. I presume RockyLinux will too, I haven't gotten to that yet.

@srh srh mentioned this issue Mar 18, 2022
1 task
@srh
Copy link
Contributor Author

srh commented Mar 30, 2022

RockyLinux 8 works, CentOS 7 works, and Xenial and Trusty now work thanks to the changes made for CentOS 7.

@srh
Copy link
Contributor Author

srh commented Apr 17, 2022

Moved "Mac ARM build" to mandatory. ARM macbooks are the only good macbooks now. It now compiles and runs (and generally works). DMG building is the only thing that needs updating. It depends on whether I get it done before Jammy comes out.

@srh
Copy link
Contributor Author

srh commented Apr 18, 2022

Moved "Mac ARM build" back out. It requires updates to stuff in packaging/osx, and the result is we're getting an empty dmg. Maybe somebody who wants a Mac M1 dmg could make a PR. Right now RethinkDB builds on Mac M1.

@srh
Copy link
Contributor Author

srh commented Apr 24, 2022

Currently thinking about tagging the tip of v2.4.x v2.4.2.

@srh
Copy link
Contributor Author

srh commented Apr 24, 2022

It's tagged; if there's a problem we'll have to do v2.4.3. Kicking off builds now.

@srh
Copy link
Contributor Author

srh commented Apr 26, 2022

https://rethinkdb.com/blog/2.4.2-release

Done.

Some more improvements, like a Mac M1 ARM .dmg release, or a Windows release, will require bumping the version (which is no big deal).

@srh srh closed this as completed Apr 26, 2022
@atassis
Copy link

atassis commented Apr 26, 2022

When new docker image gonna be supplied?

@srh
Copy link
Contributor Author

srh commented Apr 26, 2022

Maybe tomorrow? Keep pinging me so I don't forget about it. I'd do it right now, but it's 9:32 PM here, and thus I'm likely to mess something up than earlier in the day. I've never dealt with the rethinkdb-dockerfiles repo before.

@srh
Copy link
Contributor Author

srh commented Apr 26, 2022

Or maybe somebody could make a PR :-)

https://github.com/rethinkdb/rethinkdb-dockerfiles

@atassis
Copy link

atassis commented Apr 26, 2022

Not hurrying at all lol, that's fine, take your time:)
Will look at dockerfile repo later.
Thanks for your work @srh!

@gabor-boros
Copy link
Member

@atassis the dockerfiles were updated yesterday (rethinkdb/rethinkdb-dockerfiles#59) though docker hub not yet. I'm going to open a PR on their end soon. Though you can do too, if you would not like to wait. If I'm right it is about ~2 lines of change

@srh srh unpinned this issue Jun 20, 2022
@srh srh changed the title RethinkDB next release list RethinkDB 2.4.2 release list Nov 3, 2022
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

No branches or pull requests

8 participants