Skip to content

Commit 78ade96

Browse files
committed
4.2.1
1 parent c8ac030 commit 78ade96

File tree

4 files changed

+29
-148
lines changed

4 files changed

+29
-148
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"update": "roll update",
1818
"install:dev": "roll install --dev",
1919
"update:dev": "roll update --dev",
20-
"archive": "FOLDER=tangible-loops-and-logic; roll archive -y && rm -rf publish/$FOLDER && unzip publish/$FOLDER.zip -d publish/ && npm run now:test:archive",
20+
"archive": "FOLDER=tangible-loops-and-logic; roll archive -y && rm -rf publish/$FOLDER && unzip -q publish/$FOLDER.zip -d publish/ && npm run now:test:archive",
2121
"now": "wp-now start --blueprint=blueprint.dev.json",
2222
"now:dev": "concurrently --raw 'roll dev' 'npm run now'",
2323
"now:test": "roll run tests/now/index.ts",

readme.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
All plugin features have been moved into the [Template System module](https://github.com/tangibleinc/template-system).
44

5+
Website: https://loopsandlogic.com/
6+
7+
Documentation: https://docs.loopsandlogic.com/
8+
59
Source code: https://github.com/tangibleinc/loops-and-logic
610

711
## Develop

readme.txt

Lines changed: 22 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
=== Loops & Logic ===
2-
Stable tag: 4.2.0
2+
Stable tag: 4.2.1
33
Requires at least: 6.0
4-
Tested up to: 6.7
4+
Tested up to: 6.8
55
Requires PHP: 7.4
66
License: GPLv2
77
License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -151,148 +151,25 @@ Everything will work with themes built according to WordPress standards.
151151

152152
== Changelog ==
153153

154-
= 4.2.0 =
155-
156-
Release Date: 2025-01-28
157-
154+
= 4.2.1 =
155+
156+
Release Date: 2025-04-21
157+
158+
- Atomic CSS: Utility classes and variables compatible with Tailwind v4
159+
- Attachment loop type
160+
- Add field "audio" for audio file metadata from ID3 tags
161+
- Add field "filepath" for path to file
162+
- Editor: Improve passing language definition of closed tags to formatter
163+
- Elandel (template language in TypeScript): Start Expression and Interactivity modules
164+
- Enable by default new features that reached stability; Can be deactivated in settings page
165+
- Elementor integration: Use new code editor based on CodeMirror 6
166+
- Object cache for parsed and pre-processed templates
167+
- Export page: Improve select template types for L&L and Blocks
168+
- Field tag: Support "." dot syntax for subfields (object/array/loop)
169+
- Gutenberg integration: Improve enqueue editor assets in iframe
158170
- Improve compatibility with PHP 8.4
159-
- Improve develop/build/test setup and workflow for plugin and modules
171+
- Improve development setup and tests for supported PHP versions with Docker and wp-env; end-to-end tests with Playwright; and running tests on plugin zip archive before publish
172+
- Layout template type: Improve loading logic to pass through redirects
160173
- REST API: Improve compatibility with Checkview
161-
162-
= 4.1.7 =
163-
164-
Release Date: 2024-11-21
165-
166-
- Fix Gutenberg enqueue inside editor iframe: Register Template block dependencies
167-
- [Block Editor: Enqueueing Assets in the Editor](https://developer.wordpress.org/block-editor/how-to-guides/enqueueing-assets-in-the-editor/#backward-compatibility-and-known-issues)
168-
- Optional object cache for parsed and preprocessed template posts; See admin settings
169-
170-
= 4.1.5 =
171-
172-
Release Date: 2024-08-31
173-
174-
- Fix XSS vulnerability when visiting admin settings page URL
175-
176-
= 4.1.4 =
177-
178-
Release Date: 2024-06-13
179-
180-
- Editor and language integration
181-
- New HTML and CSS engines, linter, formatter
182-
- Organize general-purpose editor and template language features independent of WordPress
183-
- Improve plugin zip package build/test/release workflow
184-
- File size ~42% smaller
185-
- Remove source maps for production
186-
- Improve support for SQLite database integration
187-
- Logic module: Build and evaluate conditional rules for frontend (TypeScript) and backend (PHP)
188-
- Tags: Logic, Rule, All, Any, Not
189-
- Integrate with If tag using attribute "logic"
190-
- Pager module: Start new foundation for more modular pagination features
191-
- Tags: Pager, PagerButtons, PagerFields, PagerLoading
192-
- Support loop ID
193-
- First/last, previous/next actions
194-
- Multiple button groups and fields before/after loop
195-
- Post loop: Get loop context in taxonomy archive to return current taxonomy and term
196-
- Start features in progress (alpha)
197-
- Content: Template type for content structure templates
198-
- Views: Unified interface to edit and manage all template types (layouts, scripts, styles, assets, libraries)
199-
- Table module
200-
- Fix error with method enqueue_table
201-
- Fix warning when sorting value is null instead of string
202-
- Test environment with [wp-now](https://github.com/WordPress/playground-tools/tree/trunk/packages/wp-now)
203-
- Tests for supported PHP versions
204-
- End-to-end tests with Chromium
205-
- Verify plugin zip package
206-
207-
= 4.1.3 =
208-
209-
Release Date: 2024-03-22
210-
211-
- ACF Date/Time field: Add tests for field comparison with timestamps
212-
- Base loop: Improve casting query parameter to array when non-string value is passed
213-
- Beaver integration: Ensure Template module restores current post in context
214-
- Taxonomy term loop: Handle case when include/exclude is given as integer ID
215-
- Template save and format slugify: Use remove_accents() to convert all accent characters to ASCII characters, before creating slug with sanitize_title_with_dashes()
216-
217-
= 4.1.2 =
218-
219-
Release Date: 2024-03-15
220-
221-
- ACF integration
222-
- Date field types: Ensure unformatted value is passed to date conditions
223-
- Group, Flexible Content, Repeater: Correctly set up subfield loop after change to List loop type to support extended parameters such as offset/count/sort/filter
224-
- Post loop: Handle case when extended query parameter for post/user/category/tag slug is not array
225-
- Sass module: Revert to SCSS-PHP 1.11.1 to keep compatibility with PHP 7.4
226-
- Taxonomy term loop: Correctly pass post object IDs to query
227-
228-
= 4.1.0 =
229-
230-
Release Date: 2024-03-12
231-
232-
- ACF integration
233-
- **Breaking change**: Date field types now get their default formatting from the field setting for Return Format. Previously the defaults were from site setting (Date field), "Y-m-d H:i:s" (Date/Time), and "H:i:s" (Time). Now they use the selected format in each field's settings, or ACF's default return format: "d/m/Y" (Date), "d/m/Y g:i a" (Date/Time), and "g:i a" (Time).
234-
- Improve handling of "format" and "locale" attributes
235-
- Editor
236-
- Formatter
237-
- Add keyboard shortcuts to support formatting by entire document or selected lines
238-
- Start a fork of Prettier HTML formatter to customize based on template language definition
239-
- Linter: Improve HTML linter rule for unique ID so it applies only to static tags
240-
- Update CodeMirror modules and Prettier
241-
- HTML module
242-
- Add comprehensive HTML test suite with test files from Parse5, Prettier, and Unified
243-
- Refactor to improve performance: ~3% faster
244-
- Loop types
245-
- Consolidate everywhere that accepts a list to support comma-separated list and JSON array
246-
- Improve sort by field using "field_compare"
247-
- List, Map, Map Keys: Support query parameters for base loop, such as offset, count, sort, filter, pagination
248-
- List: Use field name "value", like "sort_field=value"
249-
- Map keys: Use field name "key" or "value". Keep default order of keys as defined, unless "sort_field=key" is applied - previously was sorted alphabetically.
250-
- Gutenberg integration: Template block: Remember previously selected template when switching tabs
251-
- Sass module: Upgrade Sass compiler (scssphp) to 1.12.1, and CodeMirror Sass language support
252-
- Taxonomy term loop: Ensure "post" attribute accepts list variable
253-
- Template post types: Ensure templates always have a universal ID assigned, during post save and before exporting. This improves how duplicate templates are handled during import.
254-
- Template tag/shortcode: Ensure no post matches if attribute "name" is an empty string - See [WP_Query matches *any* post when query parameter "name" is an empty string](https://core.trac.wordpress.org/ticket/60468)
255-
256-
= 4.0.2 =
257-
258-
Release Date: 2024-01-18
259-
260-
- ACF integration: For relational fields, apply loop query parameters such as sort, order, paged, and exclude
261-
- Editor: Change key map to expand Emmet abbreviation to Shift+TAB, to prevent conflict with TAB to select autocomplete suggestion
262-
- Framework: Improve plugin settings page styles
263-
- Paginator: Improve how AJAX script is loaded
264-
- Post loop: Support use of `exclude` and `include` together, which is not natively supported by WP_Query
265-
266-
= 4.0.1 =
267-
268-
Release Date: 2024-01-04
269-
270-
- Fix issues related to code reorganization: Mobile Detect and WP Fusion; Add integration tests to ensure no regression
271-
272-
= 4.0.0 =
273-
274-
Release Date: 2024-01-03
275-
276-
- [Documentation](https://docs.loopsandlogic.com/reference/template-system): Reference pages for developers and contributors, with technical details of how the codebase is organized.
277-
- [Editor](https://docs.loopsandlogic.com/reference/template-system/editor/): New code editor based on CodeMirror 6 is enabled by default for template post types, Gutenberg, and ACF Template field. The old editor is still used for Elementor and Beaver Builder until integration is complete.
278-
- Framework and Modules: Features have been organized into modules which can be independently built, documented, tested, and optionally published. This replaces the previous Plugin Framework and Interface module.
279-
- [GitHub repository](https://github.com/tangibleinc/template-system): New home of the Template System source code and project, with better developer experience and social collaboration. Welcome to start new issues, pull requests, and discussions.
280-
- Testing: Improve coverage of unit tests, and prepare foundation for end-to-end tests with headless browser and WordPress environment in Docker. This is an on-going effort to exercise and verify all features of the plugin.
281-
282-
Other improvements:
283-
284-
- ACF integration: Add Field tag attribute "acf_textarea" to apply formatting based on field settings
285-
- Archive screen: Add bulk action to move selected posts to trash
286-
- Assets edit screen: Improve documentation
287-
- Atomic CSS: Generate CSS utility classes on demand.
288-
Similar to Tailwind, this feature uses a style engine called [UnoCSS](https://unocss.dev/) to generate CSS rules from utility classes found in an HTML template, every time it is saved. On the frontend, the generated styles are minified together, removing any redundant rules. Enable in plugin settings.
289-
- Edit screen: Add Preview pane with auto-refresh
290-
- Editor: Hyperlink extension - Add clickable link icon next to a valid URL; Improve color picker
291-
- Import/Export
292-
- Add export rule to include/exclude template categories
293-
- Update PNG Compressor with better support for Firefox
294-
- Use compressed format (PNG) by default
295-
- Show admin menu, edit screens, and template editor (Gutenberg, Elementor, Beaver) only to admins with `unfiltered_html` capability. On multisite installs, by default only network admins have this capability, not subsite admins.
296-
- Update included libraries
297-
- HJSON, Select2, Chart.js, Mermaid, ..
298-
- Prism: Update library to 1.29.0 - Replace Clipboard.js with browser-native `navigator.clipboard`
174+
- Start new features: Content Structure and Form templates; ACF Extended integration; Tangible Fields integration
175+
- WP Grid Builder facet integration with support for pagination; Thanks to @zackpyle!

tangible-loops-and-logic.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
* Plugin Name: Tangible: Loops & Logic
44
* Plugin URI: https://loopsandlogic.com/
55
* Description: A template system with content type loops and conditions.
6-
* Version: 4.2.0
6+
* Version: 4.2.1
77
* GitHub URI: TangibleInc/loops-and-logic
88
* Author: Team Tangible
99
* Author URI: https://teamtangible.com
1010
* License: GPLv2 or later
1111
*/
1212

13-
define( 'TANGIBLE_LOOPS_AND_LOGIC_VERSION', '4.2.0' );
13+
define( 'TANGIBLE_LOOPS_AND_LOGIC_VERSION', '4.2.1' );
1414

1515
$module_path = is_dir(
1616
($path = __DIR__ . '/../../tangible') // Module

0 commit comments

Comments
 (0)