From 9563e848a403c8e932633f8daef7dda5b2f64ec6 Mon Sep 17 00:00:00 2001
From: ikkez <mail@ikkez.de>
Date: Sun, 29 Dec 2024 17:02:38 +0100
Subject: [PATCH] 3.9.0 release

---
 lib                   |   2 +-
 readme.md             |  40 +++++++++++-----------------------------
 ui/images/paypal.png  | Bin 3127 -> 0 bytes
 ui/images/twitter.png | Bin 7675 -> 0 bytes
 ui/welcome.htm        |   3 +--
 5 files changed, 13 insertions(+), 32 deletions(-)
 delete mode 100644 ui/images/paypal.png
 delete mode 100644 ui/images/twitter.png

diff --git a/lib b/lib
index 774692ce7..2c35ca492 160000
--- a/lib
+++ b/lib
@@ -1 +1 @@
-Subproject commit 774692ce7698904d3cb35bbd4f79376bb17eeddc
+Subproject commit 2c35ca4923d280e834222fcca473d3fe23e362d2
diff --git a/readme.md b/readme.md
index 0cc6cd24b..9727840ec 100644
--- a/readme.md
+++ b/readme.md
@@ -1,10 +1,8 @@
-[![Fat-Free Framework](ui/images/logo.png)](http://fatfree.sf.net/)
+[![Fat-Free Framework](ui/images/logo.png)](https://github.com/bcosca/fatfree)
 
 **A powerful yet easy-to-use PHP micro-framework designed to help you build dynamic and robust Web applications - fast!**
 
-[![Flattr this project](https://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=phpfatfree&url=https://github.com/bcosca/fatfree)
-
-Condensed in a single ~65KB file, F3 (as we fondly call it) gives you solid foundation, a mature code base, and a no-nonsense approach to writing Web applications. Under the hood is an easy-to-use Web development tool kit, a high-performance URL routing and cache engine, built-in code highlighting, and support for multilingual applications. It's lightweight, easy-to-use, and fast. Most of all, it doesn't get in your way.
+Condensed in a single file, F3 (as we fondly call it) gives you solid foundation, a mature code base, and a no-nonsense approach to writing Web applications. Under the hood is an easy-to-use Web development tool kit, a high-performance URL routing and cache engine, built-in code highlighting, and support for multilingual applications. It's lightweight, easy-to-use, and fast. Most of all, it doesn't get in your way.
 
 Whether you're a novice or an expert PHP programmer, F3 will get you up and running in no time. No unnecessary and painstaking installation procedures. No complex configuration required. No convoluted directory structures. There's no better time to start developing Web applications the easy way than right now!
 
@@ -32,12 +30,8 @@ That's not all. F3 is packaged with other optional plug-ins that extend its capa
 
 Unlike other frameworks, F3 aims to be usable - not usual.
 
-[![Flattr this project](https://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=phpfatfree&url=https://github.com/bcosca/fatfree)
-
 The philosophy behind the framework and its approach to software architecture is towards minimalism in structural components, avoiding application complexity and striking a balance between code elegance, application performance and programmer productivity.
 
-[![Paypal](ui/images/paypal.png)](https://www.paypal.me/fatfree)
-
 ## Table of Contents
 
 * [Getting Started](#getting-started)
@@ -51,8 +45,6 @@ The philosophy behind the framework and its approach to software architecture is
 * [Quick Reference](#quick-reference)
 * [Support and Licensing](#support-and-licensing)
 
-[![Twitter](ui/images/twitter.png)](https://twitter.com/phpfatfree)
-
 ### Get the latest release!
 
 F3 has a stable enterprise-class architecture. Unbeatable performance, user-friendly features and a lightweight footprint. What more can you ask for?
@@ -96,17 +88,14 @@ Make sure you're running the right version of PHP. F3 does not support versions
 PHP will let you know which particular version you're running and you should get something that looks similar to this:-
 
 ```
-PHP 7.4.21 (cli) (built: Jul 27 2021 15:56:07) ( NTS )
+PHP 8.3.11 (cli) (built: Aug 30 2024 20:21:32) (NTS)
 Copyright (c) The PHP Group
-Zend Engine v3.4.0, Copyright (c) Zend Technologies
-    with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
+Zend Engine v4.3.11, Copyright (c) Zend Technologies
+    with Xdebug v3.3.2, Copyright (c) 2002-2024, by Derick Rethans
 ```
 
-Upgrade if necessary and come back here if you've made the jump to PHP 7.4 or a later release. Fatfree needs at least PHP 7.2 to function. If you need a hosting service provider, try one of these services:
+Upgrade if necessary and come back here if you've made the jump to PHP 8.0 or a later release. Fat-Free needs at least PHP 7.2 as minimum version to function.
 
-* [DreamHost](http://www.dreamhost.com/r.cgi?665472)
-* [Hostek](http://hostek.com/aff.php?aff=364&plat=L)
-* [SiteGround](http://www.siteground.com/index.htm?referrerid=155694)
 
 ### Hello, World: The Less-Than-A-Minute Fat-Free Recipe
 
@@ -2450,7 +2439,7 @@ The most up-to-date documentation is located at [http://fatfreeframework.com/](h
 
 ## Support and Licensing
 
-Technical support is available at the official discussion forum: [`https://groups.google.com/forum/#!forum/f3-framework`](https://groups.google.com/forum/#!forum/f3-framework). If you need live support, you can talk to the development team and other members of the F3 community via [Slack](https://fatfreeframework-slack.herokuapp.com/) or IRC. We're on the FreeNode `#fatfree` channel (`chat.freenode.net`). Visit [`http://webchat.freenode.net/`](http://webchat.freenode.net/) to join the conversation. You can also download the [Firefox Chatzilla](https://addons.mozilla.org/en-US/firefox/addon/chatzilla/) add-on or [Pidgin](http://www.pidgin.im/) if you don't have an IRC client so you can participate in the live chat.
+Technical support is available at the official discussion forum: [`https://groups.google.com/forum/#!forum/f3-framework`](https://groups.google.com/forum/#!forum/f3-framework). If you need live support, you can talk to the development team and other members of the F3 community via [Matrix](https://matrix.to/#/#fat-free-framework:matrix.org).
 You can also find help at [Stack Overflow](http://stackoverflow.com/questions/tagged/fat-free-framework)
 
 ### Nightly Builds
@@ -2458,12 +2447,12 @@ You can also find help at [Stack Overflow](http://stackoverflow.com/questions/ta
 F3 uses Git for version control. To clone the latest code repository on GitHub:
 
 ``` bash
-git clone git://github.com/bcosca/fatfree-core.git
+git clone https://github.com/f3-factory/fatfree-core.git
 ```
 
-If all you want is a zipball of our test bench with all unit tests, grab it [**here**](https://github.com/bcosca/fatfree/archive/dev.zip).
+If all you want is a test bench with all unit tests, grab it [**here**](https://github.com/f3-factory/fatfree-dev).
 
-To file a bug report, visit [`https://github.com/bcosca/fatfree-core/issues`](https://github.com/bcosca/fatfree-core/issues).
+To file a bug report, visit [`https://github.com/f3-factory/fatfree-core/issues`](https://github.com/f3-factory/fatfree-core/issues).
 
 ### Fair Licensing
 
@@ -2602,15 +2591,8 @@ The Fat-Free Framework is community-driven software. It can't be what it is toda
 
 Special thanks to the selfless others who expressed their desire to remain anonymous, yet share their time, contribute code, send donations, promote the framework to a wider audience, as well as provide encouragement and regular financial assistance. Their generosity is F3's prime motivation.
 
-[![Paypal](ui/images/paypal.png)](https://www.paypal.me/fatfree)
-
 ### Legal notice
 
 By making a donation to this project you signify that you acknowledged, understood, accepted, and agreed to the terms and conditions contained in this notice. Your donation to the Fat-Free Framework project is voluntary and is not a fee for any services, goods, or advantages, and making a donation to the project does not entitle you to any services, goods, or advantages. We have the right to use the money you donate to the Fat-Free Framework project in any lawful way and for any lawful purpose we see fit and we are not obligated to disclose the way and purpose to any party unless required by applicable law. Although Fat-Free Framework is free software, to our best knowledge this project does not have any tax-exempt status. The Fat-Free Framework project is neither a registered non-profit corporation nor a registered charity in any country. Your donation may or may not be tax-deductible; please consult this with your tax advisor. We will not publish/disclose your name and e-mail address without your consent, unless required by applicable law. Your donation is non-refundable.
 
-**Copyright (c) 2009-2022 F3::Factory/Bong Cosca &lt;bong&#46;cosca&#64;yahoo&#46;com&gt;**
-
-## Support on Beerpay
-Hey dude! Help me out for a couple of :beers:!
-
-[![Beerpay](https://beerpay.io/bcosca/fatfree/badge.svg?style=beer-square)](https://beerpay.io/bcosca/fatfree)  [![Beerpay](https://beerpay.io/bcosca/fatfree/make-wish.svg?style=flat-square)](https://beerpay.io/bcosca/fatfree?focus=wish)
+**Copyright (c) 2009-2025 F3::Factory**
diff --git a/ui/images/paypal.png b/ui/images/paypal.png
deleted file mode 100644
index 80e89f23846a6e04d4646809e1e090dc6fa2ee37..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3127
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
P@@e$64Yi6j?mzzzM#Taz

diff --git a/ui/images/twitter.png b/ui/images/twitter.png
deleted file mode 100644
index c1b1a8d998ffaa10b11a41ba69dfa21e304d7b61..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7675
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
a2~Ukip4Cc;cMuM0iPY7et70BoBmNH#&nJxl

diff --git a/ui/welcome.htm b/ui/welcome.htm
index 31f69f900..7114433d9 100644
--- a/ui/welcome.htm
+++ b/ui/welcome.htm
@@ -53,10 +53,9 @@ <h2>Fair Licensing</h2>
 	<p>If you feel that this software is one great weapon to have in your programming arsenal, it saves you a lot of time and money, use it for commercial gain or in your business organization, please consider making a donation to the project. A significant amount of time, effort, and money has been spent on this project. Your donations help keep this project alive and the development team motivated. Donors and sponsors get priority support commensurate to your contribution (24-hour response time on business days).</p>
 	<h2>Support F3</h2>
 	<p>F3 is community-driven software. Support the development of the Fat-Free Framework. Your contributions help keep this project alive.</p>
-	<p class="center"><a href="https://www.paypal.me/fatfree" target="_blank"><img src="ui/images/paypal.png"></a></p>
 </div>
 <div class="footer center">
 	<p>Fat-Free Framework is licensed under the terms of the GPL, either v3 or later<br>
-	Copyright &copy; 2009-2017 F3::Factory/Bong Cosca &lt;bong&#46;cosca&#64;yahoo&#46;com&gt;</p>
+	Copyright &copy; 2009-2025 F3::Factory/Bong Cosca &lt;bong&#46;cosca&#64;yahoo&#46;com&gt;</p>
 	<p class="stats"><code><?php echo Base::instance()->format('Page rendered in {0} msecs / Memory usage {1} Kibytes',round(1e3*(microtime(TRUE)-$TIME),2),round(memory_get_usage(TRUE)/1e3,1)); ?></code></p>
 </div>