Beta v7.75.1434 changes:
1.Item 23, https://forums.mirc.com/ubbthreads.php/topics/272241
Beta v7.75.1424 changes:
1.Item 22, https://forums.mirc.com/ubbthreads.php/topics/272203
Beta v7.75.1387 changes:
1.Item 21, added https://forums.mirc.com/ubbthreads.php/topics/271873
Beta v7.75.1329 changes:
1.Item 17, updated.
2.Item 18, https://forums.mirc.com/ubbthreads.php/topics/272130
3.Item 9, updated.
4.Item 19, https://forums.mirc.com/ubbthreads.php/topics/272146
5.Item 20, https://forums.mirc.com/ubbthreads.php/topics/272150
This was only happening after a popup menu is edited in the
Beta v7.75.1271 changes:
1.Items 14 and 15, https://forums.mirc.com/ubbthreads.php/topics/272028
2.Item 16, https://forums.mirc.com/ubbthreads.php/topics/271623
Each $decode() method was behaving in a different way with invalid
input. All methods now check for invalid/out-of-range input and,
if found, return $null, a count of zero, and no error.
Beta v7.75.1113 changes:
1.Item 13, https://forums.mirc.com/ubbthreads.php/topics/272094
Beta v7.75.1109 changes:
1.Item 13, https://forums.mirc.com/ubbthreads.php/topics/272093
Also fixed an issue with custom font sizes in the treebar.
2.Item 13, https://forums.mirc.com/ubbthreads.php/topics/272094
Beta v7.75.1076 changes:
1.Item 10, changed the method to give more accurate results,
although it will still not perform an exact conversion all the
time due to floats/rounding.
2.Item 12, added. Experimented with NanoSvg and LunaSvg. NanoSvg
is widely used but has not been maintained and has a large number
of open issues and pull requests. LunaSvg is being actively
maintained. Both of these can parse basic SVG files, so they
are useful for loading flat icons, etc. They cannot, however,
parse more complex SVG. NanoSvg and LunaSvg use different
methods of rasterization, anti-aliasing, etc. so the resulting
outputs differ in color, clarity, etc.
3.Item 13, added. I had intended to make SVG icons from the
original SVG file created by TurboMilk in 2007, however after a
lot of experimentation, I decided to just extend the existing
70+ standard icons with 20 and 24 pixel icon sizes. After some
tweaking, I think they look reasonably good.
Beta v7.75.619 changes:
1.Item 7, https://forums.mirc.com/ubbthreads.php/topics/272043
2.Item 8, https://forums.mirc.com/ubbthreads.php/topics/272068
3.Item 9, updated.
4.Item 6, the way math/float exceptions are triggered has changed
for some math functions in Visual Studio 2017, causing issues
in some features, eg. $invmod(), so these have had to be handled
differently. This beta passes all of my bigfloat tests.
5.Item 10, fixed. This change might result in other $base() rounding
issues and may need to be reverted. Needs testing.
6.Item 11, enabled.
Beta v7.75.345 changes:
1.Item 1, fixed https://forums.mirc.com/ubbthreads.php/topics/271996
2.Item 2, extended.
3.Item 3, fixed https://forums.mirc.com/ubbthreads.php/topics/272006
4.item 4, fixed https://forums.mirc.com/ubbthreads.php/topics/272016
5.Item 5, fixed.
6.Item 6, needs testing.
This required recompiling OpenSSL, LibZip, TagLib, MAPM, PCRE,
and several other external libraries.
The reason for switching is that staying with Visual Studio 2008 is
limiting options in terms of usable external libraries, as well as
code examples, which use newer versions of C++. Some currently used
libraries are also moving away from supporting older Visual Studio
versions. Visual Studio 2017 is the last version that supports the
141_xp toolset for XP support. The XP toolset has been removed
from later Visual Studio versions.
The first major issue I came across is a bug in the v141_xp toolset
stat() runtime function that causes random freezes and incorrect
file handling on XP. Microsoft knows about this bug but has not
fixed it. I previously experimented with replacing stat() with
GetFileAttributesEx(), so enabled that code to resolve this issue.
However, the issue will also be present (on XP) in any external
libraries that use these functions. Currently, only LibZip uses
stat()/fstat() but the source files using these functions can be
excluded from the compilation.
1.Fixed perform dialog bug when adding/switching between multiple
2.Extended .ogg support to work with other codec libraries.
3.Fixed MDI background picture not using the transparency color when
4.Fixed /toolbar -p bug that was not freeing the previously loaded
icon when replacing a button.
5.Fixed Aero theme bug that displayed inner border artifacts in some
contexts when a window is first created.
6.Now using Visual Studio 2017 to compile mIRC. Required converting
all solutions, including all external libraries, and recompiling
with the v141_xp toolset to maintain Windows XP support.
7.Fixed custom dialog mnemonics bug in tab controls.
8.Fixed $sslversion/$ssldll version bug.
9.Updated OpenSSL library to v3.0.12.
10.Improved $base() floating point conversion.
11.Enabled Control Flow Guard runtime security checks.
12.Added support for loading SVG resources for internal use.
13.Added 20/24 pixel icon sizes for all icons used in the GUI. The
Options/Display dialog now allows you to select between small,
medium, and large icons to be used in the toolbar, switchbar,
and treebar, for use with higher resolution monitors.
14.Changed /font to update switchbar, treebar, and scripts editor
15.Changed /font -z to preserve switchbar font in the same way as
with the treebar and scripts editor fonts.
16.Changed $decode() to handle invalid input in a more consistent
way for all decoding methods.
17.Updated LibZip library to v1.10.1.
18.Fixed switchbar vertical scrollbar buttons not being visible
on Windows 11.
19.Fixed typing notifications bug when typing in editbox in
parted/kicked channel windows.
20.Fixed $scriptdir bug in popup menus.
21.Added tab completion suffix option to Keys dialog.
22.Fixed $wrap() control code wrapping bug.
23.Changed notify list MONITOR event parsing to handle events