Skip to content

Changelog

6.1.1 (2025-02-28)

✨ Features

  • gitlab: detect 'pages' jobs to preserve 'Pages' GitLab feature (8ff360c)

6.1.0 (2025-02-10)

✨ Features

  • entrypoint, gitlab: show already valid settings in green (ed29b3a)
  • entrypoint, gitlab: show GitLab username upon authentication (6beea96)

🐛 Bug Fixes

  • entrypoint: prevent acces to projects shared with groups (c2308cd)

📚 Documentation

  • docs: use '<span class=page-break>' instead of '<div>' (fe38e5e)
  • prepare: avoid 'TOC' injection if 'hide: - toc' is used (b05111b)

🎨 Styling

  • colors: ignore 'Colored' import 'Incompatible import' warning (56cb0df)

⚙️ Cleanups

  • sonar-project: configure coverage checks in SonarCloud (0a23f99)

🚀 CI

  • gitlab-ci: run coverage jobs if 'sonar-project.properties' changes (b3efefc)
  • gitlab-ci: watch for 'docs/.*' changes in 'pages' jobs (a4c1b0d)

6.0.1 (2025-01-01)

🐛 Bug Fixes

  • gitlab: catch 'StopIteration' exceptions upon missing boards (e200557)

6.0.0 (2025-01-01)

✨ Features

  • cli: implement '--{get,set}-project-issues-boards' features (0a88810)
  • cli, gitlab: implement '--set-roles-create-{projects,subgroups}' (56f7aba)
  • entrypoint: show projects description after '# ...' (fbd6678)
  • entrypoint: allow empty description and custom indent in 'confirm' (03fb17c)
  • entrypoint: use '...' quotes in 'confirm' function (6e77117)

🐛 Bug Fixes

  • cli: use package name for 'Updates' checks (06d795e)
  • entrypoint: show '# /' if no description is set (fbf2a28)
  • gitlab: support GitLab Premium delayed project/group deletions (0ebc2c1)

📚 Documentation

  • mkdocs: minor '(prefers-color-scheme...)' syntax improvements (3964c8f)
  • mkdocs: remove 'preview.py' and 'template.svg' files exclusions (8caccf0)
  • mkdocs, pages: use 'MKDOCS_EXPORTER_PDF_OUTPUT' for PDF file (e05833d)
  • pages: rename PDF link title to 'Export as PDF' (f0b2b58)
  • pdf: avoid header / footer lines on front / back pages (84ed713)
  • pdf: minor stylesheets codestyle improvements (7373bd6)
  • pdf: reverse PDF front / back cover pages colors for printers (7505256)
  • prepare: use 'mkdocs.yml' to get project name value (837d15b)
  • readme: add missing '--' separator after '--reset-features' (bd038df)
  • stylesheets: resolve lines and arrows visibility in dark mode (89b16f6)
  • templates: add 'Author' and 'Description' to PDF front page (eff3014)
  • templates: add 'Date' detail on PDF front page (f1042d9)
  • templates: use Git commit SHA1 as version if no Git tag found (37e1080)

🧪 Test

  • test: fix daily updates coverage test syntax (0eac0ac)

🚀 CI

  • gitlab-ci: avoid PDF slow generation locally outside 'pdf' job (77fc8e8)
  • gitlab-ci: validate host network interfaces support (d706e44)
  • gitlab-ci: enable '.local: no_regex' feature (9235ece)
  • gitlab-ci: append Git version to PDF output file name (6e8cd69)
  • gitlab-ci: rename PDF to 'gitlab-projects-settings' (63344bd)
  • gitlab-ci: migrate to 'pre-commit-crocodile/commits@4.0.0' (708acf7)
  • gitlab-ci: ensure 'pages' job does not block pipeline if manual (077e41f)
  • gitlab-ci: change release title to include tag version (51b8089)

5.4.0 (2024-10-28)

✨ Features

  • cli: implement '--[add,remove]-jobs-token-allowlist' for CI job tokens (96aea14)
  • main: support '--update-description[s]' parameter (0adb104)
  • main: support '---project[s]' and '---group[s]' parameters (55210bf)

🐛 Bug Fixes

  • main: ensure 'FORCE_COLOR=0' if using '--no-color' flag (b38f7e1)

📚 Documentation

  • assets: prepare mkdocs to generate mermaid diagrams (1787a67)
  • cliff: improve 'Unreleased' and refactor to 'Development' (2829e95)
  • covers: resolve broken page header / footer titles (4419933)
  • custom: change to custom header darker blue header bar (6fcc006)
  • docs: improve documentation PDF outputs with page breaks (bb43490)
  • mkdocs: enable 'git-revision-date-localized' plugin (525b346)
  • mkdocs: change web pages themes colors to 'blue' (7335cda)
  • mkdocs: fix 'git-revision-date-localized' syntax (106dce0)
  • mkdocs: migrate to 'awesome-pages' pages navigation (6d94b4f)
  • mkdocs: change 'auto / light / dark' themes toggle icons (4729e7e)
  • mkdocs: enable and configure 'minify' plugin (ae98410)
  • mkdocs: install 'mkdocs-macros-plugin' for Jinja2 templates (b81f17b)
  • mkdocs: enable 'pymdownx.emoji' extension for Markdown (c14a469)
  • mkdocs: implement 'mkdocs-exporter' and customize PDF style (6afafa1)
  • mkdocs: set documentation pages logo to 'solid/code' ('</>') (5d7144b)
  • mkdocs: enable 'permalink' headers anchors for table of contents (40904cc)
  • mkdocs: prepare 'privacy' and 'offline' plugins for future usage (39ab0e8)
  • mkdocs: disable Google fonts to comply with GDPR data privacy (192266f)
  • mkdocs: implement 'Table of contents' injection for PDF results (40a2ca7)
  • mkdocs: enable 'Created' date feature for pages footer (22c27a8)
  • mkdocs: add website favicon image and configuration (58d0e7c)
  • mkdocs: implement 'book' covers to have 'limits' + 'fronts' (f8881d9)
  • mkdocs: isolate assets to 'docs/assets/' subfolder (486ae75)
  • mkdocs: exclude '.git' from watched documentation sources (a6ac5c2)
  • mkdocs, prepare: resolve Markdown support in hidden '<details>' (648d940)
  • pages: rename index page title to '‣ Usage' (5e42421)
  • pdf: simplify PDF pages copyright footer (7feda91)
  • pdf: migrate to custom state pseudo class 'state(...)' (74187aa)
  • prepare: regenerate development 'CHANGELOG' with 'git-cliff' (b990232)
  • prepare: avoid 'md_in_html' changes to 'changelog' and 'license' (3d02e03)
  • prepare: fix '<' and '>' changelog handlings and files list (3de52a2)
  • prepare: implement 'About / Quality' badges page (3ae64e7)
  • prepare: improve 'Quality' project badges to GitLab (10d7bbf)
  • prepare: use 'docs' sources rather than '.cache' duplicates (4b9bf71)
  • prepare: resolve 'docs/about' intermediates cleanup (5f7b6ce)
  • prepare: add PyPI badges and license badge to 'quality' page (3fdea38)
  • prepare: avoid adding TOC to generated and 'no-toc' files (dc572e2)
  • readme: add 'gcil:enabled' documentation badge (5fd8354)
  • readme: add pypi, python versions, downloads and license badges (4e0e234)
  • readme: add '~/.python-gitlab.cfg' section title (f640412)
  • robots: configure 'robots.txt' for pages robots exploration (c9a7bd8)

⚙️ Cleanups

  • gitignore: exclude only 'build' folder from sources root (203338f)
  • gitignore: exclude '/build' folder or symlink too (2a9473c)
  • gitlab: resolve 'too-many-positional-arguments' new lint warnings (4d5e9d2)
  • sonar: wait for SonarCloud Quality Gate status (767d52b)
  • vscode: use 'yzhang.markdown-all-in-one' for Markdown formatter (facc6b8)

🚀 CI

  • gitlab-ci: prevent 'sonarcloud' job launch upon 'gcil' local use (f606bbb)
  • gitlab-ci: run SonarCloud analysis on merge request pipelines (73f8c59)
  • gitlab-ci: watch for 'config/*' changes in 'serve' job (e5c8491)
  • gitlab-ci: fetch Git tags history in 'pages' job execution (9f2235c)
  • gitlab-ci: fetch with '--unshallow' for full history in 'pages' (4cc19f3)
  • gitlab-ci: enforce 'requirements/pages.txt' in 'serve' job (e61d8da)
  • gitlab-ci: add 'python:3.12-slim' image mirror (428ae8b)
  • gitlab-ci: inject only 'mkdocs-*' packages in 'serve' job (f7abea0)
  • gitlab-ci: install 'playwright' with chromium in 'serve' job (a3b788f)
  • gitlab-ci: find files only for 'entr' in 'serve' (35ebc15)
  • gitlab-ci: improve GitLab CI job outputs for readability (21673ff)
  • gitlab-ci: deploy GitLab Pages on 'CI_DEFAULT_BRANCH' branch (9d55a72)
  • gitlab-ci: ignore 'variables.scss' in 'serve' watcher (60d37d3)
  • gitlab-ci: preserve only existing Docker images after 'images' (eea9afc)
  • gitlab-ci: use 'MKDOCS_EXPORTER_PDF_ENABLED' to disable PDF exports (aba6c50)
  • gitlab-ci: run 'pages' job on GitLab CI tags pipelines (4cd9ea0)
  • gitlab-ci: isolate 'pages: rules: changes' for reuse (2919d37)
  • gitlab-ci: allow manual launch of 'pages' on protected branches (7fdd535)
  • gitlab-ci: create 'pdf' job to export PDF on tags and branches (2ee62f7)
  • gitlab-ci: implement local pages serve in 'pages' job (39741d7)
  • gitlab-ci: raise minimal 'gcil' version to '11.0' (0881a14)
  • gitlab-ci: enable local host network on 'pages' job (b23017f)
  • gitlab-ci: detect failures from 'mkdocs serve' executions (64dba9f)
  • gitlab-ci: refactor images containers into 'registry:*' jobs (2cbce86)
  • gitlab-ci: bind 'registry:' dependencies to 'requirements/.txt' (18a5b25)

📦 Build

  • build: import missing 'build' container sources (a075797)
  • containers: use 'apk add --no-cache' for lighter images (b7bb58c)
  • pages: add 'git-cliff' to the ':pages' image (696a812)
  • pages: migrate to 'python:3.12-slim' Ubuntu base image (4c1bb56)
  • pages: install 'playwright' dependencies for 'mkdocs-exporter' (688388e)
  • pages: install 'entr' in the image (6a3d40a)
  • requirements: install 'mkdocs-git-revision-date-localized-plugin' (73f1d7f)
  • requirements: install 'mkdocs-awesome-pages-plugin' plugin (d5715db)
  • requirements: install 'mkdocs-minify-plugin' for ':pages' (bd8316a)
  • requirements: install 'mkdocs-exporter' in ':pages' (abb114b)
  • requirements: migrate to 'mkdocs-exporter' with PR#35 (ab1c1d7)
  • requirements: upgrade to 'playwright' 1.48.0 (8e9f081)
  • requirements: migrate to 'mkdocs-exporter' with PR#42/PR#41 (156dd4d)

5.3.1 (2024-08-25)

✨ Features

  • updates: migrate from deprecated 'pkg_resources' to 'packaging' (103ef37)

📚 Documentation

  • mkdocs: implement GitLab Pages initial documentation and jobs (8643bbc)
  • readme: link against 'gcil' documentation pages (022f572)

⚙️ Cleanups

  • commitizen: migrate to new 'filter' syntax (commitizen#1207) (fddd134)
  • pre-commit: add 'python-check-blanket-type-ignore' and 'python-no-eval' (5dc3e17)
  • pre-commit: fail 'gcil' jobs if 'PRE_COMMIT' is defined (5b508ba)
  • pre-commit: simplify and unify 'local-gcil' hooks syntax (f1b7c10)
  • pre-commit: improve syntax for 'args' arguments (29ed782)
  • pre-commit: migrate to 'run-gcil-*' template 'gcil' hooks (1242370)
  • pre-commit: update against 'run-gcil-push' hook template (28e3bc8)
  • pre-commit: migrate to 'pre-commit-crocodile' 3.0.0 (0167d46)

🚀 CI

  • containers: implement ':pages' image with 'mkdocs-material' (ab8bdde)
  • gitlab-ci: avoid failures of 'codestyle' upon local launches (62f9d86)
  • gitlab-ci: migrate to 'pre-commit-crocodile/commits@2.1.0' component (46515c9)
  • gitlab-ci: migrate to 'pre-commit-crocodile/commits@3.0.0' component (412f468)

5.3.0 (2024-08-21)

🐛 Bug Fixes

  • gitlab: fix support for Python 3.8 types union (b83320e)
  • platform: always flush on Windows hosts without stdout TTY (78bcaaa)

📚 Documentation

  • readme: add 'pre-commit enabled' badges (c4ea26a)
  • readme: add SonarCloud analysis project badges (8cf30fb)
  • readme: link 'gcil' back to 'gitlabci-local' PyPI package (135a40c)

⚙️ Cleanups

  • commitizen: migrate to 'pre-commit-crocodile' 2.0.1 (c35c1e7)
  • gitattributes: always checkout Shell scripts with '\n' EOL (f1917c2)
  • gitignore: ignore '.*.swp' intermediates 'nano' files (4e2a305)
  • pre-commit: run 'codestyle', 'lint' and 'typings' jobs (276de41)
  • pre-commit: migrate to 'pre-commit-crocodile' 2.0.0 (9807569)

🚀 CI

  • gitlab-ci: show fetched merge request branches in 'commits' (23cc27f)
  • gitlab-ci: fix 'image' of 'commits' job (f3165b2)
  • gitlab-ci: always run 'commits' job on merge request pipelines (0aaac37)
  • gitlab-ci: make 'needs' jobs for 'build' optional (1c61dc0)
  • gitlab-ci: validate 'pre-commit' checks in 'commits' job (561ad01)
  • gitlab-ci: refactor images into 'containers/*/Dockerfile' (2f90140)
  • gitlab-ci: use 'HEAD~1' instead of 'HEAD^' for Windows compatibility (3b4ec64)
  • gitlab-ci: check only Python files in 'typings' job (a7661f0)
  • gitlab-ci: implement SonarCloud quality analysis (6b1518b)
  • gitlab-ci: detect and refuse '^wip|^WIP' commits (34a1aa8)
  • gitlab-ci: isolate 'commits' job to 'templates/commit.yml' (265a9b4)
  • gitlab-ci: migrate to 'pre-commit-crocodile/commits@2.0.0' component (78576fe)
  • gitlab-ci: create 'hooks' local job for maintenance (f9b9d40)
  • gitlab-ci, tests: implement coverage initial jobs and tests (acd1dc2)

📦 Build

  • pre-commit: migrate to 'pre-commit-crocodile' 1.1.0 (d52d778)

5.2.1 (2024-08-16)

🐛 Bug Fixes

  • gitlab: fix '--protect-tags' unknown protection level error (f745f7e)
  • package: fix package name for 'importlib' version detection (b5bf779)

⚙️ Cleanups

  • hooks: implement evaluators and matchers priority parser (c59fa17)

5.2.0 (2024-08-15)

🐛 Bug Fixes

  • entrypoint: prevent project labels changes if project is archived (8289e24)
  • setup: refactor 'python_requires' versions syntax (549a0e5)
  • 🚨 BREAKING CHANGE 🚨 | setup: drop support for Python 3.7 due to 'questionary>=2.0.0' (2b849ca)
  • setup: resolve project package and name usage (07f56ca)
  • updates: ensure 'DEBUG_UPDATES_DISABLE' has non-empty value (055804a)
  • updates: fix offline mode and SemVer versions comparisons (8f34bba)

📚 Documentation

  • cliff: use '|' to separate breaking changes in 'CHANGELOG' (83697bf)
  • license: update copyright details for 2024 (040d401)
  • readme: add 'Commitizen friendly' badge (c178093)

🎨 Styling

  • cli: improve Python arguments codestyle syntax (3f168ab)
  • commitizen, pre-commit: implement 'commitizen' custom configurations (651c1d9)
  • pre-commit: implement 'pre-commit' configurations (cc00f76)

⚙️ Cleanups

  • cli, package: minor Python codestyle improvements (cfb3636)
  • pre-commit: disable 'check-xml' unused hook (69c3c15)
  • pre-commit: fix 'commitizen-branch' for same commits ranges (c521c8a)
  • setup: refactor with more project configurations (7248730)
  • updates: ignore coverage of online updates message (9da21ab)
  • vscode: remove illegal comments in 'extensions.json' (6b6edf7)

🚀 CI

  • gitlab-ci: watch for 'codestyle', 'lint' and 'typings' jobs success (26e5585)
  • gitlab-ci: create 'commits' job to validate with 'commitizen' (35db900)
  • gitlab-ci: fix 'commits' job for non-default branches pipelines (6928467)

📦 Build

  • hooks: create './.hooks/manage' hooks manager for developers (633661b)
  • hooks: implement 'prepare-commit-msg' template generator (67c8541)
  • pre-commit: enable 'check-hooks-apply' and 'check-useless-excludes' (69a8746)

5.1.0 (2024-08-11)

✨ Features

  • cli: implement '--no-color' to disable colors (a3b2534)

🐛 Bug Fixes

  • package: check empty 'environ' values before usage (78c029c)
  • updates: remove unused 'recommended' feature (9de050d)

📚 Documentation

  • readme: migrate from 'gitlabci-local' to 'gcil' package (80b42e9)

⚙️ Cleanups

  • cli: resolve unused variable value initialization (6381f03)
  • colors: resolve 'pragma: no cover' detection (17e38e5)
  • platform: disable coverage of 'SUDO' without write access (7f5a35f)
  • setup: remove faulty '# pragma: exclude file' flag (1635dbc)

5.0.2 (2024-08-10)

✨ Features

  • setup: add support for Python 3.12 (1fd8ed2)

🧪 Test

  • setup: disable sources coverage of the build script (ea25fba)

🚀 CI

  • gitlab-ci: raise latest Python test images from 3.11 to 3.12 (83c6dd9)
  • gitlab-ci: deprecate outdated and unsafe 'unify' tool (365a9e9)

5.0.1 (2024-08-10)

✨ Features

  • gitlab-projects-settings: migrate under 'RadianDevCore/tools' group (6c618dd)

🐛 Bug Fixes

  • settings: ensure 'Settings' class initializes settings file (2ec90d6)
  • src: use relative module paths in 'init' and 'main' (220c444)

5.0.0 (2024-08-08)

🛡️ Security

  • 🚨 BREAKING CHANGE 🚨 | cli: acquire tokens only from environment variables (3f211bd)

✨ Features

  • 🚨 BREAKING CHANGE 🚨 | cli: refactor CLI into simpler GitLab URL bound parameters (1aa72a4)
  • cli: implement '--confirm' to bypass interactive user confirmations (1bf9b99)
  • cli: add tool identifier header with name and version (4362101)
  • cli: implement '.python-gitlab.cfg' GitLab configurations files (271c7c8)
  • cli, argparse: implement environment variables helpers (7f4caec)
  • cli, gitlab: implement '--prune-unreachable-objects' feature (d07b179)
  • cli, gitlab: implement '--erase-jobs-artifacts' to erase jobs artifacts (75109f3)
  • cli, gitlab: implement '--erase-jobs-contents' to erase jobs contents (24b82bc)
  • cli, gitlab: implement CI job token and public authentications (291777c)
  • cli, gitlab: implement '--{get,set}-project-labels' with JSON (f1bf888)
  • cli, gitlab: implement '--{get,set}-group-labels' with JSON (24305b5)
  • cli, gtlab: implement '--set-merge-method' for merge requests (969e9ec)
  • cli, gtlab: implement '--set-merge-squash' for merge requests (6d50073)
  • cli, gtlab: implement '--set-merge-pipelines' for merge requests (13f150d)
  • cli, gtlab: implement '--set-merge-skipped' for merge requests (d65d112)
  • cli, gtlab: implement '--set-merge-resolved' for merge requests (9d3c51c)
  • entrypoint: wrap '--available-features' outputs with ' (09cd008)

🐛 Bug Fixes

  • environments: add missing ':' to the README help description (48b947b)
  • gitlab: wait 3 seconds after group and project deletions (9a273bb)

📚 Documentation

  • cliff: document 'security(...)' first in changelog (eced346)
  • readme: document '~/.python-gitlab.cfg' configuration file (c62ae1e)

⚙️ Cleanups

  • cli/main: minor codestyle improvement of 'import argparse' (1b84f36)
  • entrypoint: refactor 'confirm' against 'gitlab-projects-migrate' (35f5139)
  • entrypoint, gitlab: bind 'ProjectFeatures' names directly (39d0d07)
  • gitlab: acquire project and group despite '--dry-run' use (462041d)
  • types: cleanup inconsistent '()' over base classes (ef60d62)

🚀 CI

  • gitlab-ci: migrate from 'git-chglog' to 'git-cliff' (99fad86)

4.2.1 (2024-06-10)

🐛 Bug Fixes

  • gitlab: restore support for old GitLab 13.12 instances (de82a80)

📚 Documentation

  • chglog: add 'ci' as 'CI' configuration for 'CHANGELOG.md' (440c1ed)

🚀 CI

  • gitlab-ci: support docker pull and push without remote (c0becd7)
  • gitlab-ci: use 'CI_DEFAULT_BRANCH' to access 'develop' branch (c0fc6dd)
  • gitlab-ci: change commit messages to tag name (264dc2e)
  • setup: update Python package keywords hints (3f5d7d1)

4.2.0 (2024-05-26)

✨ Features

  • entrypoint: improve outputs logs upon delections (fd25605)
  • main: show newer updates message upon incompatible arguments (2ca5244)
  • main, entrypoint: implement '--dump' to dump JSON objects (dc98c05)

📚 Documentation

  • readme: add 'gitlab-projects-settings' examples documentation (4614846)

4.1.0 (2024-05-17)

✨ Features

  • entrypoint: implement prompt confirmation upon deletions (539ccf8)
  • gitlab: isolate 'ProtectionLevels' enumeration (18abccf)
  • main, gitlab: handle '--protect-tags' default to 'no-one' (6607c87)
  • requirements: prepare 'questionary' library integration (5007320)

4.0.0 (2024-05-15)

✨ Features

  • entrypoint, gitlab: implement '--{disable,enable}-features' (19791ac)
  • gitlab: automatically wait for group and project deletions (7f02512)
  • gitlab: isolate GitLab project features enumeration (fae4640)
  • gitlab: prepare future access levels in 'project_reset_features' (a42e515)
  • gitlab: parse input features list and accept similar texts (3df67d7)
  • main: document optional '--' positional arguments separator (878c719)
  • main, gitlab: implement '--reset-features [KEEP_FEATURES]' (592a08c)
  • main, gitlab: implement '--available-features' for user help (5c90151)
  • main, settings: implement 'Settings' from 'gitlabci-local' (29cac8b)
  • main, upgrades: implement 'Upgrades' from 'gitlabci-local' (80665f0)

🐛 Bug Fixes

  • entrypoint: use full paths instead of 'id' integer fields (d06b36e)
  • entrypoint: avoid missing 'namespace_id' in 'User' responses (17889e9)
  • entrypoint: refactor to return no error upon final actions (4d379ba)
  • entrypoint, gitlab: resolve Python typings new warnings (51b4f44)
  • gitlab: accept deletion denials in 'project_reset_members' (3b261f2)
  • gitlab: disable 'Repository' group feature after its members (939c303)
  • gitlab: disable all 'Repository' member features too (42f3d18)

🚜 Code Refactoring

  • gitlab: isolate 'GitLabFeature.AccessLevels' constants (9ba30b6)
  • gitlab: isolate GitLab types to 'types/gitlab.py' (7a5f5eb)
  • gitlab: optimize and centralize GitLab features handlings (2c52366)

🧪 Test

  • version: add 'DEBUG_VERSION_FAKE' for debugging purposes (fe3acdf)

⚙️ Cleanups

  • entrypoint: minor Python codestyle improvement (66ddb28)

🚀 CI

  • gitlab-ci: handle optional parameters and multiline in 'readme' (394f670)
  • gitlab-ci: detect 'README.md' issues in 'readme' job (094e565)
  • gitlab-ci: implement 'images' and use project specific images (dd08c4a)
  • gitlab-ci: deprecate requirements install in 'lint' job (b7b7aa7)
  • gitlab-ci: support multiple 'METAVAR' words in 'readme' job (2b6da44)

3.0.0 (2024-05-06)

✨ Features

  • cli, gitlab: implement '--{archive,unarchive}-project' (be6c241)
  • cli, gitlab: implement '--delete-{group,project}' (3184259)
  • cli, gitlab: implement '--run-housekeeping' (2824960)
  • entrypoint: always flush progress output logs (d170a82)
  • entrypoint: preserve main group description if exists (f6f8a21)
  • entrypoint, gitlab: adapt name for '--update-description' (2a5b165)
  • entrypoint, gitlab: add support for user namespace projects (1629e28)
  • gitlab: detect 'Token Access' usage for 'CI/CD' features (24fb65a)
  • gitlab: detect multiple branches to keep 'Merge requests' (2130b2a)
  • namespaces: migrate 'Helper' class to 'Namespaces' class (81dbd95)

🐛 Bug Fixes

  • entrypoint: enforce against missing '.description' values (85e6d91)
  • entrypoint: detect if GitLab actions can continue (3074446)
  • entrypoint: resolve support for private user namespaces (ec9092a)
  • gitlab: get all members in 'project_reset_members' (7db707c)
  • gitlab: get all branches and tags upon 'list()' calls (5a46bf2)
  • gitlab: delay groups deletion by 10s and projects by 5s (e56e054)
  • gitlab: enforce 'group_delete' usage in '--dry-run' mode (29bdd98)

⚙️ Cleanups

  • gitlab: minor comments changes in 'project_reset_features' (3470932)

🚀 CI

  • gitlab-ci: move 'readme' job after 'build' and local 'install' (cc44651)

2.1.0 (2024-04-28)

✨ Features

  • entrypoint: keep description if already contains group (abe2d34)
  • entrypoint: sort groups and projects recursively (d2fa32c)

🐛 Bug Fixes

  • entrypoint: fix project '--update-description' logs output (3861e78)

2.0.2 (2024-04-28)

✨ Features

  • main: limit '--help' width to terminal width or 120 chars (53916fd)

📚 Documentation

  • readme: document GitLab tokens' creation instructions (5253faa)

🚀 CI

  • gitlab-ci: disable 'typing' mypy caching with 'MYPY_CACHE_DIR' (efeca44)

2.0.1 (2024-04-27)

✨ Features

  • entrypoint, gitlab: isolate 'GitLabFeature.Helper.capitalize' (7e25627)

🐛 Bug Fixes

  • entrypoint: fix description updates faulty descriptions (98a6e75)
  • entrypoint, gitlab: implement description to name fallbacks (11c931f)

2.0.0 (2024-04-27)

✨ Features

  • cli: isolate 'features/settings.py' to 'cli/entrypoint.py' (97b1214)
  • main: change '--set-description' metavar to 'TEXT' (9640f6f)
  • main: align 'RawTextHelpFormatter' to 30 chars columns (d9e6273)
  • settings: change project/group descriptions color (7dfaea1)

🐛 Bug Fixes

  • gitlab: enforce '--dry-run' usage and improve Python codestyle (bc1203a)
  • settings: apply 'subgroup' feature to subgroup groups (977596e)

🚜 Code Refactoring

  • entrypoint: minor Python codestyle improvements (3b559f4)
  • src: isolate all sources under 'src/' (48f5d40)

📚 Documentation

  • readme: regenerate '--help' details in 'README.md' (784121b)

⚙️ Cleanups

  • gitlab: minor Python codestyle improvements (b32f815)
  • settings: minor Python codestyle improvements (f1c179d)
  • src: ignore 'import-error' over 'init' and 'main' (2fad230)

🚀 CI

  • gitlab-ci: implement 'readme' local job to update README details (3ba2118)
  • gitlab-ci, setup: migrate to 'src' sources management (388187f)

1.1.0 (2024-04-25)

✨ Features

  • main: rename '--avoid-' parameters to '--exclude-' (f70ae44)

🚜 Code Refactoring

  • settings: minor functions codestyle improvement (e22206e)

1.0.1 (2024-04-24)

📚 Documentation

  • setup: fix PyPI 'gitlab-projects-settings' documentation (66f2f97)

1.0.0 (2024-04-24)

✨ Features

  • gitlab-projects-settings: initial sources implementation (13a723f)