Release Checklist

From Audacity Wiki
Revision as of 16:45, 7 April 2008 by Galeandrews (talk | contribs) (Marked for release noting: added "copied-in imported files read into memory" . Also, having to remove Nabble and Gentoo links so as to save the page)
Jump to: navigation, search


These are all for 1.4.0 release. There has been a 1.3.4 beta release, and there will likely be a 1.3.5 release before 1.3.6 as a 1.4.0 candidate.

To take ownership of an issue, add your initials before it like so:

  • [DM] for Dominic Mazzoni
  • [LL] for Leland Lucius
  • [JC] for James Crook
  • etc...

This is a companion list to the Documentation Checklist.


  • Most items added as "Essential" or "Priority Aim-to" should be added to Known Issues unless there is reason not to.
  • Testers should refer to Watching Brief (now on its own page) for intermittent/not fully understood issues.
  • "Aim to" items have now been included at the top of Release checklist not aiming for 1.4 so that we can see on this page what we need to concentrate on. If you claim ownership of any items on Release checklist not aiming for 1.4, please cut them from there and and park them at the bottom of Release Checklist.
  • Please ensure items on this page which have been cleared are moved to our new Release Checklist Done page, and where appropriate, moved down to the "Cleared in CVS" section of Known Issues.
  • Please avoid adding your own custom font colours when commenting an existing topic, or use #8A4B08 which we're trying as a possible "comment colour". Any suggestions for a better (single) contrasting colour welcomed on the Talk page.


Please also refer regularly to these pages:

Wording, where we track suggested changes to the exact words that appear on a dialogue

Pending website changes where we post suggested changes to our audacity.sourceforge.net and audacityteam.org sites (except the Wiki).

Unless indicated by discussion against particular items, these should be regarded as needing attention. When processed, please move them to the "Done" section of those pages.


  • There is also a page here where we discuss ideas for developing both this Wiki and the Manual Wiki, and monitor their progress. This includes security issues, bug fixes and enhanced functionality through installing additional extensions.


Essential fixes

Fixes are the top category, since it is difficult to estimate how long bugs will take to fix. See a discussion of what constitutes essentials on the discussion page.

Once these essential items are cleared, please use any time remaining to clear the items marked ! in the Priority Aim to section, which will otherwise need release noting in 1.4.0.

Any items marked $ are believed fixed, awaiting testing.

  • Explicitly choosing a USB recording device such as turntable or external sound card gives "error opening sound device" on several different Windows XP machines (Microsoft SoundMapper works, but usually needs several attempts to select it). Also, Mixer Toolbar dropdown is very reluctant to appear whereas it appears without problem in 1.3.4 release. Getting it to appear in CVS seems to mean switching to SoundMapper (away from and back to it if it's already selected). See these reports . PortAudio updates of 18Mar08 make it less fiddly to get the dropdown selector to appear, and to get SoundMapper to record first time. Should this be demoted to "priority aim-to? Note many USB device manufacturers recommend explicitly choosing the device, so to many users this will seem broken.


Essential changes

These are other changes to source code that are deemed essential. We will do all of these for 1.3.5/6 or 1.4.0 release as noted below.

  • Help/Manual issues. These are needed for when we release 1.3.6:
    • Script to extract html help from the Manual Wiki.
    • Installer to be modified to also install Html help. Consider giving Windows installer an option to install help for all users, not just current user.
    • Address documentation issues, including website updates.
    • For 1.4, "completing the Manual". Needed before we can release any versions of 1.4.
  • For 1.4, finalise the default additional plug-ins provided with Audacity and make them available on all platforms. No special action is needed on Linux for Nyquist plug-ins, as any *.ny plug-ins from the plug-ins dir are installed, except those deleted when the tarball is created using scripts/maketarball.sh. This should be the contents of the Audacity Plug-Ins folder after a fresh installation on Windows or Mac:
    • beat.ny
    • clicktrack.ny
    • crossfadein.ny
    • crossfadeout.ny
    • delay.ny
    • equalabel.ny
    • GVerb.dll ++
    • Hard Limiter.dll ++
    • highpass.ny
    • lowpass.ny
    • pluck.ny
    • rissetdrum.ny
    • sc4.dll ++
    • SilenceMarker.ny
    • tremolo.ny
    • vocalremover.ny
    • vocoder.ny
    • (Under discussion: should we add a chorus plug-in? We have a Nyquist flanger/chorus plug-in available for review, or should we port the simpler multivoice_chorus_1201.dll from the Steve Harris LADSPA set to Win and Mac?)
Note:
++ These are not in source code but VJ and LL normally include them in Windows and Mac release builds


Essential fixes: Platform Specific

I put these in a separate category as we could be 'Windows 1.4 ready' but not 'Mac/Linux 1.4 ready', if these are not cleared.

Mac

  • Fix: Mac CoreAudio crash when input device's sample rate is 44100 and the output device's sample rate is 48000.
  • $ Problem with inability to launch Audacity on non-admin accounts on Network Home ( see here) and on managed accounts - see here .
    • BP: The problem with the 1.3.3 build is that it was built with permissions of rwxr-x--x. Therefore, anyone not in the group staff (non-admin accounts) would not have the ability to read the file (ie: could not launch it). CVS HEAD sets permissions correctly, and should solve this. Does it solve the Network Home issue? The link above suggests CHMOD 755 does not solve it?
  • Test MJS's fix for: Fix crash on restart when noisegate.nrp is present (the nrp only seems to be written when in Clean Speech mode). Crashing on launch replicable in 1.3.3 on Windows and Linux when CleanSpeech enabled and .nrp present. Possibly related crashes reported on Mac when starting Noise Removal (1.3.2 on Windows crashes in this way - not on launch - when in CleanSpeech mode with nrp file present). See here  for more details.
    • MJS's fix seems to have worked to stop crashing on Windows and Linux. Still needs testing in a new OS X build. NRP file has its own directory in the user's folder for application data - need to make make sure it actually gets written there. NRP file still only written for CleanSpeech mode at present
  • The old issue of envelope points not restoring properly when reopening never quite seems to go away on Macs -see here . This report says the bug was found in 1.3.3 on a Mac OSX 10.4.10 on a PowerBook G4, July 15, 2007. MJS made some fixes for Windows. Perhaps they help here too?
    • BP: Unable to reproduce on 1.3.3 - 10.5.2; Head - 10.5.2; 1.3.3 - 10.4.11, Intel iMac on 28 Mar 08.
    • BP: Reproduced on 1.3.3 - 10.5.1, PPC iBook G4 on 28 Mar 08.


Mac *and* Linux

  • [LL] Fix: Random bits of silence during recording (non-Jack version of this problem). [Mac only?]
    • Progress: Udo tried smaller blocksize in linux/jack version of this problem and can now fault after 4 mins. Perhaps small blocksize will help us track down the problem on non-Jack set ups too. However, perhaps Udo's progress is only relevant to using Jack and no help to Mac?


Linux

  • Reproducible problem reported by Michael Schwendt on Fedora 8 test rpms of Audacity CVS from 11 January 2008. "Open..." a sufficiently long audio file, start playback. then while playback is still active, "Open..." a second file of any size. Audacity GUI is locked for a long time. A long series of messages on the console is printed until playback of the first file is nearly done. Then everything returns to normal.
      Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1034
      Expression 'AlsaOpen( hostApi, parameters, streamDir, &pcm )' failed in
      'src/hostapi/alsa/pa_linux_alsa.c', line: 1066
    • This could be demoted to a lower category if other Linux users can't reproduce it.
    • Jim Cline finds the same error message on console when starting audacity built in debian testing, 31 Jan. 2008. Causes same delay in GUI whenever trying to do anything. I don't know if it interferes with functions since I am just starting to use audacity, and don't know whether its failure is due to this or some configuration problem.
  • Reproducible (but not entirely consistent) crashes reported by Darren on Ubuntu Gutsy 7.10 with 2.5 GB projects when using Undo command. Darren further reports that adding a Label Track in any projects causes Edit > Paste to flicker (the code does currently enable it), then closing the Label Track causes a crash every time irrespective of the actions taken before. None of these crashes are reproducible by Gale on Windows XP, but retained on "Watching Brief" just in case (it could affect Mac as well?)
  • Fix: Recovery action if project rate not supported by card. OK on Windows.
  • Support for OSS not functional (crashes).
    • If we are releasing the tarball, as it looks like we will at least as beta, how do we address this? Do we need better release notes, something in the build system or what? We don't want zillions of repeat reports of a known limitation, or Linux users wasting their time trying to make Audacity do something it won't.
    • OSS issue/crash reported by SIEGERSTEIN: 'failed in 'src/hostapi/oss/pa_unix_oss.c', line: 1206'
    • Address Mihail's issue: PA19 uses oss; without load/compile oss support in alsa (snd-pcm-oss), audacity crashes on init PA19.


Priority Aim to

These are items which were in the aim-to list which are being prioritised. None of them are show stoppers which can hold up the release.

Marked for release noting

The following items have all been marked for release-notes. Of these we should try to clear the ones marked "!" which are deemed to be the most important ones to clear if time and resources are available.

Any items marked with a "$" are believed cleared, awaiting confirmation.

  • ! When "Hold recorded data in memory until recording is stopped" is turned on in Preferences and data from imported files is copied in (either compressed files, or uncompressed files when Preferences are set to copy them), the imported file is read into memory as uncompressed data as well as being copied to the temporary or project folder. Both these preferences are off by default, but when this scenario occurs it can lead to crashes. Reported on Win XP and confirmed by GA, but believed to be platform-agnostic.
  • ! Rates listed in the Project Rate dropdown cannot be properly selected when changing the rate. Selecting a listed rate once does not change it. Selecting it twice (or more) in succession, or overtyping with the desired rate forces it to work. (regression on 1.2.6)
    • MJS committed a fix in SelectionBar.cpp replacing "mRateBox->GetValue().ToDouble(&mRate);" with "mRateBox->GetStringSelection().ToDouble(&mRate);"
      but though you can now select the rate first time in the dropdown, the ability to type the rate in the box has been lost.
  • When changing language in Preferences, "Audio Track" at the top of the Track Drop-down menu and the toolbars tooltips don't change language until after restart, or until a forced reset.
  • Pressing Play (but not spacebar) in a second project when another is already playing stops playback of the first project (is a regression on 1.2.6)
  • IE or Firefox not brought to top (on some Windows machines) when help system invokes external browser.
  • ! Fix: When you close all your tracks and File > Save or Save Project As.., no warning is given. Save Project As.. with no tracks open is legitimate if there have never have been any changes, so it's suggested the warning should be given only if there is an Undo history. Promoted from standard "aim to", as currently there is no protection in place for the user inadvertently saving an empty project.
  • ! Ensure all edit menu items (not just cut and copy) are consistently enabled and work consistently.
    • JC: Believed fixed. However is it really what we want? E.g click split-new twice, and we get four tracks. Is it not less confusing to leave it greyed out?
    • GA: If you turn off select-all-on-none, select an area and "Split New" twice, you also get four tracks, so I think it is what we want. Now, if you have a track selected with no time area selected, nothing on the clipboard and click the Edit menu, all the edit menu is enabled except Paste. That's fine, if someone hits some item that has no meaning when all is selected like Split, Join or Trim, they just get the whole track selected which is arguably more useful than nothing happening, and we don't grey those items when all is selected with select-all-on-none off anyway.
      However ,if we click outside the track(s) so that none are selected, we lose ability to click on all of these (including ones that have no purpose with select all):

      -Split Cut
      -Trim
      -Delete
      -Split Delete
      -Silence
      -Join
      -Disjoin
      -Duplicate
      -Find Zero Crossings

      yet we could still Cut, Copy and Split (FWIW) and Split New. I think that will be very confusing as it's a halfway house between Select-all-on-none and not. So I think what I would like to clear these two items is for all Edit menu items to be available (except Paste if there is nothing on the clipboard) even if no tracks are selected.
      PS There is also File > Export Selection to consider which behaves like some of the Edit menu items above i.e. it is greyed out when clicking outside the tracks. You might I suppose make a case just for this and Selection Save being greyed out when no audio is selected, even with select-all-on-none "on". But it would be more consistent if they simply were enabled whenever a selection is valid, like Edit > Copy.
  • ! Fix: Old projects open incorrectly - reported by Monty. With CVS Head, sample project created in 1.1.0 now correctly identifying the real orphans (there are 10), but the waveform is still opening as blank. Needs more investigation. GA tried a 1.1.3 Project with envelope edits in 180907 build and it opened fine. There are no envelope points, but there aren't any after saving/reopening the Project in 1.1.3 either.
  • Beep on completing long process is not working on Windows XP and 98 for GA and DJS respectively. If not fixed, problem should be release noted.
    • JC: Beep is using the wxWindows function wxBell(), which on some systems uses an internal speaker and does nothing on others. wxBell() seems only to call the system noise from pre-soundcard days, not one of the system WAV files. This system noise is often reported to be inaudible when called by wxBell(). Changing to a user selected sound or other way of producing sound is probably not sensible for 1.4 so will be release noted.
  • ! Fix: Make all platforms consistently force Project Rate to the rate of imported file irrespective whether that rate is supported or not. Currently this does not work on Windows and results vary on Linux. Is Michael's issue "1.3.3-beta and newer fill the "Project Rate" combo box with several invalid frequencies, most likely picking them from a hardcoded list without making sure the audio hardware can handle them" related? When done, add a Preference to always have Project Rate remain as per its Default Sample Rate Preference setting irrespective of the file being imported (this is currently "not aiming for 1.4.0").
  • ! Strongly consider re-enabling PA19 automatic latency correction, or put in place a default correction, so that users have a chance of getting at least as good a correction as 1.2.6 without further action. Following discussions on -devel list March 08, agreed to apply a default correction of -100ms on all platforms, leaving the default correction in preferences at zero.
  • ! Tag import / export is near complete for MP3 but otherwise incomplete, and in places non-orthogonal. See description on Known Issues. This is not now language-dependent, and no issues which were regressions on 1.2.6 remain. Some known specifics: 1) Audacity "Year" MP3 tags not seen by Windows Media Player or Winamp, and "Year" OGG tags not seen by Amarok on Linux, or VLC on Windows or Linux. 2) No FLAC tags are seen by VLC on Windows or Linux. 3) WAV fields only seen patchily by other apps. as their support is patchy, but Genre tag consistently not seen though it is a valid WAV info tag.
    • GA: Are we using ID3 V2.4 or 2.3? With the two main Windows players not currently seeing the Year tag, we may have a big reason for users not to upgrade from 1.2.6. Can we use v2.2 where WMP and Winamp see the year tag?
    • Update: Leland I believe thinks we can't hack further back than 2.3. The problem seems to be that Windows Explorer/Media Player and Winamp currently expect a frame called "TYER" to indicate the year of the recording. ID3v2.3 seems to recommend passing year as the "TDRC" frame in preference, which is what lame_enc.dll does, resulting in the Winamp/WMP problem. But if you use LAME.exe 3.97 for command line export and force ID3v2.3 with "--id3v2-only", "TYER" is used and WMP and Winamp have no problem. So is it possible to use "TYER", and is this less bad than the current situation?
  • Creating a temporary directory with a predictable name causes a freeze after stopping recording if directory ownership is changed before running Audacity. Steps to reproduce : 1. create the directory /tmp/audacity1.2-$LOGNAME using some different user, and change ownership of that directory 2. start Audacity 3. hit the record button 4. hit stop.
  • The current temporary-directory-name behaviour is a potential security risk as it could be exploited by malicious, local users to delete arbitrary files and directories by a symlink attack. Fixing by creating randomly generated temp directories at runtime is not feasible because Audacity needs to find the temp directory to recover data after a crash. A possible (but not simple) solution would be to require that the directory is owned and only accessible to the user running Audacity, and put some sort of symlink check in. The problem is that all of these are likely to be platform-specific and so messy to implement in a portable way.
    • JC: Linux/Mac specific (no symlinks on Windows). Not a regression on 1.2.6. Security risk is of way lower significance than (say) buffer overflow issues in browsers/mail clients. I'm not convinced that this actually allows anyone to escalate their rights - though it may depend on how Audacity is installed (e.g. if the user installed Audacity themself, they don't get escalated rights). Do we need an advisory on what owner/group settings should be for Audacity installations?
    • MS: Gentoo have applied a patch to their latest package in which "Audacity temporary directory has been moved to your home directory. This version will not allow you to set it in /tmp and will discard your preferences if it is there." Silently replacing /tmp in a user-customisable option in the preferences is not nice. By disallowing only paths that start with /tmp, the user can open up the vulnerability again when using /var/tmp or a different system-wide shared directory - especially in multi-user environments where $HOME may be subject to disk usage limits.
    • RA: This is basically why there is zero chance of this sort of work-around hack being put into Audacity releases. I tend to take the view other people have, which is that it's more than a little petty. It is a potential risk on a multi-user system where someone else can log in and create symlinks in /tmp, which could lead to you deleting things you didn't want to. Most Audacity users don't run it on a multi-user system, certainly not with remote login enabled. I note with interest that the Gimp on my system is using entirely predictable temporary file names - it's simply appending the PID to a fixed name for its swap file. I've just managed to produce the same attack as is hypothesised for Audacity with the latest GIMP build. I can find no evidence of a security advisory on this issue on the web. It would be a serious risk if you ran Audacity as root, which is why that's a stupid thing to do.
    • Alex has remarked that "Windows Vista supports symbolic links for both files and directories with the command line utility mklink by what is called an NTFS junction point"

Not currently marked for release noting

It's suggested items marked as "!" are more important or produce the best return for effort expended.

  • Firefox does not interpret "#" character in inner text URLs e.g. the link to "Super" (http://www.erightsoft.com/SUPER.html#Dnload ) does not go to anchor.
  • Links from built-in text to wiki to be locally over-ridable in the same way that links from built-in text to external html files can be. This way we can have a local copy of the relevant Wiki pages, if we want to.
  • ! When selecting a region over a label and cutting or copying, ensure label text, not the system clipboard content, is pasted into the text of the label (this is a regression on 1.2.6, and the 1.4 manual would need amendment if we can no longer cut/copy and paste multiple labels except by means of the Label Editor). System clipboard seems to get pasted because creating a label enables Paste in the edit menu (though this does not consistently happen, and Darren's observation of Paste flickering on Linux might be tied in with this).
  • ! When selecting a region over a label that denotes a selection area and cutting or copying, ensure the pasted label is of the selection region, not a cursor point (this is a regression on 1.2.6)
  • Generate effects do not fit in window, whereas opening and importing audio does (regression on 1.2.6, and presumed undesirable for most users. Serious nuisance if you want to create very short tones for analysis).
  • Dependencies Dialogue: If you click on "Copy Selected Audio Into Project" in error, the copying cannot be cancelled from the progress dialogue.
    • This can probably be left for after 1.4 unless it's an easy fix
  • Re-enable file writing within Nyquist so that Nyquist plug-ins can remember user settings, but be careful about the permissions with file writing, and whether and when we allow over-writing of existing files. Needs someone with detailed LISP knowledge to look at it. Assumption is that we need to re-enable code intentionally disabled, not write new code.
    • JC: xlisp functions such as xwrchar, xprint and xopen :OUTPUT seem to be already present and correct. Can't find disabled code. DS hypothesises it is code missing in 'the bridge', whatever that is.
  • When writing a file as a result of a Nyquist prompt, file either is not written or is written to a location that is not asked for (the same one that Audacity was using to write noisegate.nrp to before it was fixed). See here  for details.


Not aiming to do for 1.4.0

This has moved to release checklist not aiming for 1.4 and now includes former "Aim tos" from this page. Many of these "Aim tos" are relatively small items but could nonetheless make a worthwhile difference for the time involved. Please do not forget them.

If you claim ownership to items in "Not Aiming", please cut them from that page and park them here: