Releases: Cysharp/SlnMerge
2.0.1
2.0.0
This release introduces new features such as Unity Editor extensions and .slnx support.
Japanese release notes are also available
Introduce Settings window in Unity Editor
An extension for the Unity Editor has been added. Previously, it was necessary to edit the .mergesettings configuration file using a text editor, but from this version onwards, settings can be completed within the Unity Editor.
The SlnMerge settings can be accessed by selecting SlnMerge from the Preferences menu.
In this settings screen, "user-specific project settings items" can be configured. By clicking the "Edit current merge settings" button on this screen, you can open a window to edit the "project-specific merge settings (.mergesettings)".
The project's merge settings are saved as a .mergesettings file, which is automatically created upon the first setting change if the file does not already exist.
Support for the new .slnx format
From .NET 9 SDK or later, a new solution format .slnx has been introduced, and SlnMerge can now merge solutions in this new format.
This new format is already supported and increasingly used in IDEs such as Visual Studio and Rider, and from version 2.0.24 of the Visual Studio Editor (Unity Editor extension) package also generates .slnx files.
SlnMerge can merge .sln files even when Unity generates .slnx files, and vice versa, allowing you to start using the new format immediately.
SlnMerge detects both MyApp.sln.mergesettings and MyApp.slnx.mergesettings, so creating either one will allow it to be read regardless of the format.
Solution folders without merging
SlnMerge had a feature to move projects into solution folders for organization, but this operation required merging solutions as a prerequisite.
In this version, if no target solution for merging is specified, only the solution folder processing is executed. This allows for organization using folders without utilizing the solution merging feature.
Setting Default Processing Method and Overrides
It is now possible to set the default behavior for whether to merge solutions or apply settings in the .mergesettings file.
This is useful in cases where most developers in a project do not require merging, but some do, or when you want to apply only solution folder organization without merging.
You can set the following values for the Default Processing Policy item.
- Merge: Merge (default)
- NestedProjectOnly: Add projects to solution folders only
- Disabled: Disabled merging and solution folder processing
This setting can be overridden per user in the SlnMerge Preferences under Processing Policy Override. For example, even if the default project setting is Disabled, selecting Merge in the user settings will execute the merge process when generating the solution. This per-user override setting is saved on a per-project basis.
Breaking Changes from SlnMerge 1.x
No longer automatically searches for *.Merge.sln
Previously, if there was no specified solution to merge in the settings, ProjectName.Merge.sln was automatically targeted for merging. However, if not specified, an empty solution is implicitly merged.
If you want to merge ProjectName.Merge.sln, please explicitly specify it as the Solution Merge Target.
Unity Solution is preferred in case of project conflicts
When there are projects with the same name in the Unity Editor-generated solution and the target solution for merging, the previous version kept both, but now it prioritizes keeping the Unity side item.
What's Changed
- feat: use Cysharp/Actions reusable workflows/actions by @guitarrapc in #21
- chote: prevent github workflow change by @guitarrapc in #22
- ci: add depndabot.yaml to update github-actions by @guitarrapc in #24
- chore(deps): bump actions/checkout from 3 to 4 by @dependabot[bot] in #26
- chore(deps): bump technote-space/toc-generator from 2.4.0 to 4.3.1 by @dependabot[bot] in #25
- ci: Cysharp/Actions/.github/workflows/create-release.yaml by @guitarrapc in #23
- ci: Pinning third party GitHub Actions sha by @guitarrapc in #27
- chore: drop net5.0/3.1 and pass dotnet test by @guitarrapc in #28
- Add .slnx support by @mayuki in #30
- Rework .slnx support by @mayuki in #31
- Make available without a merging solution by @mayuki in #32
- Add a settings panel and a window for Unity Editor by @mayuki in #33
- Add
Regenerate solution filebutton by @mayuki in #34 - Remove unused codes by @mayuki in #35
New Contributors
- @dependabot[bot] made their first contribution in #26
Full Changelog: 1.4.0...2.0.0
Ver.1.4.0
What's Changed
Full Changelog: 1.3.0...1.4.0





