Warning: Can't synchronize with the repository (Couldn't open Subversion repository /home/crystal/scm/crystal: SubversionException: ("Expected FS format between '1' and '3'; found format '4'", 160043)). Look in the Trac log for more information.

Crystal Space Version 1.2 Planning

Overview

The 1.2 version was released on 2007-10-04, and this page is thought as a more fine-grained planning of what needs to be done for 1.2 branch maintenance.

Timeline

1.2 branch was created on 2007-05-24 with r26960.

Tasks/bugs for each step can be found under
Version 1.2 RC1 1.2rc1 was tagged on 2007-07-27 with r27332.
Version 1.2 RC2 1.2rc2 was tagged on 2007-09-08 with r27605.
Version 1.2 Final 1.2 was tagged on 2007-10-04 with r27805.

Version 1.2.1 Upcoming CS 1.2.1 release.
cel:milestone:"1.2.1" Upcoming CEL 1.2.1 release

See branch-specific changes, integrated revisions etc. at log:CS/branches/release/V1.2

Guidelines for 1.2 release branch

To make sure we have a stable 1.2 there will be a set of guidelines to follow whenever touching code in the 1.2 release branch. Follow these!

  • Preferably no code should go directly into the 1.2 branch. Write it, debug it and commit it on the trunk, make sure it is tested and then integrate it. However sometimes it is too hard to test on the trunk especially when trunk evolved too far. In that case doing it the other way around is also acceptable.
  • No new features, only bugfixes.
  • Make sure code follows CS coding guidelines.
  • Make sure that jam check builds cleanly and that all tests pass.
  • All merges from trunk->1.2 and vice versa and other branch maintenance issues should be recorded in history_1.2.txt.
  • Whenever you integrate a version from trunk to 1.2 branch, note it with date, time, revision and name in the list below. It might later be changed to be automatic, but for now this manual list is what we have.

See also the general guidelines for branch handling in [FuturePlanning].

Examining what needs to be merged

Easiest way is to compare log:CS/trunk with log:CS/branches/release/V1.2

Instructions on merging a specific changeset

To merge changeset N from main trunk to 1.2 follow this procedure:

  • Go to the local CS_1.2 directory.
  • svn merge -c N https://crystal.svn.sourceforge.net/svnroot/crystal/CS/trunk
  • Edit docs/history_1.2.txt and add a line specifying which revision(s) you merged. Use proper trac links and same format as the rest of the file.
  • svn commit
  • Go mark in the relevant tickets which bugs are fixed by the merge.

If you are using a version of SVN older than 1.4, then you will need to use the more cumbersome -r (N-1):N notation for merging rather than -c N. For example:

svn merge -r (N-1):N https://crystal.svn.sourceforge.net/svnroot/crystal/CS/trunk

If you merge multiple changes at once, be aware that merging N:M will merge the differences between N and M - this does not include N itself! To merge including N, merge (N-1):M instead.

Making a tag for the Release

svn copy https://crystal.svn.sourceforge.net/svnroot/crystal/CS/branches/release/V1.2 https://crystal.svn.sourceforge.net/svnroot/crystal/CS/tags/V1.2.1

Candidate revisions from trunk -> 1.2

Here is a list of revisions that are in trunk and might still need to be merged in 1.2 branch. By adding revisions here it is easier to keep track of things we still might need in 1.2 branch.

  • r26991: res, docs tweak.
  • r26990: res, CS version in docs titles.
  • r26986: res, remove leftover AWS/AWS2 files.
  • r26984: res, csString fix.
  • r26983: res, lighter2 fixes (same factory).
  • r26982: sunshine, threading doc fix.
  • r26971: res, lighter2 documentation.
  • r27048: res, javac detection fix (#328).
  • r27009: res, cs-config wrapper changes + fixes (#338, #339).
  • r27079: jorrit, crasher in walktest recording facility.
  • r27080, r27087:27089, r27093:r27094, r27096: jorrit, thebolt, support for CollideRay() in terrain.
  • r27090: res, Windows joystick axes.
  • r27153: jorrit, fix for gmeshanim/socket leak (#345).
  • r27167, r27168: okt, added csNormal(), a portable replacements for isnan() and isnormal().
  • r27169: thebolt, fixed compilation on MSVC after Oktals additions
  • r27223, r27222, r27211, r27074, r27073, r27072, r26988: thebolt, remove usage of SCF_DECLARE/IMPLEMENT_IBASE, compilation fixes after updating OSX helpers.
  • r27224: sunshine, csQsqrt() configure check.
  • r27231: xordan, bugfix for x86.
  • r27232: jorrit, bugfix in csKeyEventHelper::GetModifiersBits().
  • r27235: jorrit, bugfixes in csSpline.
  • r27236:27237, r27240: andres, Python crossbuilding improvements
  • r27238: res, Default paths versioned for unix.
  • r27239: res, cs-config fixes.
  • r27263: sunshine, Mac OS X compilation and deprecation warnings.
  • r27264, r27265: sunshine, Remove outdated entries from vfs.cfg and vfs.cfg.template.
  • r27274, r28613:28614, r28618, r28619: thebolt, sueastside, thread priority fixes.
  • r27275: thebolt, remove a dynamic_cast<> (#192).
  • r27276: thebolt, #332 fix.
  • r27290: sunshine, Suppress deprecation warnings in cstool/collider.cpp.
  • r27291: sunshine, Augmented svn:ignore for Mac OS X.
  • r27292: sunshine, Employ two-level rather than flat namespaces in Mac OS X plugin loader.
  • r27294: res, CS detection fix.
  • r27297: sunshine, Compilation warning fixes reported by Mac OS X gcc 4.0.1.
  • r27298: sunshine, OpenGL renderer compilation warning fixes.
  • r27299: sunshine, Thing compilation warning fixes.
  • r27300: sunshine, Suppress deprecation warnings in 'stencil' render step.
  • r27301: sunshine, Compilation warning and coding error fixes in mesh plugins.
  • r27302, r27303: sunshine, Various compilation warning fixes.
  • r27336: res, jobber.cfg updates cegui Python bindings.
  • r27412, r27414: res, augment levtool with -fixpolymesh. (also CS:Utility:SmartFileOpen() addition
  • r27584, r27602: res, bezier mesh fix.
  • r27642: sunshine, Authorship attribution and copyrights in CS manual.
  • r27646: res, csBSPTree tweak.
  • r27647: res, GM submeshes zmode.
  • r27676, r27694: res, updated configure check and client code for lib3ds-1.3.0
  • r27696: iceeey, driver DB unknown version string type fix
  • r27744: caedes, shader fixes.
  • r27779: res, genmesh tweak.
  • r27780, r27797: res, gl3d texture manager tweak.
  • r27813, r27832, r28339, r28368: res, caedes, castle textures split, licensing.
  • r27826: res, xmlshader conditionals fix.
  • r27834: iceeey, fix for "cast const char* to char*", force swig 1.3.31+ when using Python 2.5.
  • r27843: sunshine, relocate old history entries to history.old.
  • r27898: res, DDS cubemap saving.
  • r27906: sunshine, lib3ds configuration cleanup.
  • r27907: sunshine, compilation warning fixes.
  • r27908: sunshine, cs-config Jamfile fixes.
  • r27910: sunshine, add cs-config* to svn:ignore.
  • r27583, r27911, r27912, r27913: res, sunshine, fix problems with SplitDebugInfo in strip.jam.
  • r27942: res, fixes for static build.
    • vknecht: was only partially merged (terrain2 loader) in r28273.
  • r27954: res, texture Blit() improvement.
    • vknecht: "all files conflict... would need at least r27219 and r27931."
  • r28007: res, csSphere and csMatrix2 friend fixes.
  • r28017: caedes, GM leak fix.
  • r28018: caedes, leak guard fixes.
  • r28030, r28033, r28039: sunshine, jobber and documentation post-processing changes.
  • r28045: res, RB tree fixes.
  • r28050, r28051: jorrit, odedynam fix.
  • r28052, r28053: caedes, leak fixes.
  • r28083: res, CS_HAVE_LIBBFD wrongly set.
  • r28094: res, empty IconsMakeWin32ICO Jam rule.
  • r28118: res, remove meshimpexp compile group.
  • r28119: res, #84 fix.
    • vknecht: was merged in r28567 then rolled back in r28600 since it's not binary compatible...
  • r28134: res, augment pkg-config path with user-specified dir. #276
  • r28156: sunshine, crystal.m4 version-extraction sed expression now POSIX-compliant.
  • r28160, r28161, r28162: jorrit, dynavis fixes.
  • r28163: sunshine, hard-coded vfs Jamfile reference fixes (partial application only to vsh and walktest Jamfiles).
  • r28164: sunshine, remove mikmod check.
  • r28112, r28165, r28166: res, sunshine, remove unportable shell constructs from autogen.sh (partial application only to autogen.sh and history.txt).
  • r28177, r28180: sunshine, res, Jam clean rule fixes and symbolic-link simplification.
  • r28183: sunshine, configure.ac "checking..." message normalizations for symbol qualifiers.
  • r28187: sunshine, re-added configure.ac check to suppress non-virtual destructor warnings.
  • r28189: res, csCommonImageFile compile fix.
  • r28190: sunshine, non-virtual destructor warning check now re-usable via warnings.m4.
  • r28192, r28201: sunshine, apply non-virtual destructor warning suppression to some 3rd-party code.
  • r28245: sunshine, master-header fixes to avoid \file becoming {formfeed}ile under Dash.
  • r28246: sunshine, ensure CS_PLATFORM_UNIX emitted to csconfig.h under Mac OS X.
  • r28290: jorrit, docs tweak.
  • r28293: caedes, fix for dbg file install in PythMod jam rule (partial application only to pythmod.jam and history.txt).
  • r28306, r28308, r28309, r28310: sunshine, again use std::string to check for buggy -fvisibility-inlines-hidden.
  • r28315, r28317, r28318: sunshine, refined dump.jam heuristic.
  • r28316: sunshine, long-deprecated nrall Jam target removed.
  • r28331, r28511: jorrit, driver DB tweak.
  • r28412: thebolt, fix for lighter2 related to light through portals.
  • r28415, r28416, r28420: caedes, res, cspython constness.
    • vknecht: conflict... depends at least on r28000.
  • r28437: sunshine, compiler.m4 exports COMPILER.FOO.TYPE for win32.jam.
  • r28440: sunshine, emit.m4 fixes.
  • r28442, r28443: sunshine, new language.m4 and compiler language macros.
  • r28444, r28450: sunshine, refactored & improved warnings.m4.
  • r28445: sunshine, STL check now re-usable via new checkstl.m4.
  • r28446: sunshine, complicated -fvisibility-inlines-hidden check now re-usable via new visibility.m4.
  • r28447: sunshine, -fvisibility-inlines-hidden check employs -Werror if available.
  • r28451: sunshine, remaining symbol visibility checks now re-usable via visibility.m4.
  • r28498: res, cswinGetErrorMessage improvement.
  • r28505: res, sprcal3d fixes.
  • r28541: caedes, vertexlight.cgvp not getting installed fix.
  • r28601: res, fix for "short" (h) and "short short" (hh) handling (fix for #449).
  • r28662:28663: varslot+res, gldriver.xml updates.
  • r28664: res, xmlshader conditions fix.
  • r28700: varslot, fix for #205, CoreAudio driver fix.
  • r28731: andres, startme fix for spaces in paths to the called applications.
  • r28737: caedes, fix for light attenuation vector update after cutoff distance change.
  • r28738: res, Enable atexit tweak for all platforms.
  • r28746: sunshine, detect i586-mingw32msvc-g++ cross-compile problem with -fvisibility-inlines-hidden.
  • r28767: vknecht, sndsys LGPL fix.
  • r28782: vknecht, URLs and FAQ updates in the manual.
  • r28788: sueastside, birthday commit: basemapgen fix.
  • r28790: sunshine, fix checkpython.m4 failure to interpolate shell variable.
  • r28852: res, fix for #394, csperl5 on amd64.
  • r28899: vknecht, fix for #457, Guillaume Libersat's patch for csInputDefinition::ParseKey().
  • r28919: thebolt, fix for #461, terrain2 setting wrong parameter.
  • r28962, r28969: thebolt, fix for #70, prevent XML parser tripping up on UTF8 BOM.
  • r27217, r27408, r27410:27411, r27427, r27671, r27680, r27746 and r29044, res, mgist, TinyXML & xmlread fixes and enhancements.
  • r29022, mgist, compressed normal map support to parallax shaders.
    • vknecht: sorry, thus spake the Power that be: that's not just a bug fix...
  • r29088: khakilord, MacOS X enter raw-key-code fix.
  • r29110: thebolt, fix for TinyXML write crash on empty attributes.
  • r29198, r29200, r29216, r29217, r29218, r29220: res, sunshine, work around g++ -Wno-long-double bug.
  • r29213: sueastside, patch by Mononoke to fix a crash in the Alsa driver at exit.
  • r29214: vknecht, thebolt's fix for sound sources not being cleaned on software renderer exit.
    • vknecht: looks like that fix was not necessary at that time.
  • r28493: thebolt, revert for r28423 as it introduced a arbitrary and hardcoded constant at a place where there should be no such thing.
  • r29292, r29293: sunshine, fix binutils check for Mac OS X Leopard.
  • r29296, r29297, r29298, r29299, r29300, r29301: sunshine, fix broken folding of multi-token build switches (such as "-framework Foundation").
  • r29302: sunshine, fix missing dependency in cs-config/Jamfile.
  • r29322: vknecht, BoostJam compatibility fixes.
    • vknecht: not needed since the reserved 'module' keyword was not used at that time.
  • r29324, r29326, r29329: sunshine, cleanup of long-obsolete Jam rule options.
  • r29325: sunshine, add missing "local var" declarations to RelayLibs Jam rule.
    • vknecht: not needed since RelayLibs Jam rule doesn't exist in 1.2
  • r29330, r29332: sunshine, work-around internal Jam crasher triggered by InferFlagTuples and RelayLibs Jam rules.
  • r29350: mgist, fix for dynamic lights not shining on certain objects.
  • r29582: sunshine, set svn:eol-style for atomicops.h.
  • r29583: sunshine, added putenv() check to configure.ac.
  • r29585, r29590, r29591, r29593, r29596, r29599, r29806: sunshine, res, new portable CS::Utility::setenv().
  • r29592: res, fix for latest libcaca.
  • r29698: vknecht, removed underscores in texinfo filenames (part of #480 fix).
  • r29719: sunshine, fix corrupted snap11.eps to resolve PDF manual generation failure (final fix of #480).
  • r32309: sunshine, fix Sparc v9 build problem. Resolves #645.
  • r32859: sunshine, fix sprcal3d memory leaks. Resolves #692.
  • cel:r2805, cel:r2806: darekdawidowski, zonemanager iCollideSystem fixes.
  • cel:r3193, sunshine: detect i586-mingw32msvc-g++ cross-compile problem with -fvisibility-inlines-hidden.
  • cel:r3204, sunshine: fix checkpython.m4 failure to interpolate shell variable.
  • cel:r3277, sunshine: work around g++ -Wno-long-double bug.
  • cel:r3298, sunshine: fix binutils check for Mac OS X Leopard.
  • cel:r3303, cel:r3304, sunshine: fix broken folding of multi-token build switches (such as "-framework Foundation").
  • cel:r3316, cel:r3317, sunshine, vknecht: work-around internal Jam crasher and BoostJam compatibility.

Errata: