From 609c418f1ef360e8c5340bb0cfc1dafb5948ab1f Mon Sep 17 00:00:00 2001
From: ssobol77
Date: Mon, 11 May 2026 12:52:40 +0200
Subject: [PATCH] fix(release): unblock v0.1.3 release pipeline
Three independent fixes that block v0.1.2 from completing as a
full release across all platforms.
Bug 9 (FreeBSD manifest format):
pkg create rejected the manifest with:
pkg: Bad format in manifest for key: categories
build-and-package-freebsd.sh emitted 'categories' and 'licenses'
as YAML-style lists ('- value'). FreeBSD pkg-create(8) parses
manifests as UCL, where lists must be inline arrays ('[value]').
Converted both fields to UCL inline-array syntax.
README PyPI rendering:
PyPI renders README.md without resolving relative links to repo
files. All 'docs/...' and 'LICENSE' Markdown links resolved to
404s on pypi.org/project/ecli-editor/. Rewrote all internal
Markdown links as absolute URLs under
https://github.com/SSobol77/ecli/blob/main/...
README badges and Quick Start version refs:
- Replaced the marketing-grade Latest Release / License / Stars
badge row with a technically meaningful set: PyPI Version,
Python Versions, Release, License, Website, plus a second row
of platform support badges (Linux/macOS/FreeBSD/Windows).
- Bumped Quick Start install-command examples from 0.1.0 to 0.1.3
so they match the upcoming release.
Version: bumped pyproject.toml from 0.1.2 to 0.1.3.
Background: PyPI 0.1.2 was published successfully during the
v0.1.2 release attempt (visible at
pypi.org/project/ecli-editor/0.1.2/). The aggregate workflow
failed AFTER PyPI publish, due to the FreeBSD manifest bug
(Bug 9). Maintainer continues forward strategy: PyPI 0.1.2
stays as-is (immutable), no v0.1.2 GitHub Release is created,
v0.1.3 becomes the first complete release across all platforms.
---
README.md | 91 +++++++++++++++++-----------
pyproject.toml | 2 +-
scripts/build-and-package-freebsd.sh | 6 +-
3 files changed, 58 insertions(+), 41 deletions(-)
diff --git a/README.md b/README.md
index 7f1bffd..df9c779 100755
--- a/README.md
+++ b/README.md
@@ -23,9 +23,28 @@ See the LICENSE file in the project root for full license text.
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
---
@@ -57,18 +76,18 @@ Download and install a pre-compiled package for your platform:
```bash
# Debian/Ubuntu
-sudo apt install ./ecli_0.1.0_linux_x86_64.deb
+sudo apt install ./ecli_0.1.3_linux_x86_64.deb
# Fedora/RHEL/Rocky
-sudo dnf install ./ecli_0.1.0_linux_x86_64.rpm
+sudo dnf install ./ecli_0.1.3_linux_x86_64.rpm
# Windows (PowerShell)
-.\ecli_0.1.0_win_x86_64_setup.exe
-# Portable alternative: .\ecli_0.1.0_win_x86_64.exe
+.\ecli_0.1.3_win_x86_64_setup.exe
+# Portable alternative: .\ecli_0.1.3_win_x86_64.exe
# See docs/install/windows.md for checksum verification and SmartScreen notes.
# macOS
-open ecli_0.1.0_macos_universal2.dmg
+open ecli_0.1.3_macos_universal2.dmg
# First launch is blocked by Gatekeeper; see docs/install/macos.md
# for the one-time "Open Anyway" or xattr workaround.
```
@@ -102,7 +121,7 @@ The Python distribution name is `ecli-editor`; the import package remains
### Complete Installation Instructions
-For detailed platform-specific installation instructions, system dependencies, and troubleshooting, see the [Installation Guide](docs/contributor/install.md).
+For detailed platform-specific installation instructions, system dependencies, and troubleshooting, see the [Installation Guide](https://github.com/SSobol77/ecli/blob/main/docs/contributor/install.md).
#### 1. System Dependencies
@@ -145,8 +164,8 @@ Download from [GitHub Releases](https://github.com/SSobol77/ecli/releases):
- **Linux**: `.deb` (Debian/Ubuntu), `.rpm` (Fedora/RHEL), `.AppImage` (any Linux), `.tar.gz`
- **FreeBSD**: `.pkg`
-- **macOS**: `.dmg` ([install notes](docs/install/macos.md))
-- **Windows**: `.exe` installer or portable executable ([install notes](docs/install/windows.md))
+- **macOS**: `.dmg` ([install notes](https://github.com/SSobol77/ecli/blob/main/docs/install/macos.md))
+- **Windows**: `.exe` installer or portable executable ([install notes](https://github.com/SSobol77/ecli/blob/main/docs/install/windows.md))
**Option B: PyPI (Python Package Index)**
@@ -198,8 +217,8 @@ make help # See all available build targets
ECLI features a comprehensive multi-platform build system. For detailed information:
-- **Build from Source**: Read [docs/contributor/build-from-source.md](docs/contributor/build-from-source.md)
-- **Packaging Flows**: See [docs/release/packaging-flows.md](docs/release/packaging-flows.md)
+- **Build from Source**: Read [docs/contributor/build-from-source.md](https://github.com/SSobol77/ecli/blob/main/docs/contributor/build-from-source.md)
+- **Packaging Flows**: See [docs/release/packaging-flows.md](https://github.com/SSobol77/ecli/blob/main/docs/release/packaging-flows.md)
#### Common Build Commands
@@ -244,7 +263,7 @@ ecli [options] [file]
| `Ctrl+F` | Search in file |
| `F1` | Help |
-For comprehensive keybindings and usage guide, see [Getting Started](docs/contributor/development-setup.md).
+For comprehensive keybindings and usage guide, see [Getting Started](https://github.com/SSobol77/ecli/blob/main/docs/contributor/development-setup.md).
---
@@ -253,27 +272,27 @@ For comprehensive keybindings and usage guide, see [Getting Started](docs/contri
Complete documentation is organized by audience:
### For Users
-- [Installation Guide](docs/contributor/install.md) - Detailed setup instructions
-- [Build from Source](docs/contributor/build-from-source.md) - Build system quick start
-- [Getting Started](docs/contributor/development-setup.md) - First steps with ECLI
+- [Installation Guide](https://github.com/SSobol77/ecli/blob/main/docs/contributor/install.md) - Detailed setup instructions
+- [Build from Source](https://github.com/SSobol77/ecli/blob/main/docs/contributor/build-from-source.md) - Build system quick start
+- [Getting Started](https://github.com/SSobol77/ecli/blob/main/docs/contributor/development-setup.md) - First steps with ECLI
### For Developers
-- [Development Setup](docs/contributor/development-setup.md) - Development environment
-- [Architecture Overview](docs/architecture/current-architecture.md) - System design
-- [Packaging Flows](docs/release/packaging-flows.md) - Release packaging overview
-- [Build from Source](docs/contributor/build-from-source.md) - Local build commands
-- [Contributor Guide](docs/contributor/README.md) - Contributing to ECLI
+- [Development Setup](https://github.com/SSobol77/ecli/blob/main/docs/contributor/development-setup.md) - Development environment
+- [Architecture Overview](https://github.com/SSobol77/ecli/blob/main/docs/architecture/current-architecture.md) - System design
+- [Packaging Flows](https://github.com/SSobol77/ecli/blob/main/docs/release/packaging-flows.md) - Release packaging overview
+- [Build from Source](https://github.com/SSobol77/ecli/blob/main/docs/contributor/build-from-source.md) - Local build commands
+- [Contributor Guide](https://github.com/SSobol77/ecli/blob/main/docs/contributor/README.md) - Contributing to ECLI
### For System Administrators
-- [Supported Platforms](docs/product/supported-platforms.md) - Platform matrix
-- [Configuration Guide](docs/config/README.md) - Configuration options
-- [Deployment Guide](docs/release/packaging-flows.md) - Production deployment
+- [Supported Platforms](https://github.com/SSobol77/ecli/blob/main/docs/product/supported-platforms.md) - Platform matrix
+- [Configuration Guide](https://github.com/SSobol77/ecli/blob/main/docs/config/README.md) - Configuration options
+- [Deployment Guide](https://github.com/SSobol77/ecli/blob/main/docs/release/packaging-flows.md) - Production deployment
### Reference
-- [API Documentation](docs/extensions/plugin-api.md) - Plugin development
-- [Architecture Details](docs/architecture/README.md) - System internals
-- [Release Process](docs/release/release-process.md) - Release management
-- [Quality Standards](docs/quality/README.md) - Testing and quality gates
+- [API Documentation](https://github.com/SSobol77/ecli/blob/main/docs/extensions/plugin-api.md) - Plugin development
+- [Architecture Details](https://github.com/SSobol77/ecli/blob/main/docs/architecture/README.md) - System internals
+- [Release Process](https://github.com/SSobol77/ecli/blob/main/docs/release/release-process.md) - Release management
+- [Quality Standards](https://github.com/SSobol77/ecli/blob/main/docs/quality/README.md) - Testing and quality gates
---
@@ -288,7 +307,7 @@ ECLI is built on a modern, extensible architecture:
- **Git Integration**: Direct git repository management
- **Plugin System**: Extensible architecture for custom features
-For detailed architecture information, see [Architecture Overview](docs/architecture/current-architecture.md).
+For detailed architecture information, see [Architecture Overview](https://github.com/SSobol77/ecli/blob/main/docs/architecture/current-architecture.md).
---
@@ -305,7 +324,7 @@ We welcome contributions! Here's how to get started:
7. **Push** to your fork
8. **Open** a Pull Request
-For detailed contribution guidelines, see [CONTRIBUTING](docs/contributor/README.md).
+For detailed contribution guidelines, see [CONTRIBUTING](https://github.com/SSobol77/ecli/blob/main/docs/contributor/README.md).
---
@@ -375,13 +394,13 @@ Found a bug? Please help us by opening an issue on GitHub:
- macOS 12 and newer
- Windows 10/11
-See [Supported Platforms](docs/product/supported-platforms.md) for detailed compatibility matrix.
+See [Supported Platforms](https://github.com/SSobol77/ecli/blob/main/docs/product/supported-platforms.md) for detailed compatibility matrix.
---
## 📝 License
-ECLI is licensed under the [Apache License 2.0](LICENSE). See the LICENSE file for details.
+ECLI is licensed under the [Apache License 2.0](https://github.com/SSobol77/ecli/blob/main/LICENSE). See the LICENSE file for details.
---
@@ -398,16 +417,16 @@ ECLI is licensed under the [Apache License 2.0](LICENSE). See the LICENSE file f
## 💬 Support
-- **Documentation**: Read [Build from Source](docs/contributor/build-from-source.md) and [Packaging Flows](docs/release/packaging-flows.md)
+- **Documentation**: Read [Build from Source](https://github.com/SSobol77/ecli/blob/main/docs/contributor/build-from-source.md) and [Packaging Flows](https://github.com/SSobol77/ecli/blob/main/docs/release/packaging-flows.md)
- **Community**: GitHub Discussions
- **Bugs**: GitHub Issues
-- **Development**: See [Contributing](docs/contributor/README.md)
+- **Development**: See [Contributing](https://github.com/SSobol77/ecli/blob/main/docs/contributor/README.md)
---
## 🎯 Roadmap
-For planned features and current development status, see [Roadmap](docs/planning/roadmap.md).
+For planned features and current development status, see [Roadmap](https://github.com/SSobol77/ecli/blob/main/docs/planning/roadmap.md).
---
diff --git a/pyproject.toml b/pyproject.toml
index 8b2157d..59ce8f6 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -17,7 +17,7 @@ build-backend = "hatchling.build"
[project]
name = "ecli-editor"
-version = "0.1.2"
+version = "0.1.3"
description = "ECLI — fast terminal code editor"
readme = "README.md"
requires-python = ">=3.11"
diff --git a/scripts/build-and-package-freebsd.sh b/scripts/build-and-package-freebsd.sh
index b431322..046232c 100755
--- a/scripts/build-and-package-freebsd.sh
+++ b/scripts/build-and-package-freebsd.sh
@@ -354,10 +354,8 @@ maintainer: ${MAINTAINER}
www: ${HOMEPAGE}
abi: ${ABI}
prefix: /usr/local
-categories:
- - ${CATEGORY}
-licenses:
- - ${LICENSE}
+categories: [${CATEGORY}]
+licenses: [${LICENSE}]
licenselogic: single
EOF