Maybe it’s not a good approach, but I really enjoy Bundler specs, They have this notation ~> which allows you to specify, that you want to auto advance parches or minor versions, but not minor or major versions respectively. If X.X. works like this, I really like that.

Also if thing’s work like that we don’t need this release symbolics, because 3.1. should work as #release3.1, right?

Also is anybody using semantic versioning. Because if you subclass ConfigurationOf, you are forced to use it, and that’s very nice.


On 23 Jun 2015, at 15:13, Esteban Lorenzano <> wrote:

On 23 Jun 2015, at 15:00, Yuriy Tymchuk <> wrote:

I don’t get this. I do a project and I have version 4.3. Then I make a major changes i.e. change API without backwards compatibility and create version 5.0. Now 5.0 is stable, but if someone depends on my package’s stable version, he has to rewrite his code, otherwise his package is insta-broken.

this is why I do not recommend the use of #stable in dependency declarations (I already discussed this in pharo-dev).
according to Dale, the better way to handle this would be: 

- you can use, for example 3.? as dependency, then it will take latest 3 (I never tried this and I’m not sure if it actually works)
- you are highly recommended to adopt Seaside convention: they have symbolic versions for #release3, #release3.1, etc. probably a bit more of work, but it works fine.
- and of course, you can use a fixed version number (for example: 3.1.1)

depending on #stable is #wrong!


I think this has to be also discussed with Pharo developers, who missed the main conversation, here it is:

In short: we are arguing on depending on numbered versions vs symbolic.


On 23 Jun 2015, at 14:40, stephan <> wrote:

On 23-06-15 14:27, Yuriy Tymchuk wrote:
That’s the point, I’m fine using Pharo 4 in 2 years as long as the projects works. Because 1) I can use it for my reasons 2) I can migrate it if I need to. But if everyone depends on symbolic, in 2 years I open a project, it doesn’t work because too much changed, I have no idea what changed, I throw it to trash. Uko 

If everyone would correctly use symbolic, the only thing you'd need
to do is change your own packages to make it work in the latest version of Pharo 4.
That is what we have with Seaside and it works. To make it work with your code,
Roassal, Glamour and GT need to switch to symbolic versions too.


Moose-dev mailing list

Moose-dev mailing list