Skip to content

Tools: Add WIP Wednesday generation script#11

Open
marcuspollio wants to merge 1 commit intomainfrom
wip-wednesday
Open

Tools: Add WIP Wednesday generation script#11
marcuspollio wants to merge 1 commit intomainfrom
wip-wednesday

Conversation

@marcuspollio
Copy link
Copy Markdown
Collaborator

@marcuspollio marcuspollio commented Apr 2, 2026

Description

Python3 script to fetch FreeCAD/FreeCAD repository activity for the past week, classify Pull Requests and other data, and generate a boilerplate WIP Wednesday article in Markdown with front matter for use in Hugo here.

  • Interactive mode to confirm selected time and date (Wednesday 12:00 UTC as default target).
  • Class PRs into total, backport, feature, fix, and others (please check as it may not be accurate), then group PRs by workbench. The PR titles are as is. They deserves some human prose before publication...
  • Output the index.md in correct /content/en/news directory with slug based on date.

May not work:

  • local timezone issues

How to use

From repository root

python3 tools/wip_wednesday.py [optional arguments]

Optional arguments:

  • --time <timestamp>: optional date input like ISO 8601 (2026-01-01T12:00:00) or RFC 2822 (Thu, 01 Jan 2026 12:00:00 GMT)
  • --author <name>: optional authors field in front matter
  • --root <path>: optional path to directory of website Hugo project (default: current working dir)
  • --ci: optional non-interactive mode with automatically most recent Wednesday
  • --token <github_token>: optional GitHub token or PAT (recommended to avoid rate limits)

Output example

⚠️ Warning: The selected time is not a Wednesday.
→ Selected time: Thursday, 02 April 2026 17:23:02
How to proceed?
  [Enter/Y] Continue with selected time
  [W]       Pick most recent Wednesday: Wednesday, 01 April 2026 12:00:00
> W
→ Continuing with most recent Wednesday: Wednesday, 01 April 2026 12:00:00
Created: website/content/en/news/2026/04/wip-wednesday-01-april-2026/index.md
Example Markdown output
---
title: WIP Wednesday - 01 April 2026
date: 2026-04-01
authors: 
draft: false
categories: update
tags:
- WIP
cover:
  image:
  caption:
---

This week in FreeCAD development:

- Total PRs merged: 150
- Backport PRs: 38
- Feature PRs: 21
- Fix PRs: 46
- Other PRs: 45

### Core:
  - theo-vt Sketcher: Harden against flip with signed constraints [#26518](https://github.com/FreeCAD/FreeCAD/pull/26518)
  - chennes Revert "Security: add module allowlist to PropertyPythonObject::Restore()" [#28945](https://github.com/FreeCAD/FreeCAD/pull/28945)
  - chennes Revert "[Backport releases/FreeCAD-1-1] Security: add module allowlist to PropertyPythonObject::Restore()" [#28946](https://github.com/FreeCAD/FreeCAD/pull/28946)
  - TomOstt Security: add module allowlist to PropertyPythonObject::Restore() [#28756](https://github.com/FreeCAD/FreeCAD/pull/28756)
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] Security: add module allowlist to PropertyPythonObject::Restore() [#28928](https://github.com/FreeCAD/FreeCAD/pull/28928)
  - PaddleStroke Gui: Command groups should not enforce a etype [#28897](https://github.com/FreeCAD/FreeCAD/pull/28897)
  - PaddleStroke Core: Datums: Rename origin point [#28889](https://github.com/FreeCAD/FreeCAD/pull/28889)
  - kadet1090 Measure: Improve InputHints implementation [#28838](https://github.com/FreeCAD/FreeCAD/pull/28838)
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] Allow external PyCXX to be used, and find this external PyCXX via pkgconfig [#28867](https://github.com/FreeCAD/FreeCAD/pull/28867)
  - Roy-043 Gui: Add Std_MassProperties to the Tools menu [#28864](https://github.com/FreeCAD/FreeCAD/pull/28864)
  - chennes [pre-commit.ci] supplementary post-merge formatting fixes [#28885](https://github.com/FreeCAD/FreeCAD/pull/28885)
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] Gui: update CoinPtr to not use boost::intrusive_ptr [#28623](https://github.com/FreeCAD/FreeCAD/pull/28623)
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] Base: use magnitude for unit schema thresholds [#28589](https://github.com/FreeCAD/FreeCAD/pull/28589)
  - ...

### Gui:
  - Syres916 [Gui] Eliminate workbench duplicate menu keyboard shortcuts
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] Gui: Clear cached shape after change to Deviation
  - ...

### Part:
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] PartDesign: Fix Remove edge button not working in Pipe task panels
  - Bojan9597 PartDesign: Fix Remove edge button not working in Pipe task panels
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] On 32bit archs, E57Format fails to build, misses include to <limits>
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] Part: Repect 'VisualTouched' flag even if no geometry changed
  - chennes Part: Repect 'VisualTouched' flag even if no geometry changed
  - coldtobi On 32bit archs, E57Format fails to build, misses include to <limits>
  - chennes Part/PD: Error handling for failed preview generation
  - tarman3 CAM: Engrave - Allow flat Part::Feature object in Task panel
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] NavLib: Fix DLL import vulnerability
  - ...

### Sketcher:
  - maxwxyz Sketcher: Change defaults for new sketches
  - Roy-043 Sketcher: fix Group Constraint menu text typo
  - paragforwork Sketcher: Create symmetry constraint is checked by default
  - PaddleStroke Sketcher: Symmetric: Improve 'add symmetric constraints' option
  - andershol Sketcher: Create supplementary angle expression using AST
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] [Sketcher] Fix missing checkbox preference on loadsettings
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] Sketcher: enable two-sided lighting for internal faces
  - ...

### ...

### Other changes:
  - dependabot[bot] Bump prefix-dev/setup-pixi from 0.9.4 to 0.9.5
  - PhoneDroid Improve Issue Overview & Template
  - yeager Tools: Add language code mapping for Swedish (sv-SE -> sv)
  - pre-commit-ci[bot] [pre-commit.ci] pre-commit autoupdate
  - dependabot[bot] Bump github/issue-metrics from 4.1.3 to 4.2.1
  - chennes Build: Fix macOS CFBundleVersion generation
  - freecad-ci-runner [Backport releases/FreeCAD-1-1] The zipios bug has been fixed, do not override the zipios build option for Debian builds.
  - ...

Additional improvements and fixes were contributed by APEbbers, Bojan9597, FlachyJoe, Gaurang-2005, JackStromberg, Lgt2x, Maik-0000FF, PaddleStroke, PhoneDroid, Roy-043, Syres916, TomOstt, WandererFan, alfrix, andershol, caio-venancio, chennes, coldtobi, czarflix, davidgilkaufman, dependabot[bot], freecad-ci-runner, furgo16, fuzzybear3, ipatch, jffmichi, kadet1090, marioalexis84, maxwxyz, nishendra3, paragforwork, petterreinholdtsen, pjcreath, pre-commit-ci[bot], rehan-ahmed-aix, relikd, ryankembrey, sliptonic, tarman3, theo-vt, tritao, wiljam144, xorza, yeager.

If you are interested in testing you can grab [the latest weekly build](https://github.com/FreeCAD/FreeCAD/releases/tag/weekly-2026.04.01).

PR stats: since the previous report, 150 pull requests have been merged, and 2 new pull requests have been opened.

Issue stats: overall, there are 3361 open issues in the tracker, up/down by 0 from last week.

Last numbers (2 and 0) are most probably wrong...

PR Checklist

  • This change is verified to work as described.
  • This change complies with the repository Guidelines.

@marcuspollio
Copy link
Copy Markdown
Collaborator Author

FYI @prokoudine @chennes

@prokoudine
Copy link
Copy Markdown

Thanks, that's definitely an improvement, but commit messages or PR titles alone are rarely enough. There's a lot of context in PR descriptions, and to get to them, I would need a link to each merged PR. Could you please add that to the script?

- Add Python3 script to generate WIP Wednesday articles in Markdown
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants