-
-
Notifications
You must be signed in to change notification settings - Fork 427
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
Roadmap & Changelog for rTorrent 0.11.0 #1349
Comments
why we keep xmlrpc-c anyway? |
We need to test tinyxml2 first. I just found 2 problems with it today. 2 pull requests are pending to resolve them. This is a massive change. I'm working on deploying it to thousands of clients on crazy max docker. We need to test test test before we drop it. |
also why 0.12.0 instead of 0.11? current version is 0.10, any reason skip 0.11? |
You're right! @rakshasa likes to count by 1's for the second number. I've updated the title. Thank you. |
Why do you need an upstream release in order to fully test the changes? It seems backwards --- first you should deploy your release candidate, and then if your testing is successful, that would justify an upstream release :-) |
I guess because they are clients so they want open source users test patches first |
Nobody is going to deploy a release candidate. There is no harm done with an upstream release. We can just post a hotfix afterwards if required. We've already done development testing as required. I found 2 bugs with tinyxml2 today. :-) |
since I got pinged, anyone know what's wrong here? rakshasa/libtorrent#283 |
I would recommend breaking that down into smaller pull requests, to more effectively find problems. We'll need your help with rakshasa/libtorrent#281 if rakshasa approves this roadmap to an upstream release. This is a very good time to hit the pause button and ship the work we've done to rTorrent to thousands of users. |
Seems reasonable, I'll check out the tinyxml2 related PRs. |
Just to mess things up I sync'ed both versions to 0.15.0. |
Both release candidates and final releases are useful for testing changes. It's not an "either or" thing. Usually release candidates are only used by people who manually opt in on a person to person basis though. It's absolutely useless to expect release candidates to be automatically rolled out to "thousands of clients" automatically because no one is going to ask, or expect, thousands of people in a specific group to all test something that is explicitly an experimental build. But e.g. Gentoo would most likely package a release candidate if the package maintainer is made aware of it. And at least a few people would manually enable that release candidate, while also expecting it's their self-elected job to report obscure bugs when they do. Nonetheless, this is NOT the same as full testing. It is standard operating procedure for software making significant changes (framework, build system, etc) that need testing, to provide at least one release cycle where both options are available, so that people can test the changes, and disable them if issues are encountered, without downgrading the software to the previous major.minor release. This is important for the project itself, too, since if people are afraid to upgrade to the new release because of one deal breaker regression then they will not test the other changes and you end up only finding and fixing a single bug per release cycle, which sucks. Ultimately it's a balance between maintaining old code you don't really want to keep maintaining, and ensuring the software works for the largest number of people. It is really easy to keep old code if it's just a big chunk of trivially |
@rakshasa Could we make a roadmap to tag a new version of rTorrent? I'm working with my partners to get the
tinyxml2
changes that @kannibalox made tested and deployed to thousands of clients. We just need a release to make that happen.My recommendation for a roadmap is:
rTorrent:
libtorrent:
Recommended Changelog Includes:
libtorrent
Stability Improvements
Resolved a crash with Handshake buffer resizing.
Respect failure intervals for trackers.
Fix file truncation on resume with fallocate enabled
Change _sync* to std::atomic for cross platform compatibility.
Resolve
Wclass-memaccess
compile warning withstd::memset
.Performance Improvements
Only write
uncertain_pieces.timestamp
when necessary.Use emplace instead of push for
std::array
objects.Code Cleanup
rTorrent
Stability Improvements
Resolved scgi software crash with SIGPIPE exception.
Various build stability improvements.
Change _sync* to std::atomic for cross platform compatibility.
Resolved a crash with the curl stack during shutdown.
Resolve
Wclass-memaccess
compile warning withstd::memset
.Fixed
d.group.name
returning the wrong value.d.group.name
should return group name instead of group index #1326 by @trim21Fixed compatibility checks for file types.
Tinyxml2 to replace xmlrpc-c
Please configure rTorrent with
--with-xmlrpc-tinyxml2
to enable tinyxml2. It contains 2-3 times performance improvements for small responses and up to 30 times performance improvements for large responses. This is a significant reduction in overhead!xmlrpc-c:
tinyxml2:
Code Cleanup
The text was updated successfully, but these errors were encountered: