Merge branch 'release-scripts'
This commit is contained in:
commit
ca0557a6eb
8
.gitattributes
vendored
8
.gitattributes
vendored
@ -36,3 +36,11 @@ configure.in eol=lf
|
||||
|
||||
# Ignore changes in the generated files.
|
||||
build/upmake -diff
|
||||
|
||||
# Don't include stuff which is only used with Git in the archives.
|
||||
.github/ export-ignore
|
||||
.gitattributes export-ignore
|
||||
.gitignore export-ignore
|
||||
.gitmodules export-ignore
|
||||
.travis.yml export-ignore
|
||||
appveyor.yml export-ignore
|
||||
|
24
build/tools/post-release.sh
Executable file
24
build/tools/post-release.sh
Executable file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Exit immediately if a command exits with a non-zero status.
|
||||
set -e
|
||||
|
||||
topdir=`dirname $0`/../..
|
||||
|
||||
# Build the file list for sha1sums, from `docs/release.md`
|
||||
declare -a files=(`sed -n '/^## Download Verification/,/^## Binaries/p' $topdir/docs/release.md | sed -n -E 's/^\s*0{40}\s{2}(wx.*)/\1/p'`)
|
||||
|
||||
# Get the release version
|
||||
ver_string=`grep '#define wxVERSION_STRING ' $topdir/include/wx/version.h | sed 's/^.*"wxWidgets \(.*\)")/\1/'`
|
||||
|
||||
for i in "${files[@]}"
|
||||
do
|
||||
# compute sha1sum
|
||||
sha1sum=`sha1sum $topdir/distrib/release/$ver_string/$i | cut -d' ' -f1`
|
||||
|
||||
# save the sha1sum for this file
|
||||
sed -i -E "/^\s*[0]{40}\s{2}wx/ s/(^\s*)[0]{40}(\s{2}$i)/\1$sha1sum\2/" $topdir/docs/release.md
|
||||
done
|
||||
|
||||
# Commit sha1sum related changes
|
||||
git commit -m "Update released files sha1sums after $ver_string release" $topdir/docs/release.md
|
60
build/tools/pre-release.sh
Executable file
60
build/tools/pre-release.sh
Executable file
@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
|
||||
# build a list of English locales
|
||||
declare -a locale_list=("en_GB" "en_US")
|
||||
# get available en locales (including .utf8 and .UTF-8 ones)
|
||||
declare -a en_locales=(`locale -a | grep '^C\|^POSIX\|^en_'`)
|
||||
locale_list+=("${en_locales[@]}")
|
||||
|
||||
found=0
|
||||
|
||||
# set an English locale to get the month name
|
||||
for i in "${locale_list[@]}"
|
||||
do
|
||||
LC_ALL="$i"
|
||||
|
||||
# check that setting the locale succeeded
|
||||
# if it failed then LC_TIME would be empty
|
||||
my_locale=`locale | grep LC_TIME | sed 's/.*"\(.*\)".*/\1/'`
|
||||
if [ "$my_locale" = "$i" ]
|
||||
then
|
||||
echo Locale set to $i
|
||||
found=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $found = 0 ]
|
||||
then
|
||||
echo Could not set an appropriate locale
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Exit immediately if a command exits with a non-zero status.
|
||||
set -e
|
||||
|
||||
topdir=`dirname $0`/../..
|
||||
|
||||
# get the month name and the year, see $(date +'%B %Y')
|
||||
# then use it in the relevant line (one before last)
|
||||
sed -i "/^The wxWidgets Team, / s/.*/The wxWidgets Team, $(date +'%B %Y')/" $topdir/docs/readme.txt
|
||||
echo Updated date in docs/readme.txt
|
||||
|
||||
# reset checksums to a string of 40 0-s, see $(printf '%.40d' 0)
|
||||
sed -i -E "/^\s*[0-9a-f]{40}\s{1,2}wx/ s/(\s*)[0-9a-f]{40}(\s{1,2}wx)/\1$(printf '%.40d' 0)\2/" $topdir/docs/release.md
|
||||
echo Reset checksums in docs/release.md
|
||||
|
||||
# get current date, see $(date +'%Y-%m-%d')
|
||||
# then use it in the line containing "X.X.X: (not released yet)"
|
||||
sed -i "/^[3-9]\.[0-9]\.[0-9]: (not released yet)$/ s/not released yet/released $(date +'%Y-%m-%d')/" $topdir/docs/changes.txt
|
||||
echo Updated release date in docs/changes.txt
|
||||
|
||||
# get current date, see $(date +'%B %d, %Y')
|
||||
# then use it in the line starting with @date
|
||||
sed -i "/^@date / s/.*/@date $(date +'%B %d, %Y')/" $topdir/docs/doxygen/mainpages/manual.h
|
||||
echo Updated date in docs/doxygen/mainpages/manual.h
|
||||
|
||||
# get current date, see $(date +'%B %d, %Y')
|
||||
# then use it in the first line
|
||||
sed -i "1s/^.* -- /$(date +'%B %d, %Y') -- /" $topdir/docs/publicity/announce.txt
|
||||
echo Updated date in docs/publicity/announce.txt
|
@ -37,7 +37,14 @@ trap cleanup INT TERM EXIT
|
||||
cleanup
|
||||
|
||||
mkdir -p $destdir
|
||||
git archive --prefix=$prefix/ HEAD | (cd $destdir; tar x)
|
||||
|
||||
# We use GNU tar -i option to allow successfully extracting files from several
|
||||
# tar archives concatenated together, without it we'd have to pipe output of
|
||||
# each git-archive separately.
|
||||
(git archive --prefix=$prefix/ HEAD;
|
||||
git submodule foreach --quiet "cd $root/\$path && git archive --prefix=$prefix/\$path/ HEAD") |
|
||||
tar x -C $destdir -i
|
||||
|
||||
cd $destdir
|
||||
# All setup0.h files are supposed to be renamed to just setup.h when checked
|
||||
# out and in the distribution.
|
||||
@ -46,7 +53,7 @@ find $prefix/include/wx -type f -name setup0.h | while read f; do
|
||||
done
|
||||
|
||||
# Compile gettext catalogs.
|
||||
make -C $prefix/locale allmo
|
||||
make -C $prefix/locale -s MSGFMT=msgfmt allmo
|
||||
|
||||
tar cjf $prefix.tar.bz2 $prefix
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
Creating a new release requires a few things before getting started:
|
||||
|
||||
* Linux or OSX.
|
||||
* Linux (or another Unix but GNU tar is required).
|
||||
* Windows 7+ with HTML Help Workshop, and Inno Setup installed.
|
||||
* 7-Zip, Doxygen 1.8.8, and GraphViz installed on both machines.
|
||||
|
||||
@ -46,23 +46,22 @@ and then run it using the new DLLs.
|
||||
|
||||
## Pre-Release Steps
|
||||
|
||||
* Update `docs/readme.txt`. Please review its contents in addition to just
|
||||
changing the version number.
|
||||
* Update `docs/release.md` (the release sha1sums should be set to zeroes).
|
||||
* Put a date on the release line in `docs/changes.txt`.
|
||||
* Update the date in the manual (`docs/doxygen/mainpages/manual.h`).
|
||||
* Update the release announcement post in `docs/publicity/announce.txt`.
|
||||
1. Perform the following steps. You can run `build/tools/pre-release.sh` to do
|
||||
the straightforward changes like updating the date and version number
|
||||
automatically, but please also review and update the contents of the README
|
||||
and announcement text.
|
||||
* Update `docs/readme.txt`: version needs to be changed, content updated.
|
||||
* Update `docs/release.md`: the release sha1sums should be set to zeroes.
|
||||
* Put a date on the release line in `docs/changes.txt`.
|
||||
* Update the date in the manual (`docs/doxygen/mainpages/manual.h`).
|
||||
* Update the release announcement post in `docs/publicity/announce.txt`.
|
||||
|
||||
Commit the changes and finally tag the release, preferably GPG-signed:
|
||||
2. Commit the changes and tag the release using your GPG key:
|
||||
|
||||
git tag -s -m 'Tag X.Y.Z release' vX.Y.Z
|
||||
|
||||
and otherwise unsigned:
|
||||
|
||||
git tag -m 'Tag X.Y.Z release' vX.Y.Z
|
||||
|
||||
Don't overwrite existing tags. For non-final releases use e.g. `X.Y.Z-rc1`
|
||||
instead of `X.Y.Z`.
|
||||
Don't overwrite existing tags. For non-final releases use e.g. `X.Y.Z-rc1`
|
||||
instead of `X.Y.Z`.
|
||||
|
||||
## Creating Release Files
|
||||
|
||||
@ -91,7 +90,8 @@ ensure you have the appropriate tag or commit checked out.
|
||||
wxMSW-x.y.z-Setup.exe
|
||||
wxWidgets-x.y.z.chm
|
||||
|
||||
5. Update the sha1sums in `docs/release.md` and commit the changes.
|
||||
5. Run `./build/tools/post-release.sh` to update the sha1sums in
|
||||
`docs/release.md` and commit the changes.
|
||||
|
||||
## Uploading
|
||||
|
||||
|
@ -24,30 +24,64 @@ download from:
|
||||
* https://github.com/wxWidgets/wxWidgets/releases/tag/v3.1.1/
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
Changes since 3.1.0
|
||||
-------------------
|
||||
|
||||
Compared to the stable 3.0.x series, this version brings many
|
||||
improvements and even more bug fixes, please see the change log
|
||||
There have been more than 2000 commits from more than 130 contributors (70 with
|
||||
multiple contributions) since 3.1.0 release. New features added since then
|
||||
include:
|
||||
|
||||
- wxWebView can now return JavaScript results to the C++ code.
|
||||
- wxSecretStore allows to securely store user passwords.
|
||||
|
||||
Some of the other improvements:
|
||||
|
||||
- Strings can now be translated differently depending on their context.
|
||||
- Converting between wxString and UTF-8 encoded std::string is now
|
||||
simpler and unsafe wxString can now be disabled on the opt-in basis
|
||||
(see http://wxwidgets.blogspot.com/2017/02/safer-s.html)
|
||||
- Many improvements to accessibility support under MSW.
|
||||
- Support for XDG file layout under Unix.
|
||||
- Many bug fixes to the appearances in both wxGTK3 and wxOSX, notably
|
||||
related to borders (notable wxBORDER_NONE) and colours.
|
||||
- wxDataViewCtrl items and headers can be formatted using simple markup
|
||||
and it is simpler to combine to put items with checkboxes into it.
|
||||
- Several enhancements to wxStyledTextCtrl including better support for
|
||||
custom lexers and auto-completion.
|
||||
|
||||
Additionally, the latest versions of compilers (e.g. MSVS 2017) and
|
||||
operating systems (macOS 10.12) are now supported and all the third
|
||||
party libraries have been updated to their latest versions.
|
||||
|
||||
Please refer to the detailed change log for the full list of changes:
|
||||
|
||||
https://raw.githubusercontent.com/wxWidgets/wxWidgets/v3.1.1/docs/changes.txt
|
||||
|
||||
for the incomplete list of the most important ones. Here is the
|
||||
|
||||
Changes since 3.0
|
||||
-----------------
|
||||
|
||||
Compared to the stable 3.0.x series, this version brings too many
|
||||
improvements and even more bug fixes to list them them all. Here is the
|
||||
maximally condensed summary:
|
||||
|
||||
- New classes: wxActivityIndicator, wxAddRemoveCtrl,
|
||||
wxAppProgressIndicator, wxNativeWindow, wxPowerResourceBlocker.
|
||||
- And methods: wxDateTime::GetWeekBasedYear(), wxListBox::GetTopItem(),
|
||||
wxAppProgressIndicator, wxNativeWindow, wxPowerResourceBlocker,
|
||||
wxSecretStore.
|
||||
- And methods: wxDateTime::GetWeekBasedYear() and GetFirstWeekDay(),
|
||||
GetTopItem() and GetCountPerPage() in wxListBox and wxDataViewCtrl,
|
||||
wxProcess::Activate(), wxTextEntry::ForceUpper(), several ones in
|
||||
wxRendererNative, wxStandardPaths::GetUserDir(), wxUIActionSimulator
|
||||
::Select() and many others. Also new wxEVT_MAGNIFY event.
|
||||
wxRendererNative, wxStandardPaths::GetUserDir() and SetFileLayout(),
|
||||
wxUIActionSimulator::Select(), wxFontPickerCtrl::SetMinPointSize() and
|
||||
many others.
|
||||
- New events: wxEVT_MAGNIFY, wxEVT_STC_AUTOCOMP_COMPLETED.
|
||||
- Significant improvements to: wxBusyInfo, wxNotificationMessage.
|
||||
- All around better support for high DPI monitors.
|
||||
- Much newer versions of bundled 3rd party libraries (notably libpng)
|
||||
and support for GStreamer 1.0 under Unix.
|
||||
and support for GStreamer up to 1.7 under Unix.
|
||||
- Revamped OpenGL support better suited to modern OpenGL (3.2+).
|
||||
- Further C++11 support improvements.
|
||||
- Support for latest compilers: MSVS 2015, g++ 5.3, clang 3.8.
|
||||
- Support for latest compilers: MSVS 2017, g++ 7.2, clang 5.0.
|
||||
- A lot of bug fixes in wxGTK3 and wxOSX/Cocoa ports.
|
||||
- New experimental wxQt port.
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 7972ac101c1bf3dec560aa0ee8078701a08c0e16
|
||||
Subproject commit a0c31490268c5178c8b2273b19c44e64fb6c7dc7
|
2
src/jpeg
2
src/jpeg
@ -1 +1 @@
|
||||
Subproject commit 0c4f9b739f65966ac5ffc34c2a42f4ab7f21d92d
|
||||
Subproject commit e951f6ed6373d3c8d550755e4ec00adadc878aca
|
2
src/png
2
src/png
@ -1 +1 @@
|
||||
Subproject commit 5dbedf2c64e40544b5ab776afce509a961c16e20
|
||||
Subproject commit a016282f4752b1177da5722efda7e3045a4ecdf1
|
2
src/zlib
2
src/zlib
@ -1 +1 @@
|
||||
Subproject commit c7955ffb6e88050487d46928f0701d94e4f0dd32
|
||||
Subproject commit 1c1550729c409333f3cf4705a995c460599547a1
|
Loading…
Reference in New Issue
Block a user