Posted on Leave a comment

Godot 3.2.4 Beta 4 Released

Godot have just released a new version of Godot 3.2.4, beta 4. We have already discussed several of the recent improvements in the 3.2.4 release including 2D Sprite Batching and the new improved FBX Importer. In addition to further improvements in those areas and various bug fixes, the beta 4 release brings a few new features to the table.

Details from the Godot Engine blog:

In particular, this build adds optional GDNative support to the HTML5 target, on top of the pre-existing optional multithreading support. The HTML5 export templates now come in three flavors which you can select in the export preset: normal, threads enabled and GDNative enabled. Multithreading and dynamic linking (GDNative) can’t be used at the same time due to current WebAssembly limitations.
Note: Threads enabled and GDNative enabled templates are only available for standard builds for now, as there are other issues to solve to make them work with Mono.

Additionally, beta 4 adds support for MP3 loading and playback! Until recently, the MP3 audio format was patent-encumbered and could therefore not be included in Godot, but the last patent expired in 2017, so a MP3 loader and decoded could finally be implemented.

There are also a number of fixes to the rewritten FBX importer which should improve compatibility, so if you ran into issues with it in previous builds, make sure to retry your models!

You can learn more about Godot 3.2.4 in the video below, including a quick tutorial showing how to use MP3’s in your Godot game.

[youtube https://www.youtube.com/watch?v=sUAxteAiurs?feature=oembed&w=1500&h=844]
Posted on Leave a comment

PHP 7.3.25 Released!

The PHP development team announces the immediate availability of PHP
7.3.25. This is a bug fix release. All PHP 7.3 users are encouraged to upgrade to this version. For source downloads of PHP 7.3.25 please visit our downloads page.
Windows binaries can be found on the PHP for Windows site.
The list of changes is recorded in the ChangeLog. Release Announcement: <https://php.net/releases/7_3_25.php>
Downloads: <https://www.php.net/downloads>
Windows downloads: <https://windows.php.net/download>
Changelog: <https://www.php.net/ChangeLog-7.php#7.3.25> Many thanks to all the contributors and supporters! Stanislav Malyshev, Christoph M. Becker php-7.3.25.tar.bz2
SHA256 hash:
69315a4daa91e3b07c90eef86fe205c8812c4ac5ce119c9953ecc9f42e7702fb
PGP signature:
-----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl+87hMMHGNtYkBwaHAu
bmV0AAoJENZslZMRi8y2L2AP/i7Z/sqG25a2Y6jq6kkTSdLRqFYEejKVqtLWdaFU
NXWZj58u5ZkwG0+N0LFLAEnr4Qq768GDNrk7J35IdfWu8fYXLVBlQQ1p0gwUw44e
Rh3uzmdgfcVFwxT+9RTLtukEB1LLuiAcrm6QMemDfyBFcaLfd8HZqyn/gY4MaBnp
G8C++GQ7idAefF3yNY98rPoS9740E/yOH9U261x15EHCPsk7QtrJkf/AAdfF0oAt
RxWvcZmnmZtmMKgpqgUGkr1M1d8KDksfz+kAjhRRkFSXMT4WJcyFAOq8FnQL1Rpa
pgWKjHIoQAbaCYZeA3JJA1k1ri9ugeXOaOxmC75b/2nf+mNrh+EhHuhwwLz8QKw8
EqhitsQOvXPjof8vnPZoJuqape5RyRF5SlbkiavyT9b6MO0Y+nYDiEsXgDPaJmHo
0oGOQ73ddj1Zjxfey3BnIc2qnBQLKcjMUlLHaL7Fm80G+frho1sheib6Hxpm8Cq6
NylEmx7hCS74StiavGEaliO7kJpUichqlsSRfyzBSO76dMIoTWWl+O8xTSQJumFg
9uaVSwgBmGJoq88yzaTyLQH+za3iQaEsRuhhB5I7VbL7k0UlzoAJ7RsnFyWRkMHL
o2BaYGUOFmJWTGkPLzfzVQOfshDkR4S9lbLA9wY0QkkfRmKKL3CXeTSTiVOcC8zb
TzcH
=t+07
-----END PGP SIGNATURE----- php-7.3.25.tar.gz
SHA256 hash:
097c7a2a2f9189b33799d79ee5a8aac68a4d72696c1cd69c66ef5d0941ce28ad
PGP signature:
-----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl+87jMMHGNtYkBwaHAu
bmV0AAoJENZslZMRi8y2WjQP+QGyoTHV8kxgNbxPvhYSxhD3Sqg/4DMZAVjS6TD4
0v2RJFEWZuv0BFqli4IX2Aetw1WuT6fjfbet5URFhMNi7uv1zaOD6d/lO4Sl26wO
ejJvLP1gsq5RXvs7ww/RF3mpFfIoNWNwZgH1nk5xxVxS8oHkyIy7hj51Br3sxWjX
PMzi8GzsyhH+IsotF6LQfvDYCjHEeu64H8tGBcoKEtzJ3cjbBrNgevyH0JKJ9Xxu
4Gz2CXzYxy3q3LEOfOh53jqb2MTdtdDBuxg4JAggcMlzkgyVatZ0Nyk+gYAtiClF
pdfHbgIkU4TBP2fk4tkO1Ja0eX51LzIg3PdF/Wr4C19xCKKXWS1Nx/FPdaduKRCN
1cA/g9Mtq0v0lhwEWGSwP6qei4zmvqCMrAvJuSQLPup8X1Zdy4je78+7DleX0jZs
ZYxJ0mt5nvg5+HT23fO/SW6lvgdkuQrOf+vKivBd7xr0CLVZTOpDu3oNgs1ThNJo
Kha4ylZH9ov5BKg6X99cXj/iLo9ZOWZbGZzxvH6ojLOjjcLy+ym+5pucNCIsZ9Fd
TqSzgyQ2mT+QxSeS8eFO5C/WfZKBkaMPu//GkMUjcevvOAVYYH7mHau1IP+iZ/Yu
G2xoPIjsTbwLa2UGUilyMrm9NtpoJM6YXiUMM5oAcJXxPiTc56lNASIz5VTWssv+
rAm2
=z5Lp
-----END PGP SIGNATURE----- php-7.3.25.tar.xz
SHA256 hash:
c71c00ad03079efb78d1a6b8623ca4f725be697dbd9a46debacbcc9a2475f329
PGP signature:
-----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl+87jMMHGNtYkBwaHAu
bmV0AAoJENZslZMRi8y2FVUP/3yGrCOJAtmOlHTaEBEWzlVy+fmK+sBNQfmjRgNV
hzmCpSEQsX5+HaGV/ckXycFaYD3CToevPqpzfmtW/P6cTY2ZVoWLmPmTaZHd0das
W+xZwqTYhy8HM4Al72LsCH2qyQXJFpAs2pmNymg/x/DwN+WifRpQ7S4Q5tm+ZR4l
8XKPtJN36w3elrmKHdHmvs6jQzT1kT+A3DHVZ1Q6hrVdPnXwXGIMQ6U+N2HFcgoa
Oz9kpS4MrwAikXJJQ6gSp01sAVC76gh/8YBnXtoDobFIp271a3Kr34hX9bT2cp1W
1rtJNAU62s3LqaBYJe0i+8RPSB1ulDBiFmWJdJIQMTfdocQdZka99S8dsUhTUjGU
MMSQsPgVZDAEJOhK0zVZZRLM1CcX7A6JTtpxQODFcqnUx3sAqB12UTZPiQXaqHdj
0vr6QMHv11zg4lCnk++0s7tm562pl34tvoPrOZmWkjyb32DlV17OMQ705Mw465SR
6dK8Yk44f9BOuyo0bmL27O96CSg5Dky54UFOtZzSjVhZr8ylV5fsKE716SdYeyWB
OVNC+lEcKk4JA6rbiCos20wPNijYH6xJFStMe6y5XDZKVL5yaH9eQU/UwJ82DJ3l
+GhG6jW0WIhDLjX9bVATichoUUHm8kkXxnR9rWIOrxtE36kOPUXIDMNS18XQyHP6
st0q
=ftV4
-----END PGP SIGNATURE-----
Posted on Leave a comment

PHP 7.4.13 Released!

The PHP development team announces the immediate availability of PHP
7.4.13. This is a security bug fix release. All PHP 7.4 users are encouraged to upgrade to this version. For source downloads of PHP 7.4.13 please visit our downloads page.
Windows binaries can be found on the PHP for Windows site. The list of
changes is recorded in the ChangeLog. A migration guide is available in the PHP Manual. Please consult it for the
detailed list of new features and backward incompatible changes. Release Announcement: <https://www.php.net/releases/7_4_13.php>
Downloads: <https://www.php.net/downloads>
Windows downloads: <https://windows.php.net/download>
Changelog: <https://www.php.net/ChangeLog-7.php#7.4.13>
Migration guide: <https://www.php.net/manual/migration74.php> Many thanks to all the contributors and supporters! Derick Rethans P.S. Below is the verification information for the downloads, which is
also available on
<https://gist.github.com/6f80bae671f30337000f75ede327c65b>. php-7.4.13.tar.gz
SHA256 hash: 0865cff41e7210de2537bcd5750377cfe09a9312b9b44c1a166cf372d5204b8f
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl+82toACgkQkQ3rRvU+
oxLgKQ/9FhaSN3h9+3dK/WTr68ksNn77Xc1ZHdBBHURO6+rfMJrcdLU2w49BXc6/
+tv9bdCX1sMWWfpn/zcL34LRv3uMjT3ZF1CwEvLeVp4/2/vQmPHBKcmGRr2KHO1d
J81uKjxhMOO2+a3risPtAeZ2sPyECPB6rBKTCFbn+mqzONzT9fPGkNJHOLmnxFFV
GppK41FiN01+KKlZDE37dM+os0/+1qiPBfMrUYFPPGSiQLTIsyQd+ifp+hrVgAd7
x1AvdwiPoQW3MWgfjZbhOVqKXmTXpAUDEcKG9oDDjqCNTVK6kY4lAoB9EUOZz1Jj
e4o1YDCJKPN1cxyXdZWwFFRWVWrmUZzBeJK6x9lvz/XKavLIAhHN6gNaa123PRRA
nanpFN3vOA5ZvniY0bOaXuXOKlDE+w2rxKUKvofV+Q84nXUBrHc+4AZJUsOnrZJh
sBQAne3xdElRzAgTv09o0b5Uj4XFNAcsVAaus3RlDeptK3shrmgrhuHc4xnFglHx
LXQPUsFn21VJvDQB2ehojDa9eLkTUWx5k3QyKEogoHn9KJjv1wJcPyo6OXYA7QQc
e3E8X7rApjwvt8c7507H0azjtb1U1YsvALVkAR3kby+GFVjMs4HUlAYQMNe1RJXn
EM3eUUeMvbrwkBUGJ/uYL2aAd3SqSPaXBvc+a2qwT14joccIFKk=
=9q1T
-----END PGP SIGNATURE----- php-7.4.13.tar.bz2
SHA256 hash: 15a339857e11c92eb47fddcd0dfe8aaa951a9be7c57ab7230ccd497465a31fda
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl+82t4ACgkQkQ3rRvU+
oxLAQw/+JokvWF7rkG17mHrcW6ijjkCj173x9uSLIIQ9roVUs8M85Gj5FF85SG5+
N5SKAJgBoZIPrLtCpKI/9+2RsynE7NJ/yc3lCT7IsvljMkcz4HnrLd4W7UY27TiS
4aCjcYxoUCmgnOSCWNOeLn78sSPUpQffefyn+oxSHlyHwoe5LFRA9ZgZECCX5Gqg
NsPMbnxfyS8WHWsZWS7juU1y+ZPYXkNyh6DB1CLYCSDshyGQUaV6k1iKeReOihNi
FwnK+z8eiqel39xye+yyjkweCnYd9/GsdXc/rbKbAqavbRqIAKYaAJUz9KZ4Mups
gDfFMolZsZIIczMo8XavaBepcZNhCJwzVzoJLoEWzsR7KRkBpY9lpJuV6IbVrcWu
+WjpLFCrKBYHXl9XKskH5RIF4dLYVpfF4AhaSEGHPzYLnp27fN2PF1U3L/B0m3T1
4bL03SCvpx86eTviisF+r/nZJc7XNEnrxevkmyrDTdASYiFge7f+KRqj4Je51nbG
W3QVWRYDL63omX5ck3j16FpX3IVUDD5UoKvv4pUO1qVDq0bjGLpFqhIsBTYpOZo1
YL5y7H1b1e4H/Q4nsMfdrgTNL7i/0pGB7YGH13VZLz6Hlcqkgs7Eb9sg4OBsYxMG
m+u5DcxBM4h60grxd6jeDDsPB3A3NgzipCRpruc7Ygozg5rJ0dU=
=LHNd
-----END PGP SIGNATURE----- php-7.4.13.tar.xz
SHA256 hash: aead303e3abac23106529560547baebbedba0bb2943b91d5aa08fff1f41680f4
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl+82t4ACgkQkQ3rRvU+
oxIuVg//QAXeOXxVUQD/mHniGrdhA5SQyr52mz6KLGM7OQd970RRbz+vOfrGv08h
FgvJkuUuYXOs5hdkctBaPGm3PuGrj/51avW6kXJzsDRdOD8WqYZ49npdQrFYqH+7
XE2iNatGy0SgHVocG67xmxez9Gbg8oFF410rmDL90ZCSYSA6OwkaODMzFD5PZUQ/
nuuuWMU3HkKNk0kqXwVVobVvvjenvZzdKIr/RVWpa6nVQ2W3irZExkxmhgSBDCOs
HTxqeDtprolpJhsdK00L15a8qY0BBZgX6e4aDyjtvovKa8JbzDms3nNSzp8GJ0n3
Zy+wm58PkisSjJaItnJ7qwV+2vNWauhHd51TIdj/1WfdxD5+QOQoEzHCY04+WG6M
pcTtrzJm5ms6WsZwQSEV7/3k3uc05Itb1sYnvBmCtlRwIUcQ7ogbC6/yWhsUZL1D
HFapqeJyqpiC6JRw0NXKzqEEHzH2QMfK8B00W30l+Rk4YsdFodXLszBos5Ocaug2
XyiDtOqVuo97xR3eSq1D2KZlQpBTa2iyD2oT6YmeobXldYKOww6e16neCJny3ISU
T7HgtSRgybUyF/8ayaO5D2VzqgrtIDsPTV+gjq4+aWbe3BVjmGZoIwKgY15eZzaW
tUDOI4oL5wl5De9ZA+cWGnWtEa3cuFjXUpNdWv2KCoNHFiOJPVk=
=KMZN
-----END PGP SIGNATURE----- -- PHP 7.4 Release Manager
Host of PHP Internals News: https://phpinternals.news
Like Xdebug? Consider supporting me: https://xdebug.org/support
https://derickrethans.nl | https://xdebug.org | https://dram.io
twitter: @derickr and @xdebug
Posted on Leave a comment

Unigine 2.13 Released

The Unigine engine just released version 2.13. The new release includes an all new GPU based lightmapping tool, a new terrain generation tool, improved clouds, better lighting and a whole lot more. Since Unigine 2.11 there is a free community version available making Unigine a lot more viable for indie game developers.

Highlights of the release include:

  • GPU Lightmapper tool
  • Introducing SRAA (Subpixel Reconstruction Anti-Aliasing)
  • Upgraded 3D volumetric clouds
  • Performance optimizations for vast forest rendering
  • New iteration of the terrain generation tool with online GIS sources support (experimental)
  • Adaptive hardware tessellation for the mesh_base material
  • Project Build tool: extended functionality and a standalone console-based version
  • New samples (LiDAR sensor, night city lights, helicopter winch)
  • Introducing 3D scans library

For further information on the release be sure to check the much more in-depth release notes or watch the video below.

[youtube https://www.youtube.com/watch?v=AmPl2B-pyQ4?feature=oembed&w=1500&h=844]
Posted on Leave a comment

PHP 7.4.12 Released!

The PHP development team announces the immediate availability of PHP
7.4.12. This is a security bug fix release. All PHP 7.4 users are encouraged to upgrade to this version. For source downloads of PHP 7.4.12 please visit our downloads page.
Windows binaries can be found on the PHP for Windows site. The list of
changes is recorded in the ChangeLog. A migration guide is available in the PHP Manual. Please consult it for the
detailed list of new features and backward incompatible changes. Release Announcement: <https://www.php.net/releases/7_4_12.php>
Downloads: <https://www.php.net/downloads>
Windows downloads: <https://windows.php.net/download>
Changelog: <https://www.php.net/ChangeLog-7.php#7.4.12>
Migration guide: <https://www.php.net/manual/migration74.php> Many thanks to all the contributors and supporters! Derick Rethans P.S. Below is the verification information for the downloads, which is
also available on
<https://gist.github.com/e39eac7aaf81bcf453704ea47cde2b2c>. php-7.4.12.tar.gz
SHA256 hash: f056d74409a71f17218f76538c6a2d7b59ee99db9db7685fa0ab9cd0d4c0f286
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl+YNrYACgkQkQ3rRvU+
oxKi6BAAvPpyYkOwlqIYGvwh/CjfZnsrUCJhPAmXGRrhZtYOFxOw/9nX9smAwjA7
xwUB6d4jovU1hF5TRCfuYzMceQyWO/r1tc1GH1EVgcJLgrhh30oun9RD4iQDoe7e
2S+HIWPeOd5/HgySKbW3LVRqtHcwPZs/OO/c98DgBjWzcZ2xo+tCWwoUMVJFYFsu
PQiw6aP79wr2hb8OsW4IlCp6yEp1IIM7qExu6928NxZC1EaXdZuFQRnhULokjG1b
Z/73BbLwN0S8OTDky0/efWo0BuwIXC5FuHqREXkBAOX1aGSMNeRulA7kz++CLl48
mKjJ2QJoMu61rrn5YQF95Wq6o5zFuZ3qp2F8d/Gg0vw701L02G13aKqOOP+kGRyN
KXOzBO4IfcHFRC3REN3R5Luq9kF4a8BvIdVbBp1Olveo3P+j/ap6hHzWIZH824LV
6EtnSnnaie5RHC5bZjxNxD8fF6fJxt24bTVkSxrkHVvLtv8aASzZAR5U+YDqiaG6
QixLfzrh/LJIVzu6OZB4xwh17kMHGiKJsYFgCarQa+OpU2JAS3VGPxC3bDlxd6Su
+7cdOTRt63Ynfum/RV73gOM9ev59vShcJ/cu4QtNaQtwCfx8m1cK54SqRr0PKtkH
AGZm7R2bgbvNSDkkDKrUtCytPaQsi8qhJAp7e92yizKa2ObnqJc=
=zrqR
-----END PGP SIGNATURE----- php-7.4.12.tar.bz2
SHA256 hash: 6e6f73cc239edfc462b56a45724019691f85b57b7492e1eb5b4b60f7faa19967
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl+YNrkACgkQkQ3rRvU+
oxKtixAAj/AVdpf3WxaVnGw1xAWl1JCiJgE5tNdeIjfAyf01fI2e+EGM/pdRJ7UG
P8qt6i5v/E2GQZtM004sGGTY2XAix/vLSgizAqUTUopRQEkC4nbPvTFNyVn2DUXI
YTitSw+dRJ8HlpDKqAzqYpH9w1f7vC40zLR/X9ERds3CJ04Rac8DDi/dgxh+1q+B
KkuSMV3OpwKBUh6xlMDoiVyb921RgwhwulaDj5udVSnkm8piN3PcKvvhyu7WH/dT
HG7fs4LKLbeJtMA6L3G725TyA+geW/hlFfJHLY/H7YZHxCrF0oDBWGlVizjgO3p6
JPlaUKYmeH488HOYSD7S6b0/tefs1X6gDWIJIZW5tQ73jv/2fTgF5kliQlDQ6fFC
mujaeyLvDK0EgwvXUrBVKQKdLXcQH0EygCn7TF1kTub08wG4v/+EzxMoq/vqYHXo
V5Grxgz5+/NT4KF3ZDsZ6VIfoL6WyYkEYNfgxwcuO33cjJHrlChrYi+4OQIQCT19
ZxtdBNBNf1n2YXodlILQFlqBm0EHW9k3MktjNXZ4cAHh8aFwSLmqRUnHOCRW9/7F
NHplRvGQHS+w4ggEFVDe5mQFXX/LgOUkq0nErl0uk5PjxJMi4VMUEnDh220UccT6
4cMuMZmOgLNkkW8WtSlzikderlkD54s9FFwFDvaEN4xpY/xYq6w=
=lqLU
-----END PGP SIGNATURE----- php-7.4.12.tar.xz
SHA256 hash: e82d2bcead05255f6b7d2ff4e2561bc334204955820cabc2457b5239fde96b76
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl+YNroACgkQkQ3rRvU+
oxIQCxAA2l1lfKBzzbBU7ixiY7Cnf9M0pX/WqO2XKCfhJhyysJl+siKhhRJ0dt2j
VkgG6ZNA0z54WqHYVhpZfkyX3zZ8qTEP5OfrHOXgsECbEYn6whqYeJeLYHWDXXsD
9yq5zKTWFe/1vNb3NF38MKg6nYAIGip1pE4pNVhpqioECXCYR9ViQ6OjpRbguHDP
/ezjyC2/mVnXb6gO9yGgdadG4qMgB3YvByMy3s1TGfI9x1TYa48xpppA9aEJ82rA
fYKRWGdyVZ6F8raTRmdDyaZLLSgDKJFX0nAIdhh49B2XtHgLt3Xbn5kB9Ara9ZFx
aMylNEnAHJYteKxaCx1bPHzmlB9O/mM+N3kJFl+YYGD0Gw01VsnGQDv4bjp91cIj
daPyUlQl+dksCo8u8d7Q929eRr9GfHVlj907mU+IL//wPB9vsGKO98m0tjZG+v1z
yG4lWlfZVXdRq+xd0+5CoIrO/Tc87qoKIqV+A75AGGJxBiZw9quqMBHo+fPoOU2n
0JBymeJhbeUfUvykR49dDdoyroAaUEcbkKKtK0kgo2m5ZDaGdF+H5y3WQfRYVmr7
rtSR6eM09GrdqlK+GWme/7weDPR4wD9pdg8Tt7QXpqAPACWZXPSh1T3CVyUWpxW3
wjgkNZB9tMSTNVE/4TOT0eYX6IuIBdff/KxtTUEKKt8nhsOyq74=
=04GU
-----END PGP SIGNATURE----- -- PHP 7.4 Release Manager
Host of PHP Internals News: https://phpinternals.news
Like Xdebug? Consider supporting me: https://xdebug.org/support
https://derickrethans.nl | https://xdebug.org | https://dram.io
twitter: @derickr and @xdebug
Posted on Leave a comment

PHP 7.3.24 Released!

The PHP development team announces the immediate availability of PHP
7.3.24. This is a bug fix release. All PHP 7.3 users are encouraged to upgrade to this version. For source downloads of PHP 7.3.24 please visit our downloads page.
Windows binaries can be found on the PHP for Windows site.
The list of changes is recorded in the ChangeLog. Release Announcement: <https://php.net/releases/7_3_24.php>
Downloads: <https://www.php.net/downloads>
Windows downloads: <https://windows.php.net/download>
Changelog: <https://www.php.net/ChangeLog-7.php#7.3.24> Many thanks to all the contributors and supporters! Stanislav Malyshev, Christoph M. Becker php-7.3.24.tar.bz2
SHA256 hash:
55b7afbb2037b0f8fefc481a85f8df4f7a278b4b7f0ed9f674c50ec389cca598
PGP signature:
-----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl+X/wAMHGNtYkBwaHAu
bmV0AAoJENZslZMRi8y21YYP/ie3862f2Dm79v+mRthgDoEDOXC+bG8sLDj6rbHN
e9l3XW7y6cOWuYoVLmMEZDYVc4IGU7VPM4s/CIO6/GLoE21yrS21IXXZdeXo2rnw
tpYvepA/d+Ffd6sHjGa/qJ/B2kv980cih4zvIyKhfsCSJmrvZ1J4mZzx5VLi6jpz
atO13dyRR/x3Ckvr8Y8c/+CnP+rkgvVG1U9BO4gHQy1oK4RWrr8hpPhgEk4+RRBl
tDc/dxrss8DmehEO8djKYx/8i/VzY/qOLvOwE0FnSTWBu9blAh4q26qIaNgzogtt
fkLktCARyzYQrZZNknE4DSTC43u5idnBn3LxzeGAZ59ArgrgyhDT8++wlQfF8X6D
2k9bS4aS92DQ+Lue5fWAIpXDw1zLfVldGG8/lVF8e8s4IOKd7Paj0lSfMpU6remH
aCRvZWZufN/BZsgEf4YobaihDekisjm48gEBuekEIrBZ0AEKR66z/P4MxLmNhxOz
XvPqHg71/4z5S4tZ27VTV5OtYRH8WSH9C0qyftS9FY2HhXgx7pXfE3qoAXFwNteu
vbcf5Bj0aoG/PkZwVjXwgd+ZGyRQPmDZ9MuWt749HWPgnhp7EZx1bqRAHKU2eEbQ
9AvLApeoh25FbLOa6qlYIC/vWpWu4OeoUWPGDCF5WGG714wvlV0O03opV1ViCuW0
/DR0
=bQfM
-----END PGP SIGNATURE----- php-7.3.24.tar.gz
SHA256 hash:
ac06577e2aeb69d4bed3c1532ed84a548f01399e5481c144c3e61d146be8ced6
PGP signature:
-----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl+X/wAMHGNtYkBwaHAu
bmV0AAoJENZslZMRi8y2NwUP/0SSn7ikrFmBcQm02x4VYmhGx6N/bnfx4Ujkh1v/
cHK+nE//MiBDfQ2jsxE9bssq5WjzQfBWDymqwqsp2A1lszJFtrVzM3yTSqnf1fql
ZEH+Ow9TeI7B2GLK6wT0lsTWxcBphxwwjeR3FoExQCNCq2rxZk9RZjcpTy0Dqs4G
YYbRJ/E/LBgmw8tDoJpkFexsBMmPJDcy9AiLiBvV628Mxbzt+pN1F29S7eyULli0
P/qHWD3XcRDhOXvSQkRO9gOOdNRPkrYyAsjUZSMDFTNPGmnKhzWZIVd9hbCre+d3
3WgoCrSnAgLHpKku9c6ia23132NYHE4fcvsaulwX4Cty8ZqJDS/1arsX5sJ5qsp3
/2jfzk3K5d3IArdjU8I0TFg6td/TaSWfwYEVUJm6JhOBxToAxn83Q/LbfeSeztrG
iQ4ziRa2hLHUFiKsG8o05oaMr8m9Zns7OzqLJfLk4zCPHMzZ29crNi306VMrTUrp
SUnGeeSl4slJ6BiSUDoQPU9ng1IT+HTkO+Qyo6VLjTg+ywGd3dKWKEUj1mfD4Act
FfzKDjRR9VZMYE6KQnAsF3EUJB5ASuidoe3kzTiZQkQ/q69BkaIwqRLRMOWy8egP
IxwncTy/JXgppWsRj5CasNmYFEHXloxvf8dJ2Pqi8eSfX/JX7F4MFSx8trAWouBa
pd27
=ZVuc
-----END PGP SIGNATURE----- php-7.3.24.tar.xz
SHA256 hash:
78b0b417a147ab7572c874334d11654e3c61ec5b3f2170098e5db02fb0c89888
PGP signature:
-----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl+X/wAMHGNtYkBwaHAu
bmV0AAoJENZslZMRi8y2vjYP/izJMGtDVIy7OElSRbvXZpZk6MjfxLJ4hPiTbbFn
Y2y8ETmmKEmtVflGsjdfAFV+QHR2I2Wnf9fczV+G8SdSEKTnj5JiIREi/yHdVfhm
G3XDznYiyD3L2ySQA5vPKOn2F5+UtY110+uxGpuRKrKkY4dpHkqm1e+Rtj/GLFhw
+VEOkrZZerA3+tACI/xDk9Fu3XMwjZay9oYbKI8q8//OIw+Z0rw53iHzXtvCapsd
Ylbqu8ttu9a6PrB3tMWt0KstOB7CjASrQXBeQGnooKBayueaISeU6dZ8HQkZQxz4
vsM0JdcarG0T6v5cjlurQp7L5OMW0sKKRCSbW2dPCJ3BFpKAk1ufFfdB+z5K2K7r
FlfVEULVeEesz2z5EGOarCe+oja4agLG7jmw/NJmUoFqDiQcv9xkV1Y4gaCY7geM
d23Qj+B6YJl6g3sLK+tWi0ZSrmdAoPdNw3DS0eH5pstoyZoZIh0rgoqEZgDb/uEZ
MkoHfxJ37zZLQCOo1YXF1FzymfVl4dEcY00uJp2ZcJtNRRSS5TNcQzDfjArkQeiD
ZlQVCA7+60GGkkaTL+99Vd1n+FmCfUoHlh/E0hrf5bAu56CJ3jw0xLi+eMBFdxWe
gGmbkHAsmtYBWj3OodwuUntlydGdn8uqD8zeOPt6x/w9iYA872BFLlJ2na7UgT3x
rqn7
=x2tq
-----END PGP SIGNATURE-----
Posted on Leave a comment

PHP 7.4.11 Released!

The PHP development team announces the immediate availability of PHP
7.4.11. This is a security bug fix release. All PHP 7.4 users are encouraged to upgrade to this version. For source downloads of PHP 7.4.11 please visit our downloads page.
Windows binaries can be found on the PHP for Windows site. The list of
changes is recorded in the ChangeLog. A migration guide is available in the PHP Manual. Please consult it for the
detailed list of new features and backward incompatible changes. Release Announcement: <https://www.php.net/releases/7_4_11.php>
Downloads: <https://www.php.net/downloads>
Windows downloads: <https://windows.php.net/download>
Changelog: <https://www.php.net/ChangeLog-7.php#7.4.11>
Migration guide: <https://www.php.net/manual/migration74.php> Many thanks to all the contributors and supporters! Derick Rethans P.S. Below is the verification information for the downloads, which is
also available on
<https://gist.github.com/3269933e5ea87e51ebe9c4d003527e99>. php-7.4.11RC1.tar.gz
SHA256 hash: 0341b128417cf22acbcc5df9491af43253d28e308577140b5fdde3f54806a817
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl9ge9sACgkQkQ3rRvU+
oxKPjhAAp6qauVYzv39IpLWBfnU7gmy1kFSMDCLAbdiBQxNBL0tjoMMSKZyUAZKv
q8xqyAftG/IkpjbgnYDM3qrY0ycHCKxdVFvliC60Svw9Ax71eeyB13BgpGTbSlN8
Ykvuvcn6laSiD5H9Z2h7Aq2lzHIwpQpYk8hMXkWz6D+QANXOghGCcekmxj6xZNel
0TtCaoRjgz689xXwAEBfxoWGsIycorkGTUqWHjCZk59WXEdbors3Bj3AJFw5l8pT
xq79o1e86nSc5G1VSzqljW6rheo3XQ+t4MrfoVgTp6VfK+fQtGdiogWh/OVYxt6z
00cnsQ5idkouKACIBFDaCEJ1U+OvADhsPm8LwJ/tjteSzJov3JA8PcVxmEgdzCuH
llyN02UWlk/XoBXGtQxJLzKGDy69QYeRn3C/kLLNYVxKnPRDbOnbkI55zXHJjcpy
g84NljZCSgNw1wcr5/SMK8OIMNbeoQCB82pTb2k4L6qt/NR3WIj4zPdBLV/87pkV
iKXdVLi++0dE+7CAPunDLFWd7NGBni0sZjjXMSjpgpqqOwC9yGSWo+WYsKoEThZy
nDo8kcj4HMrRXcLzLWQRZ++XEtkV7YOES3wLmVfb+Cw7JY4q5OROL9EH8NHmv8+d
3YZetWgyOj9y45qjuLyVFAKgZeU187s+hwdt/iEJBHElWq5Z2bk=
=OqAF
-----END PGP SIGNATURE----- php-7.4.11RC1.tar.bz2
SHA256 hash: 291401034e42496b9b80ba630120c1782f28c98894050fefcb94b7a910b4d019
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl9ge98ACgkQkQ3rRvU+
oxLsTg//WuYboM2uaK3cUhG9qjdvVKJU1tHBKYONTLB0qV8lE82jU5czYYKHeQO2
unqyz4uVUmncr/vN4RyzVTawyKLjXaTQNAu5pn00az/8GND7uE+Dhqo7dfw+IBrw
WA0+CSCF47/NM3rExU2gNaZJswm7wtraKRkiYl+JGf7qEqSxCXUUZsb42Z+PP37k
Z7iLUxbHJ6Nlisvi6cg0YEm9Rp8uCFrOt0ur4lXSwfDdmSSYVDELe8+dwhq5oB2B
xCrMXrWHJogC36MmwyQrQBwsi2aEGEG/SWjS90fNn3cMKbWxGynF6LeKpTWQ0Jvm
mY+/wCWcV5HMLKS70uIq59tDlI7IJetLxsaW1rCrgnuPSi2doE+r1IoWVnqTeNST
o7o96huvfA5TWa10Q3Gphkz9Y3ZXWYkCkToQO06tTtSbXp9ZHYQICxMUJBdFU8Sr
zqzpqPK5B3E4TgkxTszF8n2ET/3EQIcnqL8hT9zr261YK0ol3/OCWK5qOA0qo9Ch
f4SnHO7hYlCXISmBzWNXgvtj4RsuFrPPHNHALiEYFSQx7smo4Ny0Qdrh2ldSt/Wi
YxBCkab0ruLGc/sNNdDjCX7GhV/WJjOQDRHPnT5MwIsOVpg+04R4cGwy246b08mD
oCMpzvrFsh73SrTsGWb89FMZzEr0ouaQTNBbcHYEXOkFJmwq9Bs=
=HqZY
-----END PGP SIGNATURE----- php-7.4.11RC1.tar.xz
SHA256 hash: 127779bd18978a65573befd7166e560cb2b114313b9260d52f0a6dd370f66fb0
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl9ge98ACgkQkQ3rRvU+
oxLjjA//XUteINi7VRQgfHGSAWu4IvOXJkki4ZOJ9hQ+jfincswS+/l5TgFsmIAO
ys/HosiFA9H6BwxdTqnfiA6W0aH0cEhA2jzkNA3r9XSRX996QY34Yf2W4jJhNfMx
xZ/g9S47yLo+S9ZNn8PibKbDD7SDJgJwYiaFktxi7mrOJAuOy6HjKD34NTPvBemh
lEuN2iar8DPnRvGWbfHR3x3MFdeQY0JIFBwE4HifykJM+rG6dd2c4SMHoB/Ruk4/
nHu3e56jFhcObWE2OBk14/NCaw7+uZ7QXo2f9cj1aKwGmFEyd833NoaGQlrV/Ssw
8vAuulJ9P9ffd0eJBolAZLY+jHs8qFn9WsYu5BJ6PZNaU9tiRcR+3X/VmTqX/mQW
lVmacIGibYgYxZUHMD0tz6uocwxKKqMfi8zAnefV7vbIcyJ4oWXQxzf/5DP1pGC3
teBmJD84Uja2d7FbQMb3ODpYkPo/MYVy6stAVLa0rWLJGKw0O454WzfD3E44B3Yl
Hs0B3USEhWUaGhvTCpnoLshRd0zHweqvAeVQE54CgmzV6TGxMlqTH40kIlDj4aAF
tp2A0rZIm7pFtincqh870+sVX08bAJJF35PgjUYq2EzhO51smyDA5PKgXWWlDlPW
zrxmoDpV3z3eH45ThNVl9+jAKnxzibkaHCCqtiGgxiuhzNPN7FA=
=elZr
-----END PGP SIGNATURE----- -- PHP 7.4 Release Manager
Host of PHP Internals News: https://phpinternals.news
Like Xdebug? Consider supporting me: https://xdebug.org/support
https://derickrethans.nl | https://xdebug.org | https://dram.io
twitter: @derickr and @xdebug
Posted on Leave a comment

PHP 7.3.23 Released!

The PHP development team announces the immediate availability of PHP
7.3.23. This is a security release. All PHP 7.3 users are encouraged to upgrade to this version. For source downloads of PHP 7.3.23 please visit our downloads page.
Windows binaries can be found on the PHP for Windows site.
The list of changes is recorded in the ChangeLog. Release Announcement: <https://php.net/releases/7_3_23.php>
Downloads: <https://www.php.net/downloads>
Windows downloads: <https://windows.php.net/download>
Changelog: <https://www.php.net/ChangeLog-7.php#7.3.23> Many thanks to all the contributors and supporters! Stanislav Malyshev, Christoph M. Becker php-7.3.23.tar.bz2
SHA256 hash:
fd6666ad4605508042c6964151379475daea36c43e03b11b1e79d4ae6b04c04c
PGP signature:
-----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl9y8b8MHGNtYkBwaHAu
bmV0AAoJENZslZMRi8y2GTAP/Aq9Z+ChPy3opLePbQP0JvR1QBT7Ocgo9ea0CkH2
c3SOXkPz8uYDMPuSL0avf9vA1LEVjTpD4KiTAju/Jo4bW3m7g820OzjRmhoH/rqB
IRD4bixlrf+cQJyg/3Oq8Y7Gvw7F5Kp7IhgHq4UtfT9zrsbJpWyohWymzd7Od/3W
6Ojoaeq/+p62MkA65no2mUic+ELG0Z90lO1eCJVskOATcIKUCCWUPl9aYzI3uwHY
cR3h9oAi2ab/JUxLIt1cW49/hRKWkbs5w2mqRDc+KjGCS/z5HLlTr78wUoUuBSzh
0ejgZQxnRbk93g5/TOg6P4wQIr4RSt3QojkXwHJ8daqeUkFlwq65vVVHQBdxzx45
ySCANnhPAWHEPNVDpGOCzIcmtgGzLk3ILoqJ4NRIlp7cN3qTAdNW276nms/INwIW
QGF+iIfdTRTcUA0fViWMq0b/qxvjJfaHwnhHA0v91+VwZeaLdQmx+fuXxtOe9SrP
5pTDLRrQak4ek5sN8lvai2U6lPHFC2SecIW/CDfvXca5eIpsHAIOUqm1LSabuneg
pzVDf09YrAhqsVAt6JaWHRDS5sNkRHslk2xlc4JqHQGVVDhgPg34BhlaOduhnmw6
LPKk7Nr9RmvK80VnFjSAEaovsAdc8Ws8vqYWXm3lhoT37Bvtfly43VSe9VuD8pNP
t/0u
=j5wS
-----END PGP SIGNATURE----- php-7.3.23.tar.gz
SHA256 hash:
a21094b9ba2d8fe7fa5838e6566e30cf4bfaf2c8a6dce90ff707c45d0d8d494d
PGP signature:
-----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl9y8b8MHGNtYkBwaHAu
bmV0AAoJENZslZMRi8y2N9cP/0DzFyHCtDGYnbXI+VwCXTYnzfoBD1Y1SjvXmAdy
Icgczy9Mdi4w60LVmNRy/dEdQrd0xwCiLWuIs9c5cayg62Yi9EuwVrP5Lqn5dZQW
tZjhC+a2Uan/9VUGpGf/Bhfe9bP5ztt1mInFjtBGiqcKGS9guLIZgPq9QqNGsJxb
CSivYsiFQfVKpuBk73lNJ6nx6XETVp+VtQxd8h6W2eoSlKg2QLIR66VD3dhVTGdR
+dp/8KSK+VKpz6WMZh+3WZv7pr1Gf8oCehDDxc5YeFVgJ/42DG27yZ8NdxJ3CUAe
aEXW8KnwzKrHK4N97thUUe5aKS9MfSD5W8NaP0pCk+21wv743B49hBOtrOP9oLw2
NZX2QfR5OvF06lQt1KCVoPKYvuFSb/iH8xYGC9C6tPhF/IpGzL4i/OscaejkUx/r
tHWwxU4UPwAf5+ijvN8k5djHS5yIe/sFdOAI5sgKKUucaZvkqvT85uafq9VFgHrQ
gCEZlZi+okUmU33CShMm4JACT4BwVha0AVD5SfDpGLLsutTs8PMkwwuel0AxxtNf
ac6OE7Duk2NMcVXPKQdBve5fgZiE3iF3TaRasnN4GaZzF2JolyMNasU31VSDNLpI
jGRty0BvacjpuGMjJP6WEZ28lgTlO3jNonhD8HrBLP6zARiuROiZwrodZujuxJ3m
/J+2
=RfU2
-----END PGP SIGNATURE----- php-7.3.23.tar.xz
SHA256 hash:
2bdd36176f318f451fb3942bf1e935aabb3c2786cac41a9080f084ad6390e034
PGP signature:
-----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl9y8b8MHGNtYkBwaHAu
bmV0AAoJENZslZMRi8y2ndkP/RZStW3W/qLdvDeoxQR35+446xDp7aI1Q7uPurrn
ZkRhJP6lND11fRj7cCowJ0Mn2GgWB2jXxwKTAtbGhD9mwb2NSwcYTXR1/CatwXCs
vu5jwfez6aBPn6kPtZ2+97eQFNI6nVzEX2+d2CUr8Ep3f/8Mqe75XGhfWlNk87fs
zRxFRPoI/crSk+mrL67zNovtuOEH0BDc0QSgvcPSM2EiT7WsXGaZr2J8/VqRy0EH
yW8pPWHnIwnJCne7snnubrtQWIO+nn3yy7P514Ldd0RWBrRyOLChRoPfvwql+6En
OQ8wLIx0EpfyUUndwDrgKr+MTREBA2ODSl40Z06thIr786CkmXS5LTAVu7G7cJOL
nK0MMwHF3iQjWFtNdee0njd8PmW61zrVngooj2G1PpA6Grq2yqQqCb1VBSph4HN/
NTeSVQ0K7NlW0DXKsdG9FfyJM+N+DzGAlS6cMTOsqMmKHUyMp6b02FEGDUPgj9VW
aFBckO7LFzdAZqnv0rv0jdxKe/qKwuZuxsq0EkOwSxEYdIjuGycSeDOLgnfo8vY/
DPWZkPNe6yfhSusz5QN/1Dj1nyEYVlYvoANPCN5AoPqIwnQ0tMS2VVGspH+J0ZIF
n88XBCK3w0it1MJsGADyetFbDSmaVFG6MOKALJX23d32ASwbMyJA7clOmBhg4V0m
0/wJ
=/dnY
-----END PGP SIGNATURE-----
Posted on Leave a comment

PHP 7.2.34 Released

Hi, The PHP development team announces the immediate availability of PHP
7.2.34. This is a security release. All PHP 7.2 users are encouraged to upgrade to this version. For source downloads of PHP 7.2.34 please visit our downloads page.
Windows binaries can be found on the PHP for Windows site.
The list of changes is recorded in the ChangeLog. Release Announcement: https://php.net/releases/7_2_34.php
Downloads: https://www.php.net/downloads
Windows downloads: https://windows.php.net/download#php-7.2
Changelog: https://www.php.net/ChangeLog-7.php#7.2.34 Many thanks to all the contributors and supporters! Sara Golemon, Remi Collet php-7.2.34.tar.gz
SHA256 hash:
8b2777c741e83f188d3ca6d8e98ece7264acafee86787298fae57e05d0dddc78
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJfdBT1AAoJENyf+NPuWvJ/40IP/29rWc3h1/MyopXjuUn1w1T8
JVGtQ4cJYujlWDe2/NkNwClEFkTbvQMMdat8+B0GuONvw93+N6EGmkJlmA6KRGiN
wn600x4m45eTwao2MjpQJILgmHgeLAtG9JKCUly8PZCkfetbI1i+r0qrvtB+Z600
nFPX1PUaRdeo9EeM4Jfey2xLwuVgACYpWlY5oWjaQRBkB736tqdh7ZYtyCHh21F6
oEF8kaRdXRynWNKGTSikjFx4eMdj0z9sU7cAkqkLCUg2QJ8xumPpiTrzeph71iJE
eQoVspcCs8AkRECW38YrL9FJD1HBe/0BA5IzLxtnBhq5N01wCGnWMKucRf2KqARw
0LFjqIgT/W6R9+Nq1gw5yrQQAFpntpINwtfmN/89o7LOPGKE1yhJTLS1r2Sn4+dL
ZGeNy3b+BRJdTp26mfNQiEXXuYMsN7q8Z+OocP90lri4gktNuL9maKtew0z8uVYX
7mJSFxhPyn+8UOxtowtljhT14gd4p4/DIuI91IgpX+OxkIN0dcPE7JUIbACNDVTf
liGHtcSCl3+yMlc+Uk1EIkLSCdr/jydi/SAlLNO8miGZj/BEV/cEhwDKAiIeUn+U
AgxqkZQhk8cKhnjmYiYVGIwoOgZ/a6JO9EhsV6jKPB9HOPc5PJ2U0oKjLa8+Pq2R
6EsTFHet/oCL6AA8VvUj
=5qT8
-----END PGP SIGNATURE----- php-7.2.34.tar.bz2
SHA256 hash:
0e5816d668a2bb14aca68cef8c430430bd86c3c5233f6c427d1a54aac127abcf
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJfdBT5AAoJENyf+NPuWvJ/lWEP+wa1Pqr0l79zEC6Ca9D9wPtC
TdJFCSNZ+D6htPJ4JekQqdWTh0LG093InylPtnWPY/WeVNCBkFYyxOcsuCCQO0kA
h6ti8LJhBcm8L3GWOh+NRtqCkjyzXOlVM0np8j6Tc4hC4Zf4cu6g6g3LxHpjVwjN
XbKyYrPLnoyhKpcrJMrNxYdKrQA7ZC8kFd+R2+siNrU38F8LTWO0lve8STxWOLAQ
lOqkScF3U7SaKjjHa5uPOKSziNX3EaPHZ0/Ny4zau0xTVJ9SS0Q2N69F2x4RZMiz
R1XguF78ywbD3MTGoxUsIJJNIzow7dPA3HodpSDmucweHtZspqDW7yrvG0A/cylC
tDUFPlKH1SCI82ys35cATrrwZ7k4ZeBL7bYy8z52ahQuhJYNrFHdQ6rf27JestMP
VQ4Zu3plVkmGbTf4G260ANSPMf7s2ic9ydl22BGJT+rsNU5xhiZQKx6jtCcRNhVf
PC/vx3XVDYGll1PG3a9LpOh9P0bx6ZuBZxisRdvpQQ4DUQDsm+GGOkB/1ioI+uMI
duElGFiM066/0MGfuV0u3T04clD/4OIz2qBN6jOpz02LQNBymz6V08R0lbBGZaNp
LP2GBbDYZDJjqHfusGb6Q9mT90LQ6Yn7k7Mjx3+YjLesUOPAHgEOWr2ytD7MRl0i
Fm87SKodoKUOCLiO8Jo/
=i9lE
-----END PGP SIGNATURE----- php-7.2.34.tar.xz
SHA256 hash:
409e11bc6a2c18707dfc44bc61c820ddfd81e17481470f3405ee7822d8379903
PGP signature:
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJfdBT8AAoJENyf+NPuWvJ/4KMQALrAHu6YRwhslzec5jFHqfKO
c+Jo1RhWlAlZHBkUXXHvsrOwBBjzRUC2FITfsH6CyNXUhYTEp/XHg+gupQBsPeM4
ojYB+omauHYPgLgsvb7U0seqDKUzccIQdFgJkN7JxhjucTkdEiDmUsgkzgtbbtiy
R4j+N+/5m82VM0kmK5gc5Yx66mtvrHvYGZza3Lixvk1R/R/cDgcsF2ArOYggBqIl
IykVD6Yto2A4gUygJ8nObEPkUOQqTwXhvvHc9eqb3xXae4biRgzsdLD3/z6g0np8
sC9ZVweIf8o/htWYHQgzfmKty5I3yuqwlH1S0iPv4mnJ7aY6hi7XK/s7gypyHorp
x4ihe1ghMZvDKc03iz7QUx6jzpKonX+jX2u8Axgjyx/714ndlvrKCJYVBzwNXQUv
I6TTHOp+Ix9XyZnQP0HCfkiBjBL2PZPGiRtt6msjVhyuwTZt6elNEUBR77jYuaDa
UYu9i1RnIExPVo9wcnVFp3kq+X6/VTlFNso/elgFV0DArQrUWYxwT3Jt+LAIt4Sa
gDRiUpkTXxrmWKbDg9nJoeVTJ2sIUUt2hDRGPWDuAAVjeUKfeVY8k6AF6vPPCDfb
NPYw9XPHEIITd4R8DRC+A/Zy4rzi+e1yG4pZEdGurwSzRcIxdA5NgKzg/gI/zt+o
kGNNHvRhUX6YL0d4+Mao
=KOFn
-----END PGP SIGNATURE-----
Posted on Leave a comment

Incremental backups with Btrfs snapshots

Snapshots are an interesting feature of Btrfs. A snapshot is a copy of a subvolume. Taking a snapshot is immediate. However, taking a snapshot is not like performing a rsync or a cp, and a snapshot doesn’t occupy space as soon as it is created.

Editors note: From the BTRFS Wiki – A snapshot is simply a subvolume that shares its data (and metadata) with some other subvolume, using Btrfs’s COW capabilities.

Occupied space will increase alongside the data changes in the original subvolume or in the snapshot itself, if it is writeable. Added/modified files, and deleted files in the subvolume still reside in the snapshots. This is a convenient way to perform backups.

Using snapshots for backups

A snapshot resides on the same disk where the subvolume is located. You can browse it like a regular directory and recover a copy of a file as it was when the snapshot was performed. By the way, a snapshot on the same disk of the snapshotted subvolume is not an ideal backup strategy: if the hard disk broke, snapshots will be lost as well. An interesting feature of snapshots is the ability to send them to another location. The snapshot can be sent to an external hard drive or to a remote system via SSH (the destination filesystems need to be formatted as Btrfs as well). To do this, the commands btrfs send and btrfs receive are used.

Taking a snapshot

In order to use the send and the receive commands, it is important to create the snapshot as read-only, and snapshots are writeable by default.

The following command will take a snapshot of the /home subvolume. Note the -r flag for readonly.

sudo btrfs subvolume snapshot -r /home /.snapshots/home-day1

Instead of day1, the snapshot name can be the current date, like home-$(date +%Y%m%d). Snapshots look like regular subdirectories. You can place them wherever you like. The directory /.snapshots could be a good choice to keep them neat and to avoid confusion.

Editors note: Snapshots will not take recursive snapshots of themselves. If you create a snapshot of a subvolume, every subvolume or snapshot that the subvolume contains is mapped to an empty directory of the same name inside the snapshot.

Backup using btrfs send

In this example the destination Btrfs volume in the USB drive is mounted as /run/media/user/mydisk/bk . The command to send the snapshot to the destination is:

sudo btrfs send /.snapshots/home-day1 | sudo btrfs receive /run/media/user/mydisk/bk

This is called initial bootstrapping, and it corresponds to a full backup. This task will take some time, depending on the size of the /home directory. Obviously, subsequent incremental sends will take a shorter time.

Incremental backup

Another useful feature of snapshots is the ability to perform the send task in an incremental way. Let’s take another snapshot.

sudo btrfs subvolume snapshot -r /home /.snapshots/home-day2

In order to perform the send task incrementally, you need to specify the previous snapshot as a base and this snapshot has to exist in the source and in the destination. Please note the -p option.

sudo btrfs send -p /.snapshot/home-day1 /.snapshot/home-day2 | sudo btrfs receive /run/media/user/mydisk/bk

And again (the day after):

sudo btrfs subvolume snapshot -r /home /.snapshots/home-day3
sudo btrfs send -p /.snapshot/home-day2 /.snapshot/home-day3 | sudo btrfs receive /run/media/user/mydisk/bk

Cleanup

Once the operation is complete, you can keep the snapshot. But if you perform these operations on a daily basis, you could end up with a lot of them. This could lead to confusion and potentially a lot of used space on your disks. So it is a good advice to delete some snapshots if you think you don’t need them anymore.

Keep in mind that in order to perform an incremental send you need at least the last snapshot. This snapshot must be present in the source and in the destination.

sudo btrfs subvolume delete /.snapshot/home-day1
sudo btrfs subvolume delete /.snapshot/home-day2
sudo btrfs subvolume delete /run/media/user/mydisk/bk/home-day1
sudo btrfs subvolume delete /run/media/user/mydisk/bk/home-day2

Note: the day 3 snapshot was preserved in the source and in the destination. In this way, tomorrow (day 4), you can perform a new incremental btrfs send.

As some final advice, if the USB drive has a bunch of space, you could consider maintaining multiple snapshots in the destination, while in the source disk you would keep only the last one.