Before Lektor 3 I had trouble with adding custom attachment types. Since it seemed to be fixed in master I just patched the file myself. After updating I got the error and investigated a bit more.
The patch in question is PR #252 (which fixes my issue). It was merged in October 2016, way before this release. Looking at environment.py in master confirms that the fix is indeed there (and the blame confirms it hasn't been modified since the PR).
I've downloaded both the wheel and tarball from PyPI for Lektor 3.0.1 (uploaded June 2017) and none of them contain the fix in environment.py.
That's all true. Lektor 3.0.1 is currently not up to date with the tip, by a lot, and does not contain PR #252. When I came on board there was a big backlog of commits on master that weren't in any released version of Lektor. Releasing 3.0 / .1 helped that some, but there's much more to do.
I'm (slowly, sorry) going through the remaining commits on master to decide where I can cut another release and craft a useful CHANGELOG entry for it. It's overdue certainly. I'd love to get Lektor releases to be only slightly behind the tip at any given time.
I suppose I'll keep this issue open until I can cut another release. I'll rename it and tag myself.
I see, I thought everything in master made it into version 3. Is there any particular reason master would be unfit for release? It seems painful to maintain different versions. If you need help reviewing I am able to.
I aim to not have to maintain multiple versions. I became the maintainer after there were many commits on master with no release, so there wasn't much I could do that I felt was prudent. So right now I'm personally reviewing the commits and deciding how to break them out into a new release (or releases). Though master seems to work fine for me I want to be a little careful with it while I'm newish. So I'm just being cautious I suppose. It's quite out of date, but I hope to be basically done soon and start releasing some more of this code. In the end, I hope to cut releases after every few merges into master. You're right that this will be much easier to maintain, and I think the community will be happier with more up-to-date code. I'm happily looking forward to bringing released Lektor as up to date with master as I can. :)
Maybe it's a good idea to let the community test for you? I suggest making a pre-release that can be installed using pip install --pre lektor which would install the version 3.1.0.b1. People installing without --pre would get the current stable version. It'd be a simple way to get more people testing.
https://packaging.python.org/tutorials/distributing-packages/#pre-release-versioning
Great idea, thanks. I don't think we should need to do that ongoing, but this is a perfect time for that strategy. I'll make a big changelog entry, and then tag a pre-release that is much more current. If that does well then I can release that or something a little more up to date.
It would be nice if there were a warning sign on the front that notes the backlog oddness of the release packaging - as that not all commits before a given release date are included in the PyPi or "github releases" page.
I spent a chunk of time pinpointing an issue on markdown rendering, and was halfway through a feature request for alternate options to be specified in the config file when I pinpointed it as a problem with the mistune library. When I went to highlight the section of code on GitHub for the report, it was already fixed (not as a plugin, but better options)! The history showed the following commit that was over a year before the last "release".
https://github.com/lektor/lektor/commit/2ce0b5499495a3ca8357332e5d22e566e5427f60
A big issue that's been holding back a release of 3.1 has been #420 / #421. We've decided to not solve those issues before releasing 3.1. We still desire a desktop app, but it needs to be fixed and may need heavy refactoring, and we don't want to delay 3.1 further because of this. So, until #420 / #421 is fixed, we are (temporarily) dropping support for the Mac desktop app.
I'll be re-looking into making a 3.1 (or 3.1.0.dev0) so we can hopefully catch up with master soon.
I've just tagged 3.1.0.dev1 and pushed it to PyPI. Anyone please feel free to play with it with pip install lektor==3.1.0.dev1. If all goes well I want to cut 3.1 as a real release later this month.
After much ado, Lektor 3.1 is now released. Going forward, now that that backlog is gone, I intend on making incremental releases more frequently.
Most helpful comment
I've just tagged 3.1.0.dev1 and pushed it to PyPI. Anyone please feel free to play with it with
pip install lektor==3.1.0.dev1. If all goes well I want to cut 3.1 as a real release later this month.