The last 6 weeks have been extremely hectic here at RhodeCode. We have shipped 7 releases of RhodeCode Enterprise and 3 release of RhodeCode Control. So, lets recap on what has been accomplished.
Pull Requests
The pull request feature of RhodeCode Enterprise has been revamped to increase its usability and flexibility. As we use pull requests for all repository contributions in-house we complain and open tickets for anything that bugs us about the process. As a result, the following changes have been made:
- The review status is reset after after a pull request is updated.
- A number of hooks have been added to enable automated testing of pull requests before they end up on a reviewers screen.
- Inline comments have been thoroughly revamped for better user experience, and if you wish you can invalidate all inline comments after an update.
- Warning messages have been added for missing commits in the source repository.
- Information messages have been added for the target repository, successful updates, and newly added reviewers will get a notification.
- A shortcut has been added to repository pages to take you to its pull request page. To try it out, hold
gp
on a repository page. - On the backend, logging has been expanded during an update.
- It is now possible to edit the title and description.
All in all, that is a lot of updates around one single feature. But as it is one of the most heavily used, almost all of our users will see the benefits. Have a look:
VCS Server
The VCS Server does the talking between RhodeCode Enterprise and its repositories. As can be expected, this is a heavily used backend feature where big performance gains can be made. While the end user may not see much difference, your server will.
- The VCS Server's handling of push and pull operations when restarted is now much more robust.
- Support has been added for a configuration file to enable greater control.
- The memory cache configuration has been optimized to keep it from getting out of hand.
API
The API also got some attention. After the security fixes in March it has been continually refactored, and some additional calls have been added. This is so that the API continues to grow as a solid base on which to build future functionality.
- Password and boolean value handling has been improved for the
create_user
,create_repo
, andupdate_repo_group
calls. - The
strip
API call is now more robust. - The ability to make a pull request using the API has been added, check the
create_pull_request
documentation.
RhodeCode Control
On this front, the 100% test coverage and solid nature of the 1st product that has been built from scratch in-house means that what RhodeCode Control delivers is the focus, rather than on the tool itself. These are the visible user experience improvements:
- Fixed scenarios where the installer was unable to detect the user's shell.
- Improved the handling of problems during logging initialization.
- Fixed the database validator to allow implicit user and password.
- Improved
rccontrol self-destroy
to sort and display items to be deleted. - Fixed VCS Server upgrading so that it keeps the same port.
The major gains though are in packaging and delivering builds. The biggest one has been getting RhodeCode Enterprise working on Windows through Cygwin. Decreasing the time needed to deliver a new version of RhodeCode Enterprise, and dropping hot-from-the-repository builds on to the testing, beta, and public channels.
Security
A number of the releases have been security fixes, and as this is an area which gets high priority, when security bugs come in they go to the top of the queue. The main security fixes have been covered in the
[RhodeCode Enterprise 3.3.2 blog post(https://rhodecode.com/blog/rhodecode-enterprise-3-3-2-security-release) and the API fixes mentioned above.
Conclusion
Over the last 6 weeks it never felt like so much was getting delivered, it is only when you take a moment to step back and write a 'pat on the back' blog about these things that you see what the team is accomplishing.
Looking forward, the plan for the next 6 weeks is more of the same. Pick up the tickets, deliver more features, and keep improving little by little.