# Massoftind Field Builder — Changelog

## 1.3.61 — 2026-07-29

- Text / Textarea: always keep safe HTML tags on save (span, strong, em, i, …) — no toggle required.

## 1.3.60 — 2026-07-29

- Text / Textarea: optional "Allow basic HTML" setting so safe tags (span, strong, em, i, b, u, br, a, …) are kept on save.
- Theme helper `massoftind_fb_field()` outputs with `wp_kses` when that setting is enabled.
- Added `massoftind_fb_kses_basic_html()` / `massoftind_fb_kses_allowed_basic_html()` helpers.

## 1.3.59 — 2026-07-28

- WordPress Playground `blueprint.json` for one-click live demo.
- Dashboard onboarding checklist for first field group.
- Optional dismissible WordPress.org review nudge after a field group exists.
- readme: Playground link, clearer custom-fields keywords, screenshot captions.

## 1.3.46 — 2026-07-22

- WordPress.org review: REST permission callbacks use `manage_options` for field groups and `edit_post` for per-post field values.
- Text domain set to `massoftind-field-builder` to match the plugin slug.
- Late escaping for field/admin output (`esc_attr`, `wp_kses`, `wp_kses_post`).
- Removed generic `DFB_*` global constants.

## 1.3.44 — 2026-07-21

- Native qTranslate-X / qTranslate-XT support: Language Switching Buttons in admin; front-end helpers decode the active language.

## 1.3.43 — 2026-07-20

- WordPress.org submission polish: removed `acf` readme tag; simplified PluginMeta so plugin details come from the official directory API.

## 1.3.42 — 2026-07-20

- Plugin Check WARNING fixes: php_string_literal() for developer template code; phpcs ignore for priority meta_key ordering.

## 1.3.41 — 2026-07-20

- Plugin Check ERROR fixes (translators, local assets / no CDN, wp_enqueue for details iframe).

## 1.3.40 — 2026-07-20

- WordPress.org packaging: readme.txt, license.txt, languages folder, Plugin Check cleanup.
- Removed Plugin URI (no separate product page); Author: Mass Software Solutions.
- Removed manual load_plugin_textdomain(); PDF/Word doc downloads moved out of plugin package.

## 1.3.39 — 2026-07-20

- Developer Panel: **Full Template Example** for Repeaters/Groups now includes Conditional Logic (`Show this field if`) as real PHP `if` checks.
- Fixed nested group vars overwriting parent vars (e.g. `$content` inside `$leftgroup`).
- Fields that share the same condition (e.g. left + right groups) each get their own `if`, not `elseif`.

## 1.3.38 — 2026-07-17

- Fixed Conditional Logic dropdown changes looking like a full page reload: autosave no longer rebuilds the open field settings panel after every save.

## 1.3.37 — 2026-07-17

- Date field: added **Display Format** presets (ISO, F j Y, d/m/Y, m/d/Y, full weekday, custom PHP format string).
- Date field: added **Return Format** (Raw Y-m-d or Formatted).
- New template helpers: `massoftind_fb_date()` and `massoftind_fb_the_date()` with localized output via `wp_date()`.
- Admin date preview badge when a non-ISO display format is selected.

## 1.3.36 — 2026-07-17

- Time field: added **Display Format** setting (24-Hour `15:42` or 12-Hour `03:42 PM`).
- Time field: added **Return Format** setting (Raw HH:MM or Formatted).
- New template helpers: `massoftind_fb_time()` and `massoftind_fb_the_time()` for formatted output.
- 12-hour admin preview badge shown next to the time picker when 12-Hour format is selected.

## 1.3.34 — 2026-07-17

- Field names are now auto-made unique with readable suffixes (`text_copy`, `text_2`) when duplicating fields or when names collide — no more cryptic `field_xxxxx` keys in the Name field or Developer Panel.
- Duplicating a field auto-assigns a unique name from its label (e.g. `text_copy` for "Text (Copy)").
- Existing groups with duplicate names are repaired on load and save.

## 1.3.33 — 2026-07-17

- Developer Panel: each field now gets its own section keyed by unique field key, so duplicate field names no longer collapse into one panel entry.
- Developer Panel: when multiple fields share the same name, generated code uses the field key (e.g. `massoftind_fb_get( 'field_abc123' )`) instead of the ambiguous name.
- Developer Panel selection sync now matches the selected builder field by field key.

## 1.3.32 — 2026-07-17

- Unique meta keys: fields now store values under `_massoftind_fb_{field_key}` instead of `_massoftind_fb_{field_name}`, preventing value collisions when two fields share the same name across different field groups.
- POST form data is keyed by unique field key (`massoftind_fb_fields[field_xxxx]`) to avoid browser-level overwrites for duplicate field names.
- Full backward compatibility: reads fall back to name-based meta keys for existing data; name-based storage is preserved when field names are unique.
- Field key ↔ name mapping saved per post for reliable template helper lookups.

## 1.3.31 — 2026-07-17

- Fixed empty field groups on edit screens when a Group/Repeater/Accordion/Tabs field had Conditional Logic targeting its own sub-fields (e.g. BannerGroup hidden until radio = video).
- Multiple page template location rules (OR) continue to work; invalid container conditional logic is now stripped on load and save.

## 1.3.30 — 2026-07-17

- Developer Panel: Group "Full Template Example" now generates `if` / `elseif` code from sub-field Conditional Logic (e.g. show image when radio is image, video when radio is video).
- Developer Panel: sub-fields with Conditional Logic get a dedicated "Conditional Logic Template" snippet.

## 1.3.29 — 2026-07-17

- Developer Panel: removed Group field "Full Template Example" (long markup dump). Use per-sub-field snippets or `massoftind_fb_group_get()` instead.
- Developer Panel: removed Video field "Full Markup" example; use `massoftind_fb_video()` instead.

## 1.3.28 — 2026-07-17

- Fixed `massoftind_fb_get()` for duplicate field names (e.g. two Group fields both named `group`): stored meta keys now pick the correct field definition instead of returning an empty group array.

## 1.3.27 — 2026-07-17

- Conditional logic: hidden fields no longer disable their inputs, so values (e.g. BannerGroup image while Video is selected) still save.
- Group fields: sub-values missing from POST are preserved from existing meta instead of being wiped.

## 1.3.26 — 2026-07-17

- Field labels: removed `text-transform: uppercase` so labels keep their original casing.

## 1.3.25 — 2026-07-17

- Instructions now show under each field label on edit screens (ACF-style).
- Repeater/accordion/tabs AJAX rows keep instructions, wrapper width, and other field meta.
- Broken import text like `u00d7` is shown as `×`.

## 1.3.24 — 2026-07-17

- Wrapper Width placeholder restored to `50%`.
- Repeater/accordion/tabs: default fields stay 100% wide; custom widths apply on the column wrapper so nested fields no longer crowd into one row.

## 1.3.23 — 2026-07-17

- Wrapper Width: default fields stay 100% wide; custom widths (e.g. 33.33%) only apply when set and sit side-by-side.

## 1.3.22 — 2026-07-17

- Wrapper Width: fields with widths like 33.33% now sit side-by-side in meta boxes, repeaters, groups, accordions, and tabs (was forced to a vertical stack). Bare numbers (e.g. 50) are treated as percentages.

## 1.3.21 — 2026-07-17

- Import JSON: accept ACF field-group exports (top-level groups array) and convert them to Massoftind Field Builder format; clearer Import page copy.

## 1.3.20 — 2026-07-16

- Shortcode field UI refreshed: modern shell, badge toolbar, monospace editor, example chips.

## 1.3.19 — 2026-07-16

- New Shortcode field type: paste any WordPress shortcode and output with do_shortcode() / massoftind_fb_the_shortcode().

## 1.3.18 — 2026-07-15

- Repeater max-rows tooltip: positioned left so it is not clipped; shorter tip text; Duplicate hidden at max; click still shows full toast.

## 1.3.17 — 2026-07-15

- Repeater Maximum Rows: clicking + or Duplicate at the limit shows a toast message; Add and Duplicate look disabled when at max.

## 1.3.16 — 2026-07-15

- Location Rules: modern menu placement panel — full-width card, clear menu dropdown, Before/After toggle pills, status badge.

## 1.3.15 — 2026-07-15

- Removed “Show as top-level menu / Place” block from the Site Section Edit Values screen (set menu placement in Location Rules instead).

## 1.3.14 — 2026-07-15

- Site Section menu UI: Place dropdown sits beside the menu dropdown (not stacked), with a live “After Portfolios” preview.
- Group panels show a clear Edit icon + “Edit Fields” link.

## 1.3.13 — 2026-07-15

- Site Section menu placement: pick any top-level admin menu and place Before or After it (own top-level item).
- Default is no selection — section stays under Site Sections until a menu is chosen.
- Saving a field group with menu placement now reloads so the admin sidebar updates.

## 1.3.12 — 2026-07-15

- Site Section Location Rules: new “Show in admin menu” option — Massoftind (Site Sections) or Appearance.
- Sections placed under Appearance appear in the WP Appearance menu; default stays under Site Sections.
- Site Section Edit + index cards show/can change the menu placement.

## 1.3.11 — 2026-07-15

- Location Rules helper text simplified (removed old page-template examples).
- Site Section Edit: each field group header has an Edit Fields icon; empty groups show a clear Edit Fields CTA.

## 1.3.10 — 2026-07-15

- Site Sections Theme usage: code panels start collapsed; open only on click.

## 1.3.9 — 2026-07-15

- SVG support: administrators can upload SVG/SVGZ; Image fields preview SVGs; `wp_get_attachment_image()` / `massoftind_fb_image()` inline SVG safely.

## 1.3.8 — 2026-07-15

- Unified admin action UI across Field Groups, Site Sections, Dashboard, Builder, Repeater/Accordion/Tabs: circular icons + dark hover tooltips.
- Site Sections pages now use the same page-hero / dash-button chrome as Field Groups.

## 1.3.7 — 2026-07-15

- Site Sections cards: Edit Values / Edit Fields / Delete use the same icon + dark tooltip UI as Field Groups.

## 1.3.6 — 2026-07-15

- Field Groups actions: icon-only Edit / Duplicate / Delete with dark hover tooltips (matches builder sidebar).

## 1.3.5 — 2026-07-15

- Site Sections Theme usage: removed generic Basic/Repeater intro blocks; only real field code is shown.

## 1.3.4 — 2026-07-15

- Site Sections cards: cleaner action footer — Edit Values + Edit Fields side by side, Delete as a quiet link.

## 1.3.3 — 2026-07-15

- Site Sections Theme usage: collapsible usage-guide UI (type badge, label, variable, copy button) matching Settings.

## 1.3.2 — 2026-07-15

- Site Sections Theme usage: shows real PHP snippets per field, including Repeater foreach via `massoftind_fb_option()`.

## 1.3.1 — 2026-07-15

- Builder: Group / Repeater remain available when adding sub-fields inside nested containers (unlimited nesting).
- Developer Panel: nested Group / Repeater template code now generates correct nested loops and group output.

## 1.3.0 — 2026-07-15

- Builder: allow Group / Repeater (and other containers) as nested sub-fields at any depth so you can nest Group → Sub Fields → Repeater → Sub Fields repeatedly.

## 1.2.99 — 2026-07-15

- Site Sections: fixed field groups not showing on Edit Values (slug matching); restored Delete; clearer slug helpers and Edit Fields links.

## 1.2.98 — 2026-07-15

- Site Sections: removed the Add Site Section form; sections appear automatically from field groups that use the Site Section location rule.

## 1.2.97 — 2026-07-15

- Site Sections: removed default Header/Footer; create your own sections (e.g. header-section, footer-section) from the Site Sections screen.

## 1.2.96 — 2026-07-15

- Site Sections: global Header/Footer (and extensible) admin screens with Site Section location rule; save/load via `massoftind_fb_option()`.

## 1.2.95 — 2026-07-15

- Gallery/Image Edit: preselects the clicked attachment using WordPress Featured Image selection logic so Attachment Details (Alt, Title, Caption, Description, Edit Image) loads correctly.

## 1.2.94 — 2026-07-15

- Image/Gallery Edit opens Media Library Attachment Details (Alt Text, Title, Caption, Description, File URL, Edit Image) instead of a blank crop modal.

## 1.2.93 — 2026-07-15

- Code Editor UI now uses the plugin light theme tokens (white/surface) instead of a black editor chrome.

## 1.2.92 — 2026-07-15

- Image & Gallery Edit now opens WordPress core Edit Image (crop / rotate / scale), same as Media Library → Edit Image.

## 1.2.91 — 2026-07-15

- Code Editor: modern full-width UI with toolbar + WordPress CodeMirror syntax highlighting on the post edit screen.

## 1.2.90 — 2026-07-15

- Video Developer Panel: when Return Format is HTML Player, Full Template generates `echo massoftind_fb_get()` (working code) instead of Array `$field['url']` markup.

## 1.2.89 — 2026-07-15

- Video: fixed admin select/preview both showing (`[hidden]` vs `display:flex`). Clarified that Return Format HTML Player returns a string — Full Template Array markup needs Return Format Array.

## 1.2.88 — 2026-07-15

- Video: Playback options (Autoplay, Loop, Mute, Unmute) moved to Type Settings. Frontend overlay uses SVG Play/Pause and Mute/Unmute buttons only (like the reference control style).

## 1.2.87 — 2026-07-15

- Video Developer Panel Full Template now generates the complete player markup (wrapper, video URL/source, and full controls bar).

## 1.2.86 — 2026-07-15

- Video: fixed broken custom control bar layout (nowrap + styled seek/volume thumbs); removed redundant Unmute text button; Developer Panel uses full multi-line template snippets for HTML Player.

## 1.2.85 — 2026-07-15

- Video: fixed frontend display when Return Format is HTML Player (`massoftind_fb_video` / `echo massoftind_fb_get`). Developer Panel snippets now match the selected return format.

## 1.2.84 — 2026-07-15

- Group, Repeater, and Accordion Full Template / Developer Panel snippets now share one type-aware generator for all sub-field types (File, Checkbox, Gallery, Link, Post Object, Taxonomy, Video, etc.).

## 1.2.83 — 2026-07-15

- Developer Panel / Group snippets for File fields now output a download link from the File Array (url/name) instead of casting arrays away.

## 1.2.82 — 2026-07-15

- Fixed location matching when multiple Page Templates were AND’d in one box (treated as OR). Romit Page Field Group rules corrected so fields show on Romit and Home templates.

## 1.2.81 — 2026-07-15

- Location Rules UI clarifies AND vs OR (AND between rules in one box; Add Rule Group for OR). Fixes confusion when targeting multiple page templates.

## 1.2.80 — 2026-07-15

- Developer Panel group/repeater snippets now generate type-aware code for Checkbox, Radio, Select, Gallery (and related types) instead of casting arrays to strings.

## 1.2.79 — 2026-07-14

- Added HTML5 Video field: media library or URL, Autoplay/Loop/Mute/Unmute options (shown after a video is set), and custom player controls (play, seek, mute, unmute, volume, download, fullscreen).

## 1.2.78 — 2026-07-14

- Checkbox and Radio defaults now apply in massoftind_fb_get() / format_value when no saved value exists (frontend matches admin pre-select).

## 1.2.77 — 2026-07-14

- Checkbox Default now uses the same dropdown UI as Radio (— None — / Choices).

## 1.2.76 — 2026-07-14

- Checkbox and Radio Type Settings now include a Default control to pre-select from Choices (multi for Checkbox, single for Radio).

## 1.2.75 — 2026-07-14

- Fixed Range (and any blank-Name field) not saving: empty Name now falls back to the field key. massoftind_fb_get() also resolves by field key. New fields auto-get a Name from the label.

## 1.2.74 — 2026-07-14

- Group and Repeater Sub Fields sit inside the same field card (no separate Sub Fields box underneath).

## 1.2.73 — 2026-07-14

- Group and Repeater Sub Fields always use a separate card below settings (including nested containers), matching the same layout pattern.

## 1.2.72 — 2026-07-14

- Field settings panel header now includes the same Close (×) and collapse arrow controls used on Sub Fields rows.

## 1.2.71 — 2026-07-14

- Modernized Color field UI: swatch + HEX input + clear + preset chips (replaces the stretched native color bar).

## 1.2.70 — 2026-07-14

- Select Allow Multiple now uses the searchable pill/tag UI (same as Post Object). Works for Static, Post Query, Taxonomy, and Users. AJAX Loading searches those remote sources; empty multi-select clears correctly on save.

## 1.2.69 — 2026-07-14

- massoftind_fb_get() now resolves Select/other values nested under Group fields, and field-definition lookup includes group sub-fields.

## 1.2.68 — 2026-07-14

- Hardened massoftind_fb_choice_label() for array values and case mismatches; added massoftind_fb_get_choice_label() helper for Select/Radio/Checkbox templates.

## 1.2.67 — 2026-07-14

- Fixed Select/Radio/Checkbox options collapsing into one entry (choices are now stored as a value→label map; recovered already-corrupted choice strings).

## 1.2.66 — 2026-07-14

- Replaced Choices textarea with an Add Option UI that auto-generates values from labels (Select, Radio, Checkbox).
- Restored the Options Source dropdown chevron arrow in Type Settings.

## 1.2.65 — 2026-07-14

- Fixed nested Group/Repeater Sub Fields drag-to-reorder (lists inside open inline config were cancelled; parent list no longer steals nested handles).

## 1.2.64 — 2026-07-14

- Fixed Sub Fields drag-to-reorder: sortable cancel matched the parent config panel and blocked every drag handle.

## 1.2.63 — 2026-07-14

- Added Duplicate row/section actions for Repeater, Accordion, and Tabs that copy all current field values (including WYSIWYG).
- Modernized post-editor Repeater UI: card rows, pill numbers, clearer add/duplicate/remove controls.

## 1.2.62 — 2026-07-14

- Rebuilt Required / Conditional Logic toggles so WP admin checkbox styles no longer clip or misalign the switch thumb.

## 1.2.61 — 2026-07-14

- Fixed General settings layout: Label/Name side-by-side, Required on its own row, Instructions and multi-select fields full width.

## 1.2.60 — 2026-07-14

- File field is document-only (PDF, DOC, XLS, etc.); images are blocked in the media picker and on save.
- Added Allowed File Types + Return Format settings, modern file picker UI, and massoftind_fb_file() helper.
- massoftind_fb_field() now renders a download link for file arrays instead of printing "Array".

## 1.2.59 — 2026-07-14

- Modernized Sub Fields rows to match Presentation / Conditional Logic accordion headers (label, delete, chevron).
- Added a Search field types box to the + Add Sub Field picker.

## 1.2.58 — 2026-07-14

- Sub Fields rows now open as one accordion section (single border, chevron, click again to close).
- Removed the double border and duplicate TEXTAREA header inside the open settings panel.

## 1.2.57 — 2026-07-14

- Fixed Required and other toggle switches inside Sub Fields (sortable was capturing clicks; toggle IDs no longer collide with parent field).
- Improved toggle hit target and inline sub-field settings panel styling.

## 1.2.56 — 2026-07-14

- Fixed + Add Sub Field button after Sub Fields header layout change (type picker now opens correctly).
- Sub field settings (Textarea, Repeater, etc.) now expand directly under the selected list row instead of a separate detached panel.

## 1.2.55 — 2026-07-14

- Redesigned Sub Fields as a full config card (not a nested accordion) for Repeater, Group, Accordion, and Tabs.
- Nested Repeaters now show the same full Sub Fields section as top-level fields (list + Add + nested field settings).

## 1.2.54 — 2026-07-14

- Fixed Developer Panel template examples for Repeater nested under Group (and Repeater under Repeater) so they generate foreach row loops instead of casting arrays to strings.
- Updated Accordion full examples and nested DeveloperCodeService snippets for row-based nested containers.

## 1.2.53 — 2026-07-14

- Added nested Sub Fields configuration for Repeater, Group, Accordion, and Tabs when used as sub fields.
- Preserved nested sub field definitions when rendering AJAX rows for container fields.

## 1.2.52 — 2026-07-13

- Remembered the active Left/Top meta-box tab across Update page reloads.

## 1.2.51 — 2026-07-13

- Added a YouTube field that accepts watch URLs and extracts the video ID.
- Showed a styled poster thumbnail with an anchor link and video ID in admin and frontend output.
- Added the massoftind_fb_youtube() helper for one-line poster rendering.

## 1.2.50 — 2026-07-13

- Added TinyMCE table support to WYSIWYG fields (WordPress core no longer ships the table plugin).
- Showed the table button on the second WYSIWYG toolbar row when Teeny Mode is off.

## 1.2.49 — 2026-07-13

- Applied the same if-condition Display Image pattern for Image URL and Image Array return formats.
- Wrapped the Image helper function example in an if condition.

## 1.2.48 — 2026-07-13

- Wrapped the Image ID Display Image developer example in an if condition.

## 1.2.47 — 2026-07-13

- Removed the Tab Separator field type from the builder.
- Renamed Tabs with Sub Fields back to Tabs.

## 1.2.46 — 2026-07-13

- Renamed Tabs to Tabs with Sub Fields to identify its repeater-style nested behavior.
- Renamed the layout-only Tab field to Tab Separator to prevent confusion.
- Clarified both tab field purposes in the builder and documentation.

## 1.2.45 — 2026-07-13

- Removed the Priority control from field-group settings while preserving saved priority values.
- Removed the Advanced field settings section and its Help Text and Read Only controls.

## 1.2.44 — 2026-07-13

- Moved the field editor empty-state text above the plus control.
- Made the central plus control open the Add Field picker.

## 1.2.43 — 2026-07-13

- Added attachment alt text, width, and height to the Image URL developer example.
- Updated massoftind_fb_image() to preserve WordPress attachment attributes for URL and Array formats.

## 1.2.42 — 2026-07-13

- Made Image developer examples update for Image ID, Image URL, and Image Array return formats.
- Added return-format-aware nested Image examples for repeater and group fields.
- Updated massoftind_fb_image() to render ID, URL, and Array values safely.

## 1.2.41 — 2026-07-13

- Developer Panel sections now start collapsed and open only after a field or section is clicked.
- Removed automatic reopening after developer-code refreshes while preserving an already open section.

## 1.2.40 — 2026-07-13

- Ensured the initially selected field opens in the Developer Panel on first page load.
- Added explicit field-name metadata to synchronize the builder after deferred script initialization.

## 1.2.39 — 2026-07-13

- Synchronized field selection with the matching Developer Panel code section.
- Developer examples now open, highlight, and scroll into view automatically.
- Preserved manual accordion controls with one developer section open at a time.

## 1.2.38 — 2026-07-13

- Expanded the Documentation screen to the full available content width.
- Fixed undefined documentation color tokens so section numbers and accents render correctly.

## 1.2.37 — 2026-07-13

- Replaced Field Groups text actions with compact Edit, Duplicate, and Delete icons.
- Action labels expand on hover and keyboard focus while retaining accessible names.

## 1.2.36 — 2026-07-13

- Added a modern, branded Documentation panel in WordPress admin.
- Added standalone HTML, A4 PDF, and editable Word guides covering fields, builder controls, template helpers, REST routes, architecture, security, and compatibility.
- Improved PHPDoc, JavaScript module contracts, CSS section documentation, and cross-layer nesting comments.
- Added the Front Page location-rule option and aligned taxonomy matching with builder values.
- Replaced the inactive cache tool with a working Documentation shortcut.

## 1.0.0 — 2026-07-09

### Module 1: Core Bootstrap
- Plugin bootstrap with PSR-4 autoloader and singleton architecture
- Activator, deactivator, and uninstall handlers
- Field Group custom post type (`massoftind_fb_group`)
- Plugin settings with defaults

### Module 2: Services Layer
- `FieldGroupService` — CRUD for field groups
- `FieldValueService` — meta storage, retrieval, repeater loops
- `LocationMatcher` — AND/OR location rule engine
- `Sanitizer` — input sanitization for groups and fields
- `ImportExportService` — JSON import/export with validation
- `DeveloperCodeService` — live PHP code generation

### Module 3: Field Types (27 types)
- Basic: Text, Textarea, Number, Email, URL, Password, Hidden, Date, Time, Color, Range
- Media: Image, Gallery, File
- Content: WYSIWYG, Code Editor
- Choice: Select, Checkbox, Radio, Toggle
- Advanced: Post Object, Relationship, Taxonomy, User, Repeater, Group, Clone
- Extensible `FieldRegistry` with `massoftind_fb_register_field_types` hook

### Module 4: Admin Interface
- Dashboard with statistics
- Field Groups list with duplicate/delete
- Visual field group builder (3-column layout)
- Import, Export, Settings, and Tools pages
- Post edit meta boxes with location-based display

### Module 5: AJAX API
- Save, delete, duplicate field groups
- Post/user search for relationship fields
- Developer code generation
- Import validation and execution
- Export to JSON

### Module 6: REST API
- `GET/POST/DELETE /massoftind-fb/v1/field-groups`
- `GET/PUT /massoftind-fb/v1/field-values/{post_id}`
- Authenticated endpoints with capability checks

### Module 7: Developer Experience
- Helper functions: `massoftind_fb_get()`, `massoftind_fb_field()`, `massoftind_fb_have_rows()`, `massoftind_fb_the_row()`, `massoftind_fb_sub_field()`, `massoftind_fb_option()`, `massoftind_fb_image()`, `massoftind_fb_gallery()`
- ACF-style aliases: `get_field_value()`, `have_field_rows()`, `the_field_row()`, `get_sub_field()`
- Live developer panel with syntax highlighting and copy buttons

### Module 8: Frontend Assets
- Modern admin CSS with dark mode support
- Builder JavaScript with drag-and-drop, auto-save, keyboard shortcuts
- Field type interactions (media library, repeater, relationship AJAX)
- Developer panel with collapsible code examples

## 1.0.1 — 2026-07-09

### Bug Fixes
- Fixed fatal error when ACF Pro is active: wrapped `get_sub_field()` alias in `function_exists()` check
- Fixed memory exhaustion on activation caused by circular dependency in `Plugin::instance()` bootstrap
- Deferred component loading to `plugins_loaded` hook
- Lazy-loaded field registry in `FieldValueService` and `DeveloperCodeService`
- Renamed `RestController::NAMESPACE` to `API_NAMESPACE` (reserved PHP keyword)
