diff --git a/README.md b/README.md
index ad3c61e..436523a 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,8 @@ I have [a patreon](https://www.patreon.com/adam_d_ruppe) and my (almost) [weekly
This only lists changes that broke things and got a major version bump. I didn't start keeping track here until 9.0.
+Please note that I DO consider changes to build process to be a breaking change, but I do NOT consider symbol additions, changes to undocumented members, or the occasional non-fatal deprecation to be breaking changes. Undocumented members may be changed at any time, whereas additions and/or deprecations will be a minor version change.
+
## 9.0
simpledisplay's OperatingSystemFont, which is also used by terminalemulator.d (which is used by terminal.d's -version=TerminalDirectToEmulator function) would previously only load X Core Fonts. It now prefers TrueType fonts via Xft. This loads potentially different fonts and the sizes are interpreted differently, so you may need to adjust your preferences there. To restore previous behavior, prefix your font name strings with "core:".
diff --git a/jsvar.d b/jsvar.d
index da18f30..cc914c7 100644
--- a/jsvar.d
+++ b/jsvar.d
@@ -2361,7 +2361,7 @@ WrappedNativeObject wrapNativeObject(Class, bool special = false)(Class obj) if(
// wrap the other methods
// and wrap members as scriptable properties
- foreach(memberName; __traits(allMembers, Class)) static if(is(typeof(__traits(getMember, obj, memberName)) type)) {
+ foreach(memberName; __traits(allMembers, Class)) static if(!mixin(deprecationCheck()) && is(typeof(__traits(getMember, obj, memberName)) type)) {
static if(is(type == function)) {
auto os = new OverloadSet();
foreach(idx, overload; AliasSeq!(__traits(getOverloads, obj, memberName))) static if(.isScriptable!(__traits(getAttributes, overload))()) {
@@ -2512,8 +2512,10 @@ bool isCallableJsvarObject(var possibility) {
if(possibility._payload._object is null)
return false;
- if(possibility._payload._object._peekMember("opCall", true))
- return true;
+ if(var* test = possibility._payload._object._peekMember("opCall", true)) {
+ if(isCallableJsvarObject(*test))
+ return true;
+ }
}
return false;
@@ -2842,6 +2844,13 @@ string static_foreach(size_t length, int t_start_idx, int t_end_idx, string[] t.
return a;
}
+private string deprecationCheck() {
+ static if(__VERSION__ >= 2077)
+ return "__traits(isDeprecated, __traits(getMember, obj, memberName))";
+ else
+ return "false";
+}
+
// LOL this can't work because function pointers drop the default :(
private
auto ParamDefault(alias T, size_t idx)() {
diff --git a/minigui.d b/minigui.d
index b3696c0..c1e813f 100644
--- a/minigui.d
+++ b/minigui.d
@@ -116,12 +116,16 @@ the virtual functions remain as the default calculated values. then the reads go
console and other visual bugs.
HTML_To_Classes:
- `` = [LineEdit]
- `