From d8061b641cf7a8b7f7337f47cec225c756432f7d Mon Sep 17 00:00:00 2001 From: Dexoron Date: Sun, 5 Jul 2026 17:36:03 +0800 Subject: [PATCH] New translations changelog.mdx (German) [ci skip] --- .../de-DE/docs/changelog.mdx.mdx | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 docs-crowdin-export/de-DE/docs/changelog.mdx.mdx diff --git a/docs-crowdin-export/de-DE/docs/changelog.mdx.mdx b/docs-crowdin-export/de-DE/docs/changelog.mdx.mdx new file mode 100644 index 0000000..722bf4e --- /dev/null +++ b/docs-crowdin-export/de-DE/docs/changelog.mdx.mdx @@ -0,0 +1,91 @@ +--- +sidebar_label: Changelog +--- + +# Changelog + +## 0.7.1 (2026-06-02) + +### Added + +* **`--help` for all commands** — `dcr build --help`, `dcr run --help`, `dcr new --help`, + `dcr init --help`, `dcr clean --help`, `dcr add --help`, `dcr fmt --help`, + `dcr setup --help`, `dcr tree --help`, `dcr gen --help`, `dcr --update --help`, + `dcr test --help`. All output uses styled headers (green) and usage lines (cyan). +* **Man pages** — 12 troff pages in `man/man1/`: `dcr.1`, `dcr-build.1`, + `dcr-run.1`, `dcr-new.1`, `dcr-init.1`, `dcr-clean.1`, `dcr-add.1`, `dcr-test.1`, + `dcr-gen.1`, `dcr-fmt.1`, `dcr-tree.1`, `dcr-setup.1`. +* **Man pages in all packaging** — install.sh, install_bsd.sh, AUR PKGBUILD, + Debian (cargo-deb), RPM (cargo-generate-rpm), Nix (postInstall), Homebrew + (resource), Snap, GitHub Release assets. +* **Project name validation** — `dcr init` and `dcr new` now validate names before + creating files. Only ASCII letters, digits, `_` and `-` are allowed. +* **`documentation` and `homepage` fields** — added to `Cargo.toml`. +* **Release profile optimizations** — `opt-level = "z"`, LTO, `codegen-units = 1`, + `panic = "abort"`, `strip = true` for smaller binaries. +* **Linux i686, armv7, riscv64 targets** — added to release workflow and install scripts. +* **Linux musl i686, armv7 targets** — cross-compiled via zigbuild in CI. +* **AUR packages** — `dcr-dev`, `dcr-dev-bin` publishing workflow. +* **Snap publishing** — automated Snapcraft publishing in CI. +* **Snap badge** — in README. + +### Changed + +* **`validate_package_name` made public** — callable from CLI commands. +* **README platform table** — reorganized: libc variants as separate OS rows, + removed extra columns. Linux architecture list updated. +* **`gen.rs` no-args output** — now uses styled output instead of raw `eprintln!`. +* **`tree.rs`, `fmt.rs`, and `setup.rs`** — now accept arguments for `--help`. +* **README install commands** — `| bash` → `| sh` for POSIX compatibility. + +### Fixed + +* **`dcr new \` creates directory then fails** — validation now + happens before any file operations. +* **`dcr init` on invalid directory name** — same fix. +* **Man pages missing in installed packages** — now shipped in all formats. +* **Windows drive letter false positive** — in dependency file parser. +* **CRLF (`\r\n`) breaks dependency parser** — now handles mixed line endings. +* **Newline after backslash not consumed** — in `parse_d_file` escape handling. + +## 0.7.0 (2026-06-01) + +### Added + +* **OpenBSD and NetBSD target support** — full platform routing with dynamic target triples using `std::env::consts::ARCH` and `std::env::consts::OS`. Affects `build`, `run`, `clean` commands and the platform module. +* **`src/platform/bsd.rs`** — new BSD platform module (shared by FreeBSD, OpenBSD, NetBSD) providing `bin_path`, `lib_path`, `elf_path`, `efi_path`, `shared_lib_path`. +* **`build.out_dir` config option** — custom output directory that overrides the default `target/\/\` path for final artifacts. Supported in `build`, `run`, and config validation. +* **`dcr fmt` command** — new CLI command that formats all C/C++ source files (`*.c`, `*.cpp`, `*.h`, `*.hpp`) in `src/` and `tests/` using `clang-format`. +* **Incremental linking** — `needs_link()` in `common.rs` checks if any object file is newer than the linked output, skipping unnecessary relinking. Implemented for all backends (`unix_cc`, `msvc`, `gas`, `nasm`). +* **`build.kind = "none"` and `"custom"`** — two new project kinds for special build scenarios that don't produce standard artifacts. +* **`install_bsd.sh`** — POSIX-compliant installation script for BSD systems (FreeBSD, OpenBSD, NetBSD) with binary download and source build modes. +* **Linux ARM64 support in `install.sh`** — added `Linux:aarch64|Linux:arm64` target detection for pre-built binary downloads. +* **BSD OS detection in `install.sh`** — detects FreeBSD, OpenBSD, NetBSD and determines target triple. +* **`rust-toolchain.toml`** — explicit toolchain pinning to `stable` channel. +* **Integration tests** — `build_with_target_config` (verifies `build.target = "linux"`) and `build_with_out_dir` (validates custom output directory). +* **`get_build_string_with_profile` made `pub`** — so `run.rs` can determine custom output directory configuration. + +### Changed + +* **`build.target` semantics changed** — now strictly contains a target triple (e.g., `x86_64-unknown-linux-gnu`) or short name (`linux`, `macos`, `windows`). No longer used as custom output directory — this functionality moved to `build.out_dir`. +* **`build.standard` made optional** — changed from `String` to `Option\`. Validation only enforces non-empty for non-ASM languages. Skipped in `dcr.toml` output if empty. +* **`dcr run` with `out_dir`** — now determines target directory respecting `build.out_dir` via `get_build_string_with_profile()` from `build.rs`. +* **`collect_sources()` returns empty vector** instead of error when no sources are found, allowing `kind = "none"` or `kind = "custom"` projects with no source files. +* **CI/CD release workflow refactored** — `git2` made target-specific (no vendored-openssl on Windows), Zig-based cross-compilation for non-x86_64 Linux targets, Arch Linux package version cleanup (dashes → dots), `gmake` symlink for NetBSD. +* **README compatibility table** — FreeBSD, OpenBSD, NetBSD build/run status upgraded from "community/best-effort" to "officially supported". +* **Documentation updated** — `build-section.md` describes new `build.target` and `build.out_dir` fields. `target-directory.md` rewritten to clarify the distinction. + +### Fixed + +* **stdout/stderr not inherited in `dcr run`** — child process output was captured and manually printed, breaking interactive programs. Fixed by switching to `Command::status()`. +* **Race condition in release CI** — matrix build jobs could upload assets to a release that didn't exist yet. Fixed by adding a dedicated `create-release` job. +* **Release GHA — stable toolchain override** — fixed Rust toolchain override issues in CI. +* **Arch Linux package version sanitization** — version strings with dashes (e.g., `0.7.0-dev`) are invalid for `pkgver`. Fixed by replacing dashes with dots. +* **GPG permissions after Docker** — Docker operations changed GPG directory ownership. Fixed by running `chown` after Docker commands. +* **RPM artifact paths** — RPM artifacts were placed in `rpm/x86_64/` instead of `fedora/x86_64/`. Fixed in Dexoron Packages Index workflow. +* **JSON parsing reliability in `install.sh`** — added `jq` as primary parser with `python3` fallback for dev channel release lookup. + +### Removed + +* **`format_roots()` helper function** — removed from `common.rs`. Was only used by the old error handling path in `collect_sources()`. +* **Per-distribution artifact download steps** — three separate `actions/download-artifact` steps replaced with unified `gh release download --clobber`.