Skip to content

8.2.0

Choose a tag to compare

@jimyhuang jimyhuang released this 05 Nov 03:33
· 858 commits to master since this release

Release Notes for 8.2.0

Major Improvements

Premium Management System

Premium Combination Feature

  • c12241300 Refs #44200, Show combination in premium block.
  • 6655ff4cb Refs #44199, Fix combination image not show issue.
  • a43a4fe06 Refs #44199, Fix url parameter.
  • 8fc84edfe Refs #44199, Fix delete premium combination function.
  • 894c03304 Refs #44199, Make combination content wrap and adjust the sorting.
  • ce145d312 Refs #44199, Show correct combination table in premium page.
  • b1b40aac6 Refs #44199, Update tpl to show premium product and quantity.
  • 055e10aad Refs #44199, Fix Add Premium to the Combination block function.
  • 44115a1de Refs #44199 21f, Remove unused page function and refactor code integration.
  • 926389345 Refs #44199, Create managePremiumsCombination Page.
  • 0d0e8f669 Refs #44199, Update tpl to show different messages based on premiums being enabled.
  • ac7328292 Refs #44199: Show different messages based on premiums being enabled.
  • bc8d581e5 Refs #44199, Add premiums_combination column to premiums page.
  • aeecc2587 Refs #44199, Add premiums_is_combine column to premiums page.

Premium Combination Database Schema

  • efdd703e6 refs #43659, add civicrm_premiums_combination, civicrm_premiums_combination_products tables
  • 19f6747a2 refs #43659, add civicrm_premiums_combination, civicrm_premiums_combination_products tables
  • 7ba832384 refs #43659, add contribution_product table fields for premium restock
  • e344f0156 refs #44201, add civicrm_contribution_product table creation

Premium Inventory Management

  • f37c698d2 refs #44201, add premium re-stock settings form
  • e45e3ae17 refs #44201, add premium restock period check and restock method
  • e637a1844 refs #44201, add restock checking method for online contribution
  • 9a1800c87 refs #44201, restock premium when cancel contribution manually.
  • 0403463f2 refs #44201, execute only when this product doesn't trigger restock.
  • 8ae5e92ae refs #44201, restock when ipn notify failed or cancelled.
  • c9771576b refs #44201, add stock status , number related columns on product list page
  • 177e6cbba refs #44201, manually restock now respect config settings
  • c789b2a6a refs #44201, add inventory / stock check on contribution form
  • 343c04c16 refs #44201, add product internal id to manage premium list
  • 18bda5616 refs #44201, add stock status and quantity editing when editing premium
  • ad58ef232 refs #44201, add out of stock description when select premium in editing contribution
  • 0650f0710 refs #44201, remove title bar when confirmation premium link
  • a49a5f55d refs #44201, popup confirm box when add contribution
  • 804e94bad refs #44201, allow manually reserve stock when create new contribution
  • 179d1c765 refs #44201, add log when stock increase / decrease

Premium Combination Data Processing

  • 1cb751820 Refs #44200, Record combination_id when saving combination premiums to DB.
  • 51d0b11d5 Refs #44200, Add hidden field for combination check and save combination premiums to DB.
  • eccb50eba Refs #44199, Fix combination contribution fulfilled_date not work issue.
  • 7833e864f Refs #44199 42f, Disable editing of premium combination when editing a contribution that includes one.
  • 7833e864f Refs #44199, Update combination name column and remove unused column.
  • dd0f6c934 Refs #44199 42f, Add combination block on contribution view page.
  • 8479b01c3 Refs #44199 42f, If a contribution has a premium combination, search results should display both the combination name and product names.
  • e800df32b Refs #44199, Only show active product in premium combination.
  • 897d198d5 Refs #44199, Add columns for min recurring and on-time contribution and sum the price coumlum.
  • 54939ec6c Refs #44200, #44199 Fix premium combination display to show only selected item on confirmation pages and update translation.
  • a7eecd37c Refs #44199, Add function to show premium combination preview block.
  • eee560ed6 Refs #44199, Update browse function to match premium weight controls.
  • 436bba982 Refs #44199, Update premium combination weight display to match premium weight controls.
  • dfc3cee0d Refs #44199, Update backend validation for premium combinations on the contribution page.

AI Image Generation Tool

AI Image Generation Interface

  • d8ef676d2 refs #44287, add AI image generator with UI controls
  • cab6b834c refs #44287, adjust image aspect ratio and apply dark UI theme
  • 9b2f6e007 refs #44287, add CSS for AI image generation UI
  • 34abd7e2d refs #44287, add AI image generator panel
  • 1bbe399b5 refs #44287, enable panel header selection
  • 3439af649 refs #44287, move tabs to sidePanel module
  • 3790f3391 refs #44287, optimize sidePanel tabs functionality
  • 8dc11c0f2 refs #44287, build AI image generator interface

AI Image Generation Features

  • fc463ba6f refs #44287, feat: integrate AI image generator into Email, Mailing, and Event templates
  • 7c50909be refs #44287, feat: Add logic to open AI image generation panel
  • 6b17a7129 refs #44287, feat: link to AI image generation
  • faf13eb98 refs #44287, feat: add tooltip to prompt text field
  • 74fda918d refs #44287, feat: ensure new images match display structure and enable lightbox
  • 123962e84 refs #44287, feat: implement forceLoadSample to protect user images
  • 6098b5986 refs #44287, feat: implement dedicated context tracking for 'Generate with AI' link
  • d504a2ca5 refs #44287, feat: implement enhanced AI image lightbox
  • 75e7777bb refs #44287, feat: implement enhanced AI image lightbox
  • 9978c6f41 refs #44287, feat: Add i18n and refined messaging to AI image lightbox
  • ef0b9217c refs #44287, feat: add dedicated panel message system in lightbox
  • e8fae19c6 refs #44287, feat: implement AI image generation history and UI
  • c5afa7d8f refs #44287, feat: complete and stabilize history API and UI
  • 9d9e2801f refs #44287, feat: add AI image history API

AI Prompt Translation and Generation

  • 4fedcd2e3 refs #44288, implement AI-powered prompt translator
  • c39ad60ac refs #44288, return complete API response in translate method
  • 0b15bccf2 refs #44288, make AI model and tokens configurable
  • 975d80cf8 refs #44288, simplify error handling
  • 6b51032c2 refs #44288, make AI model and tokens configurable
  • e8c98530b refs #44288, add GPT-4o model support
  • 4c5190ac5 refs #44288, use correct OpenAI message structure
  • 6d98905b1 refs #44288, simplify AI prompt translation workflow
  • 674285459 refs #44288, improve AI prompt variation logic
  • 6948cb768 refs #44288, fix safety check issue
  • eee560ed6 refs #44288, expand image ratios and boost default resolution
  • 8479b01c3 refs #44288, improve ITRI ICL image quality settings
  • dd0f6c934 refs #44288, improve AI prompt filtering
  • 240b87388 refs #44288, improve AI prompt filtering

AI Image Storage and Management

  • 1b20130c5 refs #44288, add CRM_AI_BAO_AIImageGeneration
  • 119ca75bd refs #44288, add status constants for AI image generation
  • ebadbf4cf refs #44288, add storage tracking to AIGenImage
  • 3efd34d73 refs #44288, enhance JSON parsing for multiple formats
  • 0ae13aa85 refs #44288, repair AI image API database storage flow
  • ddac1a5a2 refs #44288, comment out contact_id assignment
  • 85e6e23f4 refs #44288, add AI image generation API endpoint
  • 0131965d8 refs #44288, add AI image generation API endpoint
  • 64f19ba3b refs #44288, rename AI image API endpoint
  • aa5c2b714 refs #44288, remove try-catch wrapper from image generation
  • 76fb7239f refs #44288, correct image URL generation

Payment Gateway Enhancements

Newebpay (Spgateway) Apple Pay Integration

  • 5d0cdd64c refs #40606, add apple pay front payment instrument
  • 266451569 refs #40606, update translation of apple pay front on installation
  • 2b4ed2a52 refs #40606, add apple pay frontend support for neweb(spgateway)
  • ce3e7bc13 refs #40606, add apple pay frontend support for neweb(spgateway)
  • 47dc6d91b refs #40606, the mobile google pay and apple pay will follow the specify payment_processor_id for decryption needed
  • c27a415fb refs #40606, add applefront, googlepay instrument back
  • c4ce299d9 refs #40606, remove wrong payment instrument on non-credit card
  • a103f9954 refs #40606, correct unit test for MPG 2.3, fix IPN issue for 2.3
  • 1de067986 refs #40606, use MPG 2.3 for all non-recurring
  • 8c0b0f30a refs #40606, use MPG 2.3 for all non-recurring
  • 122dedfb2 refs #40606, use MPG 2.3 for non-recurring payment
  • e79cd1b73 refs #40606, use MPG 2.3 when apple pay
  • 53ce7bc13 refs #40606, use MPG 1.3 when apple pay

TapPay 3DS Compliance Updates

  • 06afc30ab refs #44228, change cardholder name / email label, correct params to name_en for TapPay
  • 6644f0502 refs #44228, add default email as cardholder_email
  • f447b64a1 refs #44228, add tappay name / email required

MyPay Payment Processing

  • f844d833 Refs #43511, Define editableFields in MyPay to allow editing recurring contribution.
  • 68f9c797 Refs #43511, Remove unused editableFields in MyPay when editing recurring contribution.

Security and Compliance

Email Domain Verification

  • 4b23ae46d refs #42898, allowed DMARC (from as sender) when validation passed
  • bedab1d36 refs #42898, add last validation note no from email address admin list
  • c2ea09a16 refs #42898, add verify email domain spf / dkim helper function

Data Management and Search Improvements

Smart Group and Search Fixes

  • a8e9be937 Refs #43757, Fix add2group to include aggregate field filters in report queries.
  • 02a4d9f6a Refs #42971, Remove edit link for smart groups created from saved searches.
  • 1e3f54a refs #42330, operator saved by advanced search form shouldn't be apply to search object

Data Processing Improvements

  • fb54aaa Refs #41693 21f, remove condition for tables without location_type_id.
  • c616e05 Refs #41693 16f, Fix table weight sorting for Chinese custom field names.
  • 4a5690d Refs #41911 23f, When element is advcheckbox, do not check if element exists.

Minor Improvements

Code Quality and Performance

  • 14fdb23 refs #43833, use global php-cs-fixer setup for this project
  • bc9fa39 refs #43833, apply rules of phpcs to all project
  • 26446fe refs #43833, fixes dao generate not respect php style.
  • fa088da refs #43833, fixes php 7.3 compatibility
  • 2560cf3 refs #43833, apply short_scalar_cast rule of phpcs
  • 4e37bea refs #43833, apply ternary_to_null_coalescing rule of phpcs
  • f0a248a refs #43833, apply array_syntax rule of phpcs
  • 550b09a refs #43833, apply array_syntax rule of phpcs for tests
  • ca8f40d refs #43833, apply array_syntax rule of phpcs for CRM core

API Enhancements

  • 9558671 refs #42606, add getcount support for contact and contribution API

User Interface Improvements

  • 1826dd3 refs #37390, remove RFM title and optimize layout

MCP (Model Context Protocol) Integration

  • fdf9adc6f refs #44112, add Bearer validation for oauth2
  • 612b59159 refs #44112, mcp protocol 2024-11-05 allowed GET method
  • 612b59159 refs #44112, correct claude online mcp connection notification/initialized
  • 65c5fad51 refs #44112, rename API related permission name. Correct MCP query permission limitation
  • 3f51556a7 refs #44112, add contribution recur id
  • abeaaed68 refs #44112, add phpmyadmin sql-parser for validate sql query
  • 78aff0af1 refs #44112, add contact / contribution query tool for MCP
  • b84198793 refs #44112, add streamable for MCP
  • 38f136cd0 refs #44112, MCP only return specify data for privacy reason
  • 81303f8b7 refs #44112, Remove all other api call, keep generic, contribution and contact only
  • 778cb8b14 refs #44112, add return properties for return only specify fields
  • fe85955e7 refs #44112, Add custom fields, searchable firle support for contact and contribution search
  • 5dc6dbffb refs #44112, Rewrite permissions for REST api call for better security handling
  • 50b626ae8 refs #44112, Add mcp class
  • 0a129f7eb refs #44112, Rewrite permissions for REST api call for better security handling
  • 8d101371a refs #44112, force check permissions on api call

Testing Infrastructure Improvements

  • donation tax deduction test implementation
  • Membership renewal test additions

Bug Fixes

Premium System

  • 20620f284 Refs #44201, Disable editing for premiums and display message.

Payment Issues

  • 73c7e827b refs #43167, fixes BaseIPN load payment objects issue when required is false and doesn't have contribution page
  • e9e64cdbb refs #43167, fixes contribution page requirement when IPN
  • 1c3fd8fe9 refs #44201, fixes manually contribution status change restock premium product
  • 5fcad17d8 refs #43167, fixes agreement payment result processing
  • 1cf0f34f6 refs #43167, add debug log of paybytoken api

Data Management

  • 19686cddb refs #41568, fixes php 8.1 issues which count should have array type

User Interface

  • eb99952eb refs #44703, fixes release tag and version mark
  • 5cc70ee97 refs #44703, fixes the drupal version detection

Technical Improvements

Database Schema Updates

  • 1948b7d1d refs #44288, add AI image generation DAO
  • 20a383c0d refs #44288, add AI image generation schema

API Development

  • 1add2de27 refs #44288, add Activity module routes to AJAX handler
  • bbccec53e refs #44288, feat: add Activity module routes to AJAX handler

Security Enhancements

  • fdf9adc6f refs #44112, add Bearer validation for oauth2
  • 612b59159 refs #44112, mcp protocol 2024-11-05 allowed GET method
  • 612b59159 refs #44112, correct claude online mcp connection notification/initialized