Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vibe.d 0.8.3 should be released soon as 0.8.2 doesn't work with master #2058

Closed
wilzbach opened this issue Feb 2, 2018 · 16 comments
Closed

Comments

@wilzbach
Copy link
Member

wilzbach commented Feb 2, 2018

(I just bumped into this here: dlang-tour/core#662)

At the moment, dmd-nightly only works with the alpha 0.8.3 release which is scheduled for a beta on 14.2 and to be released at 01.03

To avoid any problems, it would be great if vibe.d 0.8.3 could be released in February.
Also it would be better if we could use SemVer for real patches - it was rather annoying to manually bump all packages which require vibe.d.

Here's a quote from a recent discussion at dfmt which explains it better:

As long as we don't ship a first v1.0.0, I suggest we only ship bug fixes in patch releases (v0.x.) and only add new features and/or breaking changes when incrementing the minor version (v0..0).

Why is this occurring?

See dlang/phobos#5921

tl;dr: it has been decided that making breaking changes to std.experimental.allocator is okay.

@wilzbach
Copy link
Member Author

Just a friendly ping on this one - 2.079 is coming closer and currently the latest release doesn't compile with dmd-beta

@s-ludwig
Copy link
Member

I updated the change log and tagged beta.1 now. BTW, I had to remove the alpha.5 tag, because the tag_version.sh script wasn't used and consequenty the CI got tripped up.

@extrawurst
Copy link
Contributor

Also it would be better if we could use SemVer for real patches - it was rather annoying to manually bump all packages which require vibe.d.

oh how awesome real semVer would be

@s-ludwig
Copy link
Member

s-ludwig commented Mar 5, 2018

0.x.y not having any backwards compatibility constraints is SemVer ;) But the point is that currently more or less every release contains a few small breaking changes, so it wouldn't help much to change the versioning scheme. The development mode needs to change as well, and this is what happens with the new individual packages, such as vibe-core.

On the other hand, it wouldn't make sense to switch the development mode for "vibe-d" now, because there is still too much known/planned improvements to the old API. It would cause some severe slowdown of development and adoption of new "0.major" releases.

For reference: Release candidates vibe.d 0.8.3-rc.1 and vibe-core 1.4.0-rc.1

@veelo
Copy link
Contributor

veelo commented Apr 10, 2018

Note: Travis-CI is failing because of this. https://travis-ci.org/veelo/Pascal2D/builds/364566452

@s-ludwig
Copy link
Member

Hm, this should actually be closed, as 0.8.3 has already been released on 3/8. Can you try to "dub upgrade" to see whether there are still any errors?

@veelo
Copy link
Contributor

veelo commented Apr 11, 2018

Hm, this should actually be closed, as 0.8.3 has already been released on 3/8. Can you try to "dub upgrade" to see whether there are still any errors?

I see. Maybe this means the docker image is outdated? I'll have to figure out how to dub upgrade on CI.

@wilzbach
Copy link
Member Author

@veelo Travis uses the dub version bundled with the release you are using.
You can opt-in in a new one with sth like #2140, but I the issue is more that you need to upgrade your dub.sdl/json by hand?

@veelo
Copy link
Contributor

veelo commented Apr 11, 2018

I am not sure that I am following what you are saying. I need a newer dub version?

I just tried this locally on Windows, dmd v2.079.0, dub 1.8.0. dub upgrade --vverbose gives

Using dub registry url 'https://code.dlang.org/'
Refreshing local packages (refresh existing: true)...
Looking for local package map at C:\ProgramData\dub\packages\local-packages.json
Looking for local package map at C:\Users\bastiaan\AppData\Local\dub\packages\local-packages.json
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry botan-1.12.9
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry botan-math-1.0.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry ddox-0.16.6
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry ddox-0.16.7
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry diet-ng-1.4.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry diet-ng-1.4.5
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry dscanner-0.4.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry dsymbol-0.2.9
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry emsi_containers-0.5.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.17
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.20
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.27
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.34
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry hyphenate-1.1.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry inifiled-1.0.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libasync-0.8.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libddoc-0.2.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libdparse-0.7.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libdparse-0.7.2-alpha.5
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libevent-2.0.2_2.0.16
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry memutils-0.4.10
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry memutils-0.4.9
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry openssl-1.1.5_1.0.1g
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry openssl-1.1.6_1.0.1g
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry pegged-0.4.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry pegged-0.4.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry scod-0.4.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry stdx-allocator-2.77.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry taggedalgebraic-0.10.11
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry taggedalgebraic-0.10.7
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry taggedalgebraic-0.10.8
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-core-1.2.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-core-1.3.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-core-1.4.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-d-0.8.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-d-0.8.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-d-0.8.3
Note: Failed to determine version of package epcompat at .. Assuming ~master.
Refreshing local packages (refresh existing: false)...
Looking for local package map at C:\ProgramData\dub\packages\local-packages.json
Looking for local package map at C:\Users\bastiaan\AppData\Local\dub\packages\local-packages.json
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry botan-1.12.9
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry botan-math-1.0.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry ddox-0.16.6
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry ddox-0.16.7
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry diet-ng-1.4.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry diet-ng-1.4.5
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry dscanner-0.4.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry dsymbol-0.2.9
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry emsi_containers-0.5.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.17
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.20
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.27
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.34
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry hyphenate-1.1.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry inifiled-1.0.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libasync-0.8.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libddoc-0.2.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libdparse-0.7.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libdparse-0.7.2-alpha.5
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libevent-2.0.2_2.0.16
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry memutils-0.4.10
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry memutils-0.4.9
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry openssl-1.1.5_1.0.1g
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry openssl-1.1.6_1.0.1g
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry pegged-0.4.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry pegged-0.4.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry scod-0.4.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry stdx-allocator-2.77.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry taggedalgebraic-0.10.11
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry taggedalgebraic-0.10.7
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry taggedalgebraic-0.10.8
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-core-1.2.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-core-1.3.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-core-1.4.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-d-0.8.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-d-0.8.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-d-0.8.3
Collecting dependencies for epcompat
Upgrading project in C:\Users\bastiaan\Documents\D\Pascal2D\epcompat
Configurations used for dependency resolution:
Interation (ci=-1)
Resolved dependencies before optional-purge: []
Resolved dependencies after optional-purge: []
Refreshing local packages (refresh existing: false)...
Looking for local package map at C:\ProgramData\dub\packages\local-packages.json
Looking for local package map at C:\Users\bastiaan\AppData\Local\dub\packages\local-packages.json
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry botan-1.12.9
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry botan-math-1.0.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry ddox-0.16.6
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry ddox-0.16.7
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry diet-ng-1.4.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry diet-ng-1.4.5
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry dscanner-0.4.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry dsymbol-0.2.9
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry emsi_containers-0.5.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.17
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.20
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.27
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry eventcore-0.8.34
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry hyphenate-1.1.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry inifiled-1.0.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libasync-0.8.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libddoc-0.2.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libdparse-0.7.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libdparse-0.7.2-alpha.5
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry libevent-2.0.2_2.0.16
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry memutils-0.4.10
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry memutils-0.4.9
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry openssl-1.1.5_1.0.1g
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry openssl-1.1.6_1.0.1g
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry pegged-0.4.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry pegged-0.4.3
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry scod-0.4.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry stdx-allocator-2.77.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry taggedalgebraic-0.10.11
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry taggedalgebraic-0.10.7
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry taggedalgebraic-0.10.8
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-core-1.2.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-core-1.3.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-core-1.4.0
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-d-0.8.1
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-d-0.8.2
iterating dir C:\Users\bastiaan\AppData\Local\dub\packages\ entry vibe-d-0.8.3
Collecting dependencies for epcompat

My dub.json:

{
	"name": "epcompat",
	"authors": [
		"Bastiaan Veelo"
	],
	"description": "Extended Pascal compatibility.",
	"copyright": "Copyright © 2017, SARC B.V.",
	"license": "boost",
	"configurations": [
		{
			"name": "library"
		},
		{
			"name": "unittest"
		},
		{
			"COMMENT": "dub build --config=\"ddox\" -b ddox",
			"name": "ddox",
			"COMMENT": "Because of https://issues.dlang.org/show_bug.cgi?id=18211",
			"excludedSourceFiles": [
				"source/epcompat/enumeration.d"
			],
			"versions": ["ddox"]
		}
	],
	"-ddoxFilterArgs": [
		"--unittest-examples",
		"--min-protection=Protected"
	],
	"-ddoxTool": "scod"
}

So there is no direct dependency on vibe-d or ddox in dub.json, I just do the dub build --config="ddox" -b ddox build:

C:\Users\bastiaan\Documents\D\Pascal2D\epcompat>dub build --config="ddox" -b ddox
Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86.
hyphenate 1.1.1: target for configuration "library" is up to date.
libdparse 0.7.1: target for configuration "library" is up to date.
diet-ng 1.4.3: target for configuration "library" is up to date.
vibe-d:utils 0.8.1: building configuration "library"...
..\..\..\..\AppData\Local\dub\packages\vibe-d-0.8.1\vibe-d\utils\vibe\utils\array.d(326,19): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
..\..\..\..\AppData\Local\dub\packages\vibe-d-0.8.1\vibe-d\utils\vibe\internal\memory_legacy.d(187,37): Error: constructor vibe.utils.hashmap.HashMap!(void*, uint, DefaultHashMapTraits!(void*)).HashMap.this(IAllocator allocator) is not callable using argument types (RCIAllocator)
..\..\..\..\AppData\Local\dub\packages\vibe-d-0.8.1\vibe-d\utils\vibe\internal\memory_legacy.d(187,37):        cannot pass argument (*function () => allocatorObject(instance))() of type RCIAllocator to parameter IAllocator allocator
..\..\..\..\AppData\Local\dub\packages\vibe-d-0.8.1\vibe-d\utils\vibe\internal\utilallocator.d(14,85): Error: cannot implicitly convert expression (*function () => allocatorObject(instance))() of type RCIAllocator to std.experimental.allocator.IAllocator
C:\D\dmd2\windows\bin\dmd.exe failed with exit code 1.

The strange thing is, that locally it even attempts to use vibe-d 0.8.1 whereas Travis already uses 0.8.2. Should we conclude that dub itself should require vibe-d 0.8.3 when it does a ddox build, but fails to do so? Is that why you suggest to

opt-in in a new one

?

@wilzbach
Copy link
Member Author

I am not sure that I am following what you are saying. I need a newer dub version?

No you shouldn't need one, but I only briefly looked at your reply and wasn't sure what your CI error was about.

Should we conclude that dub itself should require vibe-d 0.8.3 when it does a ddox build, but fails to do so?

Anyhow looking at ddox, I think the problem is the following

dependency "vibe-d:web" version=">=0.7.31 <0.9.0"

(from: https://github.com/rejectedsoftware/ddox/blob/master/dub.sdl)

So dub takes whatever vibe-d is locally available before downloading a new one and 0.8.1 is apparently found in your local dub cache.

@veelo
Copy link
Contributor

veelo commented Apr 11, 2018

Removing 0.8.1 and 0.8.2 does not help, 0.8.1 is refetched:

C:\Users\bastiaan\Documents\D\Pascal2D\epcompat>dub remove vibe-d
Select version of 'vibe-d' to remove from location 'user':
1) 0.8.1
2) 0.8.2
3) 0.8.3
4) all versions
> 1
Removing vibe-d in C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.1\vibe-d\
Removed package: 'vibe-d'
Removed vibe-d, version 0.8.1.

C:\Users\bastiaan\Documents\D\Pascal2D\epcompat>dub remove vibe-d
Select version of 'vibe-d' to remove from location 'user':
1) 0.8.2
2) 0.8.3
3) all versions
> 2
Removing vibe-d in C:\Users\bastiaan\AppData\Local\dub\packages\vibe-d-0.8.3\vibe-d\
Removed package: 'vibe-d'
Removed vibe-d, version 0.8.3.

C:\Users\bastiaan\Documents\D\Pascal2D\epcompat>dub build --config="ddox" -b ddox
Performing "ddox" build using C:\D\dmd2\windows\bin\dmd.exe for x86.
epcompat ~master: building configuration "ddox"...
Fetching vibe-d 0.8.1 (getting selected version)...
Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86.
hyphenate 1.1.1: target for configuration "library" is up to date.
libdparse 0.7.1: target for configuration "library" is up to date.
diet-ng 1.4.3: target for configuration "library" is up to date.
vibe-d:utils 0.8.1: building configuration "library"...
..\..\..\..\AppData\Local\dub\packages\vibe-d-0.8.1\vibe-d\utils\vibe\utils\array.d(326,19): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
..\..\..\..\AppData\Local\dub\packages\vibe-d-0.8.1\vibe-d\utils\vibe\internal\memory_legacy.d(187,37): Error: constructor vibe.utils.hashmap.HashMap!(void*, uint, DefaultHashMapTraits!(void*)).HashMap.this(IAllocator allocator) is not callable using argument types (RCIAllocator)
..\..\..\..\AppData\Local\dub\packages\vibe-d-0.8.1\vibe-d\utils\vibe\internal\memory_legacy.d(187,37):        cannot pass argument (*function () => allocatorObject(instance))() of type RCIAllocator to parameter IAllocator allocator
..\..\..\..\AppData\Local\dub\packages\vibe-d-0.8.1\vibe-d\utils\vibe\internal\utilallocator.d(14,85): Error: cannot implicitly convert expression (*function () => allocatorObject(instance))() of type RCIAllocator to std.experimental.allocator.IAllocator

Still strange that it wants 0.8.1 locally and 0.8.2 on Travis, but neither is right.

@veelo
Copy link
Contributor

veelo commented Apr 11, 2018

(I just realised that I removed the wrong version above, but redoing this and leaving only 0.8.3 on the system it still goes and fetches 0.8.1.)

@s-ludwig
Copy link
Member

Oh, I didn't realize that this happens for a -b ddox build. So the reason is that it's using SCOD to build the docs, and that is still depending on vibe.d 0.8.2 (dub.selections.json). @MartinNowak will have to do a dub upgrade + tag a new version to fix this.

@s-ludwig
Copy link
Member

Locally it can be that an older version of SCOD is still installed and that is used instead of looking for the latest one.

@veelo
Copy link
Contributor

veelo commented Apr 11, 2018

O thanks a lot @s-ludwig! I was about to post a very long --vverbose log, which I am glad i didn't do yet. Sorry for polluting this issue, and thanks again for getting to the root of this.

@s-ludwig
Copy link
Member

No problem! Closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants