Editor Update

Hy there,

from version 1.2.147 I’m getting a lot of updates to the editor, asking me to download and then install.
The one thing I’m not sure is that from the help it says I’m on the alpha channel, but I have downloaded the editor from the main page. Is this correct?

Also I’d love to make a suggestion: in the download dialogue that appears, please add a version number of what is being downloaded and a small recap of the changes, that way the user can make a better decision wether to update or not.

10 Likes

Really good idea.

2 Likes

Yh I got this too. A few updates ago I remember reading that we had to manually redownload the launcher to get a certain update, somehow doing that put me onto the alpha channel and now there’s always an update to download even though the version number stays the same.

For the recap of changes, links to the relevant release notes posted on the forum would be good.

Any official response to this? Manually downloading the editor from either the dashboard or from d.defold.com puts you in the editor-alpha channel, how do we get out of this channel? I don’t like constantly being told to update and I don’t like updating without a changelist on the forum telling me what’s changed.
image

It seems other people are also confused about this.

Plus there was that issue a few versions ago that forced people to manually download the editor, thereby getting trapped on the alpha channel.

Is there any other channels?

There doesn’t seem to be a way to download older versions of the editor so I can’t verify, but until a few versions ago I would only get the ‘update available’ message when a new stable numbered release was available with a changelist on the forum. On the alpha channel there are updates every time I open the editor, but the version number doesn’t change and there’s no way to see what’s different.

There is editor-alpha channel, which gets an update on every commit to editor branch. We don’t have versions or recaps of changes on this branch (yet).

There is also a stable channel that gets update once every two weeks, for which we have a version and forum post.

There is no easy way to change current channel from the editor, but you can edit config file in the directory where Defold is installed, and replace line channel=editor-alpha with channel=stable

The fact that you download bundle with editor-alpha channel looks like a bug though.
Edit: editor-alpha should generally be used: it has stable engine and most actual editor.

4 Likes

Great thank you! Yh currently when downloading the bundled editor the config file has the channel set to alpha by default. Interestingly with a fresh download of the most recent release, changing the channel to stable still says there’s an update available, after doing that update and opening the editor it still says 1.2.148 as expected and channel stable. So I guess it’s just a bundling mistake, the alpha channel was bundled so it needs to redownload when set to the stable channel.
image

1 Like

Well current editor-alpha release is different from stable, that’s why it asks for update after changing channels (though technically it’s a downgrade).

Makes sense :+1:

1 Like

Is it meant to check for updates twice a minute?

2019-03-10 14:59:16.853 2237855 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 14:59:17.025 2238027 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:00:17.027 2298029 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:00:17.207 2298209 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:01:17.207 2358209 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:01:17.371 2358373 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:02:17.371 2418373 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:02:17.519 2418521 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:03:17.521 2478523 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:03:17.731 2478733 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:04:17.733 2538735 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:04:17.913 2538915 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:05:17.914 2598916 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:05:18.109 2599111 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:06:18.111 2659113 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:06:18.307 2659309 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:07:18.307 2719309 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:07:18.505 2719507 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:08:18.506 2779508 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:08:18.702 2779704 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:09:18.702 2839704 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:09:18.896 2839898 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:10:18.897 2899899 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:10:19.058 2900060 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}
2019-03-10 15:11:19.059 2960061 [Timer-0] INFO  editor.updater - {:line 273, :message "Checking for updates", :url "https://d.defold.com/editor2/channels/stable/update-v2.json"}
2019-03-10 15:11:19.228 2960230 [Timer-0] INFO  editor.updater - {:line 280, :message "No update found"}

I can’t build now :cry:

I was able to build before but was on alpha channel so I changed to stable, couldn’t build, changed back to alpha but I still can’t build. I have no native extensions and am on Windows 10. Have redownloaded editor fresh and still can’t build project! :scream:

/usr/local/bin/lld-link: error: libengine.lib(engine_3.o): undefined symbol: ?SetUpdateFrequency@dmProfiler@@YAXI@Z
/usr/local/bin/lld-link: error: libengine.lib(engine_3.o): undefined symbol: ?ToggleProfiler@dmProfiler@@YAXXZ
/usr/local/bin/lld-link: error: libengine.lib(engine_3.o): undefined symbol: ?RenderProfiler@dmProfiler@@YAXPEAUProfile@dmProfile@@PEAUContext@dmGraphics@@PEAURenderContext@dmRender@@PEAUFontMap@7@@Z
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
2019-03-10 15:17:59.166 3360168 [JavaFX Application Thread] WARN  editor.app-view - {:line 612}
clojure.lang.ExceptionInfo: Failed to build engine, status 422: windres -i /var/extender/sdk/47c9f8e03623ca3ac511b5a55e6cfcc7e51ce340/defoldsdk//lib/x86_64-win32/engine.rc -O coff -o build/dmengine.res

clang++ -target x86_64-pc-win32-msvc -m64 -g -gcodeview -DDLIB_LOG_DOMAIN="ENGINE_MAIN" -DDM_PLATFORM_WINDOWS -DLUA_BYTECODE_ENABLE -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -D__STDC_LIMIT_MACROS -DWINVER=0x0600 -DWIN32  -O2 -Wall -Werror=format -fvisibility=hidden  -isystem /opt/platformsdk/Win32/MicrosoftVisualStudio14.0/VC/include -isystem /opt/platformsdk/Win32/MicrosoftVisualStudio14.0/VC/atlmfc/include -isystem /opt/platformsdk/Win32/WindowsKits/10/Include/10.0.10240.0/ucrt -isystem /opt/platformsdk/Win32/WindowsKits/8.1/Include/winrt -isystem /opt/platformsdk/Win32/WindowsKits/8.1/Include/um -isystem /opt/platformsdk/Win32/WindowsKits/8.1/Include/shared   -I/var/extender/sdk/47c9f8e03623ca3ac511b5a55e6cfcc7e51ce340/defoldsdk//include -I/var/extender/sdk/47c9f8e03623ca3ac511b5a55e6cfcc7e51ce340/defoldsdk//sdk/include  build/main.cpp -c -o build/main_tmp8b9bfa6c-ca5e-4a66-ab15-d37a7c464267.o

clang++ -target x86_64-pc-win32-msvc -m64 -g -o build/dmengine.exe -O2 -fuse-ld=lld  -L/tmp/job5978856762139273028/build  -lOpenGL32 -lDelayimp -lUser32 -lshell32 -lXinput9_1_0 -lOpenAL32 -lWS2_32 -lIPHlpApi -lDbgHelp -llibphysics_null.lib -llibrecord_null.lib   -L/var/extender/sdk/47c9f8e03623ca3ac511b5a55e6cfcc7e51ce340/defoldsdk//lib/x86_64-win32 -L/var/extender/sdk/47c9f8e03623ca3ac511b5a55e6cfcc7e51ce340/defoldsdk//ext/lib/x86_64-win32 -L/opt/platformsdk/Win32/MicrosoftVisualStudio14.0/VC/lib/amd64 -L/opt/platformsdk/Win32/MicrosoftVisualStudio14.0/VC/atlmfc/lib/amd64 -L/opt/platformsdk/Win32/WindowsKits/10/Lib/10.0.10240.0/ucrt/x64 -L/opt/platformsdk/Win32/WindowsKits/8.1/Lib/winv6.3/um/x64  -llibengine -llibengine_service -llibaxtls -llibwebviewext -llibfacebookext -llibgameroomext -llibiapext -llibpushext -llibiacext -llibgameobject -llibddf -llibresource -llibgamesys -llibgraphics -llibrender -llibscript -llibluajit-5.1 -llibextension -llibhid -llibinput -llibparticle -llibrig -llibdlib -llibdmglfw -llibgui -llibtracking -llibcrashext -llibliveupdate -llibsound -lvpx -llibFBGPlatform  build/main_tmp8b9bfa6c-ca5e-4a66-ab15-d37a7c464267.o build/dmengine.res 
/usr/local/bin/lld-link: error: libengine.lib(engine_3.o): undefined symbol: ?SetUpdateFrequency@dmProfiler@@YAXI@Z
/usr/local/bin/lld-link: error: libengine.lib(engine_3.o): undefined symbol: ?ToggleProfiler@dmProfiler@@YAXXZ
/usr/local/bin/lld-link: error: libengine.lib(engine_3.o): undefined symbol: ?RenderProfiler@dmProfiler@@YAXPEAUProfile@dmProfile@@PEAUContext@dmGraphics@@PEAURenderContext@dmRender@@PEAUFontMap@7@@Z
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)


	at clojure.core$ex_info.invokeStatic(core.clj:4617)
	at editor.engine.build_errors$build_error.invokeStatic(build_errors.clj:438)
	at editor.engine.native_extensions$build_engine_archive.invokeStatic(native_extensions.clj:241)
	at editor.engine.native_extensions$get_engine_archive.invokeStatic(native_extensions.clj:283)
	at editor.engine$get_engine.invokeStatic(engine.clj:165)
	at editor.app_view$async_build_BANG_$fn__53133$fn__53137.invoke(app_view.clj:575)
	at editor.app_view$async_build_BANG_$fn__53133.invoke(app_view.clj:573)
	at clojure.core$binding_conveyor_fn$fn__4676.invoke(core.clj:1938)
	at clojure.lang.AFn.call(AFn.java:18)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Uhh yeah, editor checks for updates every minute. This is a bit excessive, we should fix it.

1 Like

If you are using an app manifest, you are using the native extensions system. It allows us to recompile the engine for you.

There was an update in the last release regarding exclusion of the profile library.

If you update the app manifest with the Manifestation tool you should be able to resolve it.

1 Like

Also, @britzl and @vlaaad, let’s update the download link on the download page with the stable version again.

OK yh can build on stable with an updated manifest. Sorry was panicking a bit :sweat:

1 Like

I don’t fully understand, is this information about channels actual today?

I set the stable channel manually because I want to get announced updates only. But the current version on the download page still has editor-alpha channel.

Should common users use editor-alpha or stable? What are stable and editor-alpha channels for us today?

Editor and engine evolve in parallel and usually synchronize once every 2 weeks — on stable channel. But the editor and engine have different approaches to releases: engine needs stability, so there is a testing and quality assurance period. The editor does not need such guarantees since it’s easier to push an editor fix to developers than to push an engine fix to players. This means “stable” is only about the engine. On editor-alpha channel there is always the most up to date version of an editor, but also a stable version of an engine. Hence, editor-alpha is recommended. Channel names are not very good at describing this situation, but it wasn’t too annoying for us so far to rename them.

4 Likes

I’m not sure where is the right place for the next synopsis so I posted it here. For the case when someone like me will be confused and decide to figure out.

My own story looks like this (not so interesting, skip it if you want):

  • I saw the conversation about 1.2.164 in the telegram and told myself “Why I still have 1.2.163?”.
  • I checked the About screen in the Editor and saw the strange label “editor-alpha”.
  • So I thought that I have setup with a wrong or abandoned channel because it didn’t sound like ‘stable’, ‘main’, ‘master’ or ‘never mind, just ignore this label’.
  • I made some search on the forum with keyword ‘editor-alpha’ and found this topic.
  • I found the information that there was a mix-up with channels on the download page, so I thought that I’m one of those people who downloaded the editor at the wrong time and with the wrong channel setup.
  • Also, I found the message “let’s update the download link on the download page with the stable version again.” by @Mathias_Westerdahl, so I thought “Wow, okay, I need the stable version!”.
  • After that, I set ‘stable’ in the config file and got the update 1.2.164. At that moment I didn’t understand that it was released to ‘stable’ by a mistake, so I thought “I’m on the right channel, finally!” (actually not).

After some discussion in the telegram with @AGulev and @vlaaad I figured out how do these things actually work. It seems to me, at least. Thank you, guys!

The Editor has the hidden setting that contains a channel where it should get updates from. You can edit its value in the config file inside the Editor folder, the property is called ‘channel’. At this moment by default, it has value ‘editor-alpha’ and this is right for today.

There are a few channels (without feature-branches which we don’t know of course):

  • alpha - real raw development of the engine with feature merging happens here
  • beta - builds of the engine for QA
  • stable - the last stable and tested version of the engine after QA (but not the last version of the Editor, see below)
  • editor-alpha - development of the Editor happens here, so here is the last version of the Editor with the stable version of the engine.

The Editor development happens only in the editor-alpha channel. The engine channels alpha, beta and stable just get the Editor version from editor-alpha when they need it. For example, the beta and stable channels have only the version of the Editor that existed just before beta-testing. So there is no guarantees that any of engine channel has the last version of the Editor, it’s firstly only about the engine version.

Also, there is no ‘editor-beta’ or ‘editor-stable’ channels as I understood. QA of the Editor happens in the beta channel with the engine, but not so religiously (correct me if I’m wrong). So there is no reasons to use the stable channel, and contrariwise, it’s recommended (and set by default in the config) to use the editor-alpha because the Editor doesn’t need (and pass?) a serious and long QA.

The Editor is rather our internal developer tool: the guys can always quickly fix the bug, and we can always understand them and quickly get the update. It’s much simpler and faster for all of us, and it’s much safer than to make some mistake in the engine core of course.

4 Likes