Skip to content

Commit

Permalink
Merge branch 'release/3.3.0' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Jon Waldstein committed Jan 10, 2024
2 parents 3180333 + a4416a0 commit b74d820
Show file tree
Hide file tree
Showing 37 changed files with 97 additions and 85 deletions.
4 changes: 2 additions & 2 deletions give.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* Description: The most robust, flexible, and intuitive way to accept donations on WordPress.
* Author: GiveWP
* Author URI: https://givewp.com/
* Version: 3.2.2
* Version: 3.3.0
* Requires at least: 6.0
* Requires PHP: 7.2
* Text Domain: give
Expand Down Expand Up @@ -403,7 +403,7 @@ private function setup_constants()
{
// Plugin version.
if (!defined('GIVE_VERSION')) {
define('GIVE_VERSION', '3.2.2');
define('GIVE_VERSION', '3.3.0');
}

// Plugin Root File.
Expand Down
14 changes: 13 additions & 1 deletion readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Tags: donation, donate, recurring donations, fundraising, crowdfunding
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.2
Stable tag: 3.2.2
Stable tag: 3.3.0
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html

Expand Down Expand Up @@ -262,6 +262,18 @@ The 2% fee on Stripe donations only applies to donations taken via our free Stri
10. Use almost any payment gateway integration with GiveWP through our add-ons or by creating your own add-on.

== Changelog ==
= 3.3.0: Jan 10th, 2024 =
* Happy new year!
* Fix: Resolved an issue where some migrated forms were being duplicated
* Fix: Resolved an issue with the donor export filter by donation form
* Fix: Added additional attribute escaping to the donor wall shortcode
* Enhancement: Improved current compatibility with PHP 8.2
* Enhancement: Improved the UI of the visual donation form builder to be more intuitive with dedicated Build, Design, and Settings screens
* New: The donor dashboard now has a way to update and reset passwords
* New: Added pre-requisite v3 compatibility updates for the Give Funds and Designations add-on
* New: Added v3 form migration compatibility for select GiveWP add-ons including: Mailchimp, Funds and Designations, and Per-Form Gateways
* New: Added a new programmatic way to interact with the v3 confirmation page using our fields api

= 3.2.2: Dec 20th, 2023 =
* Fix: Resolved an error on the donor details page when they have no donations
* Fix: Resolved an issue where the continue button setting was not being reflected on forms using legacy template
Expand Down
4 changes: 2 additions & 2 deletions src/DonationForms/Migrations/RemoveDuplicateMeta.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
/**
* Remove duplicate meta keys and set correct value for form earnings
*
* @unreleased
* @since 3.3.0
*/
class RemoveDuplicateMeta extends Migration
{
Expand Down Expand Up @@ -38,7 +38,7 @@ public static function timestamp()
}

/**
* @unreleased
* @since 3.3.0
*/
public function run()
{
Expand Down
2 changes: 1 addition & 1 deletion src/DonationForms/V2/DonationFormsAdminPage.php
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ public static function getUrl(): string
/**
* Get an array of supported addons
*
* @unreleased Add support to the Funds and Designations addon
* @since 3.3.0 Add support to the Funds and Designations addon
* @since 3.0.0
* @return array
*/
Expand Down
2 changes: 1 addition & 1 deletion src/DonationForms/resources/app/utilities/memoNode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {Node} from '@givewp/forms/types';
* This is used for memoizing Node components. Node props come from the server and are never intended to change. The
* state of a Node may change, triggering a re-render, but the props should never change.
*
* @unreleased updated param and return types
* @since 3.3.0 updated param and return types
* @since 3.0.0
*/
export default function memoNode(NodeComponent: {({node}: {node: Node}): JSX.Element}): typeof NodeComponent {
Expand Down
4 changes: 2 additions & 2 deletions src/DonorDashboards/Routes/PasswordResetRoute.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@


/**
* @unreleased
* @since 3.3.0
*/
class PasswordResetRoute implements RestRoute
{
Expand Down Expand Up @@ -45,7 +45,7 @@ public function registerRoute()
/**
* Handles logout request
*
* @unreleased
* @since 3.3.0
*
* @param WP_REST_Request $request
*
Expand Down
2 changes: 1 addition & 1 deletion src/DonorDashboards/Tabs/EditProfileTab/PasswordRoute.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public function args()
/**
* Handles password update.
*
* @unreleased
* @since 3.3.0
*
* @param WP_REST_Request $request
*
Expand Down
2 changes: 1 addition & 1 deletion src/Exports/DonorsExport.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public function set_properties($request)
/**
* @since 2.29.0 Include donor created date
* @since 2.21.2
* @unreleased Filter donors by form ID
* @since 3.3.0 Filter donors by form ID
*/
public function get_data(): array
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import EmailGeneralSettings from "@givewp/form-builder/settings/group-email-sett
import getEmailSettings from "@givewp/form-builder/settings/group-email-settings";

/**
* @unreleased
* @since 3.3.0
*/
const routes: Route[] = [
{
Expand Down Expand Up @@ -37,14 +37,14 @@ const routes: Route[] = [
];

/**
* @unreleased
* @since 3.3.0
*/
export default function FormSettings() {
return <FormSettingsContainer routes={validateRoutes(routes)} />;
}

/**
* @unreleased
* @since 3.3.0
*/
function validateRoutes(routes: Route[]): Route[] {
const paths = [];
Expand Down Expand Up @@ -73,7 +73,7 @@ function validateRoutes(routes: Route[]): Route[] {
}

/**
* @unreleased
* @since 3.3.0
*/
function isValidRoute(route: Route) {
return (
Expand All @@ -86,7 +86,7 @@ function isValidRoute(route: Route) {
}

/**
* @unreleased
* @since 3.3.0
*/
export type Route = {
name: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Route } from "@givewp/form-builder/components/canvas/FormSettings";
import { setFormSettings, useFormState, useFormStateDispatch } from "@givewp/form-builder/stores/form-state";

/**
* @unreleased
* @since 3.3.0
*/
function RenderRoutes({routes}: {routes: Route[]}) {
const [state] = useFormSettingsContext();
Expand All @@ -29,7 +29,7 @@ function RenderRoutes({routes}: {routes: Route[]}) {
}

/**
* @unreleased
* @since 3.3.0
*/
export default function Content({routes}: {routes: Route[]}) {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { Route } from "@givewp/form-builder/components/canvas/FormSettings";
import { useFormState } from "@givewp/form-builder/stores/form-state";

/**
* @unreleased
* @since 3.3.0
*/
function MenuItem({item}: {item: Route}) {
const [state, dispatch] = useFormSettingsContext();
Expand Down Expand Up @@ -62,7 +62,7 @@ function MenuItem({item}: {item: Route}) {
}

/**
* @unreleased
* @since 3.3.0
*/
export default function Menu({routes}: {routes: Route[]}) {
const [state] = useFormSettingsContext();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const UPDATE_MENU_STATE = "UPDATE_MENU_STATE";
const NAVIGATE_BACK_IN_MENU = "NAVIGATE_BACK_IN_MENU";

/**
* @unreleased
* @since 3.3.0
*/
export const formSettingsReducer = (state: State, action: Action) => {
switch (action.type) {
Expand Down Expand Up @@ -34,22 +34,22 @@ export const formSettingsReducer = (state: State, action: Action) => {
}

/**
* @unreleased
* @since 3.3.0
*/
export const updateMenuState = (hasChildren: boolean, path: string): Action => ({
type: UPDATE_MENU_STATE,
payload: {hasChildren, path},
});

/**
* @unreleased
* @since 3.3.0
*/
export const navigateBackInMenu = (): Action => ({
type: NAVIGATE_BACK_IN_MENU,
});

/**
* @unreleased
* @since 3.3.0
*/
export type State = {
menuPage: number;
Expand All @@ -58,14 +58,14 @@ export type State = {
};

/**
* @unreleased
* @since 3.3.0
*/
export type MenuState = {
hasChildren: boolean;
path: string;
};

/**
* @unreleased
* @since 3.3.0
*/
export type Action = {type: typeof UPDATE_MENU_STATE; payload: MenuState} | {type: typeof NAVIGATE_BACK_IN_MENU};
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import Content from './components/Content';
const FormSettingsContext = createContext<[State, Dispatch<Action>] | undefined>(undefined);

/**
* @unreleased
* @since 3.3.0
*/
export function useFormSettingsContext() {
const context = useContext(FormSettingsContext);
Expand All @@ -23,7 +23,7 @@ export function useFormSettingsContext() {
}

/**
* @unreleased
* @since 3.3.0
*/
export default function FormSettingsContainer({routes}) {
const [state, dispatch] = useReducer(formSettingsReducer, {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ type PopoverContentWithTemplateTagsProps = {
};

/**
* @unreleased extracted template tags to be a shared component
* @since 3.3.0 extracted template tags to be a shared component
* @since 3.0.0
*/
export default function PopoverContentWithTemplateTags({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { Button } from "@wordpress/components";
import "./styles.scss";

/**
* @unreleased
* @since 3.3.0
*/
function CopyTagButton({textToCopy}) {
const [isCopied, setCopied] = useState(false);
Expand All @@ -31,7 +31,7 @@ function CopyTagButton({textToCopy}) {
}

/**
* @unreleased
* @since 3.3.0
*/
export default function TemplateTags({
templateTags,
Expand Down Expand Up @@ -62,7 +62,7 @@ export default function TemplateTags({
}

/**
* @unreleased
* @since 3.3.0
*/
export type TemplateTag = {
id: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { PanelRow } from "@wordpress/components";
import { ClassicEditor } from "@givewp/form-builder-library";

/**
* @unreleased
* @since 3.3.0
*/
const DonationConfirmation = ({id, content, onChange}) => {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import TemplateTags from '@givewp/form-builder/components/settings/TemplateTags'
const {donationConfirmationTemplateTags} = getFormBuilderWindowData();

/**
* @unreleased
* @since 3.3.0
*/
export default function FormDonationConfirmationSettingsGroup({settings, setSettings}) {
const {receiptHeading, receiptDescription} = settings;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import EmailTemplateSettings from "@givewp/form-builder/settings/group-email-set
import TemplateTags from "@givewp/form-builder/components/settings/TemplateTags";

/**
* @unreleased
* @since 3.3.0
*/
export default function EmailTemplateOptions({notification, settings, setSettings}) {
const [showPreview, setShowPreview] = useState<boolean>(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {getFormBuilderWindowData} from '@givewp/form-builder/common/getWindowDat
import TrashIcon from './components/TrashIcon';

/**
* @unreleased
* @since 3.3.0
*/
type EmailTemplateSettingsProps = {
notification: string;
Expand All @@ -19,7 +19,7 @@ type EmailTemplateSettingsProps = {
};

/**
* @unreleased
* @since 3.3.0
*/
const EmailTemplateSettings = ({notification, templateTagsRef, settings, setSettings}: EmailTemplateSettingsProps) => {
const {emailTemplateOptions} = settings;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { SettingsSection } from "@givewp/form-builder-library";
import LogoUpload from "@givewp/form-builder/settings/group-email-settings/email/logo-upload";

/**
* @unreleased
* @since 3.3.0
*/
export default function EmailGeneralSettings({ settings, setSettings }) {
const { emailOptionsStatus, emailTemplate, emailLogo, emailFromName, emailFromEmail } = settings;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { getFormBuilderWindowData } from "@givewp/form-builder/common/getWindowD
import EmailTemplateOptions from "./email/template-options";

/**
* @unreleased
* @since 3.3.0
*/
const getEmailSettings = () => {
const {emailNotifications} = getFormBuilderWindowData();
Expand All @@ -20,7 +20,7 @@ const getEmailSettings = () => {
};

/**
* @unreleased
* @since 3.3.0
*/
const areEmailSettingsEnabled = ({settings}) => {
const {emailOptionsStatus} = settings;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { __ } from "@wordpress/i18n";
import { PanelRow, TextControl, ToggleControl } from "@wordpress/components";

/**
* @unreleased
* @since 3.3.0
*/
const FormGridSettings = ({settings, setSettings}) => {
const {formGridCustomize, formGridRedirectUrl, formGridDonateButtonText} = settings;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import FormSummarySettings from "./form-summary";
import RegistrationSettings from "./registration";

/**
* @unreleased
* @since 3.3.0
*/
export default function FormGeneralSettingsGroup({settings, setSettings}) {
const formGridDescription = createInterpolateElement(
Expand Down
Loading

0 comments on commit b74d820

Please sign in to comment.