All the notable changes to Pywr for Azure DevOps, from the latest version to the first.
1.0.0 - 2026-11-01
Section titled “1.0.0 - 2026-11-01”Features
Section titled “Features”- The trial banner in the Azure DevOps extension now looks like a warning, with an amber background, a warning icon and bold text, so users are less likely to miss it.
- An approval signs off the pull request with the SHA-256 of each model and data file, and the pywr/model-review status lets a branch policy wait for it. The review flags data files whose checksum no longer matches and shows the percentage change of numbers. The hub has a change register with a CSV export, and each review exports an HTML report.
Bug fixes
Section titled “Bug fixes”- The Azure DevOps extension now declares its privacy policy file with the Privacypolicy asset type, which the Marketplace looks for in paid extensions.
- The trial and the cached seat no longer stay open when their date is set in the future. A trial that starts up to a day ahead still counts, for browsers whose clocks run slow.
- The checks now find data files with a space or a # in their name, so their checksums are checked and hashed in a sign-off. The review, the register and the report only show a sign-off from a reviewer who approves and is not the author, and signing off waits for the model checks and stops on read errors other than a missing file. The register lists every completed pull request and shows its progress while it loads, its CSV export cannot hold formulas, and the outputs of Pywr v1 recorders are no longer hashed.
0.7.1 - 2026-10-31
Section titled “0.7.1 - 2026-10-31”Bug fixes
Section titled “Bug fixes”- The Azure DevOps extension now ships a privacy policy file, which the Marketplace requires for paid extensions. The file links to the privacy policy on pywrtools.dev.
0.7.0 - 2026-10-31
Section titled “0.7.0 - 2026-10-31”Features
Section titled “Features”- Add Pywr Model Review, an Azure DevOps extension that lists the pull requests changing a Pywr model across a project. Reviewers see each changed value and the changes on the schematic, comment, and approve or reject in the browser without cloning the repository.
- The decision dialog of the Azure DevOps extension lists the four decisions one under the other, with their hints and the chosen one highlighted.
- The panel of a change in the Azure DevOps review lists the commits that changed it, with a conventional commit prefix shown as a coloured label. A failed build of the pull request links to its logs.
- The pull request list of the Azure DevOps extension shows each pull request as soon as it is read, with a spinner while the rest load. The Refresh button is disabled until the list has loaded.
- In the Azure DevOps extension, a reviewer who rejected a pull request can only reactivate it, and the list moves it from “Assigned to me” to a new “Rejected” filter. Names show an avatar with the initials of the person, and the review lists the work items linked to the pull request, so the extension now asks to read work items. Open comments on the whole pull request, such as a message from a bot, are listed above the changes, where you can reply to them or resolve them.
- In the Azure DevOps extension, files of a pull request that are not models, such as a CSV of inflows, link to the Files tab of the pull request, where Azure DevOps shows what changed in them.
- The Azure DevOps extension checks each model a pull request changes and lists the problems it adds, such as a parameter that a node uses but the model doesn’t have, and shows which components use the selected one. Reviewers can suggest another value on its line, post a summary of the changes, find a change by name, move with J and K, close the selected change, and read comments in Markdown. A dashboard widget lists the pull requests waiting for your review.
- The list of changes in the Azure DevOps review is less crowded. Each part has a plain heading with its count, and the changes show the A, M and R letters of the schematic key, so their full names fit. Drawn icons mark problems, comments and opened changes, and the J and K keys sit at the bottom next to the number of changes opened.
- In the right pane of the Azure DevOps review, the values a change makes come right after its problems, and each part has the same heading as the list of changes. Comments have a section of their own, with Reply and Resolve on one row.
- A model file opened in Azure Repos Files gets a Preview tab from the Azure DevOps extension, with the components of the model, its schematic and the values of the component you pick. The changes a reviewer opens are saved with the extension, so they come back on another computer, and the change list shows how many each other reviewer has opened. A change the author edits again in a later commit loses its tick.
- Compare versions on the Model reviews page of the Azure DevOps extension compares any two branches, tags or commits of a repository, such as release-2025 and main. The changes open in the same three panes as a pull request, without comments, decisions or ticks.
- The review charts both versions of a changed profile, and the rule curves of a control curve parameter or a storage node. A chart with one line names it under the chart, because the legend only appears with two or more lines.
- Clicking a changed CSV file in the review shows the rows it changes and the components of the changed models that read it. The pane links to the change of the file in Azure Repos.
- The review summarises each changed model in both versions: its run period, its scenarios and the number of each type of component. Lines that differ are in bold.
- The schematic in Azure DevOps has a box to find a node by name. Picking a name moves the schematic to that node, and Enter goes to the first node whose name contains the text.
- The Azure DevOps extension checks the licence with the licence server and starts the 30-day trial of an organisation the first time one of its users opens it.
Bug fixes
Section titled “Bug fixes”- The dialogs of the Azure DevOps extension keep the focus while open, close with Escape and return the focus to the button that opened them. Buttons, fields and links have enough contrast in both themes, small text is 12px, and each pull request title in the list opens from the keyboard. The review page keeps the schematic at least 20rem wide and stacks its panels when the page is narrow.
- The Approve or reject button of the Azure DevOps extension is blue, and its links take the theme colour. Azure DevOps sets the communication colours as full colours, so wrapping them in rgba() made them invalid. The decision and the button now stay together on the right when the header wraps.
- The list of the Azure DevOps extension shows the decision you just made when you go back to it, and keeps the repository you picked when you switch filter. A value that changes type, such as “10” to 10, keeps its quotes, and the commits of a pull request are read once per push. The merge check waits for each answer before it asks again.
- A value too long for one line in both versions, such as the twelve values of a monthly profile, is compared side by side again in the Azure DevOps extension. It was shown as JSON on one line, and the summary of the changes listed the whole lists.
- The dashboard widget registers under its short id as soon as the page loads, so Azure DevOps no longer fails with “No handler found on any channel”. The widget reports it is loaded once the host is ready.
- The preview of a model opened in Azure Repos Files no longer stays blank until the frame is reloaded. The viewer tells Azure DevOps it is loaded only once the handshake is done, as the dashboard widget does.
- The Compare two versions page in Azure DevOps no longer says you can pick a commit. It suggests branches and tags, and you can type a commit id in the From and To fields.
- The Azure DevOps extension now ships a licence file, which the Marketplace requires for paid extensions. The file links to the EULA on pywrtools.dev.
Pywr for VS Code and Pywr for Azure DevOps are developed and maintained by Stefano Simoncelli.