A Release Candidate for the upcoming phpList 3.4.0 is available for testing.
Key changes
jQuery updated from v.1.12.1 to v.3.1.1 – thanks to @kgarland
jQuery release notes here
New default campaign template added, and a new default template selection option, accessed via the pre-existing templates page Known issue – ‘Template with Logo’ is currently empty and will be removed on the next RC
Two settings for controlling automatic updater notifications, one for all update notifications (in the config.php file) and one specific to release candidate notifications (on the settings page)
Bounces to system messages are now associated with the subscriber they belong to for the first time.
This Release Candidate includes the new REST API, provided by phpList 4, and disabled by default. Guidance on testing the REST API will be included in the next Release Candidate, expected early next week.
@samtuke Is this the new “lists/base” directory? That directory appears to be just a straight copy of a github repository rather than a “released” package.
It increases the on-disk size of phpList by about 48MB with more than 12,000 files.
phpList on-disk is now more than 90MB with over 16,000 files.
Please can you rethink how the API should be packaged? This will be a nightmare for anyone using FTP, which transfers a file at a time, to install phplist.
Yes it is. What’s the difference between a repository vs a release? Are you referring to asset (js, css, image) minification? The base directory is generated from the base-distribution repository using composer to install and configure dependencies.
Yes the file size is considerable. The folder is already generated without development components included (which are significantly larger), by using a production mode flag at build time. I’m not sure how to reduce the size or file count further, and I’m not aware of tools for symfony or otherwise which do this (outside of additional asset management, which would presumably have minimal impact).
The Automatic updater should solve this problem for many users. Do you have other ideas for improving the experience for FTP users?
@samtuke I’m not familiar with how a Symfony application is structured and installed but the contents of the base directory seem to be at the wrong level. Much of that should not be within the web root at all - the various composer files, the tests subdirectory (unless the intention is for the test to be runnable after installation). But on closer looking, it appears to be the vendor subdirectory that contains the vast majority of the files.
What is the reason for including the “base” directory within “lists”? Perhaps have it as a parallel directory so that people can choose whether to install it or not. Or even as a separate download, as in my experience, the majority of installations are not going to be using the API.
I have had a look at the Drupal structure and this isn’t too different. Maybe some of the empty directories and irrelevant files could be removed.
The large size is caused by the vendor directory, which I guess isn’t going to be reduced by much even with my previous suggestions.
Still, I would prefer to be able to download and install just phplist 3, as the API is of no current interest.
Following the first round of testing a New Release Candidate for the upcoming phpList 3.4.0 is now available for download.
This release includes some changes on issues reported on RC1 and what’s more important a new REST API powered by phpList 4.
Key changes to look for in RC2
More files had the jQuery updated from v.1.12.1 to v.3.1.1
jQuery release notes [here](https://blog.jquery.com/2018/01/20/jquery-3-3-1-fixed-dependencies-in-release-tag/)
Minor fixes on the new default campaign template added, and the new default template selection page, accessed via the pre-existing templates page
New REST API provided by phpList 4 is included but disabled by default - details on activation below
Open the following file with a text editor: public_html/lists/base/config/config_modules.yml
Change false to true on the following line: { view_response_listener: { enabled: false } }
Delete this folder entirely: public_html/lists/base/cache
To enable REST API logging (errors, requests), edit the following file: public_html/lists/base/vendor/phplist/core/config/config_prod.yml
Remove the pound (#) from the beginning of every line from line 4 onwards to uncomment them
All these and more are added on a dedicated chapter on the manual, API and Integrations
Upgrading
Upgrade from releases older that phpList 3.3.7-RC1 following the usual upgrade process.
Use the Automatic Updater if you are running phpList 3.3.7 or latter.
Use your phpList as normal, and report any new problems you find.
Reporting issues
Report any issues you find with phpList3 to the phpList Bugtracker, selecting “3.4.0-RC2” as the Product Version.
Use the usual bug fixing process if you know how to fix it.
Report any issues you find with phpList 4 core or REST API to the corresponding repo on GitHub.
Please read the contribution guide on how to contribute and how to run the unit tests and style checks locally.