New home for scm-manager packages

Before launching our 2.0.0 release we decided to optimize and modernize our infrastructure. One of the first notable changes is the new packages.scm-manager.org Nexus 3 instance replacing our old Nexus 2 instance on maven.scm-manager.org. With this migration most paths have been changed. But fortunately we were able to create redirects for most cases. Only users of the debian package will get errors because a redirect was not possible.

Our recommendation for all users is to update all configurations the new repositories.

Maven:

<repositories>

  <repository>
    <id>packages.scm-manager.org</id>
    <name>scm-manager public repository</name>
    <url>https://packages.scm-manager.org/repository/public/</url>
  </repository>

</repositories>

Yum/RPM (for SCM-Manager v1 only):

[scm-releases]
name=SCM-Manager Releases
baseurl=https://packages.scm-manager.org/repository/yum-v1-releases/
enabled=1
gpgcheck=0

Apt/DEB (for SCM-Manager v1 only):

deb https://packages.scm-manager.org/repository/apt-v1-releases/ stable main

For more detailed instructions have a look at the SCM-Manager documentation.

If you have any questions or issues with the new repositories feel free to ask us on the mailing list.

Posted in scm-manager | Comments Off on New home for scm-manager packages

SCM-Manager 2.0.0-rc8

Hey folks,

It’s been a month since our last release and today you get our newest version with some new features. Unfortunately, it is another release candidate but we are optimistic that our final 2.0.0 release will be out soon.

The biggest change of this release candidate is the new workflow engine, which allows you to set validation rules for pull requests with the SCM-Review-Plugin. This way, you can enforce a certain workflow for merging a pull request.

The following rules can be configured with the workflow engine:

– All reviewers have approved

– At least x reviewers have approved

– All CI status’ have to be successful (Example: All Jenkins builds have to be green)

– There has to be at least x successful CI status’

– All CI status’ of one type have to be successful

– All tasks existing for this pull request are done

 

The status of the configured rules is shown in your pull request.

 

Some other changes we made are a new cipher which is compatible with Java 12 and above. SCM-Manager instances using the old cipher will be fully supported though. We have also introduced a new “@Requires” annotation for optional dependencies. This is especially useful if you want bind plugin features only if the dependent plugin is also installed.

As usual you can find all changes for this version in our changelog. Feel free to leave us some comments.

You can download the RC-8 here

  • .tar.gz (sha1: 8bf465525d5a8c5907d1f74096af1783bc0b2fa7)
  • .zip (sha1: f688a9dbee45f11334fafd82f72b3636f6ad58f6)

or use it via Docker

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc8

SCM-Manager 2.0.0-rc7

Hey there, another two weeks have passed (can you see the pattern?), and we proudly present release candidate 7 of SCM-Manager 2 to you. Besides a fix regarding repository write requests with anonymous access enabled and other small bugs, we have a new nice plugin for you: A new landing page. We call it mySCM. If you install this new plugin, you can see all these things at a glance:

  • your favorite repositories
  • latest events regarding repositories
  • events and pending updates from the plugin center
  • your open pull requests
  • your tasks regarding pull requests

The last two of course only with the review plugin. Expect more things here, like for example your latest build results, because this page is easily extendable by plugins.

We think it’s nice and would love to hear your opinion on that.

mySCM landing page

You can download the RC-7 here

  • .tar.gz (sha1: f10fa85757f952592af40cb4856d92787fd83ed1)
  • .zip (sha1: 8a297dc00caec4b7497605b8c0da64dbe68a5b06)

or use it via Docker

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc7

Change in ownership

In Fall 2018 Cloudogu and I announced a cooperation for this project. Ever since then, a lot has changed in the background. We established a permanent SCM-Manager team at Cloudogu, which I am the leader of. That allowed us to pick up speed in the development of SCM-Manager and to take care of support cases at the same time. Thanks to that the release of SCM-Manager 2.0 is closer than ever. SCM-Manager has come a long way and I can’t wait for implementing all these great ideas that we still have.

Since almost all the development capacity for SCM-Manager comes from Cloudogu, it’s only fair that the company is the official owner of the project. Therefore, we agreed to make the change. A few days ago, I handed over the project to Cloudogu.

What does that mean for you?

By handing over SCM-Manager to Cloudogu we hope to continue on the prosperous path that we have been on for more than two years now. There are still many ideas and plans that we, Cloudogu and I, want to bring to live, to make SCM-Manager even more user friendly, versatile and reliable.

Everything will continue the way it has for the last couple of years: SCM-Manager is still a community Open Source project where everyone is invited to contribute ideas and feedback. The only thing that has already changed is that SCM-Manager is now licensed under the MIT license, but that should practically have no consequences, because the MIT license is even less restrictive than previously used BSD 3-clause license.

I’m looking forward to continuing the work on SCM-Manager, discussing your feedback and ideas and implementing new features.

SCM-Manager 2.0.0-rc6

One of the core features of SCM-Manager is its extensibility with plugins. Installing, updating and removing plugins requires a restart of the SCM-Manager. And to be honest, we would not have thought this would be so hard.

After trying to destroy the complete context of the server and learning a lot about class loader leaks, we now threw this all away and moved to a more fail-proof solution with 2.0.0-rc6: On POSIX systems (that is all Linuxes and Apples) we use the LIBC by default to kill the server process and replace it with a new instance. Doing so, we keep the process id and no monitoring should notice and complain about this. However there is this other operation system, Windows, where we haven’t found a good solution for, yet. So on Windows, after installing plugins or in the migration wizard, you will get a message saying that the server has to be restarted manually. Because we are not satisfied with this, we are still working on an automated solution for Windows. If you do not trust our restart solution, you can implement your own or switch to our simple exit strategy, using startup parameters.

Further changes of 2.0.0-rc6 are mostly small extensions and fixes. In 2.0.0-rc5 a README file for example could mess up the position of the navigation menu. This should be fixed now. And having talked about Windows: The build should now be possible on these machines, again.

You can download the RC-6 here

  • .tar.gz (sha1: f1cdbda4615c662f9e92d5707b902c12c4907800)
  • .zip (sha1: 961b5ba8bca98e8b376094bc60a7bb0b7c20feeb)

or use it via Docker

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc6

Issue restart

Over the years, SCM-Manager received a lot of attention and a lot of people had questions. Some of them led to issues on BitBucket, which were migrated to GitHub not long ago. With the release of SCM-Manager 2 getting closer, we would like to get rid of old issues, because we would like to focus on the important, still relevant ones. So we decided to use GitHub Stale, a little bot that closes issues that had no activity for quite some time. Tickets like enhancements, will not be affected by the bot, because they may take a longer than normal issues.

If you find your ticket closed, but you feel like it still persists, we would like to politely ask you to re-open it on GitHub. If you have a new issue, take a minute or two and take a look at the old ones; maybe you will find an answer there. Doing so, we will get a better overview of which issues are still relevant and we will know what to focus on.

SCM-Manager 2.0.0-rc5

Release 2 of SCM-Manager brings a lot of changes, some small, some big. Besides the most obvious change, the completely new user interface, there is the new  level 3 REST API, which took us a considerable amount of effort to create.

The new REST API allows scripts and other applications to “navigate” from the top level REST resource (/scm/api/v2) to every resource available and to change them: repositories, sources, configurations, and items from plugins like pull requests. Using the editor plugin it is possible, to add or change files in repositories without checking them out, first.

OpenAPI plugin

Of course, all these possibilities can only be fully utilized when there is comprehensive documentation. The problem is, the API may change depending on your version of SCM-Manager and the plugins you have installed. So what we give you today is not a wiki page or a pdf, but another plugin: the OpenAPI plugin. This plugin adds a new link to the footer of SCM-Manager: “Rest API”.

REST API link in footer

Click the link and you will get an OpenAPI (also known as Swagger) online documentation, that tells you exactly what is possible with your current system. It will show you all possible requests and you can even try them out.

OpenAPI Example Page

Collapsable navigation menus

Another change that you might stumble upon, is a little triangle in the secondary navigation menus. Press this, and the menu will collapse. This is useful in particular for source and diff views.

Normal menu:
normal menu
Collapsed menu:
collapsed menu

Limitation on source view

Another little change is something you may never notice, but nonetheless it is good to have it in place: If you ever have a repository with a large number of files, SCM-Manager will not break down whenever you try to take a look at the sources. Instead, it will only read up to 100 files per request. You can choose to read more, though.

limited sources view

Get the new version

You can download the RC-5 here

  • .tar.gz (sha1: 3b2dff3fda0c46362c518be37edd4e77bccc88bb)
  • .zip (sha1: 1aa865ea400e8aaf08c175dbaf316c48bb066b41)

or use it via Docker

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc5

We migrated to GitHub

As mentioned here, we migrated the scm-manager core repository to GitHub: scm-manager/scm-manager.

We decided to do so due to the removed mercurial support from Bitbucket. This is no statement whatsoever against Mercurial, we will continue to support Mercurial, Git and Subversion.

  • We migrated the entire code base from Mercurial to Git
  • The Bitbucket Wiki is now located in the docs folder of the repository
  • All issues have been migrated

SCM-Manager 2.0.0-rc4

For some time, the incompatability of SCM-Manager 2 with Java 9 or above has annoyed us. Now we can happily announce, that this is history. With the new version 2.0.0-rc4 SCM-Manager can run on Java 9 and above.

A little error though has not made it into this release: If you are hosting mercurial repositories, you cannot create new commits, when XSRF protection is enabled. This is no new bug in this version and if you haven’t come accross it with previous releases, it should be of no relevance for you (this should be relevant only if you are using the editor plugin with mercurial repositories). This bug will be fixed in the next release.

Get the new version

You can download the RC-4 here

  • .tar.gz (sha1: 7aa87cec712335b93b0cbc49333c5fc9edd26fdc)
  • .zip (sha1: 603cf76d7d685951533ad19f5e1aa990607ec3bf)

or use it via Docker

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc4

SCM-Manager 2.0.0-rc3

Last week we stumbled upon an error in the plugin loader. If you have installed some plugins with dependencies between them, the may end up loading them in the wrong sequence and therefore running into an error. We fixed this error with SCM-Manager 2.0.0-rc3.

If your SCM-Manager 2.0.0-rc2 is starting up without problem, you can safely ignore this new release.

Get the fixed version

You can download the RC-3 here

  • .tar.gz (sha1: c23d8804c10e90d45832f4af3af9a1aa8658c666)
  • .zip (sha1: 42b3c320ff334eda7cbc0d8f56c05978dbc0840f)

or use it via Docker

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc3