Does anyone know what is the difference between a GitHub release and the actual release that software company announces?
I'm trying to find the different versions of vue.js, on the vue.js official website there are only two versions but on the GitHub repository many releases I was wondered if the two concepts are different?
Release(may be downloadable link) version is just file which is uploaded.
Just they decide to provide only two version(may be latest) on official site.
It is all. If same version, (should be) same file. It is just like top selling tag on a store.
When they release a GitHub version, it is supposed to be open source. The one the company releases may have more code they have not reeased yet or is confidential.
Related
I see people hosting files (usually binary files) under https://github.com/downloads/<user>/<repository>/. How do they do it?
You can't. That doesn't exist anymore... GitHub used to have a Downloads API that was replaced by the Releases API back in 2013. Old links were redirected and still work as you can see on the example you provided in the comments.
Nowadays, if you want to make files available for download, you should use either the Releases feature or the Packages feature.
Software packages are often shipped with changelog and/or release notes. What's the difference between them? Should they be both included with release of a new version?
To directly answer your question, you can include both in your software release.
Release notes are a set of documents delivered to customers with the intent to provide a verbose description of the release of a new version of a product or service. These artifacts are generally created by a marketing team or product owner and contain feature summaries, bug fixes, use cases, and other support material. The release notes are used as a quick guide to what changed outside of the user documentation.
Conversely, changelogs are comprehensive lists of the new features, enhancements, bugs, and other changes in reverse chronological order. Changelogs usually link to specific issues or feature requests within a change management system and also may include links to the developer who supplied the change.
Yes I think you can include both on a new release.
For me the main difference is that in a release note you can explain what is new or what have changed in a more comprehensive language.
In the case of a changelog you have to add more technical details of the changes, for example with commit messages with link to the diff or PRs with links to the technical discussion.
Does Github offer the option to create release-page for a project? I've noticed it let you create different tag for the source, but couldn't find the UI/web where I can add release notes, built package(s) and all that.
Update 2d July 2013, you now can define a release.
Releases, a workflow for shipping software to end users.
Releases are first-class objects with changelogs and binary assets that present a full project history beyond Git artifacts. They're accessible from a repository's homepage:
Releases are accompanied by release notes and links to download the software or source code.
Following the conventions of many Git projects, releases are tied to Git tags. You can use an existing tag, or let releases create the tag when it's published.
You can also attach binary assets (such as compiled executables, minified scripts, documentation) to a release. Once published, the release details and assets are available to anyone that can view the repository.
That is what replaces the old binary upload service, which was removed in December 2012!
Initial answer (February 2012)
Not that I know of: this is very dependent of each project language and release management process.
One way would be to use the README.md to publish those information, or to link to the release notes as a separate document.
The nice detail about a link is that it can, since a few weeks, be a relative one (see blog post "Relative links in markup files").
Is there a way to automatically generate a change log from Github issues?
Ideally I want to be able to point at a closed milestone and generate either a plain text list of closed issues with their titles or, even better, a list with markup for links to the issues and the title of the issues themselves.
You can try to use Github-Changelog-Generator. (I'm author of this project)
It generates changelog from tags and merged pull-requests.
This script also have a support of GitHub Issues.
This changelog was generated by this script. CHANGELOG.md
Example:
Changelog
1.2.5 (2015-01-15)
Full Changelog
Implemented enhancements:
Use milestone to specify in which version bug was fixed #22
Fixed bugs:
Error when trying to generate log for repo without tags #32
Merged pull requests:
PrettyPrint class is included using lowercase 'pp' #43 (schwing)
support enterprise github via command line options #42 (glenlovett)
This isn't for Github specifically, but through Git you can run the log through pretty print to generate a changelog style html page.
From https://coderwall.com/p/5cv5lg
git log v2.1.0...v2.1.1 --pretty=format:'<li> view commit • %s</li> ' --reverse | grep "#changelog"
You can use the GitHub API to get a list of issues associated with a given milestone.
For example:
curl https://api.github.com/repos/<user>/<project>/issues\?milestone\=1\&state\=closed
replace <user> and <project> with the username and project and this will return a json list of all closed issues of the milestone with the id 1. You can then, for example, use a script to extract the information you are interested. Here is a python example that prints the list of issues as restructured text:
import json
with open("issues.json") as of:
data = json.load(of)
for issue in data:
t = issue['title']
n = issue['number']
url = issue['html_url']
print "* %s [`Issue %s <%s>`_]" % (t, n, url)
See if the following tool will do for you github-changes.
Disclosure: I'm the author of the tool.
We created an open source project to generate changelog from the list of closed github issues since a given datetime. It's available here: https://github.com/piwik/github-changelog-generator
Not directly through GitHub: that would be a kind of hook that you could put in place, and which would based on naming convention or comment convention that your project might follow.
Even using the issues title isn't always a sure way to generate meaningful change log, unless you review and edit if needed each and every issue title of your project.
In other words, it is very dependent on how you manage your project and not easily generalized to all GitHub repos.
I said as much in a very similar question "Publish a project release (binary/source packages) on Github?".
In addition of a third-party solution (or a GitHub Action like generate-changelog), you might soon Q3 2021, have a native feature from GitHub:
One of the most important parts of the software lifecycle is releasing your code for others to consume.
GitHub Releases will make that even easier by providing compelling and automatic release notes.
When creating a Release, you can click a button to automatically generate release notes.
If you want something more custom, you can a REST API to get the generated release notes and integrate them into your existing releases process.
We also want to ensure that these release notes look amazing when a maintainer shares them and make them easier to discover. We have done a complete redesign of releases to make projects announcements look stunning.
We are surfacing these releases in the feed to increase discovery.
We are also improving the open graph data for releases so they look equally fantastic when shared off of the GitHub platform.
Intended Outcome
Our number one goal is to make it easy for maintainers to create great release notes so more people can discover that amazing work maintainers are doing.
With minimal effort many projects will be able to benefit from detailed release notes.
For maintainers who put more time into their release notes to write editorialized content the intended outcome is that we free up time they are currently spending to maintain custom infrastructure and compile a changelog so they can focus on the most important content for their customers, high quality editorialized content.
Our other goal is to ensure that the release notes look great and are something maintainers and developers are excited to read and share.
How will it work?
The new Releases UI will be able to be enable with feature preview
A new button in the Release creation UI will be able to be pressed to generate release notes from any tag
The generated notes will be able to be configured via a .github/release.yml
A new REST API will allow customers to generate notes at their own convenience to further automate and customize the experience with GitHub actions.
I helped build a jQuery plugin for this recently that uses GitHub issues to communicate app updates directly to the user. The repo can be found here https://github.com/uberVU/github-changelog
Usage is pretty simple:
$(function() {
var $demoChangelog = $('.demo-changelog');
//call the plugin on a dom none
$demoChangelog.changelog({
//give it a repo to monitor
githubRepo: 'uberVU/github-changelog-playground',
});
//manually check for new closed issues
$('.demo-button').on('click', function(e) {
e.stopPropagation();
$demoChangelog.changelog('checkForUpdates');
});
});
Is GitHub for Windows open source? If so, I can't seem to find the repository.
According to Tom Preston-Werner, one of the GitHub founders, in his post "Open Source (Almost) Everything", about the open-sourcing philosophy
Don't open source anything that represents core business value. [...] Notice that everything we keep closed has specific business value that could be compromised by giving it away to our competitors. Everything we open is a general purpose tool that can be used by all kinds of people and companies to build all kinds of things.
However, Hubot, previsouly a closed-source asset of GitHub, was eventually open-sourced in late 2011.
For the past year or so we've been telling people about Hubot [...] So we decided to rewrite him from scratch, open source him, and share him with everyone.
Currently, the Windows Github client is not an open source software... but who knows, it might be open-sourced one day.
Phil Haack (who currently works at GitHub) gave a hint in his blog comments to this effect:
At the moment, it is not open source. Many of the libraries we created are open source. As we polish up more and more of those libraries, we'll release more components we used to make the app.
So no, the application is not open source, but keep a look out for some parts of it being published on GitHub. (But bear in mind that this is just a blog comment, not an official announcement of any kind).
According to the latest news, GitHub for Windows is renamed to GitHub Desktop. It is redisigned with Electron and completely open sourced. The beta version has been released. The weblink of GitHub Desktop open source repository leaves here: https://github.com/desktop/desktop .