We (the core developers) have for some time been a bit frustrated at
the pace of development on the development series 1.1.x, so we have,
during the last week, had some discussions off this list to discuss
how to progress.

During this discussion we have come to realize that the development
series are:
        - too unstable
        - have too many half-made features/changes

All though it might be possible to fix up 1.1.x we understand that
this will take a _long_ time and can be very hard.
We have therefore come to the conclusion that we should stop all
development on the current 1.1.x series, and rather consider that as a
library of good ideas. We will instead create a new 1.1.x series based
on the very stable upcomming 1.0.4. However we admit that a lot of
good things, that we really want, has been done in the old 1.1.x
series. This means that our first task will be to "sideport" some of
the most desired features/changes from the old 1.1.x series to the new
1.1.x series. Among these are:

        - new directory structure
        - use of automake and autoconf
        - use of std::string 

These are also the most intrusive changes and will be done before
anything else is done to the new 1.1.x series.

When these changes have been made we have decided to focus mainly on
GUI independence work. Here we have a log of nice things already done
in the old 1.1.x series, so some of this work might go pretty fast.
Some of the work that needs to be done on GUI indep:

        - make all popups GUI indep
        - make the toolbar GUI indep
        - make the menus GUI indep

When these three items have been completed we will look hard on the
LyXView and the BufferView.

We have also decided on a modified/new development model that will
give us stable releases more often. From now on we will have a short
development phase between each stable release, only in these phases
will only a single or clearly ortogonal changes be made before a new
stable release. Note however that:

        - bug fixes are always welcome
        - changes to implementations (not API) to
          independant modules might be accepted even if 
          this is not part of the goal/taks of the current 
          phase.

When 1.0.4 is released we will open up development on the new 1.1.x
series and shortly after that some new stable releases with no new
users features will be released (except to modules that are under
continued development DocBook and reLyX.) One of the user visable
changes that will be made soon be the inability to compile LyX with
old versions of the XForms lib (older than 0.89). An other change that
will impace users is the move to more modern C++, we aim to begin use
the Standard Libarary extensively, and to use several of the new
construct found in ANSI C++ (e.g. C++ style cast, containers). This
will make it impossible to compile LyX on older compilers.

If you have comments or questions too this, please step onto the
soapbox.

        Lgb 

Reply via email to