Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F14864873
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
10 KB
Subscribers
None
View Options
diff --git a/releases.html b/releases.html
index 8422786..1348e42 100644
--- a/releases.html
+++ b/releases.html
@@ -1,132 +1,132 @@
---
layout: page
title: Bitcoin ABC Releases
subtitle: Download the latest Bitcoin ABC software
---
-{% assign active_versions = "0.24, 0.23" | split: ", " %}
+{% assign active_versions = "0.25, 0.24" | split: ", " %}
{% assign releases = site.data.github-releases %}
{% if releases.size > 0 %}
{% assign latestVersion = releases[0].name %}
{% include upgrade-notice.html %}
<!-- Offset the version anchor of the first release so that the top of the page is in view -->
<a class="offset-anchor" style="top: -400px" id="{{ latestVersion }}"></a>
<div class="hero-box">
<h1>Download Bitcoin ABC {{ latestVersion }}</h1>
<div style="margin: 6px">Published: {{ releases[0].published_at | date: "%a %b %e %Y" }}</div>
<div>
<a class="btn btn-primary download-button" href="https://download.bitcoinabc.org/{{ latestVersion }}/linux/bitcoin-abc-{{ latestVersion }}-x86_64-linux-gnu.tar.gz">
<i class="fab fa-linux"></i>
Linux
</a>
<a class="btn btn-primary download-button" href="https://download.bitcoinabc.org/{{ latestVersion }}/osx/bitcoin-abc-{{ latestVersion }}-osx-unsigned.dmg">
<i class="fab fa-apple"></i>
OSX
</a>
<a class="btn btn-primary download-button" href="https://download.bitcoinabc.org/{{ latestVersion }}/win/bitcoin-abc-{{ latestVersion }}-win64-setup-unsigned.exe">
<i class="fab fa-windows"></i>
Windows
</a>
<a class="btn btn-primary download-button" href="https://download.bitcoinabc.org/{{ latestVersion }}/src/bitcoin-abc-{{ latestVersion }}.tar.gz">
<i class="fas fa-code-branch"></i>
Source Snapshot
</a>
</div>
<div style="margin-top: 20px">
<h4>Packages</h4>
<a class="btn btn-primary download-button" href="https://launchpad.net/~bitcoin-abc/+archive/ubuntu/ppa/">
<i class="fab fa-ubuntu"></i>
Ubuntu
</a>
<div class="btn-group">
<a class="btn btn-primary download-button" style="border-right: solid 5px #1e5d94;" href="https://aur.archlinux.org/packages/bitcoin-abc/">
Arch Linux
</a>
<a class="btn btn-primary download-button" href="https://aur.archlinux.org/packages/bitcoin-abc-qt/">
(Qt)
</a>
</div>
<a class="btn btn-primary download-button" href="https://hub.docker.com/r/bitcoinabc/bitcoin-abc/">
<i class="fab fa-docker"></i>
Docker
</a>
</div>
</div>
<div class="hero-box" style="background: #bea">
This release is compatible with the <a style="font-weight: bold" href="/ecash">eCash</a> rebranding.
</div>
<div class="hero-box">
For the latest source code, see <a href="https://github.com/Bitcoin-ABC/bitcoin-abc">Github</a>.
</div>
{% capture include_release_notes %}{% include_relative abc_md_docs/doc/release-notes/release-notes-{{ latestVersion }}.md %}{% endcapture %}
{{ include_release_notes | markdownify }}
<hr />
<!-- Offset the version anchor of the first past release up here so that the top of the table is in view -->
<a class="offset-anchor" id="{{ releases[1].name }}"></a>
<div style="text-align: center;">
{% assign versionAnchorIndex = 2 %}
{% assign pastReleases = releases | slice:1,15 %}
{% if pastReleases.size > 0 %}
<h2>Past Releases</h2>
<table style="margin: 0 auto;">
<tbody>
<tr>
<td>Version</td>
<td>Published</td>
<td>Downloads</td>
<td>Release Notes</td>
</tr>
{% for release in pastReleases %}
{% assign version = release.name %}
{% assign minor_version = version | slice: 0, 4 %}
{% if active_versions contains minor_version %}
<tr>
<td>
{{ version }}
<!-- offset-anchor version does not match `version`, as the whole
point is to offset the location of the anchor so that the
correct version is in view without additional scrolling -->
<a class="offset-anchor" id="{{ releases[versionAnchorIndex].name }}"></a>
{% assign versionAnchorIndex = versionAnchorIndex | plus: 1 %}
</td>
<td>{{ release.published_at | date: "%Y %b %e" }}</td>
<td>
<a class="btn btn-primary" href="https://download.bitcoinabc.org/{{ version }}/linux/bitcoin-abc-{{ version }}-x86_64-linux-gnu.tar.gz">
<i class="fab fa-linux"></i>
</a>
<a class="btn btn-primary" href="https://download.bitcoinabc.org/{{ version }}/osx/bitcoin-abc-{{ version }}-osx-unsigned.dmg">
<i class="fab fa-apple"></i>
</a>
<a class="btn btn-primary" href="https://download.bitcoinabc.org/{{ version }}/win/bitcoin-abc-{{ version }}-win64-setup-unsigned.exe">
<i class="fab fa-windows"></i>
</a>
<a class="btn btn-primary" href="https://download.bitcoinabc.org/{{ version }}/src/bitcoin-abc-{{ version }}.tar.gz">
<i class="fas fa-code-branch"></i>
</a>
</td>
<td><a href="/doc/release-notes/release-notes-{{ version }}.html">{{ version }} Release Notes</a></td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% endif %}
<h3>For older releases, see <a href="https://download.bitcoinabc.org/">Archived Releases</a></h3>
</div>
{% else %}
<h3 style="text-align: center"><a href="https://download.bitcoinabc.org/">Download Releases Here</a></h3>
{% endif %}
diff --git a/scripts/fetch_documentation.sh b/scripts/fetch_documentation.sh
index f3132dd..3b38b38 100755
--- a/scripts/fetch_documentation.sh
+++ b/scripts/fetch_documentation.sh
@@ -1,158 +1,158 @@
#!/usr/bin/env bash
set -euxo pipefail
# Github repository parameters
GITHUB_OWNER='Bitcoin-ABC'
GITHUB_REPO='bitcoin-abc'
# Max number of release versions to display
MAX_RELEASES=15
# Min version for rpc docs generation
-MIN_VERSION_RPC_DOCS='0.23.0'
+MIN_VERSION_RPC_DOCS='0.24.0'
# Min version for man pages generation
-MIN_VERSION_MAN_PAGES='0.23.0'
+MIN_VERSION_MAN_PAGES='0.24.0'
# jq must be installed
if ! command -v jq > /dev/null; then
echo "Error: 'jq' is not installed."
exit 10
fi
SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd)
TOPLEVEL=$(git -C "${SCRIPT_DIR}" rev-parse --show-toplevel)
# Get the last MAX_RELEASES releases
RELEASES=$(curl -L -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/${GITHUB_OWNER}/${GITHUB_REPO}/releases?per_page=${MAX_RELEASES})
echo "${RELEASES}" > "${TOPLEVEL}"/_data/github-releases.json
# Extract release version numbers
RELEASE_VERSIONS=($(echo ${RELEASES} | jq -r '[.[].name] | reverse[]'))
# Extract release tags
RELEASE_TAGS=($(echo ${RELEASES} | jq -r '[.[].tag_name] | reverse[]'))
# Create the cache directory as needed. This is where the sources will be
# cloned, and where the docs will be built.
: "${CACHE_DIR:=${TOPLEVEL}/.user-doc-cache}"
mkdir -p "${CACHE_DIR}"
SRC_DIR="${CACHE_DIR}/${GITHUB_REPO}"
if [ ! -d "${SRC_DIR}" ]
then
git clone "https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}.git" "${SRC_DIR}"
fi
pushd "${SRC_DIR}"
git reset --hard HEAD
git clean -xffd || true
git checkout master
git pull --tags origin master
popd
version_greater_equal()
{
printf '%s\n%s\n' "$2" "$1" | sort -V -C
}
for i in "${!RELEASE_VERSIONS[@]}"
do
VERSION="${RELEASE_VERSIONS[$i]}"
TAG="${RELEASE_TAGS[$i]}"
if version_greater_equal "${VERSION}" "${MIN_VERSION_RPC_DOCS}"
then
BUILD_RPC_DOCS="yes"
else
BUILD_RPC_DOCS="no"
fi
if version_greater_equal "${VERSION}" "${MIN_VERSION_MAN_PAGES}"
then
BUILD_MAN_PAGES="yes"
else
BUILD_MAN_PAGES="no"
fi
if [ "${BUILD_RPC_DOCS}" = "no" ] && [ "${BUILD_MAN_PAGES}" = "no" ]
then
continue
fi
# Checkout the release tag
pushd "${SRC_DIR}"
git checkout "tags/${TAG}"
popd
# Prepare some directories
WEBSITE_DIR="${TOPLEVEL}/_doc/${VERSION}"
mkdir -p "${WEBSITE_DIR}"
VERSION_DIR="${CACHE_DIR}/${VERSION}"
mkdir -p "${VERSION_DIR}"
BUILD_DIR="${SRC_DIR}/build_${VERSION}"
mkdir -p "${BUILD_DIR}"
INSTALL_DIR="${BUILD_DIR}/install"
mkdir -p "${INSTALL_DIR}"
pushd "${BUILD_DIR}"
if [ "${BUILD_RPC_DOCS}" = "yes" ] && [ ! -d "${VERSION_DIR}/rpc" ]
then
# Build and install the release version
cmake -GNinja "${SRC_DIR}" -DCLIENT_VERSION_IS_RELEASE=ON -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
ninja doc-rpc
# Cache the result
cp -R "${BUILD_DIR}/doc/rpc/en/${VERSION}/rpc" "${VERSION_DIR}/"
fi
if [ "${BUILD_MAN_PAGES}" = "yes" ] && [ ! -d "${VERSION_DIR}/man" ]
then
# xvfb is only needed to build headlessly.
if ! command -v xvfb-run
then
echo "xvfb is required to build the docs headlessly, please install it."
exit 3
fi
# Build and install the man pages
cmake -GNinja "${SRC_DIR}" -DCLIENT_VERSION_IS_RELEASE=ON -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
xvfb-run -a -e /dev/stderr ninja install-manpages-html
mkdir -p "${VERSION_DIR}/man"
# Cache the result
cp "${INSTALL_DIR}"/share/man/html/* "${VERSION_DIR}/man/"
fi
popd
# Copy everything from the cache to the website directory
cp -R "${VERSION_DIR}"/* "${WEBSITE_DIR}/"
done
# Pull all the markdown files from the ABC repository so they can be converted
# and rendered by jekyll. The tree directory structure is preserved in order to
# keep the links working.
pushd "${SRC_DIR}"
git checkout master
${SCRIPT_DIR}/fetch_markdown_files.sh "${SRC_DIR}"
# If the release notes file for the latest release isn't archived yet, make the
# latest release notes available for that version number. This temporary copy
# will be replaced once the release notes are archived.
ABC_MD_DOCS="${TOPLEVEL}"/abc_md_docs
LATEST_RELEASE_VERSION=${RELEASE_VERSIONS[${#RELEASE_VERSIONS[@]}-1]}
LATEST_RELEASE_NOTES="${ABC_MD_DOCS}/doc/release-notes/release-notes-${LATEST_RELEASE_VERSION}"
if [ ! -f "${LATEST_RELEASE_NOTES}.md" ]; then
cp "${ABC_MD_DOCS}/doc/release-notes.md" "${LATEST_RELEASE_NOTES}.md"
cp "${ABC_MD_DOCS}/doc/release-notes.page.md" "${LATEST_RELEASE_NOTES}.page.md"
sed -i "s/permalink: \/doc\/release-notes.html/permalink: \/doc\/release-notes\/release-notes-${LATEST_RELEASE_VERSION}.html/g" "${LATEST_RELEASE_NOTES}.page.md"
fi
popd
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Wed, May 21, 22:56 (23 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5866108
Default Alt Text
(10 KB)
Attached To
rABCWEB Bitcoin ABC Website
Event Timeline
Log In to Comment