Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
54b5fc4
Added information about projects and events to track creating and ope…
tombogle Dec 12, 2025
da7147c
Merge branch 'main' into analytics-tracking-enhancements
tombogle Dec 18, 2025
393b97b
Added an event to note details of significant progress.
tombogle Jan 6, 2026
bbdb5e1
Updated copyright to 2026
tombogle Jan 6, 2026
5768024
Fixed problems when stats are not fully initialized
tombogle Jan 6, 2026
edbca9f
Upgraded SIL.DesktopAnalytics
tombogle Jan 12, 2026
b3a4bf2
Merge branch 'main' into analytics-tracking-enhancements
tombogle Jan 12, 2026
016fab7
Unified on System.Text.Json 9.0.0 to prevent runtime failure:
tombogle Jan 13, 2026
c71c5fd
Improved installer to avoid picking up older DLL versions referenced …
tombogle Jan 13, 2026
ff5e863
Revert errant installer change
tombogle Jan 13, 2026
ba01181
Used locking to prevent race conditions in statistics reporting.
tombogle Jan 13, 2026
ede6694
Cleaned up some long-standing compiler warnings
tombogle Feb 26, 2026
7563c3b
Upgrade libpalaso SIL DLLs and L10nSharp to latest betas.
tombogle May 26, 2026
58a232f
Add ApplicationContainer.SayMoreLocalizationManager static property
tombogle Jun 5, 2026
04fc998
Replace lm-parameter EditorBase constructors with static-based no-arg…
tombogle Jun 5, 2026
f105fc4
Make ComponentFileGrid constructor no-arg, use SayMoreLocalizationMan…
tombogle Jun 8, 2026
5cbfb09
StatisticsView/ProgressScreen: remove ILocalizationManager param, use…
tombogle Jun 8, 2026
0df26dd
Fix indentation on null-conditional UiLanguageChanged guards in Stati…
tombogle Jun 8, 2026
104088d
Task 5: remove ILocalizationManager from FileType hierarchy
tombogle Jun 8, 2026
05e6a4d
Task 6: remove lm guard from HandleStringsLocalized in 7 EditorBase s…
tombogle Jun 8, 2026
870e9f7
Task 7: fix PersonBasicEditor — remove no-arg HandleStringsLocalized …
tombogle Jun 8, 2026
72ff644
Task 8: drop lm constructor param and clean up HandleStringsLocalized…
tombogle Jun 8, 2026
3a7dcdc
Task 9: remove ILocalizationManager from ProjectMetadataScreen and Pr…
tombogle Jun 8, 2026
cc5cb1d
Task 10: rewrite UILanguageDlg — remove ILocalizationManager, replace…
tombogle Jun 8, 2026
c3e4e92
Task 11a: fix two missed EditorBase subclasses (BasicFieldGridEditor,…
tombogle Jun 8, 2026
cb3ef52
Refactor: move HandleStringsLocalized initial call from EditorBase co…
tombogle Jun 9, 2026
39df720
Add superpowers/ to .gitignore
tombogle Jun 9, 2026
4d135fd
Cleanup: remove dead tabText constructor param and Initialize method …
tombogle Jun 9, 2026
928ad45
Fix: defer gender ComboBox selection until items are populated (crash…
tombogle Jun 10, 2026
a5d78b4
Merge branch 'main' into analytics-tracking-enhancements
tombogle Jun 25, 2026
66fa26d
Merge branch 'main' into analytics-tracking-enhancements
tombogle Jun 25, 2026
bc0d247
Fixed problem with unit tests when trying to select an invalid index …
tombogle Jun 25, 2026
1aa9d31
Updated to latest (beta) SIL DLLs
tombogle Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
superpowers/**
obj/
**/output/**
**/bin/**
Expand Down
2 changes: 1 addition & 1 deletion DistFiles/aboutBox.htm
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ <h1>Thanks</h1>
<p>Sarah Moeller, Tim Gaved, Cambell Prince, Michael Cochran, Gary Simons, John Wickberg, Will Reiman (SIL Global)</p>
<p>Microsoft for <a href="https://github.com/">Github</a>, the repository where our open-source code is hosted for free, and also for free use of <a href="https://visualstudio.microsoft.com/vs/community/">Visual Studio Community</a>, our preferred IDE.</p>
<p>Atlassian, for a free open-source license for <a href="https://www.atlassian.com/software/jira/overview">Jira</a>, where we keep bug reports.</p>

<p><a href="https://crowdin.com/">Crowdin</a>, for great on-line localization tools.</p>
<p><a href="https://github.com/sillsdev/saymore/">GitHub</a>, for free hosting of our source code repository.</p>

<h1>Open Source Components/Libraries</h1>
Expand Down
Binary file modified DistFiles/license.rtf
Binary file not shown.
1 change: 1 addition & 0 deletions DistFiles/releaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## _VERSION_ (_DATE_)
* SayMore is now a 64-bit application, so it will make better use of available memory and avoid out-of-memory errors.
* SayMore now targets .Net Framework 4.8, which is the latest version supported on Windows 7 through Windows 11. It will not run on Windows versions earlier than 7.
* Added ability (both in the installer and in a dialog inside SayMore) to opt out of sending analytics data to SIL.

## 3.7.4 (30 July 2025)
* Small improvement in the logic to guess at the correct initial writing system for translations when exporting FLEx Interlinear files (flextext).
Expand Down
5 changes: 5 additions & 0 deletions SayMore.sln.DotSettings
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HTML/@EntryIndexedValue">HTML</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IE/@EntryIndexedValue">IE</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IMDI/@EntryIndexedValue">IMDI</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ISO/@EntryIndexedValue">ISO</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MRU/@EntryIndexedValue">MRU</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=OK/@EntryIndexedValue">OK</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RAMP/@EntryIndexedValue">RAMP</s:String>
Expand All @@ -12,6 +14,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=attrib/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=autofac/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=autonym/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bkgnd/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=bldr/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=contribs/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=curr/@EntryIndexedValue">True</s:Boolean>
Expand All @@ -25,6 +28,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=Inputter/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Insite/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Jira/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=localizer/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=malware/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mets/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=NTSC/@EntryIndexedValue">True</s:Boolean>
Expand All @@ -37,6 +41,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=reentrant/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Resegment/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=romanized/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Saveable/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Segmenter/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Segoe/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=standarderror/@EntryIndexedValue">True</s:Boolean>
Expand Down
2 changes: 1 addition & 1 deletion build/SayMore.proj
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<LocalPackagesRoot Condition="'$(LocalPackagesRoot)'==''">$(RootDir)/packages/</LocalPackagesRoot>
<PalasoL10nsVersion>16.2.0</PalasoL10nsVersion>
<PalasoL10nsRootDir>$(NuGetPackageRoot)SIL.libpalaso.l10ns/$(PalasoL10nsVersion)/</PalasoL10nsRootDir>
<SILReleaseTasksProps>$(NuGetPackageRoot)SIL.ReleaseTasks/3.1.1/build/SIL.ReleaseTasks.props</SILReleaseTasksProps>
<SILReleaseTasksProps>$(NuGetPackageRoot)SIL.ReleaseTasks/3.2.0/build/SIL.ReleaseTasks.props</SILReleaseTasksProps>
<BuildTasksVersionFolder Condition="'$(BuildTasksVersionFolder)' == ''">$(LocalPackagesRoot)SIL.BuildTasks/</BuildTasksVersionFolder>
<BuildTasksDll>$(BuildTasksVersionFolder)tools/SIL.BuildTasks.dll</BuildTasksDll>
<SILBuildTasksProps>$(BuildTasksVersionFolder)build/SIL.BuildTasks.props</SILBuildTasksProps>
Expand Down
20 changes: 19 additions & 1 deletion build/TestInstallerBuild.bat
Original file line number Diff line number Diff line change
@@ -1,10 +1,28 @@
pushd .\
FOR /F "tokens=*" %%i IN ('"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.Component.MSBuild -find MSBuild\**\Bin\MSBuild.exe') DO SET msbuildexe="%%i"

REM Remember which build-modified files are currently clean so we can restore them afterwards.
REM Files with pre-existing unstaged changes are left alone.
SET REVERT_FILES=
git diff --quiet -- ..\DistFiles\releaseNotes.md
IF NOT ERRORLEVEL 1 SET REVERT_FILES=%REVERT_FILES% ../DistFiles/releaseNotes.md
git diff --quiet -- ..\src\Installer\Installer.wxs
IF NOT ERRORLEVEL 1 SET REVERT_FILES=%REVERT_FILES% ../src/Installer/Installer.wxs
git diff --quiet -- ..\src\AutoSegmenter\Properties\AssemblyInfo.cs
IF NOT ERRORLEVEL 1 SET REVERT_FILES=%REVERT_FILES% ../src/AutoSegmenter/Properties/AssemblyInfo.cs
git diff --quiet -- ..\src\SayMore\Properties\AssemblyInfo.cs
IF NOT ERRORLEVEL 1 SET REVERT_FILES=%REVERT_FILES% ../src/SayMore/Properties/AssemblyInfo.cs
git diff --quiet -- ..\src\SayMoreTests\Properties\AssemblyInfo.cs
IF NOT ERRORLEVEL 1 SET REVERT_FILES=%REVERT_FILES% ../src/SayMoreTests/Properties/AssemblyInfo.cs

dotnet restore ..\SayMore.sln
%msbuildexe% /target:Build /verbosity:detailed
%msbuildexe% /target:ConvertReleaseNotesToHtml;installer /property:Version=3.8.2000 /verbosity:detailed

IF DEFINED REVERT_FILES git checkout -- %REVERT_FILES%

popd
GOTO pauseforusertoseeoutput
:pauseforusertoseeoutput
ECHO %CMDCMDLINE% | findstr /i "/c" >nul
ECHO %CMDCMDLINE% | findstr /i /c:"/c" >nul
IF NOT errorlevel 1 PAUSE
Loading
Loading