Current Checklist for NEW RELEASES
- Make sure Command Layer Structure doc\html\functions\CommandLayers.html is up2date
- Update Release-Notes and version history: doc/release.html
- Update and check release date and copyright years
- Copy-paste changes in doc/release.html to root/RELEASE (text-file)
- Update root/README.txt and root/README
- Update root/AUTHORS
- Auto-Generate Contents.m for folder mfiles:
- first in sub-folders (e.g.
- then in mfiles-root
- first in sub-folders (e.g.
- Edit main Contents.m with current version info and date
- Make sure that all version-infos are up-to-date:
- root/README.txt and root/README
- doc/toolbox.html (top of the page)
- doc/release.html (current version, check current version sample struct, version history)
- Copy / update current MotorControl in root/tools/MotorControl
- Compilation works?
- Version number in filename / batchfile correct and match?
- Run publishing\scripts\publish_toolbox.py
- New toolbox should be in publishing\output
- Remove NexTTool.exe and nbc.exe and Firmware file from /tools/MotorControl if necessary
- Check doc: Main-help-tree ok, links working?
- Check help-search: NXT_ commands etc can be found?
- Check ver-command: Version-info correct?
- Make sure all auto-generated m2html scripts are published correctly?
- Make sure all demos are working?
- ToolboxBenchmark and ToolboxTest are running through?
- Check: wordbytes2dec and dec2wordbytes are NOT OPTIMIZED?
- Check: wordbytes2dec.fast and the other .fast file are PRESENT?
- Check: MotorControl.nxc is PRESENT?
- EXPORT from SVN, if checked in…
- Make sure zipping happens in a sub-folder called "RWTHMindstormsNXT"
- Test: Unzip archive, extracted to correctly named subfolder?
MATLAB Central Files
- Update MATLAB Central examples in folder trunk/publishing/MATLABCentral
- Upload MATLAB Central examples to Toolbox @ MATLAB Central
- Create a BRANCH of the current TRUNK, called branches/version-x.yy
- Create a TAG (manually?) of the currently exported / zipped output toolbox folder
- Add zipfile to fresh tag
OLD Checklist for NEW RELEASES (ancient pre-automatic time for pre v1.00 versions)
This todo-list might have to be updated for future public releases with many developers / contributors collaborating, it was first intended for internal use and then published.
- Decide new version number. Name branches accordingly!
- Use x.yy where x is major version and yy release. (I.e. after 1.00 follows 1.01, 1.02, and so on.)
- Only increase major version after huge improvements or when losing backwards compatibility
- Prepare sourcecode (m-files) in modules-folder:
- Create new branch for new release.
- Delete unused files, delete obsolete directories etc.
- (clean up temporary / working comments if necessary)
- Create new toolbox branch
- Copy m-files from modules-branch to this branch, overwrite
- Remove unused and old files (cleanup from toolbox trunk)
- Run utility script "create_documentation" under Linux
- Run wg_publish to generate and update html-helpfiles
- Edit (or run script) to add header and modify stylesheets of html-helpfiles
- Run script to remove |, %+ and first ; from m-files
- (might become obsolete: Run m2html for new (clean) m-files, edit css and headers)
- Move the new html files in /output/help/ in /doc/functions/help
- Overwrite the old m-files with new one in /output/mfiles
- Check FunctionsOverview and similar html files: Up2date? If not, re-publish from m-file sources
- Check dynamic wiki-content (command layer etc): Up2date? If not, copy-paste (and edit css) from web.
- Edit changelog (txt) and or version-history (release.html), add new release notes.
- Update demos and/or examples if necessary!
- Delete current Contents.m in toolbox root (of current branch), generate new one using MATLABs report generator.
- Run utilities-script !ChangeContentsMEntriesForHelpbrowser.m, it creates NewContents.m (reads Contents.m)
- Delete Contents.m, rename NewContents.m to Contents.m (silly step, change the script above if you have time)
- Edit Contents.m: Add correct header from trunk, INCREASE VERSION NUMBER, edit RELEASE DATE!!!
- If new functions or m-files were added: Update info.xml and other .xml files!
- Did the ini-files change? Check!
- Update README, README.txt and AUTHORS (if necessary)
- Test new toolbox branch
- Remove all other trunk / tag paths, add this new branch path ONLY to MATLAB.
- Open help browser, inspect toolbox documentation tree
- Check Release notes and version history
- Execute MATLAB command: info = ver('RWTHMindstormsNXT')
- Are the demos executable and run correctly?
- If present: Use test-script that calls all / most functions
- Check if ini-example-files are up2date.
- Export SVN-branch-folder to temp, zip it, extract it again, repeat steps above.
- Recompile existing stand-alone demos and examples with new toolbox version
- Compile new stand-alone demos…
- Create tag from toolbox branch
- Export to temp folder, compress (zip)
- Compress compiled stand-alone-demos (zip)
- Upload to website (toolbox, demos, stand-alone)
- Add Version history to wiki
- Update news ticker.
- Consider merging final toolbox branch changes back into trunk!
- Keep all trunks up2date (should be anyway)
- Close fixed bug tickets inside Trac
- Open new "bug reports" forum thread / Trac tickets for current version.