https://github.com/amaltsev/XAO-Web
-----------------------------------

commit df482c7fc65b5fbd02f8d14192fd52d92492c585
Author: Andrew Maltsev <am@ejelta.com>
Date:   Wed Apr 2 17:46:18 2025 -0700

    v1.92 List-unsubscribe & extra headers in Mailer
    
    Added support for providing extra headers to emails, and an easy way to
    add RFC-8058 one click unsubscribe links.

commit 1f8e98ccdc72bd64aca6dad2a7c35c876a9c86f9
Author: Andrew Maltsev <am@ejelta.com>
Date:   Wed Apr 2 15:44:22 2025 -0700

    Replaced Data::Entropy with Crypt::URandom
    
    The Data::Entropy is deprecated. I got the email below from Robert
    Rothenberg:
    
    > XAO::DO::Web::IdentifyUser uses Data::Entropy, which defaults to using
    > the builtin rand() function before version 0.008. See CVE 2025-1860.
    >
    > At a minimum you should update the base version or Data::Entropy
    > that is required to v0.008, but the module is now deprecated, so I
    > recommend that you use something else, such as Crypt::URandom.

commit b82c260d3030d0b1e616c93efe3eb429f1b8dccf
Author: Andrew Maltsev <am@ejelta.com>
Date:   Mon May 22 14:50:01 2023 -0700

    SEFL tracking numbers don't work with dashes

commit 4e0e5603ab6094699db5bca768ba98163fc6d94c
Author: Andrew Maltsev <am@ejelta.com>
Date:   Mon May 22 14:37:26 2023 -0700

    Version bump to 1.91
    
    SEFL tracking URL support from Bill Gerrard

commit b0c2d1a0ca743abed57e6f8a4d532facb6bea43e
Merge: b7f38e6 75bcf14
Author: Andrew Maltsev <am@ejelta.com>
Date:   Mon May 22 14:33:26 2023 -0700

    Merge pull request #3 from billgerrard/patch-1
    
    Add shipping tracking support for SELF (South Eastern Freight Lines)

commit 75bcf14956ca9344a3f8b8dd3c75121b8de3c2cc
Author: Bill Gerrard <beachbill@gmail.com>
Date:   Mon May 22 15:01:36 2023 -0600

    Add shipping tracking support for SELF (South Eastern Freight Lines)

commit b7f38e6e5640a8cf617b9e51ce9960f6b9cd41e7
Author: Andrew Maltsev <am@ejelta.com>
Date:   Wed Dec 7 20:46:26 2022 -0800

    v1.90 Fixed error handling in FilloutForm
    
    Error messages returned from external error checking were not included
    in field HTML content. Default content does not use that, but it did not
    work if a site used custom templates that rely on error messages (e.g.
    for styling).

commit 6d0c6f422dab440d3bddd084e9b6a7c2a5be5f08
Author: Andrew Maltsev <am@ejelta.com>
Date:   Fri Jul 1 16:44:50 2022 -0700

    1.89 Minor old changes to FilloutForm

commit e5655b72472e3e9b899270b4729df7f240558ade
Author: Andrew Maltsev <am@ejelta.com>
Date:   Fri Apr 8 19:04:06 2022 -0700

    1.88 Added array operations to Web::Clipboard

commit 888d6b90c512e5f0e62f96a1fd7f7fd2e471f37a
Author: Andrew Maltsev <am@ejelta.com>
Date:   Tue Jun 8 14:53:36 2021 -0700

    1.87 Filtering out %00 in CgiParam

