CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 884
Compare
This release changes configuration defaults including switching the template and removing legacy features.
The most notable change is the switch of the default template to bootstrap5
. We switched to use the Jdenticons library by default for the comment creator icons, as it doesn't require the GD library. And we changed the user interface to display SI-prefixes instead of binary bytes for data sizes, to be more consistent with sizes displayed in current operating systems, i.e. 1024 bytes now will be displayed as 1.02 kB instead of 1.00 kiB and refer to "documents" instead of "pastes".
The page
template and compatibility to pre-v1.3 pastes, including ZeroBin ones, got removed. The v2
paste format which is still currently used, got introduced in release 1.3 in July 2019. This allows dropping further unused database columns, as those were artifacts of the v1
pastes and not used anymore with the v2
ones.
Update procedure
The minimum required PHP version was increased from 7.3 to 7.4.
If you have created your own cfg/conf.php
file, please check the following entries and update them accordingly:
- section
[main]
, keytemplate
: If set topage
replace this withbootstrap5
or one of thebootstrap
variants (seecfg/conf.sample.php
). - section
[main]
, keyicon
: If commented and you prefer the look of the blockyidenticon
over triangularjdenticon
, uncomment the value and set it back toidenticon
. - section
[model]
, keyclass
: If set toprivatebin_data
replace this withFilesystem
and if set toprivatebin_db
orzerobin_db
replace this withDatabase
.
If you are using the Database
model class and your database user is not privileged to perform schema changes, you have to manually drop the postdate
, opendiscussion
, burnafterreading
, attachment
and attachmentname
columns of the paste
table and the nickname
column from the comment
table. If you are using SQLite before 3.35.0, which doesn't support dropping columns, you must initialize a new empty database file and either manually migrate the data or start from scratch.
As usual, you can download the archive for a manual upgrade and can find more details in the installation instructions.
We also offer a container images using the nginx web server with php-fpm and one using the nginx unit application server, that include the recommended secure setup with the non-essential files and data outside of the web servers document root.
Optionally, you can use the bin/administration
scripts' two new features to check if any v1
pastes still exist on your instance using the --statistics
flag and then delete them using the --delete-v1
flag:
$ bin/administration --help
Usage:
administration [--delete <document id> | --delete-all | --delete-v1 |
--empty-dirs | --help | --list-ids | --purge | --statistics]
Options:
[...]
--delete-v1 deletes all unsupported v1 documents
[...]
-s, --statistics reads all stored documents and reports statistics
$ bin/administration --statistics
[... check for lines starting with "Unsupported v1 document " and the conclusion showing any "Legacy v1" ...]
$ bin/administration --delete-v1
Changes since version 1.7.8
- ADDED: Error logging in database and filesystem backend (#1554)
- ADDED: Statistics on v1 pastes in administration script and option to delete them
- CHANGED: Removed page template (#265)
- CHANGED: Removed support for ZeroBin & v1 pastes - since release 1.3 the v2 format is used (#551)
- CHANGED: Removed use of base64 & rawinflate libraries (#551)
- CHANGED: Removed support for
privatebin_data
,privatebin_db
&zerobin_db
model class configurations, must be replaced withFilesystem
orDatabase
incfg/conf.php
, if still present - CHANGED: Removed unused columns in database schema of tables
paste
&comment
- CHANGED: Jdenticons are now used as the default icons
- CHANGED: Upgrading libraries to: base-x 5.0.1, bootstrap 5.3.7, jdenticon 2.0.0 & kjua 0.10.0
- CHANGED: Minimum required PHP version is 7.4, due to a change in the jdenticon library
- CHANGED: Set bootstrap5 template as default for PrivateBin (#1572)
- CHANGED: Switched from binary bytes to SI-units (#1565)
- CHANGED: Replaced the term "paste" with the more generic "document" (#397)
- FIXED: Name mismatches in attached files (#1584)
- FIXED: Unable to paste attachments from clipboard (#1589)
- FIXED: Configuration combinations test errors
Help wanted & greatly appreciated
Apart from the large tasks that require deeper insight and time, there are also smaller issues were help is wanted, topics open to debate and of course many languages that still remain to be translated. We are also still looking for additional long term maintainers among our frequent issue helpers.
What can we offer you in return for your help?
- We can offer you our mentorship, if this is your first time participating as a maintainer of an open source software project. We can guide you through submitting your first pull requests and work with you to ensure your change fulfils the communities quality standards, gets merged and makes it into a release.
- Your work gets publicly credited. This can help you build up a resume, showing off your growing skill set, in programming as well as your soft skills.
- PrivateBin is a smaller project. If you'd like to learn how to participate and contribute in an open source git project, this should be less overwhelming than larger projects.
- We do have a decent unit test code coverage, so it is an environment forgiving of mistakes. You may still introduce logical flaws or issues in new features, not yet covered in the tests, but you can rely on the tests preventing any regressions in other areas.
- You don't have to be proficient in multiple programming languages, there are a lot of things to improve within either the JavaScript or PHP areas that don't need you to understand the other side, beyond their shared API.
- It can be an opportunity to learn about continuous integration tools to automate tasks like tests, security scans, etc.
If you are interested in helping with any of these points, we have prepared a development guide including design goals, code structure and tools to get you started. For any questions, you can chat with the maintainers in the discussion area or reach us via email.