Skip to content

Commit d233788

Browse files
authored
Release 2.4.2 (#228)
1 parent d720b5d commit d233788

13 files changed

Lines changed: 339 additions & 14 deletions

File tree

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ jobs:
2222
name: Building and packaging
2323
command: |
2424
/home/circleci/tooling/build-tools/build_tools.sh composer -o "build"
25-
rm -rf src
2625
if [ "${CIRCLE_BRANCH}" != "main" ]; then
2726
/home/circleci/tooling/build-tools/build_tools.sh package_build -o "gf-entries-in-excel gfexcel.php --include-hash"
2827
else
@@ -32,6 +31,7 @@ jobs:
3231
rm -rf build/composer.* build/strauss.phar
3332
cp -R build gf-entries-in-excel
3433
zip -gr $(ls gf-entries-in-excel-*.zip) gf-entries-in-excel
34+
zip -d $(ls gf-entries-in-excel-*.zip) "gf-entries-in-excel/src/*" "gf-entries-in-excel/assets/*"
3535
mkdir .release
3636
cp gf-entries-in-excel-*.zip .release
3737
- run:

.distignore

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
.gitattributes
2+
.gitignore
3+
.distignore
4+
.phplint.yml
5+
_config.yml
6+
composer.json
7+
composer.lock
8+
phpcs.xml
9+
phpstan.neon
10+
phpstan.neon.dist
11+
phpunit.xml
12+
phpunit.xml.dist
13+
.phpunit.result.cache
14+
.phplint-cache
15+
README.md
16+
strauss.phar
17+
build/strauss.phar
18+
build/composer.lock
19+
build/composer.json
20+
tests
21+
phpstan-stubs
22+
23+
/.circleci
24+
/.claude
25+
/.github
26+
/.git
27+
/.idea
28+
/tests
29+
/vendor
30+
/vendor_prefixed
31+
/src
32+
/assets

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
.gitattributes export-ignore
22
.gitignore export-ignore
3+
.distignore export-ignore
34
.phplint.yml export-ignore
45
_config.yml export-ignore
56
composer.json export-ignore
67
composer.lock export-ignore
78
phpcs.xml export-ignore
89
phpstan.neon export-ignore
10+
phpstan.neon.dist export-ignore
911
phpunit.xml export-ignore
1012
phpunit.xml.dist export-ignore
1113
README.md export-ignore
@@ -14,7 +16,9 @@ build export-ignore
1416
tests export-ignore
1517
phpstan-stubs export-ignore
1618

19+
/.claude export-ignore
1720
/.circleci export-ignore
1821
/.github export-ignore
1922
/.idea export-ignore
23+
/assets export-ignore
2024
/tests export-ignore

.github/workflows/deploy.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Deploy to WordPress.org
2+
on:
3+
release:
4+
types: [ published ]
5+
6+
jobs:
7+
tag:
8+
name: New release
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout code
12+
uses: actions/checkout@v4
13+
- name: Mark GitHub workspace as safe
14+
run: |
15+
git config --global --add safe.directory $GITHUB_WORKSPACE
16+
- name: Setup PHP
17+
uses: shivammathur/setup-php@v2
18+
with:
19+
php-version: '8.2'
20+
tools: composer:v2
21+
- name: Build
22+
run: composer build
23+
env:
24+
COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.ADD_TO_PROJECTS_PAT }}"}}'
25+
- name: WordPress Plugin Deploy
26+
id: deploy
27+
uses: 10up/action-wordpress-plugin-deploy@stable
28+
env:
29+
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
30+
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
31+
SLUG: gf-entries-in-excel
32+
ASSETS_DIR: assets
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Plugin asset/readme update
2+
on:
3+
push:
4+
branches:
5+
- main
6+
jobs:
7+
trunk:
8+
name: Push to trunk
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- name: WordPress.org plugin assets/readme update
13+
uses: 10up/action-wordpress-plugin-asset-update@stable
14+
env:
15+
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
16+
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
17+
ASSETS_DIR: assets
18+
IGNORE_OTHER_FILES: true

composer.json

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,29 @@
1414
}
1515
],
1616
"config": {
17+
"audit": {
18+
"ignore": [
19+
"PKSA-64jn-3d9t-gncx",
20+
"PKSA-8b16-mcgz-h4cz",
21+
"PKSA-s99r-9yxm-hjvt",
22+
"PKSA-7jd6-nb49-bz4v",
23+
"PKSA-nm34-xhtz-ww9p",
24+
"PKSA-4ckb-wpj6-c29d",
25+
"PKSA-ybqb-vyrq-8pdt",
26+
"PKSA-285y-y5bt-kvd9",
27+
"PKSA-jw5c-q9nd-tzj9",
28+
"PKSA-bcnb-9tc9-bjb8",
29+
"PKSA-gst3-cdk3-bpqt",
30+
"PKSA-dbrb-pvhs-h3st",
31+
"PKSA-mkg2-1wyw-57y7",
32+
"PKSA-p1pj-q951-6f1x",
33+
"PKSA-7f9v-sb8k-krfb",
34+
"PKSA-xk3k-rd1m-pxmg",
35+
"PKSA-dvbq-8ft2-ngrw",
36+
"PKSA-xp7t-fbrb-qjv4",
37+
"PKSA-m4hk-rk8p-4t5p"
38+
]
39+
},
1740
"platform": {
1841
"php": "7.2.34"
1942
},
@@ -77,8 +100,10 @@
77100
"@unbuild",
78101
"cp composer.json build/composer.json",
79102
"mkdir build/src && cp src/GFExcelAdmin.php build/src/",
103+
"composer config --unset repositories --working-dir=build",
80104
"composer config repositories.source '{\"type\":\"path\", \"url\":\"../src\",\"options\": {\"symlink\":false}}' --working-dir=build",
81-
"composer require gravitykit/gravityexport-lite-src:@dev --update-no-dev --working-dir=build --no-scripts",
105+
"composer remove gravityforms/gravityforms gravityforms/gravitysurvey --no-update --dev --working-dir=build",
106+
"composer require gravitykit/gravityexport-lite-src:@dev --update-no-dev --working-dir=build --no-scripts --ignore-platform-reqs",
82107
"cd build && ./strauss.phar",
83108
"composer dump-autoload -o --working-dir=build"
84109
],

gfexcel.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
/**
33
* Plugin Name: GravityExport Lite
4-
* Version: 2.4.1
4+
* Version: 2.4.2
55
* Plugin URI: https://gfexcel.com
66
* Description: Export all Gravity Forms entries to Excel (.xlsx) or CSV via a secret shareable URL.
77
* Author: GravityKit
@@ -28,7 +28,7 @@
2828
}
2929

3030
if ( ! defined( 'GFEXCEL_PLUGIN_VERSION' ) ) {
31-
define( 'GFEXCEL_PLUGIN_VERSION', '2.4.1' );
31+
define( 'GFEXCEL_PLUGIN_VERSION', '2.4.2' );
3232
}
3333

3434
if ( ! defined( 'GFEXCEL_MIN_PHP_VERSION' ) ) {

readme.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Tags: Gravity Forms, GravityForms, Excel, Export, Entries
55
Requires at least: 4.0
66
Requires PHP: 7.2
77
Tested up to: 6.8.2
8-
Stable tag: 2.4.0
8+
Stable tag: 2.4.2
99
License: GPLv2 or later
1010
License URI: http://www.gnu.org/licenses/gpl-2.0.html
1111

@@ -256,6 +256,12 @@ You can hide a row by adding a hook. Checkout this example:
256256

257257
== Changelog ==
258258

259+
= 2.4.2 on January 7, 2026 =
260+
261+
* Fixed: Added a deterministic sort order to prevent missing and duplicate entries.
262+
* Fixed: Entries without a `payment_date` value would show the current date/time instead of an empty value.
263+
* Change: Release process to WordPress.org from GitHub Actions.
264+
259265
= 2.4.1 on August 28, 2025 =
260266

261267
* Enhancement: Added support for defining a `GFEXCEL_AVOID_CLASS_ALIAS` constant as `true` to prevent registering PhpSpreadsheet class aliases.

src/Field/AbstractField.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,11 @@ protected function getFieldValue( $entry, $input_id = '' ) {
132132
*/
133133
protected function getGFieldValue( $entry, $input_id ) {
134134
if ( in_array( $input_id, [ 'date_created', 'payment_date' ] ) ) {
135+
// Return empty string if the date value is not set to avoid falling back to current time.
136+
if ( empty( $entry[ $input_id ] ) ) {
137+
return '';
138+
}
139+
135140
$lead_gmt_time = mysql2date( 'G', $entry[ $input_id ] );
136141
$lead_local_time = \GFCommon::get_local_timestamp( $lead_gmt_time );
137142

src/GFExcel.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class GFExcel {
4040
/**
4141
* The endpoint slug of the plugin.
4242
* @since 1.0.0
43-
* @depreacted $ver$ Use Router instead.
43+
* @deprecated 2.4.0 Use Router instead.
4444
* @var string
4545
*/
4646
public static $slug = 'gravityexport-lite';
@@ -50,7 +50,7 @@ class GFExcel {
5050
*
5151
* @since 1.0.0
5252
*
53-
* @deprecated $ver$ Use Router instead.
53+
* @deprecated 2.4.0 Use Router instead.
5454
*
5555
* @var string[]
5656
*/
@@ -61,12 +61,12 @@ class GFExcel {
6161
];
6262

6363
/**
64-
* @depreacted $ver$ Use Router instead.
64+
* @deprecated 2.4.0 Use Router instead.
6565
*/
6666
public const KEY_HASH = Router::KEY_HASH;
6767

6868
/**
69-
* @depreacted $ver$ Use Router instead.
69+
* @deprecated 2.4.0 Use Router instead.
7070
*/
7171
public const KEY_ACTION = Router::KEY_ACTION;
7272

@@ -119,7 +119,7 @@ public function __construct( Router $router ) {
119119
*
120120
* @param int|string $form_id The id of the form.
121121
*
122-
* @depreacted $ver$ Use Router instead.
122+
* @deprecated 2.4.0 Use Router instead.
123123
*
124124
* @return string|null
125125
*/

0 commit comments

Comments
 (0)