Changelog
- Fix issue where associated Agents were not showing on the Artifactory integration details table in the administrative Agents screen.
- add copy resulting lines to hunks
- Resolved bug that was setting all recipe runs from the UI to Low priority. Recipe runs now use Normal priority.
- add more confirmation dialogues
- add ability to disable keyboard shortcuts
- Bug fixes and other improvements.
- add option for running recipes with low priority
- add filter to organzation and repository group selector menu
- add administrative reports page to download usage reports
- Bug fixes and other improvements.
The Data Tables button is now ever present on the page along side the familiar Commit option. As a note the button will be disabled until a Recipe run has completed.

API examples button has been pulled up from a collapsable portion of the summary and into a more familiar and consistant place on the page.

The Replay recipe and Cancel run buttons have been consolidated into one location on the screen in part to make room for the Api example button.

We've cleaned up the Repository details screen to align with page titles on other pages as well as making the API examples consistently located.

Language composition chart now contains more colors to help distinguish various languages.

Now you can download a Zip archive of Moderne CLI tools.

Users will not be prompted for confirmation before removing repository.

- use totalRepositoriesInProgress from graphql
- We have changed the name "Catalog" to "Marketplace" and given it a new icon. We hope the use of the word "Marketplace" reflects the community aspect of "Recipe" development.
- Recipes can now have
maintainers
associated with them. This has been added to the graphQL API and the UI will render them in a special contributor's section on the recipe details page if present:
- We have added operating system detection to custom tailor the user experience. The first place to use this is the CLI download dialogue which now will default the instruction set selected based on your operating system. This should reduce the confusion on what instruction to use.
- Various bug fixes and improvements
We improved how we surface GraphQL API examples to make it easier to include multiple types of calls on a single page in one location where it's consistent to find

- Try CLI
curl
example now uses URL from API Gateway - Various bug fixes
- Recipe results table now supports sorting by the four different marker count columns: info, debug, warn, and error.
- Recipe artifacts can now only be updated by those with the administrative rights within the UI.
- Various bug fixes.
Now you can download the Moderne CLI from your SaaS Instance.
We've rearranged a few of the buttons to make some actions clearer to the customer. New Recipe took the place of the Import YAML button, which was moved to the YAML preview. New Recipe will reset the state for the Recipe builder so you can start on your new endevaours.

Spring is right around the corner and we've been doing a little bit of cleaning to make the recipe page cleaner and more consistent with the rest of the site.

Go to the Help menu → Try Moderne CLI


In our continual efforts to integrate the new organizations service we have redesigned the top navigation bar. You will now find plenty of space for displaying longer organization and repository group names as well as improvements to all drop downs menus. \

Notably, source management control connections have been moved into a new profile section in the avatar dropdown. Additionally, the redesigned top navigation bar is more accommodating of smaller device screens.
Up until now repository groups have been stored in the users' localStorage on their browser. If users had large amounts of groups with large lists of repositories they would approach the limits of their localStorage (typically 5-10 Mb).
We have now switch to using IndexedDB for this purpose which will not run into these same thresholds and provides faster reads and writes for large objects.
The interactive origin icon now includes links:\

We added some quality of life changes on various forms to have focus be automatically brought to the first field, for example when adding or editing a repository group.
Improve support for organizations defined in thee organization service.
We have added the ability to see repository origin details from the diff page via the interactive origin icon:

GitHub links on recipe details for OpenRewrite recipes (v9.35.0) previously linked to a search interface to find the origin on GitHub. These have now been updated with direct links to the source.
All file downloads have been standardized to use our async download manager for a more consistent experience.\
Add more support for organization as we shift focus on the new organization service:
- UI will now use commit options defined by the organization service
- Recipe runs in the UI and GraphQL can now use organization ID
We have also added recipe IDs to the list of recipes in the catalog to save time for those seeking them by preventing the need to drill down into each individual recipe details page.
Optimize the UI's use of GraphQL queries.
Added more data table driven Jupyter lite notebooks. Currently supported:
- org.openrewrite.maven.table.DependenciesInUse:
- dependency-usage-violin.ipynb
- dependency-usage.ipynb
- org.openrewrite.table.ParseFailures:
- parse-failures.ipynb
- org.openrewrite.table.RecipeRunStats:
- recipe-visit-all-performance.ipynb
- recipe-visitor-performance.ipynb
- org.openrewrite.table.SourcesFileResults:
- composite-recipe-results.ipynb
Repository Groups has been refreshed. The global menu will now separate Organizations that are defined by either the Moderne Agent or your implementation of the Moderne Organization service and Repository groups that are locally curated collections of repositories.

We've also added some visual touches to better group icons in the top navigation as well as providing you with a quick visual cue of the current selection.
A new option has been added to the Pull Request form to allow or disallow the reopening of closed pull requests.

See how to run against the API
link has been added to the commit form as well. This will show the GraphQL for the action.
Data tables: Recipes can now emit tabular data according to a schema that they define.
.png?alt=media&token=81ed4693-9e9d-49f8-bed9-37c6a8c9e6ac)
.png?alt=media&token=2f9012ea-1ea3-4426-a041-d4bb76a6a951)
Hover over the info icon to quickly view more information including the commit that the artifact was generated from and when it was ingested into the platform.

Moderne SaaS no longer provides a default named repository group called
All
that represents all ingested repositories. Customers can define their own named repository group through Agent to provide this functionality. See the example below.{
"All": {
"name": "All",
"repositories": null
},
"Default": {
"name": "Default",
"repositories": [...]
}
}
Actions for grids are now presented on the left-hand side of the table.

Repositories hosted on Bitbucket Cloud are now supported. This requires additional configuration through your agent.

We have added the ability for admins to view and revoke Moderne personal access tokens of any user. There is now a new Access tokens page under the admin navigations:
\

While addressing some keyboard shortcuts that were reported to conflict with certain browsers we overhauled the keyboard shortcuts to primarily use single key commands and added more. These commands will not fire if the focus of the browser is in a text input or any control like field. Additionally, we have provided a new short cut cheat sheet that is activated with
shift
+?

We want to improve users and recipe authors' experience finding source code for a particular recipe. We have added on the recipe details pages a link on OpenRewrite recipes that will use a specialized GitHub search query to find the source. We have plans to expand this functionality in the future.\

The "Add to builder" button now has an additional drop-down to support adding the current recipe to the builder as an applicability test.
These tests currently come in two variants:
singleSource
- The custom recipe will only be run on those source files that would have been changed by allsingleSource
test recipes.anySource
- The custom recipe will run on all source files if there would have been a change from allanySource
tests. Not allanySource
tests have to change the same file; as long as there would be one change from each test then the custom recipe would be run.




An Error card shows the code where the error was discovered, the error message, and now a new section called details that will show any extra details like stack traces. Additionally, the copy button in the upper right of the card now copies all sections as a string of Markdown to your copy buffer.


This has been added to the following pages:
- recent commits
- commit jobs
- organizations
- workers
- quarantine

You can now hide whitespace changes from diffs via the Settings menu

Now it's even easier to filter down the result set to only those diffs that include errors from the result diff menu bar.

We have added a status page `/status` that displays a general summary of the site's health.

Recipe run results summary view now has the option to view the number of markers returned for each repository.

This can also be viewed in the extended summary.

Previously repository selection was performed at recipe run time. Now users will create named repository groups that will drive what repositories recipes are run against and what repositories are shown on the Organizations page. The group in use will be visible in the header. Groups can also be created from the repositories of a recipe run. There is also a
All
group by default that is all the repositories of the tenant. The named groups are initially stored in the browser's local storage.Running a recipe

Screen Shot 2022-10-27 at 3 19 15 PM
Repository group menu

From this menu, users can change their selection, create a new grouping, or navigate to the management page for all their groups.
Repository group creation

Organization view filtered

As shown above, only repositories defined in the user's repository group are displayed.
Recipe run group creation

Screenshot 2022-10-28 at 1 22 22 PM
New groups can be created from the selected rows of a recipe run.
In addition to using Moderne for running recipes, it is also common to use the built-in debugging tools for recipe development.

Previously, the
Only show errors
a toggle would limit diffs to only those containing errors. For large files with multiple hunks of changes, this behavior still required recipe authors to manually search for the errors that surfaced.
We have changed this behavior so that Only show errors
will now cause only the hunks with errors to render.Previously the Recent Commit Job page only reported the overall status of job completion. We now surface the number of successful, failed, or jobs with no changes.

We have increased the types of markers we annotate and surface in the diff view of the UI. Previously the new markers will now render as squiggly lines with an icon. If there are additional details, it will allow you to click in to see those details:
ou may have noticed search markers displaying like this:\


In addition to search markers, we will render info/debug, warnings, and errors in a similar way:



Deploying recipe artifacts now has an improved asynchronous experience. We've added the recipe artifact state and last deployment time to increase the visibility around the freshness of a recipe artifact.Notable changes to the Moderne platform

View recipe artifact state and last deployment time.

If there is a Moderne update in the middle of your browser session, you should now see a prompt to refresh your page to ensure you have the latest version available.