|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to OpenFields will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +### Added |
| 11 | +- GitHub Actions workflow for automated releases |
| 12 | +- Comprehensive documentation index |
| 13 | +- Cross-linked documentation for better navigation |
| 14 | +- LICENSE file at repository root |
| 15 | +- Updated CONTRIBUTING.md with step-by-step guide |
| 16 | +- GitHub Actions build verification workflow |
| 17 | + |
| 18 | +### Fixed |
| 19 | +- TypeScript type error in ConditionalLogicPanel (field ID to string conversion) |
| 20 | +- Deprecated `get_openfields()` reference removed from documentation |
| 21 | + |
| 22 | +### Changed |
| 23 | +- Completely redesigned README for user-friendliness |
| 24 | +- Simplified and reorganized CONTRIBUTING.md |
| 25 | +- Added "See Also" links to all main documentation files |
| 26 | +- Improved documentation discoverability with INDEX.md |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +## [0.1.0] - 2024-12-11 |
| 31 | + |
| 32 | +### Features |
| 33 | +- ✨ Visual field builder with drag-and-drop interface |
| 34 | +- 📋 Core field types (text, textarea, select, radio, checkbox, switch, repeater, group, etc.) |
| 35 | +- 🎯 Conditional logic system with field ID-based references |
| 36 | +- 📍 Location rules for post types, taxonomies, and user roles |
| 37 | +- 🎨 Custom CSS per fieldset |
| 38 | +- 📤 Import/Export fieldsets as JSON |
| 39 | +- 🔌 REST API endpoints for headless usage |
| 40 | +- 📱 Responsive admin interface built with React 18 + TypeScript |
| 41 | +- 🧪 Field copy/paste functionality |
| 42 | + |
| 43 | +### Backend |
| 44 | +- WordPress plugin with PSR-4 autoloading |
| 45 | +- Custom database tables for fieldsets and fields |
| 46 | +- Automatic meta storage routing (post/user/term meta) |
| 47 | +- Full REST API with proper authentication |
| 48 | +- WordPress.org compliant code structure |
| 49 | + |
| 50 | +### Admin Interface |
| 51 | +- React 18 + TypeScript with Vite |
| 52 | +- shadcn/ui components and Tailwind CSS |
| 53 | +- Zustand state management |
| 54 | +- @dnd-kit for drag-and-drop functionality |
| 55 | +- Hot reload development experience |
| 56 | + |
| 57 | +### Documentation |
| 58 | +- Comprehensive developer guide |
| 59 | +- Architecture reference |
| 60 | +- Build system documentation |
| 61 | +- WordPress compliance guidelines |
| 62 | +- Quick reference for common tasks |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +## Release Process |
| 67 | + |
| 68 | +To create a new release: |
| 69 | + |
| 70 | +1. **Update version in `package.json`**: |
| 71 | + ```bash |
| 72 | + pnpm version patch # or minor, major |
| 73 | + ``` |
| 74 | + |
| 75 | +2. **Build the release**: |
| 76 | + ```bash |
| 77 | + pnpm run build:plugin:release |
| 78 | + ``` |
| 79 | + |
| 80 | +3. **Create a git tag**: |
| 81 | + ```bash |
| 82 | + git tag v$(node -p "require('./package.json').version") |
| 83 | + ``` |
| 84 | + |
| 85 | +4. **Push to GitHub**: |
| 86 | + ```bash |
| 87 | + git push origin main --tags |
| 88 | + ``` |
| 89 | + |
| 90 | +GitHub Actions will automatically: |
| 91 | +- Build the plugin |
| 92 | +- Create a release on GitHub |
| 93 | +- Upload the ZIP file for download |
| 94 | + |
| 95 | +See [BUILD.md](./docs/BUILD.md) for detailed build instructions. |
| 96 | + |
| 97 | +--- |
| 98 | + |
| 99 | +## Planned Features |
| 100 | + |
| 101 | +### Phase 2 (v1.1) |
| 102 | +- Advanced field types (WYSIWYG, Color Picker, Date/Time) |
| 103 | +- Field validation rules |
| 104 | +- Performance optimizations |
| 105 | +- CLI commands for scaffolding |
| 106 | + |
| 107 | +### Phase 3 (v2.0) |
| 108 | +- Enhanced repeater and flexible content |
| 109 | +- Custom field type builder UI |
| 110 | +- GraphQL support |
| 111 | +- Block editor integration |
| 112 | +- Field template library |
| 113 | + |
| 114 | +--- |
| 115 | + |
| 116 | +## Installation |
| 117 | + |
| 118 | +### For Users |
| 119 | +1. Download from [Releases](https://github.com/novincode/openfields/releases) |
| 120 | +2. Upload ZIP to WordPress admin → Plugins → Add New → Upload Plugin |
| 121 | +3. Activate the plugin |
| 122 | + |
| 123 | +### For Developers |
| 124 | +```bash |
| 125 | +git clone https://github.com/novincode/openfields.git |
| 126 | +cd openfields |
| 127 | +pnpm install |
| 128 | +pnpm run wp-env:start |
| 129 | +pnpm run dev |
| 130 | +``` |
| 131 | + |
| 132 | +--- |
| 133 | + |
| 134 | +## Support & Contributing |
| 135 | + |
| 136 | +- 📖 See [README.md](./README.md) for overview |
| 137 | +- 🤝 See [CONTRIBUTING.md](./CONTRIBUTING.md) for how to contribute |
| 138 | +- 📚 See [Documentation Index](./docs/INDEX.md) for all docs |
| 139 | +- 🐛 Report issues on [GitHub Issues](https://github.com/novincode/openfields/issues) |
| 140 | +- 💬 Ask questions in [GitHub Discussions](https://github.com/novincode/openfields/discussions) |
| 141 | + |
| 142 | +--- |
| 143 | + |
| 144 | +## License |
| 145 | + |
| 146 | +OpenFields is licensed under **GPL v2 or later**. See [LICENSE](./LICENSE) for details. |
| 147 | + |
| 148 | +Made with ❤️ by the OpenFields team |
0 commit comments