Sophie

Sophie

distrib > Mageia > 7 > armv7hl > by-pkgid > 283ea835136fd83f036307763d5bb111 > files > 27

boinc-client-7.14.2-3.mga7.armv7hl.rpm

Reinhard  2 Jan 2007
    -  fixed build of clientgui [in consultation with the Author, Frank Weiler] 
    * corrected unicode-string handling with wxString() in
        ViewTransfersGrid.cpp and ViewWorkGrid.cpp
    * corrected wxString handling in BOINCGridCtrl.cpp
    * add missing files BOINCGridCtrl.[cpp|h] to Makefile.am

    clientgui/
        Makefile.am
        BOINCGridCtrl.cpp
        ViewTransfersGrid.cpp
        ViewWorkGrid.cpp

Rom    2 Jan 2007
    - Win SETUP: Incorporate a custom action to migrate CPDNBBC data files to the
        destination BOINC directory.
        
    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        CADetectOldInstaller.cpp, .h (Removed)
        CAMigrateCPDNBBC.cpp, .h (Added)
        boinccas.rc
        boinccas95.def
        boinccas95.vcproj
    win_build/installerv2/redist/Windows/x86/
        boinccas.dll
        boinccas95.dll

David  2 Jan 2007
    - make disk pie charts work on Linux
        (from Frank Weiler)

    clientgui/
        wxPieCtrl.cpp


Reinhard 2 Jan 2007
    - install lib/common_defs.h

    lib/
        Makefile.am

Charlie 2 Jan 2007
    - MGR: Fix 2 compiler warnings caused by actual coding errors.
    - Mac: Add new files BOINCGridCtrl.cpp,.h, ViewTransfersGrid.cpp,.h, 
        ViewWorkGrid.cpp,.h to XCode project.

    clientgui/
        cs_account.C
        ViewTransfersGrid.cpp
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rytis   3 Jan 2007
    - User web:
        - Add optional 3rd element to project news file (title)
        - Certificate now shows DEFINEd project name
        - Front page now styled with CSS
        
    html/
        user/
            cert.php
            sample_index.php
            sample_rss_main.php
            white.css
        inc/
            news.inc
            util.inc
        project.sample/
            project_news.inc

Matt 3 Jan 2007
    - added separate UOTD_ADMIN_EMAIL address in project.inc
      so user of the day running low messages don't go to moderators

    html
        inc/
             uotd.inc
        project.sample/
             project.inc

Reinhard 4 Jan 2007
    - applied Bernd's patch:
    * restore extern "C" protection to graphics_api.h, for ANSI-C projects
    * include boinc_api.h in graphics_impl.C to declare worker_thread_handle()
    * remove garbage from graphics_lib.C to allow compilation under _WIN32 and __APPLE__

    api/
        graphics_api.h
        graphics_impl.C
        graphics_lib.C

David  4 Jan 2007
    - change "Preempted" to "Waiting" in GUI ("preempted" is geek-speak)

    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp
    html/inc/
        user.inc

David  4 Jan 2007
    - removed PICFLAGS from AM_CPP_FLAGS.
        Compiling everything position-independent slows it down.

    Makefile.incl

Rom    4 Jan 2007
    - DIAG: Don't check for the BOINC symstore if it is a science application that
        has crashed.
        
    lib/
        stackwalker_win.cpp
    
Kevin  4 Jan 2007
    - Changed the way the buttons on the simple gui preferences and messages screens are sized

    clientgui/sg_DlgMessages.cpp
    clientgui/sg_DlgPreferences.cpp
    
David   4 Jan 2007
    - core client: if an app fails to start,
        it could be that the executable has been munged.
        So verify the files; this will find the bad file
        and download it again.
    - Manager: in Attach to Account Manager wizard, add some text saying
        if they want to just attach to a single project,
        use the Attach to Project wizard instead.
        Some users tried to attach SETI@home using the acct mgr wizard
        and got all bent outta shape when it didn't work.

    client/
        app_start.C
    clientgui/
        WelcomePage.cpp

Rom    5 Jan 2007
    - Win SETUP: Add custom actions for saving and restoring user preferences
        to the registry
    - Win SETUP: MoveFileEx isn't spported on the Win9x platform, so dynamically
        load and execute it on Windows 2000 or better.
    - Win SETUP: Remove some dead code from the custom action list.
    - Win SETUP: On Windows XP systems or better, we no longer require the
       service account to have a password, Microsoft has taken care of the
       problem by not allowing incomming network connections for accounts with
       no passwords.

    win_build/installerv2/redist/Windows/src/boinccas/
        CAMigrateCPDNBBC.cpp
        CARestoreSetupState.cpp, .h
        CASaveSetupState.cpp, .h
        CASoftwareNeedsUpgrade.cpp, .h (Removed)
        CAVerifyServicePassword.cpp
        boinccas.cpp, .h
        boinccas.rc
        boinccas95.def
    win_build/installerv2/redist/Windows/x86/
        boinccas.dll
        boinccas95.dll

Rom    5 Jan 2007
    - Win SETUP: Fix an issue when restoring saved properties where junk was
        being introduced into properties where no value was defined.
    - Win SETUP: Don't attemp to restore any properties until we have actually
        stored some from a previous iteration of setup, otherwise our defaults
        don't kick in.
    - Win SETUP: Saving and Restoring properties is now only enabled for those
        using the UI deployment method, we don't want to throw anything
        in the registry when the MSI package is being deployed through AD or
        some other deployment mechinism.

    win_build/installerv2/redist/Windows/src/boinccas/
        CARestoreSetupState.cpp
        CASaveSetupState.cpp
        boinccas.cpp
    win_build/installerv2/redist/Windows/x86/
        boinccas.dll
        boinccas95.dll

Rom    5 Jan 2007
    - Update localization template.
    
    locale/en_US/
        BOINC Manager.mo, .po

Rom    5 Jan 2007
    - MGR: Replace the context sensitive help button on the main simple gui window
        with a standard bitmap button and use the bitmaps WCG gave us.
        
    clientgui/
        Events.h
        sg_DlgMessages.cpp
        sg_DlgPreferences.cpp
        sg_ProjectsComponent.cpp, .h
        SkinManager.cpp, .h

David  5 Jan 2007
    - manager: improved grid views from Frank Weiler;
        improved message when detach from project mgr

    clientgui/
        BOINCGridCtrl.cpp,h
        WelcomPage.cpp

Rom    5 Jan 2007
    - MGR: Fix the help handling code for the Mac UI conventions.
    
    clientgui/
        sg_DlgMessages.cpp, .h
        sg_DlgPreferences.cpp, .h

Charlie 5 Jan 2007
    - MGR: Fix build breaks.
    
    clientgui/
        sg_DlgMessages.cpp
        sg_DlgPreferences.cpp

Charlie 5 Jan 2007
    - MGR: Fix cosmetic bugs on Mac.
        NOTE: I believe my changes will work on Windows, but I couldn't test 
        this because of crashes on Windows.  So my changes are temporarily 
        guarded by #ifdef __WXMAC__ #else #endif.

    clientgui/
        ViewTransfersGrid.cpp
        ViewWorkGrid.cpp

Walt   6 Jan 2007
    - MGR: Fix segfault in simple gui when message button is clicked.
        SetBackgroundStyle() needs to be called after the window
        is created.
    
    clientgui/
        sg_DlgMessages.cpp

David  7 Jan 2007
    - manager: fixes for new task/transfer tabs
        (from Frank Weiler)

    clientgui/
        BOINCGridCtrl.cpp,h
        MainDocument.cpp,h
        ViewTransfersGrid.cpp,h
        ViewWorkGrid.cpp,h
        res/
            sortascending.xpm
            sortdescending.xpm

David  7 Jan 2007
    - core client: if swap space is zero, it must not have been
        measured on this host; don't use it in process scheduling
    - user web: don't use font colors this way

    client/
        cpu_sched.C
    html/user/
        forum_forum.php

David  7 Jan 2007
    - user web: don't show news dates as <h3>.  Use a style instead.

    html/
        inc/
            news.inc
        user/
            white.css

Rom    7 Jan 2007
    - DIAG: Clean up some warnings and add a new exception type to the list
        of known exceptions.
    
    lib/
        diagnostics.C
        diagnostics_win.C

Charlie 8 Jan 2007
    - MGR: Fix 2 compiler warnings, 1 caused by an actual coding error.
        NOTE: to printf a "%", you need to use "%%" in the format; for 
        example: ("%.2f%%").

    clientgui/
        BOINCGridCtrl.cpp
        ViewTransfersGrid.cpp

David  8 Jan 2007
    - manager: performance enhancement to grid views
        (from Frank Weiler)

    clientgui/
        AdvancedFrame.cpp
        BOINCGridCtrl.cpp,h
        Events.h
        MainDocument.cpp,h
        ViewMessagesGrid.cpp, h (new)
        ViewProjectsGrid.cpp,h
        ViewTransfersGrid.pp
        ViewWOrkGrid.cpp

Rom    8 Jan 2007
    - Win SETUP: Make Windows XP or better require passwords for the
        service accounts again.
    - Win SETUP: Fix a spelling mistake that JM7 found.
    
    boinc/win_build/installerv2/redist/Windows/src/boinccas
        CAGrantServiceExecutionRight.cpp
        CAVerifyServicePassword.cpp

David  8 Jan 2007
    - user web: say RAM limits enforced in 5.8+;
        use "class=note" instead of "font size=-2"

    html/inc/
        prefs.inc

David  8 Jan 2007
    - core client: fixed crashing bug that happens when attaching
        to a project with wrong URL (e.g. setiathome.ssl.berkeley.edu).
        The fix allows the project to attach but prints a warning.
        It would be better to not allow the attach;
        I'll get back to this later

    client/
        client_types.h
        cs_scheduler.C
        scheduler_op.C

Charlie 8 Jan 2007
    - Mac: update XCode project for new ViewMessagesGrid, ViewProjectsGrid 
        source files.

    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rom    9 Jan 2007
    - MGR: Fix crashing issue do to invalid type casts, wxWidgets implements
        its own form of type casts for C++ objects which probably uses
        the basic RTTI of the compiler at some level, but it also has a few
        checks and balences as well. So if you get a hankering of using
        dynamic_cast or static_cast use wxDynamicCast and wxStaticCast
        instead.
    - MGR: Remove the ifdefs for SIMPLE GUI, it is now enabled by default
        on all supported platforms.
        
    clientgui/
        AdvancedFrame.cpp
        BOINCGridCtrl.cpp
        BOINCGUIApp.cpp

Rom    9 Jan 2007
    - Win BUILD: Remember, when adding .C files to VS project files, you need
        to change the compiler type to C++ for ALL build configurations.
        
    win_build/
        boinc_dll.vcproj
        boinc_ss.vcproj
        boincmgr_curl.vcproj

Walt   9 Jan 2007
    - core client: Change function that calculates RAM and SWAP used
        by a science project to return the max used by a process
        instead of totaling the process/child processes. Fixes the
        problem where the same RAM and SWAP used gets counted multiple
        times for some science apps.
    
    lib/
        procinfo_unix.cpp

David  9 Jan 2007
    - Manager: get rid of "CPU throttled" messages
    - Manager: enhancements to Statistics tab
        (can click on project name in multi-project view)
        from Mifistor_x

    clientgui/
        ViewStatistics.cpp,h
        ViewWork.cpp
        ViewWorkGrid.cpp
        stdwx.h

David  9 Jan 2007
    - user web: "old news" was broken
        Note to Rytis: when possible, use "foo $var blah",
        not 'foo '.$var.' blah'


    html/inc/
        news.inc

David  9 Jan 2007
    - core: if we're preempting an app and leave it in memory
        because no checkpoint yet, say so in message

    client/
        app_control.C

Charlie 9 Jan 2007
    - MGR: Updates to disk usage pie charts from Frank Weiler.
    
    clientgui/
        ViewResources.cp
        common/
            wxPieCtrl.cpp,h

David  10 Jan 2007
    - core client: fix problems when user aborts result
        (mark it as CPU_SCHED_PREEMPTED so scheduler doesn't
        try to preempt it; that confuses things)
    - changed format of Deferring Comm messages

    client/
        app_control.C
        cs_scheduler.C

David  10 Jan 2007
    - core client: backwards > in PROJECT::some_download_stalled().
        This caused the client to keep fetching work
        from a project with stalled downloads.

    client/
        client_types.C

David  10 Jan 2007
    - manager: fix Unicode build problems
        (from Frank Weiler)

    clientgui/
        ViewStatistics.cpp

David  10 Jan 2007
    - manager: various fixes
        (from Frank Weiler)

    clientgui/
        BOINCGridCtrl.cpp,h
        ViewMessagesGrid.cpp
        ViewProjectsGrid.cpp
        ViewResourcesGrid.cpp
        ViewStatistics.cpp
        ViewTransfersGrid.cpp
        ViewWorkGrid.cpp

David  10 Jan 2007
    - core client: sort daily stats records in case they get
        out of order somehow

    client/
        client_types.h
        cs_account.C

David  10 Jan 2007
    - manager: use user-friendly app names

    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp

Rom    10 Jan 2007
    - SCR: Disable the diagnostic support for release builds of the
        Windows screensaver. A smarter thing to do in the future is
        to write the log files to the 'temp' directory.
        
    client/win/
        win_screensaver.cpp

David  11 Jan 2007
    - Add script to clean up web cache.
        Sometimes the cache gets so full that it takes 30 secs
        just to compute free and used disk space,
        so that normal cleanup times out before it does anything.

    html/ops/
        clean_cache.php (new)

David  11 Jan 2007
    - user web: call set_time_limit(0) in cache_check_diskspace().
        This will hopefully avoid the situation described above.

    html/
        inc/
            cache.inc
        project.sample/
            cache_parameters.inc

David  11 Jan 2007
    - manager: use user-friendly app names (fix to work w/ 5.4.11)

    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp

Rom    11 Jan 2007
    - MGR: Fix build break for Unicode support.

      NOTE: The only place in the manager where it is safe to use 'char'
      variable types for use within a string is in the gui_rpc_* files.
      
      Every where else needs to use wxString, otherwise the manager
      won't build in a unicode based environment.
      
    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp

Rom    11 Jan 2007
    - MGR: Possble fix for the Simple GUI messages dialog?
    
    clientgui/
        sg_DlgMessages.cpp

David  12 Jan 2007
    - Server: change the usage of host.credit_per_cpu_sec
        so that it is the recent average of granted credit per CPU sec,
        as computed by Bruce's update_credit_per_cpu_sec() function
        (finally, a use for hyperbolic trig functions in BOINC).
        Prior to this it was the most recent value of
        claimed credit per CPU sec, which is not as useful.
        Add a new non-DB member to HOST, claimed_credit_per_cpu_sec,
        for this purpose.
    - db_dump.C: export host.credit_per_cpu_sec
    - move update_credit_per_cpu_sec() from lib/util.C to sched/validate_util.C

    Once a few projects pick up this change, it will be useful
    for comparing credit-granting policies between projects
    (for hosts that participate in multiple projects,
    the credit per CPU second should be about the same).

    db/
        boinc_db.C,h
    lib/
        util.C,h
    sched/
        db_dump.C
        handle_request.C
        validate_util.C,h
        validator.C

David  12 Jan 2007
    - manager: don't prepend "(Activities suspended by user)"
        to result status.
        There is no longer a notion of "activities"

    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp

Rom    13 Jan 2007
    - MGR: Streamline the message dialog sync operation a little bit.
    - MGR: Fix crashing issue do to invalid type casts, wxWidgets implements
        its own form of type casts for C++ objects which probably uses
        the basic RTTI of the compiler at some level, but it also has a few
        checks and balences as well. So if you get a hankering of using
        dynamic_cast or static_cast use wxDynamicCast and wxStaticCast
        instead.

    clientgui/
        sg_DlgMessages.cpp
        BOINCGridCtrl.cpp

Reinhard 14 Jan 2007
    - install validate_util.h for external building of validators
    - make dir_hier_move and dir_hier_path output help/usage strings 
    - add help/usage string to validator.C

    sched/
    Makefile.am

    tools/
    dir_hier_move.C
    dir_hier_path.C

    sched/
    validator.C

David  15 Jan 2007
    - core client: lots of debugging messages for cpu_sched (may remove later)
    - Manager: check for ERR_DB_NOT_UNIQUE, not ERR_NONUNIQUE_EMAIL
    - add boinc_UnzipToMemory() (from Reinhard Prix)

    client/
        cpu_sched.C
    clientgui/
        ProjectProcessingPage.cpp
    html/ops/
        sample_server_status.php
    lib/
        common_defs.h
        error_numbers.h
        gui_rpc_client_print.C
        util.C
    zip/
        Makefile.am
        boinc_zip.cpp,h
        unzip/
            api.C

Reinhard 15 Jan 2007
    - add explicit build-rule for client/switcher [required to fix 'make tags']
    - fix boinc_UnzipToMemory() 
    - correctly build unzip-DLL [for use in boinc_UnzipToMemory()]

    client/
        Makefile.am

    zip/
        boinc_zip.cpp
        unzip/
            unzip.c
            api.c


David  15 Jan 2007
    - fix Manager text (see above)

    clientgui/
        ProjectProcessingPage.cpp
    lib/
        error_numbers.h

Rom    15 Jan 2007
    - Update libCurl to 7.16.0 and use sync name resolves instead of async name
        resolves.
        
    curl/
        <numerious files>

David  15 Jan 2007
    - core client: fix a bug that could cause computation to stop.
        The problem: if we suspended a task by sending it a <quit/> message,
        we were changing its scheduler state to CPU_SCHED_PREEMPTED
        but not changing its task state (PROCESS_EXECUTING).
        If, for some reason, the process didn't exit right away,
        the scheduler would treat it as still running,
        since it builds its "currently running" list based on task_state.
        Solution: the scheduler shouldn't be looking at task_state.
        Use scheduler_state instead.
        It's still a mystery why the app wasn't quitting.

    - db_dump: don't write team.nusers; it's meaningless

    client/
        app.C,h
        app_control.C
        cpu_sched.C
    html/user/
        create_account.php
    sched/
        db_dump.C

Walt   15 Jan 2007
    - manager: update makefile for ViewMessagesGrid and 
      ViewProjectsGrid source files.

    clientgui/
        Makefile.am

Rom    16 Jan 2007
    - MGR: Add the help button to the list of images to update when the
        user selects a different skin.
        
    clientgui/
        sg_ProjectsComponent.cpp

David  16 Jan 2007
    - core client: don't try to schedule a task whose state is
        PROCESS_ABORT_PENDING.

    client/
        app.h
        cpu_sched.C

Charlie 16 Jan 2007
    Mac: Fix build script for Curl 7.15.5 (should have been done 
        3 months ago.)
        
    mac_build/
        setupForBOINC.sh

David  17 Jan 2007
    - manager: show correct app name when connected to 5.4.11 client

    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp
        sg_ViewTabPage.cpp

David  17 Jan 2007
    - core client: reset 5-minute timer for network activity
        is user explicitly changes network mode
    - Manager: initial checkin of Advanced Prefs dialog
        (from Frank Weiler)

    client/
        gui_rpc_server_ops.C
    clientgui/
        Makefile.am
        AdvancedFrame.cpp,h
        DlgAdvPreferences.cpp,h
        DlgAdvPreferencesBase.cpp,h
        Events.h
        sg_ViewTabPage.cpp
    win_build/
        boincmgr_curl.vcproj

David  17 Jan 2007
    - fix news formatting

    html/inc/
        news.inc

David  17 Jan 2007
    - don't start benchmarks if they're already running
    - Manager: "Defect from X" -> "Stop using X"

    client/
        cs_benchmark.C
    clientgui/
        AdvancedFrame.cpp
        WelcomePage.cpp

David  17 Jan 2007
    - core client: if starting a file xfer, and file
        is already as large or larger than it should be,
        start transfer from the beginning.
        This fixes some pathological cases found by Rattledagger.

    client/
        file_xfer.C

Charlie 17 Jan 2007
    Mac: add DlgAdvPreferences.cpp,h, DlgAdvPreferencesBase.cpp,h to XCode 
        project.
    Mac Mgr: Fix crash bug when quitting if advanced prefs dialog open.
      Change dialog ID to 10000 (ID_ANYDIALOG).
      
    NOTE: All BOINC dialogs MUST have ID 10000 (ID_ANYDIALOG) or they will 
      cause a crash bug!
      
    clientgui/
        DlgAdvPreferencesBase.h
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 18 Jan 2007
    MGR: Begin changes for wxWidgets 2.8.0.  For now, compatibility with 
        wxWidgets 2.6.3 is provided by using "#if wxCHECK_VERSION(2,8,0)" 
        where needed.  These conditional compilations should be removed 
        when the transition to 2.8.0 is complete.
    MAC: remove XCode project's target to build non-SimpleGUI manager.

    clientgui/
        BOINCGUIApp.cpp
        BOINCTaskBar.cpp
        MacSysMenu.cpp,h
        sg_BoincSimpleGUI.cpp
        sg_ImageButton.cpp
        sg_ViewTabPage.cpp
        wizardex.cpp
        common/
            wxPieCtrl.h
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

David  18 Jan 2007
    - core client: don't garbage-collect a RESULT if an ACTIVE_TASK for it
        still exists.  In principle this shouldn't happen, but maybe it is.
    - limit duration correction factor to the range 0.01 .. 100

    client/
        client_state.C
        client_types.C
        cs_scheduler.C

Eric K 18 Jan 2007
    - mem_usage.C Bug fix:  procfs access cannot use 64 bit files under solaris
    - Added solaris application working set calculation
    - Fixed problem on solaris when _FILE_OFFSET_BITS was set before testing
      for procfs.h
    - Removed assumption of 4k pages in procinfo_unix.C

    lib/
      procinfo_unix.C
      mem_usage.C
    configure.ac

David  18 Jan 2007
    - Manager: tweaks to advanced prefs dialog and Disks tab
        (from Frank Weiler)

    clientgui/
        DlgAdvPreferences.cpp,.fbp,.h
        DlgAdvPreferencesBase.cpp,.h
        ViewResources.cpp
        common/
            wxPieCtrl.cpp,h
        res/
            warning.xpm (new)

Charlie 19 Jan 2007
    MGR: Complete my changes for wxWidgets 2.8.0.  
    NOTE: I am aware of 3 bugs with wxWidgets 2.8.0 on the Mac:
        - New pie chart tooltips work with wxMac-2.6.3 but not wxMac-2.8.0.
        - Main SimpleGUI window tasks area has problems with alignment, so  
           task tabs are obscured.
        - Column width settings are not saved / restored.

    clientgui/
        BOINCBaseFrame.cpp
        BOINCGUIApp.cpp
        BOINCTaskBar.cpp
        sg_DlgPreferences.cpp
        stdwx.h
        mac/
            MacSysMenu.cpp
        common/
            wxPieCtrl.cpp,h
    mac_build/
        buildWxMac.sh
        setupForBoinc.sh
        HowToBuildBOINC_XCode.rtf
        wxMac-BOINC.xcodeproj/
            project.pbxproj
        boinc.xcodeproj/
            project.pbxproj

Walt   19 Jan 2007
    MGR: Fix compiler error: GetTaskBarIcon isn't used in Linux

    clientgui/
        BOINCBaseFrame.cpp

Rom    19 Jan 2007
    - MGR: Make sure the result records have been updated before
        displaying the taskbar balloon.
        
    clientgui/
        BOINCTaskBar.cpp

Rytis   19 Jan 2007
    - user web: correct RSS feed link type to make IE7 and Safari recognise the
        feed.
        
    html/
        inc/
            util.inc
        user/
            sample_index.php

David  19 Jan 2007
    - lib: change retry logic for file system ops
        so that it does does at least 5 retries
        AND takes at least 5 seconds.

    lib/
        filesys.C

David  19 Jan 2007
    - core client: if resuming a persistent file xfer,
        don't print error messages if file has wrong
        size/checksum/signature.
        That's a normal condition is a file xfer was interrupted.

    client/
        client_types.C,h
        cs_apps.C
        cs_files.C
        pers_file_xfer.C

David  19 Jan 2007
    - core client: print more info if MFILE vsnprintf() is too big for buffer

    lib/
        mfile.C

Rom    19 Jan 2007
    - MGR: If the manager detects that the CC has crashed, and it was the one
        who started the CC to begin with, restart the CC after 30 seconds.
    - MGR: Cleanup some of the taskbar interactions where both the tooltip and
        balloon were being displayed on Windows. Only one should be shown.
    - MGR: Allow arguments to be passed to the CC from the manager's parameter
        list. /b "..." or /boincargs "..." should work.
        
    clientgui/
        AdvancedFrame.cpp
        BOINCBaseFrame.cpp
        BOINCGUIApp.cpp, .h
        BOINCTaskBar.cpp
        MainDocument.cpp
        ViewResources.cpp

Rom    21 Jan 2007
    - CC: Add <p_identifier> to HOST_INFO which contains the family, model, and
        stepping of the processor for Windows.
        
        Example: <p_identifier>x86 Family 15 Model 2 Stepping 7</p_identifier>
    - DIAG: Fix an uninitialized string issue that cropped up after removing the
        forground window information from the diagnostic output.
    
    client/win/
        hostinfo_win.cpp
    lib/
        diagnostics_win.C
        hostinfo.C, .h

Walt   19 Jan 2007
    - MGR: take Close() function call out of #if/#endif block so the manager
       exits when the 'exit' menu item is selected.
        
    clientgui/
        BOINCBaseFrame.cpp

Charlie 22 Jan 2007
    MGR: wxPieCtrl changes from Frank Wieler.  
    MAC: Set up XCode project so Development builds can  optionally use wxMac-2.8.8 
         Debug build.  Add "#define USE_DEBUG_WXMAC 0" to precompiled header file.
         See comments at top of MacGUI.pch for instructions to enable or disable this.
    MAC: Work around bugs in wxMac-2.8.0 implementation of wxListCtrl::SetColumn() 
         which failed to restore proper column widths from saved info.  The default 
         wxListCtrl in wxMac-2.8.0 uses DataBrowser, but allows us to select the 
         traditional generic implementation with a wxSystemOptions::SetOption() call.

    clientgui/
        BOINCGUIApp.cpp
        common/
            wxPieCtrl.cpp
        mac/
            MacGUI.pch
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rom    22 Jan 2007
    - CC: Merge CPU capability, generation, and model information into the p_model
        field of HOST_INFO per David's instructions.
        
        NOTE: The finished product should look like this:
        "Intel(R) Xeon(TM) CPU 3.06GHz [x86 Family 15 Model 2 Stepping 7] [fpu tsc "
        "sse sse2 mmx]"
        
    client/win/
        hostinfo_win.cpp
    lib/
        hostinfo.C,.h

Matt    22 Jan 2007
    - initial db changes for special "developer blog" pages
      (adding "is_dev_blog" to forum table)

    db/
        schema.sql
    html/ops
        db_update.php

Matt    22 Jan 2007
    - remaining development of dev blog stuff

    html/
       inc/
          forum_forum.inc
       user/
          forum_post.inc

David  22 Jan 2007
    - API: use boinc_fopen() instead of fopen() in
        string variant of boinc_resolve_filename()

    lib/
        app_ipc.C

Charlie 23 Jan 2007
    - CC: Update the HOST_INFO for Intel and PowerPC Macs per David's 
        and Rom's instructions.

    client/
        hostinfo_unix.C

David  23 Jan 2007
    - core client: fix get_host_info() for Unix
    - core client: update APP::user_friendly_name from scheduler RPC reply
    - core client: print error msg if get negative CPU time
        or checkpoint CPU time from app
    - core client: ACTIVE_TASK::runnable(): not runnable if
        exited, aborted, signaled etc.
    - core client: fix "app exits for unknown reason" case (Unix)

    client/
        app.h
        app_control.C
        cs_scheduler.C
        hostinfo_unix.C

David  23 Jan 2007
    - manager: fix task status text

    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp

Rom    23 Jan 2007
    - MGR: When connecting to a remote machine, don't reset the computer name
        and password back to the local machine during the reconnect state.
        
    clientgui/
        MainDocument.cpp, .h

Rom    23 Jan 2007 (HEAD)
    - Tag for 5.9.1 release, all platforms
      boinc_core_release_5_9_1

David  23 Jan 2007
    - server: extend the "simple validator framework" to require
        an additional function, compute_granted_credit().
        Previously it always used median_mean_credit().
        Projects: if you don't have any special needs,
        define compute_granted_credit() to just return median_mean_credit().

    sched/
        sample_bitwise_validator.C
        sample_trivial_validator.C
        validate_util2.C,h
        validator_placeholder.C

David  23 Jan 2007
    - core client: allow
        <link rel="boinc_scheduler" href="http://a.b.c">
        in project master files, as an alternative way
        of denoting scheduler URLs.
        If at some point all clients upgrade to this version or later,
        we can get rid of the old syntax <scheduler>X</scheduler>

    client/
        scheduler_op.C
    lib/
        util.C,h

David  23 Jan 2007
    - core client: added <work_request_factor> configuration option.
        Multiplies work requests.
        Use values > 1 if your computer often runs out of work
        while disconnected.
        
    client/
        cs_scheduler.C
        log_flags.C,h

David  24 Jan 2007
    - core client: in error message for unexpected active task,
        include result name

    client/
        client_state.C

David  24 Jan 2007
    - manager: code cleanup (from Frank Weiler)

    clientgui/
        ViewResources.cpp
        common/
            xwPieCtrl.cpp,h

David  24 Jan 2007
    - core client: when preempt a task by quit,
        don't set task state to UNINITIALIZED;
        do that when the process exits.
        Other code cleanup.
    - create_project: put new-style scheduler tags in schedulers.txt

    api/
        windows_opengl.C
    client/
        app.C
        app_control.C
    py/Boinc/
        setup_project.py

David  24 Jan 2007
    - core client: tweak messages

    client/
        app_start.C
        cs_apps.C

Rom    24 Jan 2007
    - MGR: _("") causes poEdit to throw warnings, change them to wxT("").
    
    clientgui/
        DlgAdvPreferencesBase.cpp

David  24 Jan 2007
    - core client: the task_debug message flag now prints
        all transitions of ACTIVE_TASK::task_state and RESULT::state

    client/
        app.C,h
        app_control.C
        app_start.C
        client_state.C
        client_types.C,h
        cs_apps.C
        cs_scheduler.C

David  24 Jan 2007
    - core client: fix compile warnings, get rid of cs_data.C, message tweak

    client/
        Makefile.am
        app_control.C
        client_state.h
        cs_data.C
        scheduler_op.C

Rom    25 Jan 2007
    - MGR: Do not refresh the Simple GUI when the manager is hidden.
    
    clientgui/
        sg_BoincSimpleGUI.cpp

David  25 Jan 2007
    - Manager: use a scientifically chosen set of colors
        for disk pie charts

    clientgui/
        ViewResources.cpp
        common/
            wxPieCtrl.cpp
    win_build/
        boinc_dll.vcproj

David  25 Jan 2007
    - core client: there was logic that wouldn't start a result
        for a project if it had > 2 active uploads
        (intended to prevent an unbounded buildup of files
        for a project whose upload server is broken).
        This was never triggered since the default is 2 active
        transfers per project.
        Maybe I meant persistent file transfers.
        In any case, this is a bad policy because there may be
        a project with lots of output files per result, possibly large,
        and there's no reason to keep it from computing.
        So instead, I changed it to not start a result from a project
        if its number of results in FILES_UPLOADING state exceeds 2*ncpus.

    client/
        client_state.h
        client_types.h
        cpu_sched.C
        cs_scheduler.C
    clientgui/
        AdvancedFrame.cpp

David  25 Jan 2007
    - core client and manager: reorganize message priorities.
        There are now three priorities:
        MSG_USER_ERROR
            Conditions that require user intervention.
            These messages are written for non-tech users,
            and tell the user exactly what to do.
            GUI: red letters
        MSG_INTERNAL_ERROR
            Conditions that may indicate a problem or bug in BOINC itself,
            or with a BOINC project or account manager.
            The message is prepended with "[error]".
            GUI: black letters
        MSG_INFO
            All other messages.
            GUI: black letters

        Note: all messages that must be enabled by cc_config.xml
        use MSG_INFO priority

    client/
        *.C
    clientgui/
        ViewMessages.cpp
        ViewMessagesGrid.cpp
        sg_ProjectComponent.cpp
    lib/
        common_defs.h
    py/Boinc/
        setup_project.py

Rom    25 Jan 2007
    - MGR: Flip the sorting icons for the Grid Control.
    - WIN: Remove the Release (SIMPLEGUI) and Debug (SIMPLEGUI) configurations
        since we'll only be releasing future version with the Simple GUI included.
        
    clientgui/
        BOINCGridCtrl.cpp
    win_build/
        *.sln
        *.vcproj

Rom    26 Jan 2007
    - WIN: Fix build breaks since not all configurations in all components were
        kept in sync.
    - MGR: Remove legacy tabs.
    
    clientgui/
        AdvancedFrame.cpp
        ViewProjectsGrid.cpp
        ViewTransfersGrid.cpp
        ViewWorkGrid.cpp
    win_build/
        *.sln
        *.vcproj

Rom    26 Jan 2007
    - MGR: Fix the OnFrameRender function in the Simple GUI, some of the logic in it
        blows out of the function with a return which was leaving the static variable
        that was guarding against repeated executions to true. This in turn kept
        the GUI from updating.
        
    clientgui/
        sg_BoincSimpleGUI.cpp

Charlie 26 Jan 2007
    - MAC: Remove cs_data.C from XCode project.  Change MSG_ERROR to 
        MSG_INTERNAL_ERROR in Mac-specific source file.

    lib/
        procinfo_mac.C
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rom    26 Jan 2007
    - Remove wxAnimate since it isn't used anywhere.
    - MGR: Add a new menu item that'll shutdown the core client that the manager is
        connected too. It'll prompt for a new computer afterwords.
    
    clientgui/common/
        wxAnimate.cpp, .h (Removed)
    clientgui/
        AdvancedFrame.cpp, .h
        Events.h
    win_build/
        boincmgr_curl.vcproj
        boincmgr_curl_2003.vcproj

David  26 Jan 2007
    - core client: another attempt at fixing the problem
        where a project is issuing work but not uploading files.
        New solution: don't fetch work from a project with
        more than 2*ncpus results in FILES_UPLOADING state.

        Note: this doesn't address John McLeod's point that
        we shouldn't increase LTD for projects in this state.
    - file upload handler: print more accurate message when
        fread() returns less than requested

    client/
        client_state.h
        cpu_sched.C
        cs_scheduler.C
    sched/
        file_upload_handler.C

David  26 Jan 2007
    - oops!  left out one line in the above

    client/
        cs_scheduler.C

David  26 Jan 2007
    - core client: if account manager reply doesn't specify resource share
        for a project, revert to the share from project server

    client/
        acct_mgr.C

Walt   28 Jan 2007
    - MGR: fixed bug in dialog options where it doesn't set the slider size 
        automatically.  This is a bug in wxGTK so for Linux set the size
        explicitly.
    
    clientgui/
        DlgOptions.cpp

Rom    28 Jan 2007
    - MGR: Performance Improvements for Projects tab.
        (from Frank Weiler)

    clientgui/
        BOINCGridCtrl.cpp, .h
        ViewProjectsGrid.cpp, .h

David  29 Jan 2007
    - core client: fix account-manager resource share logic
    - manager: Statistics tab fixes (from Mifistor)

    client/
        client_state.C
        client_types.C
    clientgui/
        ViewStatistics.cpp

David  29 Jan 2007
    - user web: prevent cross-site request forgeries
    - core client: make sure that RAM limits are not zero

    client/
        cs_prefs.C
    html/
        inc/
            host.inc
            prefs.inc
            user.inc
            util.inc
        user/
            add_venue.php
            host_delete.php
            logout.php
            prefs_edit.php
            prefs_remove.php
            show_host_detail.php
    lib/
        prefs.C

Rom    29 Jan 2007
    - MGR: Update default BOINC skin.
    
    clientgui/res/skins/default/graphic
        *.xpm
    clientgui/res/templates/skins
        *.png

David  29 Jan 2007
    - core client: on Unix, raise app stack size limit to max possible value
        before exec'ing the program.

    client/
        app_start.C
    html/inc/
        prefs.inc

David  29 Jan 2007
    - Manager: fix crash if select a project that doesn't have
        a name yet.  There were two separate problems:
        1) CMainDocument::project() was searching by name
            but not by master URL
            (BTW: all that at(), out-of-range exception stuff
            isn't needed, or the cut-and-pasted comment).
        2) CViewProjects::UpdateSelection() (and its grid counterpart)
            were checking for project == NULL
            some of the time, but not all the time

    clientgui/
        MainDocument.cpp
        ViewProjects.cpp
        ViewProjectsGrid.cpp

Rom    30 Jan 2007
    - MGR: Give the user a change to abort a core client shutdown when they
        select 'shutdown current client'.
    - MGR: Special case the authorization error dialog when it is attempting
        to use the default password, so that it also informs the user they
        need to run the manager from the same directory as the CC.
        
    clientgui/
        AdvancedFrame.cpp, .h
        BOINCBaseFrame.cpp, .h
        MainDocument.cpp, .h
        
David  30 Jan 2007
    - Support projects that want to specify credit per WU can do so by:
        1) add a <credit>x</credit> element to your WU template,
            or pass an 'additional_xml' argument containing
            <credit>x</credit> to create_work()
            (either the function or the program)
        2) change your validator so that compute_granted_credit()
            calls get_credit_from_wu().
            This parses the <credit> element in the workunit's XML,
            and grants that much credit.
    - Change the simple validator framework so that an
        additional WORKUNIT& is passed to compute_granted_credit().

    sched/
        handle_request.C
        sample_bitwise_validator.C
        sample_trivial_validator.C
        sched_config.C,h
        transitioner.C
        validate_util.C,h
        validate_util2.C,h
        validator_placeholder.C
    tools/
        backend_lib.C,h
        create_work.C

David  30 Jan 2007
    - Unix: when increasing stack size for apps, don't exceed 500 MB

    client/
        app_start.C

David  30 Jan 2007
    - manager: fix progress bars for project resource shares
        (from Frank Weiler)

    clientgui/
        ViewProjectsGrid.cpp,h

David  30 Jan 2007
    - core client: computation of duration_correction_factor was messed up.
        E.g. when the correct value is .5, it converges to sqrt(.5)

    client/
        client_types.C

David  31 Jan 2007
    - core client: tweak DCF update computation

    client/
        client_types.C

David  31 Jan 2007
    - core client (Unix): tweak stack-size logic,
        and don't bump stack size limit beyond 64K

    client/
        app_start.C

David  2 Feb 2007
    - core client: fix bug where client thinks an app is running but it isn't.
        Basic problem: there are two layers
        1) process control: start/stop/suspend/resume, handle exits.
            files: app_*.C
            It owns ACTIVE_TASK::task_state
        2) CPU scheduling: decide what should run
            files: cpu_sched.C
            It owns ACTIVE_TASK::scheduler_state.
        These layers weren't cleanly separated;
        e.g. the CPU sched layer relied on the process control layer
        to set scheduler_state in some cases,
        and this wasn't always being done.
        I fixed this; the layers are now separated.
        Also: added new task_state value, PROCESS_QUIT_PENDING
    - core client: small tweak to DCF calculation
    - core client: comment out stack-size stuff
        
    client/
        app.C,h
        app_control.C
        app_start.C
        client_types.C
        cpu_sched.C
    languages/translations/
        en.po

David  2 Feb 2007
    - DB schema: added some "default 0"s.
        Not worth putting in db_update.php
    - DB schema: removed core_version table
    - core client: print error messages if gethostbyname() fails
        for entries in remote_hosts.cfg
    - python code: updated DB table defs (not sure this matters)
    - python code: removed references to core_version table (doesn't exist)
    - Manager
        changed "defect" to "stop using"
        changed 2006 to 2007
    - core client (Unix): removed code for SIGTSTP and SIGCONT.
        never got it to work, don't need anyway;
        handle SIGPWR.

    client/
        gui_rpc_server.C
        main.C
    clientgui/
        AdvancedFrame.cpp
        DlgAbout.cpp
    db/
        schema.sql
    languages/translations/
        en.po
    lib/
        network.C
    py/Boinc/
        add_util.py
        database.py
        db_mid.py

Charlie 2 Feb 2007
    - MGR: Fix compiler warning.
    
    clientgui/
        ViewProjectsGrid.cpp

David  4 Feb 2007
    - core client: print message if task finishes and output file is missing

    client/
        cs_apps.C

David  4 Feb 2007
    - manager: compile fix

    clientgui/
        ViewWorkGrid.cpp

David  6 Feb 2007
    - core client: when new version runs for the first time,
        do a network access to reference site.
        This will trigger personal firewall alerts,
        that otherwise might happen later when user is not there.

    client/
        client_state.C

David  6 Feb 2007
    - core client: add messages to debug CPU benchmarks
    - changed name of debug flag from <measurement_debug> to <benchmark_debug>

    client/
        client_state.C
        cs_benchmark.C
        log_flags.C,h

David  6 Feb 2007
    - validator framework: the get_credit_from_wu() mechanism didn't work
        because the WU's xml_doc wasn't among the fields ready by
        DB_VALIDOR_ITEM_SET.  Read it separately.

    db/
        db_base.C,h
    sched/
        validate_util.C

Rom    7 Feb 2007
    - SS: Remove reference to the Climate Change Experiment when the client is
        being built for WCG.
        
    client/win/
        boinc_ss.rc

Rom    7 Feb 2007
    - *nix: Attempt to handle the various optimation flags better by default.
    
    client/
        Makefile.am

David  7 Feb 2007
    - fix PHP 4 problem

    html/inc
        forum_email.inc

David  8 Feb 2007
    - core client: fix bug where screensaver would turn on an off
        if CPU throttling being used

    client/
        ss_logic.C

Rytis  8 Feb 2007
    - Forum pages: fix a cross site scripting vulnerability.

    html/
        inc/
            forum.inc
            forum_moderators.inc
            user.inc
            util.inc
        user/
            forum_edit.php
            forum_moderate_post.php
            forum_moderate_post_action.php
            forum_moderate_thread.php
            forum_moderate_thread_action.php
            forum_post.php
            forum_reply.php
            forum_report_post.php
            forum_subscribe.php
            forum_thread.php

David  8 Feb 2007
    - core client: fix bug that causes tasks to hang
        (not running, but BOINC thinks it is) on Windows

    client/
        app.C
        app_control.C

Rom    8 Feb 2007
    - MGR: Add simple validation for the authenticator returned by
        InternetGetCookie.
        
    clientlib/win/
        AuthenticatorDetection.cpp
        stdafx.h

David  8 Feb 2007
    - core client: when a scheduler reply has a FILE_INFO for a
         file for which we already have a FILE_INFO record,
         overwrite the file_signature field only if the
         new record actually has one.

         This fixes a bug where a project used the same file in
         both an APP_VERSION and a WORKUNIT.
         The scheduler reply contained two <file_info> elements for the file;
         the first had a signature, the second didn't.
         The second one overwrote the first,
         and the app version was rejected because one its file wasn't signed.

    client/
        client_types.C

David  9 Feb 2007
    - core client: don't print misleading error messages when reference
        site access succeeds on initial startup.
    - core client: a few more messages for <benchmark_debug>

    client/
        client_state.C
        cpu_benchmark.h
        cs_benchmark.C
        dhrystone.C
        net_stats.C,h
    win_build
        boinc_cli_curl.vcproj

Rom    12 Feb 2007
    - WININSTALL: Force the termination of BOINC and BOINCMGR if we could
        not gracefully shut them down.
        
    win_build/installerv2/redist/Windows/src/boinccas/
        CAShutdownBOINC.cpp
        CAShutdownBOINCManager.cpp
        boinccas.def
        boinccas.rc
        boinccas.vcproj
        boinccas95.def
        boinccas95.vcproj
        stdafx.h
        terminate.cpp, .h (Added)
    win_build/installerv2/redist/Windows/x86
        boinccas.dll
        boinccas95.dll

David  12 Feb 2007
    - Win build fix (from Carl)

    win_build/
        boinc_zip.vcproj

David  12 Feb 2007
    - core client, Unix: add '[Family x Model x Stepping x]' in p_model string.
        This will enable better homogeneous redundancy resolution

    client/
        hostinfo_unix.C

David  13 Feb 2007
    - put zip project in the right place

    win_build/
        boinc_zip.vcproj (removed)
    zip/
        boinc_zip.vcproj

David  13 Feb 2007
    - Back end: change some of the daemons to use the "read uncommitted"
        transaction isolation mode.
        This means that their result sets are not locked,
        which (at least on SETI@home) greatly boosts the performance
        of the MySQL server.
        See:
        http://dev.mysql.com/doc/refman/5.1/en/innodb-transaction-isolation.html

    db
        db_base.C,h
    sched/
        db_dump.C
        feeder.C
        file_deleter.C
        update_stats.C
    tools/
        upgrade

Charlie 14 Feb 2007
    - MAC: If relaunching AppStats due to an error, close any open 
        file descriptors (we communicate with AppStats via a bidirectional 
        pipe.)

    lib/
        procinfo_mac.C

David  14 Feb 2007
    - make test_sanity.py work again

    test/
        testbase.py

Rom    14 Feb 2007
    - WININSTALL: Force the termination of BOINC.SCR if we could
        not gracefully shut it down.
        
    win_build/installerv2/redist/Windows/src/boinccas/
        CAShutdownBOINC.cpp
        CAShutdownBOINCManager.cpp
        CAShutdownBOINCScreensaver.cpp, .h
        boinccas.def
        boinccas.vcproj
    win_build/installerv2/redist/Windows/x86
        boinccas.dll
        boinccas95.dll

Rom    14 Feb 2007
    - Linux: Prevent crash by initializing the Taskbar pointer, even
        though the Linux Boincmgr currently doesn't support that feature.
        
        (from Pav Lucistnik)
        
    clientgui/
        BOINCGUIApp.cpp

David  15 Feb 2007
    - core client: don't print "finish file not found" message
        when app quits because of preemption
    - initial checkin for client simulator
    - add support for page-level translation

    client/
        app_control.C
        cpu_sched.C
        makefile_sim
        sim.C,h
    html/inc/
        page_translate.inc
    sched/
        sched_send.C

David  15 Feb 2007
    - core client: fix bug where if a task is aborted
        (e.g. because it exceeds CPU limit)
        it's restarted on the next enforce_schedule().
        The problem: we're deleting the ACTIVE_TASK,
        but the result is still in the ordered_scheduled_results list.
        The solution: call request_schedule_cpus() in
        handle_finished_apps() when an ACTIVE_TASK is deleted.

    client/
        cs_apps.C
        makefile_sim

Rom    17 Feb 2007
    - WININSTALL: Use the Unicode version of ShutdownBOINCManager on NT based
        platforms and use the ANSI version on 9X based platforms.
        
    win_build/installerv2/redist/Windows/src/boinccas/
        CAShutdownBOINCManager.cpp
        boinccas95.def
        boinccas95.vcproj
    win_build/installerv2/redist/Windows/x86
        boinccas.dll
        boinccas95.dll

Charlie 19 Feb 2007
    - MAC: Eliminate use of AppStats helper application, which needed to be 
        run setuid root.  We weren't using the extra items it returns, so 
        revert to older method of using popen(ps ...).
    - MAC Installer: Add debugging statements to postinstall, postupgrade 
        scripts
    
    client/
        check_security.C
        file_names.h
    clientgui/
        mac/
            SetupSecurity.cpp
    lib/
        procinfo_mac.C
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
    mac_installer/
        postinstall
        postupgrade
        release_boinc.sh
        release_GridRepublic.sh

David  19 Feb 2007
    - core client: when resetting or detaching a project,
        if a file transfer was active for a project file,
        the file delete would fail because Curl still has the file open.
        This would cause the manager to freeze for N*5 seconds.
        Fix: in CLIENT_STATE::reset_project(),
        delete FILE_XFER and PERS_FILE_XFER objects.
    - core client: the limits on numbers of simultaneous file transfers
        (total and per-project)
        now apply to uploads and downloads separately.
        We don't want a situation where an upload is blocked
        because there are N downloads.

    client/
        client_state.C
        cs_files.C

Rom    20 Feb 2007
    - core client: When we go to kill a science applicaton, make sure
        all of the science applications child processes are killed
        too.
        
      NOTE: This was already implemented once, what happened to the
        previous implementation?
        
    client/
        app_control.C
    lib/
        win_util.C, .h

Rom    20 Feb 2007
    - core client: If a compound application's main applicaton gracefully
        exits but doesn't shutdown its child applications for some reason,
        forcefully terminate them. (Windows only)
        
    client/
        app.h
        app_control.C

Charlie 20 Feb 2007
    MAC: Better work-around for bugs in wxMac-2.8.0 wxListCtrl::SetColumn() 
         which failed to restore proper column widths from saved info than my 
         fix of 22 Jan.  Use the new DataBrowser implementation of wxListCtrl, 
         but add calls to SetColumnWidth() and GetColumnWidth().
    - Mac: Remove obsolete files ViewTransfers.cpp,.h, ViewWork.cpp,.h, 
        ViewProjects.cpp,.h from XCode project.

    clientgui/
        BOINCGUIApp.cpp
        BOINCListCtrl.cpp
        sg_DlgMessages.cpp
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 21 Feb 2007
    MAC: Manager writes wxWidgets version to stdout for debugging (before 
        redirecting stdout to stdoutgui.txt file.)

    clientgui/
        BOINCGUIApp.cpp

David  21 Feb 2007
    - split out string-related utility functions into a new file, str_util.C
    - more work on simulator
    - Add "Holy See" to country list

    api/
        gutil_text.C
    client/
        *.C
    db/
        *.C
    lib/
        *.C
    sched/
        *.C
    tools/
        backend_lib.C

David  21 Feb 2007
    - core client: if benchmark time is in the future (due to user tweak)
        always run benchmarks

    client/
        cs_benchmark.C

David  21 Feb 2007
    - core client: split out work-fetch code into a separate file

    client/
        work_fetch.C (new)

David  21 Feb 2007
    - windows compile fixes

    client/
        cs_statefile.C
        win/
            hostinfo_win.cpp
    clientgui/
        (several).cpp
    lib/
        diagnostics_win.C
    win_build/
        boinc_cli_curl.vcproj
        boinc_ss.vcproj
        boincmgr_cur.vcproj
        libboinc.vcproj

David  21 Feb 2007
    - code shuffling to get simulator to compile (it does now)

    client/
        app.C
        app_control.C
        client_types.C
        cpu_sched.C
        cs_apps.C
        cs_statefile.C
        makefile_sim
        net_stats.h
        sim.C,h

Bruce 22 Feb 2007
    - fix scan format bug in reading proc info (UNTESTED!)
      [David, Rom, should we add an ERR_SCANF to errnum.h ?]
    - insert shmem hack for E@H

    lib/
        procinfo_unix.C
        shmem.C

David  22 Feb 2007
    - add <checkpoint_debug> message flag; shows when apps checkpoint.

    client/
        app.h
        app_control.C
        log_flags.C,h
        sim.C

David  22 Feb 2007
    - core client, Win: set processor affinity mask for benchmark threads

    client/
        cs_benchmark.C

Charlie 22 Feb 2007
    Mac: add str_util.C,h, work_fetch.C to XCode project.

    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 23 Feb 2007
    Mac: Create new OSXIdleTime() function to replace deprecated NxIdleTime() API; 
    client/
        hostinf_unix.C
        main.C
    lib/
        hostinfo.h

David  23 Feb 2007
    - scheduler: remove <?xml> tag at the start of scheduler reply.
        This apparently breaks 4.19 clients

    client/
        client_state.h
        sim.C,h
    sched/
        server_types.C

David  23 Feb 2007
    - core client: disable connection caching in Curl.
        This may reduce cases where file uploads hang
        because a server process holds file lock.
    - manager: fix status text for file transfers

    client/
        http_curl.C
    clientgui/
        ViewTransfers.cpp
        ViewTransfersGrid.cpp

David  23 Feb 2007
    - core client: add bool detach_when_done to PROJECT.
        If set, detach from project when it has not results
        (i.e. when all work is finished and acknowledged).
        Save/restore in client state file.
    - core client: add optional <detach_when_done>
        and <dont_request_more_work> flags to account element
        in account manager reply messages.
        See acct_mgt.php

    client/
        acct_mgr.C,h
        client_state.C,h
        client_types.C,h
    sched/
        handle_request.C

David  23 Feb 2007
    - client simulator: wrote more code, added Windows project

    client/
        sim.C,h
        work_fetch.C
    win_build/
        boinc.sln
        sim.vcproj

David  24 Feb 2007
    - boinc_cmd: change --lookup_account and --create_account commands
        so that they poll until the operation is done,
        and then show a meaningful result (e.g. an account key).
        Remove --lookup_account_poll and --create_account_poll commands
    - more work on simulator

    client/
        client_types.C
        cpu_sched.C
        sim.C,h
        work_fetch.C
    lib/
        boinc_cmd.C
        gui_rpc_client.h
        gui_rpc_client_print.C
        parse.C
        str_util.C

David  24 Feb 2007
    - core client: when detach from a project, delete its
        sched_request, sched_reply, and master files

    client/
        client_state.C

Bruce 25 Feb 2007
    - scheduler: stop logging error messages about unrecognized
      <no_forum_rating> tag.
    - locality scheduler: when getting a working set file name
      using glob(3), do not glob multiple times, possibly getting
      back the same file name again.  Instead glob once and then
      randomly choose file names, crossing items off the list one
      at a time. Note: I wrote this code using STL vectors and
      strings, but now regret this: the necessary vector insertions
      are potentially inefficient..  Sometime next week I will 
      recode this using a C-style pointer arrays with guaranteed O(1)
      efficiency.  But I want to get this into CVS while it's
      working.
    - locality scheduler: fix is_host_slow() function following
      David's Jan 12 checkins to use claimed_credit_per_cpu_sec.

    sched/
        sched_config.C
        sched_locality.C

Charlie 25 Feb 2007
    Mac: Fix OS 10.3 bug in new OSXIdleTime() function. 
    Win: Fix check mark on Snooze taskbar menu item on Windows XP
    
    client/
        hostinf_unix.C
    clientgui/
        BOINCTaskBar.cpp

Charlie 26 Feb 2007
    Mac: Fix OS 10.3.x permissions problem when running debug build; 
        this problem caused shared memory communications to fail between 
        client and project applications. 

    client/
        check_security.C
    clientgui/
        mac/
            SetupSecurity.cpp

Charlie 27 Feb 2007
    Mac: Add an optional argument to HOST_INFO::users_idle() to allow 
        returning the actual idle time.  This change is __APPLE__ only.
    Mac: Fix serious bugs in Mac_SA_Insecure.sh and Mac_SA_Secure.sh 
        scripts when run under OS 10.3.x.  They sometimes created bad 
        users and groups with IDs that were duplicates of other users 
        and groups.  They ran correctly under OS 10.4.x.
        Users who ran an older version of either script under OS 10.3.x 
        should first run the current version of Mac_SA_Insecure.sh to 
        delete the bad entries and then run Mac_SA_Secure.sh to create 
        new good entries.
        
    client/
        hostinf_unix.C
    lib/
        hostinfo.h
    mac_build/
        Mac_SA_Insecure.sh
        Mac_SA_Secure.sh

Bruce 27 Feb 2007
    Scheduler: stop complaining about some unrecognized tags.

    sched/
        server_types.C

Charlie 28 Feb 2007
    SANDBOX: only the super-user can send signal to another user's process. 
        Core client runs as user boinc_master, but project applications run 
        as user boinc_project, so ACTIVE_TASK::kill_task() probably could not
        work as written.  I added code which uses switcher helper application 
        to kill the tasks, but also left in the direct kill call just to be 
        safe.
    Note: CBOINCGUIApp::ShutdownBOINCCore() probably has this same problem, 
        but this kill() is only used in extraordinary circumstances. 
     Mac: The Mac screensaver launches the core client if not already running.
        In this case, it used to kill the cc when screensaver was dismissed.
        But Mac OS X dismisses screensavers when energy saver puts displays 
        to sleep, so we want cc to then continue running.  New code launches 
        cc with -saver argument, lets cc run when saver quits.  New logic in 
        cc quits if (launched by screensaver) and (recent user activity) and 
        (parent [screensaver] has exited).  This takes into account that if 
        user invoked screensaver by moving mouse into "hot corner" there will 
        be recent user activity.  Added logic to screensaver to relaunch cc in 
        case of certain race conditions (e.g., screensaver started, dismissed, 
        restarted in rapid succession.)
    - Mac Manager: add -launched_by_manager arg when launching core client.
        
    client/
        app_control.C
        cs_prefs.C
    clientgui/
        BOINCGUIApp.cpp
        mac/
            mac_saver_module.cpp

David  3 Mar 2007
    - core client: add "get project list" RPC, called every 2 weeks
    - fix a few compiler warnings from gcc 4.1
    - more simulator work

    client/
        acct_mgr.C
        acct_setup.C,h
        app_control.C
        client_state.C,h
        client_types.C
        cpu_sched.C
        cs_cmdline.C
        cs_statefile.C
        file_names.h
        gui_rpc_server.C
        scheduler_op.C
        sim.C
    html/inc/
        stats_sites.inc

David  4 Mar 2007
    - API: use a mutex instead of a boolean variable for
        mutual exclusion during checkpoint.
        This should fix a race condition that can result in
        applications being suspended and not responding to resume messages

    api/
        boinc_api.C,h

David  4 Mar 2007
    - GUI RPC: add several scheduling-related items
        (not used by Manager, but possibly useful for 3rd-party GUIs)

        // tells you if a result is running in EDF mode
        bool RESULT::edf_scheduled

        // the following were already in the XML but not parsed
        // into the C structs
        double PROJECT::short_term_debt
        double PROJECT::long_term_debt
        double PROJECT::duration_correction_factor

    client/
        client_types.C,h
        cpu_sched.C
    lib/
        app_ipc.C
        gui_rpc_client.h
        gui_rpc_client_ops.C

David  5 Mar 2007
    - core client: if can't chdir to the dir specified by --dir, quit
    - show_shmem: show homogeneous redundancy class
    - file upload handler: say "out of space on server" instead of
        "out of space on device"; users get confused by the latter,
        think it refers to their disk

    client/
        cs_cmdline.C
        file_xfer.C
    sched/
        file_upload_handler.C
        show_shmem.C

Rom    5 Mar 2007
    - MGR: Rough draft for presenting an interface of known projects
        based on David's March 3rd "get project list" checkin.
        
    clietgui/
        AccountInfoPage.cpp
        AccountManagerInfoPage.cpp
        BOINCWizards.h
        ProjectInfoPage.cpp, .h
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.C

Rom    6 Mar 2007
    - MGR: Choosing from the project list now works, although the
        combo box is really busy right now.
        
    clientgui/
        ProjectInfoPage.cpp, .h
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.C

David  6 Mar 2007
    - User web: add "none" as an option for default host venue;
        display this as "---" or "--- (none)"

    html/
        inc/
            prefs.inc
        user/
            host_venue_action.php

Rom    6 Mar 2007
    - MGR: Use just the project name in the project list for now.
        
    clientgui/
        ProjectInfoPage.cpp

Rom    7 Mar 2007
    - Update OpenSSL modules for windows to OpenSSL 0.9.8e.
    
    openssl/
        <All Files>

Rom    7 Mar 2007
    - Update cURL modules for windows to cURL 7.16.1.
    
    curl/
        <All Files>

David  8 Mar 2007
    - API (Unix): there was still a race condition in the runtime library.
        Fix it (I hope) by having worker_signal_handler()
        acquire the mutex before suspending worker thread.
    - remove msg parameter of resolve_hostname()

    api/
        boinc_api.C
    client/
        gui_rpc_server.C
    lib/
        filesys.C
        network.C,h

Charlie 8 Mar 2007
    - Mac: Update build scripts, XCode project and build instructions 
        for cURL 7.16.1.
    - Mac: Delete unused target AppStats from XCode project.

    mac_build/
        buildcurl.sh
        HowToBuildBOINC_XCode.rtf
        setupForBOINC.sh
        boinc.xcodeproj/
            project.pbxproj
    doc/
        mac_build.php

Charlie 9 Mar 2007
    -Mac: update installation documentation: say to double-click on 
        "BOINC Installer" application, not on BOINC.pkg.
    doc/
        mac_advanced.php
        release_notes.php

Rom    9 Mar 2007
    - MGR: Fix the wizard classes so they are compatible with both
        wxWidgets 2.4 and 2.8.
        
    clientgui/
        AccountInfoPage.cpp
        AccountKeyPage.cpp
        AccountManagerInfoPage.cpp
        AccountManagerProcessingPage.cpp
        AccountManagerPropertiesPage.cpp
        AlreadyAttachedPage.cpp
        AlreadyExistsPage.cpp
        CompletionErrorPage.cpp
        CompletionPage.cpp
        NoInternetConnectionPage.cpp
        NotDetectedPage.cpp
        NotFoundPage.cpp
        ProjectInfoPage.cpp
        ProjectProcessingPage.cpp
        ProjectPropertiesPage.cpp
        ProxyInfoPage.cpp
        ProxyPage.cpp
        stdwx.cpp
        UnavailablePage.cpp
        WelcomePage.cpp, .h
        WizardAccountManager.cpp
        WizardAttachProject.cpp
        wizardex.cpp, .h

Rom    9 Mar 2007
    - MGR: Fix a segfault on Linux.
    
    clientgui/
        ProjectInfoPage.cpp, .h

David  10 Mar 2007
    - unix compile fix (from Frank Thomas)

    lib/
        boinc_cmd.C

David  10 Mar 2007
    - scheduler: use 1024-char buffer for parsing
        (handle large CPU model strings)

    sched/
        server_types.C

David  10 Mar 2007
    - scheduler: add one_result_per_host_per_wu option.
        This is useful if you use homogeneous redundancy
        and most hosts of a particular class belong to a single user.

    sched/
        sched_array.C
        sched_config.C,h

Charlie 12 Mar 2007
    - Mac: add str_util.C,h to libboinc target of XCode project.
    - CC: On Mac OS X, sysctl with selectors CTL_HW, HW_PHYSMEM returns only a 
        4-byte value, even if passed an 8-byte buffer, and limits the returned 
        value to 2GB when the actual RAM size is > 2GB.  So use Mac-specific
        API Gestalt(gestaltPhysicalRAMSizeInMegabytes, &mem_size) and add a 
        #error statement to the old method to alert any porters if their 
        platforms were using sysctl {CTL_HW, HW_PHYSMEM}.

    client/
        hostinfo_unix.C
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rom    13 Mar 2007
    - WIN: Change the sse3 CPU feature detection flag from 'sse3' to 'pni'.
    - MGR: Commit Frank Weiler's lastest ViewProjectsGrid.
    
    client/win/
        hostinfo_win.cpp
    clientgui/
        sg_BoincSimpleGUI.cpp
        sg_ViewTabPage.cpp
        ViewProjectsGrid.cpp, .h

David  13 Mar 2007
    A bunch of security-related changes:
    - Most functions that return paths now take an additional
        "length" parameter to prevent buffer overrun if the
        project URL or filename is extremely long.
    - Use snprintf() and vsnprintf() in a bunch of places
        to avoid buffer overrun.
    - Core client: Add suppress_net_info config flag
        (don't send IP address and domain name to servers)
    - Core client: Add disallow_attach config file
        (don't allow attach to new projects)
    - Core client: Add os_random_only config flag.
        (exit if OS-level random string functions fail
        when generating GUI RPC password)
    - Core client: if a filename (in <FILE_INFO>s from server)
        contains directory traversal chars (..),
        or format conversion chars (%),
        or is empty,
        reject it.

    Other changes:
    - Core client: change size of path buffers from 256 to 1024.
        Should make this a #define at some point.
    - GUI RPC: rename PROJECTLISTENTRY -> PROJECT_LIST_ENTRY
        (let's stick with BOINC coding standards)
    - GUI RPC: rename PROJECTLIST -> ALL_PROJECTS_LIST
        (let's not confuse currently attached projects with all projects)
    - GUI RPC: make get_all_projects_list() into an actual RPC,
        not just reading a file (which won't exist in the RPC client's
        current dir, e.g. if it's remote).
    - GUI RPC: rename desc -> description and img -> image
        in project list XML exported by BOINC server.
        Let's NEVER have different spelling between
        XML tabs and structure fields!!
    - GUI RPC: Include rr_sim_deadlines_missed in PROJECT
    - core client: rename file project_list.xml -> all_projects_list.xml
    - core client, Linux: add improved code for
        parsing CPU info (from Thibaut Varene)
    - added test program for CPU info

    client/
        app.C
        app_start.C
        client_state.C,h
        client_types.C
        cs_account.C
        cs_apps.C
        cs_files.C
        cs_prefs.C
        cs_scheduler.C
        cs_statefile.C
        cs_trickle.C
        file_names.C,h
        file_xfer.C
        gui_rpc_server.C
        gui_rpc_server_ops.C
        hostinfo_unix.C
        hostinfo_unix_test.C (new)
        log_flags.C,h
        pers_file_xfer.C
        scheduler_op.C
    lib/
        app_ipc.C
        boinc_cmd.C
        error_numbers.h
        gui_rpc_client.C
        gui_rpc_client_ops.C
        hostinfo.C,h
        md5_file.C
        miofile.C,h
        str_util.C
    sched/
        sched_config.C

David  13 Mar 2007
    - compile fix

    clientgui/
        ProjectInfoPage.cpp,h

David  13 Mar 2007
    - work fetch fixes (from John McLeod)
        - implement work_fetch_factor correctly
        - ignore duration_correction_factor if it's out of bounds

    client/
        cpu_sched.C
        work_fetch.C

Charlie 13 Mar 2007
    - Fix compiler warnings, including one in CProjectInfo::makeHashKey() 
        which warned "call will abort at runtime."
    
    client/
        gui_rpc_server.C
        gui_rpc_server_ops.C
    clientgui/
        ViewProjectsGrid.cpp

Matt 14 Mar 2007
    - updated db_init and db_init_aux code in util.inc, db.inc to enable
      possible use of replica (i.e. read-only) database (for pages that
      lookup stats, print profiles, etc. but don't make any updates).
      Implemented in top_{users,teams,hosts}.php

    html/inc
        db.inc
        util.inc
    html/user
        top_users.php
        top_hosts.php
        top_teams.php

Charlie 14 Mar 2007
    - Mac: Fix Mac bugs in SimpleGUI under wxMac-2.8.2.
    - Mac: Update build scripts, XCode project and build instructions 
        for wxMac-2.8.2.

    clientgui/
        sg_ViewTabPage.cpp
    mac_build/
        buildWxMac.sh
        HowToBuildBOINC_XCode.rtf
        setupForBOINC.sh
        boinc.xcodeproj/
            project.pbxproj
    doc/
        mac_build.php
    
Charlie 15 Mar 2007
    - SG: On timer events, update only the panel for the currently selected 
        task tab.  Due to an apparent bug in wxMac-2.8.2, dc.DrawBitmap() 
        and dc.DrawText() actually draw to the screen even though the tab 
        panel should be hidden.  Also, updating hidden panels is inefficient 
        on all platforms.  
    - Added a new WorkunitNotebook::OnTabChanged() event handler to update 
        the panel when its tab is first selected, so stale data is not shown.
    - Fixed a logic error when deleting inactive tabs.

    clientgui/
        sg_ViewTabPage.cpp,h

Rom    15 Mar 2007
    - MGR: Do not allow multiple dial-up promtps to appear when the CC needs
        to connect, it is annoying and will eventually blow the stack.
    
    clientgui/
        BOINCDialupManager.cpp

David  15 Mar 2007
    - API: my checkin of Mar 8 was flawed and causes an app hang.
        Revert to the previous way (bool var, not mutex)
        but with an additional check in worker_signal_handler()
        that should fix the original race condition
        (from Jonathan Armstrong)
    - core client: fix bug where, if host is in "suspended to disk"
        state for a long time, its next debt adjustment
        assumes that apps were running the entire time.
        The fix: if more than 2xcpu_sched_period has elapsed
        since last debt adjustment, ignore the period.
    - Add data structures for day-of-week preferences
        (but don't actually implement much)

    api/
        boinc_api.C
    client/
        client_state.h
        cpu_sched.C
        cs_prefs.C
    html/user/
        edit_form_preferences_form.php
    lib/
        hostinfo.C
        prefs.C,h

David  15 Mar 2007
    - core client: change the way slot directories are assigned,
        and the way things are cleaned up.
        The new design ensures that apps always start running
        in an empty directory.
        Old:
            assign new ACTIVE_TASK the lowest slot number not in use.
            When the app starts, try to clean out the slot dir.
            If can't clean it out, rename it (to DELETE_ME_*)
            and create another dir.
            On startup, delete dirs named DELETE_ME_*
            The problem: if you can't clean out a dir (on Windows)
            you're not going to be able to rename it.
            So the app will start in a non-empty dir.
        New:
            assign new ACTIVE_TASK the lowest slot number not in use
            and for which an empty directory can be created.
            On start, delete dirs and files not in use by an active task.
    - core client: fix bug where clean_out_dir() could return zero
        even though the dir isn't emptied.
        
    client/
        app.C,h
        app_start.C
        file_names.C,h
    lib/
        filesys.C

David  15 Mar 2007
    - compile fixes

    client/
        sim.h
    clientgui/
        DlgAdvPreferences.cpp
        sg_DlgPreferences.cpp

Charlie 15 Mar 2007
    - Fix compiler warnings.
    
    client/
        app.C
        cpu_sched.C
    lib/
        filesys.C
        hostinfo.C

Rom    17 Mar 2007
    - MGR: Revamped project selection list. It is mostly done, I just have to
        figure out how to trap static text click events, right now you have
        to click on areas where there isn't any text.
        
    clientgui/
        ProjectInfoPage.cpp, .h
        ProjectListCtrl.cpp, .h (Added)
    win_build/
        boincmgr_curl_2003.vcproj

David  18 Mar 2007
    - user web: make an XML variant of apps.php
    - scheduler: parse uldl_pid etc. in config file
        to avoid XML parse warnings (from David Braun)

    html/user/
        apps.php
    sched/
        sched_config.C

Rom    19 Mar 2007
    - MGR: Fill in the missing piece with trapping static text control mouse
        movement and clicks.
        
    clientgui/
        ProjectListCtrl.cpp, .h

David  19 Mar 2007
    - core client: fetch all-projects list at startup if it's not there.
    - core client:  write rr_sim_missed_deadline only for GUI RPC, not statefile

    client/
        acct_setup.C
        client_state.C,h
        client_types.C
        cs_statefile.C
        scheduler_op.C

Rom    19 Mar 2007
    - MGR: Strip out all the extra fluff, and add a website link.
        
    clientgui/
        ProjectListCtrl.cpp, .h

David  19 Mar 2007
    - removed [features] from p_model;
        move it to a separate field, p_features,
        which is stored on the client and sent to server
        but not stored in server DB.
    - fix gcc 4.x warnings
    - user web: change of app version list XML

    client/
        hostinfo_unix.C
        hostinfo_win.C (new)
        main.C
        win/
            hostinfo_win.cpp (removed)
    html/user/
        apps.php
    lib/
        filesys.C
        hostinfo.C,h

David  19 Mar 2007
    - core client: added more support for day-of-week time preferences.
        They're now enforced,
        and times are expressed as doubles (hours, 0..24)

    client/
        cs_prefs.C
    lib/
        boinc_cmd.C
        prefs.C,h

David  19 Mar 2007
    - compile fixes

    client/
        hostinfo_win.C
    win_build/
        boinc_cli_curl.vcproj

Charlie 19 Mar 2007
    - Mac: fix compile errors (must cast double variable to int to use it 
        as array index.)
    - Fix compiler warnings. GCC on Linux and Mac have conflicting warnings:
        Mac complains about unused variables, Linux about ignoring returns 
        from functions like getcwd() which returns the result in 2 places.  
        Try to satisfy both compilers using __attribute__ ((unused)) construct.
        This may not work for Windows compiler, though.
    -- Mac: Add ProjectListCtrl.cpp to XCode project.
    
    client/
        hostinfo_unix.C
        http_curl.C
    clientgui/
        DlgAdvPreferences.cpp
        sg_DlgPreferences.cpp
    lib/
        boinc_cmd.C
        filesys.C
        hostinfo.C
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

David  19 Mar 2007
    - core client: bug fixes in prefs

    lib/
        prefs.C

Rom    19 Mar 2007
    - Add some more cross compiler tweaks to the precompiled header for Windows.
    
    clientgui/
        stdwx.h
    lib/
        boinc_win.h
        filesys.C

Rom    20 Mar 2007
    - MGR: Randomize the project selection list
    - MGR: Last few tweaks to the project selection list
    
    clientgui/
        ProjectInfoPage.cpp
        ProjectListCtrl.cpp, .h
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.C

David  20 Mar 2007
    - core client, Unix: run CPU benchmarks at low priority,
        same as applications.
        On some systems, the clock governor (powersaved)
        will slow the CPU clock if nothing's running at regular priority
        (but it ignores processes running at low priority).
        If benchmarks run at regular priority,
        this could result in a erroneous claimed-credit numbers.
        (from Evandro Menezes)

    client/
        app_start.C
        cs_benchmark.C
    lib/
        util.C,h

David  20 Mar 2007
    - API: boinc_checkpoint_completed(): don't call update_app_progress()
        unless options.send_status_msgs is set
        (fixes bug in wrappers that call this)
    - lib: add linux_cpu_time() function (get CPU time of another process)

    api/
        boinc_api.C
    lib/
        procinfo_unix.C
        util.C,h

David  20 Mar 2007
    - Manager: cosmetic tweaks to project select

    clientgui/
        ProjectListCtrl.cpp

David  20 Mar 2007
    - core client: if "no more work" or "detach when done" tag
        is missing from account manager reply, don't change value.
        Note: this is implemented using new
        OPTIONAL_BOOL and OPTIONAL_DOUBLE types
        that may be useful elsewere as well.

    client/
        acct_mgr.C,h

Jeff  21 Mar 2007
    - added :
        #define feof     FCGI_feof
        #define ferror   FCGI_ferror
      to the list of such defines at the bottom of file fcgi_stdio.h.
      This was needed to complile the fcgi version of the file upload
      handler.  Note that this list of defines is the only difference 
      between our fcgi_stdio.h and /usr/include/fcgi_stdio.h on the 
      linux box used for this build.

    sched/
        fcgi_stdio.h

David  21 Mar 2007
    - update sample web site front page

    html/user/
        sample_index.php

David  21 Mar 2007
    - core client: fixed bug where a <result_abort_if_unstarted>
        in scheduler reply would crash client.
        Also, change this tag to <result_abort_if_not_started>
        Note: the syntax is
            <result_abort_if_not_started>
                <name>xxx</name>
            </result_abort_if_not_started>
        where xxx is the result name.

    client/
        cs_scheduler.C
        scheduler_op.C,h

David  23 Mar 2007
    client/
        app.h
        sim.C
    languages/translations/
        en.po

David  23 Mar 2007
    - Manager: show "detach when done" if set

    clientgui/
        ViewProjects.cpp
        ViewProjectsGrid.cpp
    win_build/
        sim.vcproj

David  23 Mar 2007
    - manager build fix

    clientgui/
        Makefile.am

Rytis  24 Mar 2007
    - Forum: duration selection and optional message to the user.

    html/
        user/
            forum_moderate_post.php
            forum_moderate_post_action.php
        inc/
            forum_email.inc

David  24 Mar 2007
    - admin web: added script to banish user for various periods,
        independently of forum tools (from Eric Myers)

    html/ops/
        index.php
        manage_user.php

Rom    27 Mar 2007
    - MGR: Extend browser cookie detection framework so that additional
        browsers can be used.
    - MGR: Checkin Frank's latest changes to the Advanced Preferences
        dialog.
        
    clientgui/
        DlgAdvPreferences.cpp, .h
        Makefile.am
        stdwx.h
        WizardAttachProject.cpp
    clientlib/win/
        AuthenticatorDetection.cpp, .h (Removed)
    lib/
        boinc_win.h
        browser.C, .h (Added)
        browser_firefox.C (Added)
        browser_ie.C (Added - Windows Only)
    win_build/
        boinc_dll.vcproj
        boinc_dll_2003.vcproj
        boincmgr_curl.vcproj
        boincmgr_curl_2003.vcproj

David  27 Mar 2007
    - client: on startup, show how much RAM and disk are usable
        (taking prefs into account)

    client/
        cs_prefs.C
    lib/
        str_util.h

Walt   27 Mar 2007
    - MGR: Fix Makefile.am to remove whitespace after
        continuation character.
        
    clientgui/
        Makefile.am

David  27 Mar 2007
    - scheduler: fix bug that cause <p_model> parse error
        for Linux hosts with long strings
        (from Andre Kerstens)

    sched/
        server_types.C

Walt   27 Mar 2007
    - MGR: Fix compile errors
        
    clientgui/
        WizardAttachProject.cpp
    lib/
        browser_firefox.C

David  28 Mar 2007
    - core client: add work_buf_additional_days preference;
        track variability in completion times
        (from John McLeod VII)
    - add browser.C to lib/ makefile;
        do NOT use ../* in other makefiles

    client/
        client_state.C,h
        client_types.C,h
        cpu_sched.C
        cs_scheduler.C
        log_flags.C,h
        rrsim_test.C
        sim.h
    clientgui/
        Makefile.am
    lib/
        Makefile.am
        browser.C
        browser_firefox.C (removed)
        browser_ie.C (removed)
        prefs.c,h

David  28 Mar 2007
    - user web: support for work_buf_additional_days pref

    html/inc/
        prefs.inc

David  29 Mar 2007
    - core client: fix some debug messages
    - more code-shuffling for client simulator

    client/
        cpu_sched.C
        file_xfer.h
        log_flags.C,h
        sim.C,h
    win_build/
        boincmgr_curl.vcproj
        sim.vcproj

David  29 Mar 2007
    - Manager: add work_buf_additional_days to adv prefs dialog;
        add multi-selection to transfer tab
        (from Frank Weiler)

    clientgui/
        DlgAdvPreferences.cpp
        DlgAdvPreferences.fbp
        DlgAdvPreferencesBase.cpp,h
        ViewTransfersGrid.cpp

David  29 Mar 2007
    - API: don't report CPU time and fraction done while suspended
        (not needed, and wastes CPU time)

    api/
        boinc_api.C

David  29 Mar 2007
    - core client: include MD5 in file upload handler requests,
        so that the server can (if it wants) verify the MD5.
        NOTE: I don't think this should be necessary.

        Also include core client release # in all requests

    client/
        file_xfer.C

Rom    29 Mar 2007
    - MGR: Prevent crash in the projects tab by checking to see if there
        is really anything to display, if not delete all rows and then
        return.
        
    clientgui/
        ViewProjectsGrid.cpp

David  29 Mar 2007
    - Manager: text tweaks

    clientgui/
        AdvancedFrame.cpp
        DlgAbout.cpp

Charlie 30 Mar 2007
    - Mac: Major fixes and improvements to backtrace: correctly show 
        address of instruction which caused SIGSEGV or SIGBUS faults, 
        remove bogus NULL stack frame at end of trace; improve output 
        format, etc.
    - Mac: Add browser.C,h to XCode project.
    
    lib/
        mac_backtrace.C
        MoreBacktrace.C
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

David  2 Apr 2007
    - Manager: improvements to advanced Prefs dialog
        (from Frank Weiler)
    - Client simulator work

    client/
        sim.C,h
        work_fetch.C
    clientgui/
        DlgAdvPreferences*
    lib/
        prefs.C

Charlie 3 Apr 2007
    - Mac Installer: Change name of Postinstall.app to PostInstall.app to fix a 
        problem on some Macs where the postinstall or postupgrade script failed 
        to launch PostInstall.app due to the lower-case I.  I don't know why some 
        Macs would be case-sensitive here while others aren't, but user feedback 
        seems to confirm this problem.
    - Mac Installer: Add directions for removing users boinc_master and boinc_user 
        to uninstall instructions.
        
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
    mac_installer/
        GR-ReadMe.rtf
        ReadMe.rtf
        release_boinc.sh
        release_GridRepublic.sh

Rom    3 Apr 2007
    - MGR: Check firefox cookies for a projects authenticator which might have
        been assigned during a web based registration scenario
    - MGR: Fix detech from project crashing condition
    - MGR: Fix variuos performance problems with the Grid based views. Best
        rule of thumb is to not set/change any value in a control unless it
        has really changed. Doing so causes the RECT to become invalidated
        which causes the OS to want to repaint it. Data processing is always
        faster than repainting.
    - MGR: Don't delete all the rows of a grid just to recreate them a few
        steps later, you really only need to add or delete the difference
        since the last update.
    - MGR: Avoid using 'wxString("Some static Text", wxConvUTF8)' to handle
        literal strings for Unicode, the wxT() macro allows the compiler to
        take care of it at compile time, instead of run-time.
    - MGR: Add a generic 'BOINC help' link that can be used to go to help.php.
    - MGR: All help menu items are now redirected using the manager_links.php
        page.
    - MGR: Add version information to the manager_links.php requests.
    - MGR: Remove the CProjectInfo cache from ViewProjectsGrid.
    - CC: Fix the display of the processor features. It is useful for those
        who want to run optimized clients but don't really know what processor
        features are supported by their processor/os combination.
    - DBG: Include all the 64-bit registers in the debug output on a 64-bit
        Windows machine.

    client/
        client_state.C
        hostinfo_win.C
    client/win/
        win_screensaver.cpp
    clientgui/
        AdvancedFrame.cpp, .h
        Events.h
        ViewMessagesGrid.cpp
        ViewProjectsGrid.cpp, .h
        ViewTransfersGrid.cpp
        ViewWorkGrid.cpp
        WizardAttachProject.cpp
        sg_BoincSimpleGUI.cpp
        stdwx.h
    lib/
        boinc_win.h
        browser.C
        stackwalker_win.cpp
    win_build/
        boincmgr_curl.vcproj

David  3 Apr 2007
    - core client: don't print "process not found" unless task_debug set
    - simulator stuff

    client/
        app_control.C
        cpu_sched.C
        cs_apps.C
        sim.C,h

David  3 Apr 2007
    - simulator

    client/
        app_control.C
        cpu_sched.C
        sim.C,h

David  3 Apr 2007
    - core client: fix parsing of <link rel="boinc_scheduler" ...
        in scheduler reply
    - simulator

    client/
        app.C
        client_types.C
        cpu_sched.C
        cs_apps.C
        makefile_sim
        scheduler_op.C
        sim.C

Rom    4 Apr 2007
    - WIN: Introduce assembly manifests for all binaries produced for
        Windows.
    - WIN: Code sign each of the binaries produced for Windows.
    
      NOTE: Windows Vista has so many levels of protection that it makes
        it hard to debug specific issues without triping up on one of them.
        
        Until we can perform our Vista work items we'll work around the
        issue by informing Vista that we need admin rights via the
        assembly manifest before Vista launches us.
        
    /
        configure.ac
        version.h
    client/win/
        boinc.exe.manifest (Added)
        boinc.scr.manifest (Added)
        boinc_cli.rc
        boinc_cmd.rc
        boinc_ss.rc
        boinccmd.exe.manifest (Added)
    clientgui/
        BOINCGUIApp.rc
        boincmgr.exe.manifest (Added)
    win_build/
        boinc_cli_curl_2003.vcproj
        boinc_dll_2003.vcproj
        boinc_ss_2003.vcproj
        boinccmd_2003.vcproj
        boincmgr_curl_2003.vcproj

Rom    4 Apr 2007
    - MGR: Remove save/restore selection calls from the various Grid based
        views as it isn't needed anymore.
        
    clientgui/
        BOINCGridCtrl.cpp
        ViewMessagesGrid.cpp
        ViewProjectsGrid.cpp
        ViewTransfersGrid.cpp
        ViewWorkGrid.cpp

Rom    4 Apr 2007
    - MGR: Move grid event trapping code into the BOINCBaseView class and
        delete the duplicated code from each of the views
    - MGR: UpdateSelection should be called on any selection change.
    
    clientgui/
        BOINCBaseView.cpp, .h
        ViewMessages.h
        ViewMessagesGrid.cpp, .h
        ViewProjectsGrid.cpp, .h
        ViewResources.h
        ViewStatistics.h
        ViewTransfersGrid.cpp, .h
        ViewWorkGrid.cpp, .h        

Rom    4 Apr 2007 (HEAD)
    - Tag for 5.9.3 release, all platforms
      boinc_core_release_5_9_3

David  4 Apr 2007
    - core client: round fractional work request up to 1 sec
    - simulator now working

    client/
        scheduler_op.C
        sim.C,h
        sim_host/prefs/projects.xml (new)
    lib/
        browser.C
        prefs.C

David  5 Apr 2007
    - Scheduler: add option <send_result_abort>. If set:
        - If client is processing a result for a WU that has
            been cancelled or is not in the DB
            (i.e. there's no chance of getting credit)
            send <result_abort>.
        - If client is processing a result for a WU that has
            been assimilated or is overdue
            (i.e. there's a chance of not getting credit)
            send <result_abort_if_not_started>
    - Scheduler: enhancements to replication policy
        (which attempts to send additional replicas of a WU
        only to reliable/fast hosts).
        There are several new config options which let projects
        tailor the policy in various ways:
        - <reliable_min_avg_credit>: a host must have at least
            this avg credit to be considered reliable
        - <reliable_max_avg_turnaround>: a host must have at most
            this avg_turnaround to be considered reliable
        - <reliable_on_priority>: results with at least 
            this priority will be sent only to reliable hosts
        - <reliable_priority_on_over>:
            increase priority of additional replicas by this amount
        - <reliable_priority_on_over_except_error>
            increase priority of additional replicas
            triggered by timeout (but not error) by this amount
        - <reliable_time>: send results for WUs at least this old
            only to reliable hosts
        - <reliable_reduced_delay_bound>: if a WU is at least
            "reliable_time" old, multiply its latency bound
            by this factor (0..1)
    - Transitioner: add the notion of "grace period"
        so users get credit even if results are somewhat late.
        - <grace_period_hours>: defer the deletion of
            the canonical result for this many hours
            after the deadline of any pending result
    - Transitioner: add option <delete_delay_hours>:
        delay the deletion of WU input files for this
        interval after last result has been returned

    Implementation details::
    - add TRANSITIONER_ITEM::res_received_time
    - add WORK_ITEM::res_priority
        (read by feeder, stored in shared mem, used by scheduler)
    - add IN_PROGRESS_RESULT to enumerate in-progress results
    - read appid in VALIDATOR_ITEM
    - add priority_increase arg to create_result()

    (all the above from Kevin Reed)

    db/
        boinc_db.C,h
    sched/
        feeder.C
        handle_request.C
        sched_config.C,h
        sched_send.C
        sched_shmem.h
        server_types.C,h
        transitioner.C
    tools/
        backend_lib.C,h

David  5 Apr 2007
    - core client: fix bug where, if client runs at boot time
        and DNS system isn't up yet,
        entries in remote_hosts.cfg will fail to resolve,
        and the core client will be inaccessible.
        Fix: we already have a mechanism in which GUI_RPC_CONN_SET::init()
        is called 30 times, at 1-sec interval, until it succeeds.
        Extend this to cover the parsing of remote_hosts.cfg also.

    client/
        client_state.C
        gui_rpc_server.C,h

David  5 Apr 2007
    - core client: work fetch skip a project if its # deadline misses
         is >= #cpus (not just > 0)
    - define a set of process exit codes (currently just 3 of them)
        separate from function return values.
        Process exit codes are limited to 8 bits in Unix;
        use positive numbers starting at 192

    api/
        boinc_api.C
    client/
        app_start.C
        client_state.C
        sim.C,h
        work_fetch.C
    lib/
        diagnostics.C
        error_numbers.h

David  5 Apr 2007
    - core client: canonicalize account manager URL
    - boinc_cmd: add --join_acct_mgr, --quit_acct_mgr commands;
        remove --acct_mgr_op command.

    client/
        acct_mgr.C
    lib/
        boinc_cmd.C

David  6 Apr 2007
    - client simulator: add the ability to do many simulations,
        each specified in a separate directory,
        and show the individual and total results.

    client/
        sim.C,h

David  6 Apr 2007
    - core client: sanity check on work request size
        (from John McLeod)

    client/
        work_fetch.C

David  8 Apr 2007
    - updater:
        - make program more general (array of files)
        - if get an error before installing new version,
            run the old version (core and/or mgr).
        - if launch of new core client or manager fails
            or program exits within 5 seconds,
            back out the update and run old version
        - when running core client (old or new) pass --run_by_updater flag
        - move files instead of copy
    - core client:
        - add --run_by_updater cmdlines option;
            if set, and updater version > client version,
            set "install_failed" flag in AUTO_UPDATE.
            This prevents the client from trying the update again.
        - if updater doesn't run or exits within 5 seconds,
            mark update as failed (stick with current version)

    client/
        auto_update.C,h
        client_state.C,h
        cs_cmdline.C
        sim.C,h
    lib/
        filesys.C
        util.C,h
    tools/
        updater.C

David  9 Apr 2007
    - win compile fixes

    client/
        auto_update.C
    lib/
        util.C

David  9 Apr 2007
    - bug fix in simulator (possibly core client too):
        in handle_finished_apps(),
        do the vector erase directly instead of calling remove()
        (which could cause you to skip one task)

    client/
        app.C,h
        cs_apps.C

David  9 Apr 2007
    - update netsoft URL

    html/inc/
        stats_sites.inc
        user.inc

Charlie 9 Apr 2007
    - change boinc_catch_signal() to exit with exit code EXIT_SIGNAL 
        instead of ERR_SIGNAL_CATCH.
        
    lib/
        diagnostics.C

Charlie 10 Apr 2007
    - Mac: Add support for Firefox on Mac.
    
    lib/
        browser.C

David  10 Apr 2007
    - simulator

    client/
        sim.C,h

Rom    10 Apr 2007
    - MGR: Do not attempt a refresh of the old grid header if the
        old value is -1.
        (From Walt G.)
        
    clientgui/
        BOINCGridCtrl.cpp

David  10 Apr 2007
    - core client: adjustment to anticipated debt is
       resource_share*expected_payoff, not
       (1-resource_share)*expected_payoff

    client/
        cpu_sched.C
        sim.C,h

Charlie 11 Apr 2007
    - Mac: Add support for Safari on Mac.
    - Fix bugs in Firefx / Mozilla cookie detection:
        - Don't require match for a leading "www" in URL.
        - Don't return true if is_authenticator_valid(cookie) fails.
        - Check for std::string.find() returning npos if it fails, not -1.
        - Add extern "C" to browser.h file.
    
    lib/
        browser.C,h
        mac_browser.mm (new, Mac only)

David  11 Apr 2007
    - database: add sent_email table; keep track of emails sent to users
    - boinc_cmd: add --read_cc_config command

    db/
        boinc_db.h
        schema.sql
    client/
        cs_cmdline.C
    html/ops/
        db_update.php
        remind.php
    lib/
        boinc_cmd.C

David  11 Apr 2007
    - client: write availability info to a log file
        Don't let file exceed 1 MB or 1 year, whichever is larger
    - client: work fetch tweak: add notion of fetchable_resource_share
    - client: remove BOINC_OUTAGE code
    - client: remove leftover CURL temp files (blc*) on startup
    - client: remove duration_variability code
    - client: in maintaining availability info (TIME_STATS),
        ignore CPU throttling.
    - Manager: don't divide work_buf_additional_days by 86400 (??)

    client/
        client_state.C,h
        client_types.C,h
        cpu_sched.C
        cs_scheduler.C
        file_names.h
        http_curl.C,h
        rrsim_test.C
        sim.h
        time_stats.C,h
        work_fetch.C
    clientgui/
        DlgAdvPreferences.cpp
    lib/
        network.h

David  11 Apr 2007
    - user web: wrong URL for BOINC Combined Stats

    html/inc/
        user.inc

Charlie 11 Apr 2007
    - Move browser.C,h from lib/ to clientgui/
    - Move lib/mac_browser.mm to clientgui/browser_safari.mm
    - Adjust makefiles and XCode project for above changes
    - Remove extern "C" from browser.h
    - Fix compiler warning in http_curl.C

    client/
        http_curl.C
    clientgui/
        browser.C,h (added)
        browser_safari.mm (added)
        makefile.am
    lib/
        browser.C,h (removed)
        mac_browser.mm (removed)
        makefile.am
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 12 Apr 2007
    - MGR: Fix bug in SimpleGUI prefs: it wasn't resetting the 
        <run_if_user_active> tag when changing "Do work when user 
        idle" override from "0 (Run Always)" to an idle time value. 
        
    clientgui/
        sg_DlgPreferences.cpp

Rom    12 Apr 2007
    - Change directory layout for 32-bit Windows client
        dependancies (curl, openssl, zlib)
    - Include 64-bit Windows client dependancies
        (curl, openssl, zlib)
        
    curl/
        <Many Files>
    openssl/
        <Many Files>
    zlib/
        <Many Files>

David  12 Apr 2007
    - added script for getting statistics on job FLOP counts

    html/ops/
        index.php
        job_times.php

Charlie 12 Apr 2007
    - Fix compile error: #include <sys/resource.h> in cs_benchmark.C
    - Mac: Update XCode project, build scripts and build instructions to use 
        wxMac-2.8.3.
    - Mac: Fix minor XCode project bug in ppc_Deployment build configuration 
        of target BOINC_Client (this build configuration is not used 
        for release builds.)

    client/
        cs_benchmark.C
    mac_build/
        buildWxMac.sh
        HowToBuildBOINC_XCode.rtf
        setupForBOINC.sh
        boinc.xcodeproj/
            project.pbxproj

David  12 Apr 2007
    - client: log job completions

    client/
        client_types.C,h
        cs_apps.C
        file_names.C,h

David  13 Apr 2007
    - feeder: improve efficiency of DB query
    - client: add optional tags <send_time_stats_log> and
        <send_job_log> to scheduler RPC reply;
        next scheduler RPC request will contain the indicated
        subset of the time stats log or job log.
        (no server-side support for this yet)

    client/
        client_types.C,h
        cs_scheduler.C
        file_names.h
        scheduler_op.C,h
        time_stats.C
    db/
        boinc_db.C

Bruce 16 April 2007
    - scheduler: remove compiler warnings
    - feeder: broken because of David's checkin to db/boinc_db.C above.
      David, please confirm if result.appid -> r1.appid is correct.
    - locality scheduler: add new boolean config option
        locality_scheduling_sorted_order.  If this is enabled,
        then instead of looking for work starting with a random
        file on the host,
        the scheduler will search for work in sorted order of the filenames,
        starting with the lexagraphically smallest file
        and moving upwards until work is found.

    sched/
        handle_request.C
        feeder.C
        sched_config.C
        sched_config.h
        sched_locality.C
        server_types.h
    doc/
        sched_locality.php

Charlie 16 Apr 2007
    - Mac: fix Mac Stuffit file corrupted in switch from CVS to Subversion.
    - Mac: Update backtrace to use entirely new code from Apple Developer 
        Technical Support.  The format is now compatible with OS X's 
        built-in Crash Reporter, and is ready for 64-bit Mac Intel 
        applications (which will be available in OS 10.5).  If the backtrace 
        is from a stripped application, the output of this new code can be 
        run through a new shell script (available on Apple's web site) to 
        add symbols to it from a separate symbol file - this is a very useful 
        feature.  For details, see comments in mac_backtrace.h.
        
        Note: We build the PowerPC applications with GCC-3.3 to be backward 
        compatible with OS 10.3.0 - 10.3.8, and GCC 3.3 does not support 
        64-bit applications, and Apple discontinued production of PowerPC 
        Macs in 2006, so this backtrace code does not support 64-bit PowerPC 
        G5 applications.
        
    clientgui/
        mac/
            BOINCSaver.nib.sit
    lib/
        mac_backtrace.C,h (removed)
        mac/
            dyld_gdb.h (added)
            mac_backtrace.C,h (added)
            QBacktrace.c,h (added)
            QCrashReport.c,h (added)
            QMachOImage.c,h (added)
            QMachOImageList.c,h (added)
            QSymbols.c,h (added)
            QTaskMemory.c,h (added)
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rom    17 Apr 2007
    - Test SVN Commit Email

Charlie 17 Apr 2007
    - Mac: Fix Safari cookie logic for OS 10.3, move to Mac directory.
    - Mac: Remove remaining obsolete backtrace source files, fix compiler 
        warnings, update makefile for changes.
    - Mac: fix Mac icon files corrupted in switch from CVS to Subversion 
        and move to directory with other icon files. 
    - Mac: Delete very old obsolete files.

    client/
        mac/      (directory removed)
            BOINC.term (removed)
            BoincLaunch.app.zip (removed)
            BoincLaunch.zip (removed)
            GridRepublic.icns (extra copy removed)
            mac_about.cpp,h (removed)
            mac_join.cpp,h (removed)
            mac_main.cpp,h (removed)
            mac_prefs.cpp,h (removed)
            postinstall (removed)
    clientgui/
        makefile.am
        mac/
            browser_safari.mm (moved from clientgui/browser_safari.mm)
        res/
            BOINCMgr.icns (moved from client/mac/BOINCMgr.icns)
    lib/
        makefile.am
        MoreAddrToSym.c,h (removed)
        MoreBacktrace.c,h (removed)
        mac/
            QMachOImage.c
            QMachOImageList.c
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
        English.lproj/
            AboutBox.nib (removed)
            boinc.nib (removed)
            JoinDialog.nib (removed)
            PrefsDialog.nib (removed)

David  17 Apr 2007
    - file deleter:
        - Antique deletion is now default; it gets done once/day
            (pass -dont_delete_antiques to turn it off)
        - retry of errors is now default; it gets done once/day
            (pass -dont_retry_errors to turn it off)
        - add -dont_delete_batches option,
            and remove <dont_delete_batches> option from config file
    - client: fix format string in job log write

    client/
        client_types.C
    sched/
        sched_config.C,h
        file_deleter.C

David  17 Apr 2007
    - compile fix for FCGI

    lib/
        util.C

David  17 Apr 2007
    - client: define work_buf_total as
        max(1, work_buf_min + work_buf_additional).
        Allow both work_buf_min and work_buf_additional to be zero.
    - client: remove work_needed_secs()

    client/
        client_state.h
        cpu_sched.C
        sim.h
        work_fetch.C

David  17 Apr 2007
    - user web: better text for work-buf preferences;
        defaults are 0 and 0.25.
    - remove test_sanity.py stuff from configure.ac.
        It's relevant only to the automated testing framework,
        which no one uses except us.

    configure.ac
    html/inc/
        prefs.inc
    test/
        testbase.py

Charlie 17 Apr 2007
    - Mac: Trim bogus extra frame and post-signal frames from backtrace 
        reports, like the old Mac backtrace did.
    
    lib/
        mac/
            mac_backtrace.C
            QBacktrace.c
            QCrashReport.c

David  17 Apr 2007
    - "start" script: stop scheduler before daemons; otherwise can get
        "no shared memory" errors from scheduler

    sched/
        start

David  18 Apr 2007
    - Server: added sample_assimilator.C
        (an assimilator that copies output files to a directory)
    - Server: added sample_work_generator.C

    Note: until now we haven't supplied an example of of a work generator.
    The above two components (and the uppercase app) let us create
    an example project that actually does something.
    My plan is to have make_project install all this stuff

    - Server: added count_unsent_results() to sched_util
    - backend code: remove the -asynch arg from all programs.
        This was used by old PHP test framework, not needed now.
    - backend code: got rid of some compile warnings
    - removed assimilator_placeholder and validator_placeholder.
        These serve no useful purpose
        (they're copies of other files, and they don't actually
        act as placeholders since they get overwritten on a SVN update)

    sched/
        Makefile.am
        assimilator.C
        assimilator_placeholder.C (removed)
        db_dump.C
        db_purge.C
        feeder.C
        handle_request.C
        make_work.C
        message_handler.C
        sample_assimilator.C (new)
        sample_work_generator.C (new)
        sched_config.C,h
        sched_util.C,h
        server_types.C
        transitioner.C
        trickle_handler.C
        update_stats.C
        validator.C
        validator_placeholder.C (removed)

Rom    18 Apr 2007
    - fixes #7: Includes the last remaining files needed to build and
        package up 64-bit files for setup. We can now build and create
        64-bit windows installer packages.
        
    win_build/installerv2/
        BOINC.ism
        BOINCx64.ism
    win_build/installerv2/redist/Windows/src/
        <Numerious Files>
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll (Added)
        boinccas95.dll (Added)
        dbghelp95.dll (Added)

David  18 Apr 2007
    - bug fixes for sample work generator

    sched/
        sched_config.C,h
        sample_work_generator.C

Rom    19 Apr 2007
    - Fix a minor compile problem on 64-bit Windows platforms with the
        call to SetTimer.
    - fixes #80: Introduce the notion of an alternate platform for 64-bit
        Windows clients, which can also run 32-bit Windows apps.
        
      TODO: We'll need to refactor the whole platform section in the
        scheduler request creation section so that it can handle
        multiple alternate platforms and for Linux/Mac.
        
    api/
        windows_opengl.C
    client/
        client_state.C, .h
        cpp.h
        cs_scheduler.C

David  19 Apr 2007
    - Change things so that make_project installs a test application
        (uppercase) and the daemons to go along with it
        (sample_work_generator, sample_bitwise_validator, sample_assimilator).
        This is mostly working, not completely.

    apps
        upper_case.C
    html/ops/
        mass_email_script.php
    py/Boinc/
        setup_project.py
    sched/
        sched_config.C,h
        sample_work_generator.C
    tools/
        make_project
        project.xml
        Makefile.am

David  19 Apr 2007
    - scheduler: accept elements of the form
        <alt_platform>
            <name>windows_x86</name>
        </alt_platform>
        in request messages.
        These are platforms that the client can handle,
        other than its main one,
        listed in order of decreasing preferences.
        fixes #81.

    sched/
        handle_request.C
        server_types.C,h

Rom    19 Apr 2007
    - Match the client-side and server-side XML for alternate
        platforms.
    - Print both the max active memory usage and max idle
        memory usage after all the preference information has
        been parsed.
        
    client/
        cs_prefs.C
        cs_scheduler.C
        
Rom    19 Apr 2007
    - Statistics view update.
      (From Mifistor)
      
    clientgui/
        ViewStatistics.cpp, .h

Rom    19 Apr 2007 (HEAD)
    - Tag for 5.9.4 release, all platforms
      boinc_core_release_5_9_4

David  20 Apr 2007
    - make_project: add periodic tasks to default config.xml:
        dp_dump, update_uotd, update_forum_activities, update_stats,
        update_profile_pages
    - backend_lib.C: refuse to create a job for which some necessary
        parameter (rsc_fpops_est, rsc_fpops_bound, etc.) is missing
    - Unix build: don't include std_fixes.h in config.h.
        std_fixes.h is (I think) deprecated
    - sched_util: default sched log level is MSG_NORMAL
    - client: add ".txt" to job log filename
    - compile fixes

    configure.ac
    api/
        reduce_main.C
    client/
        file_names.C
    lib/
        str_util.h
    sched/
        sample_work_generator.C
        sched_msgs.h
    tools/
        backend_lib.C
        make_project

David  20 Apr 2007
    - str_util: don't use std::transform, since it causes problems
        with VC++ express edition

    clientgui/
        sg_SGUIListControl.h
    html/ops/
        db_update.php
    lib/
        str_util.C,h

David  20 Apr 2007
    - Advanced prefs: remove incorrect multiplication by 86400

    client/
        cs_prefs.C
    clientgui/
        DlgAdvPreferences.cpp

Rom    20 Apr 2007
    - Fix: Win x64's alternate platform is really windows_intelx86
        not windows_x86_64.
    
    client/
        client_state.C

Bruce  20 April 2007
    - Minor locality sched change for E@H

    sched/
        sched_locality.C

David  23 Apr 2007
    - make_project: remove --no_test_app option, add --test_app option
    - make_project: initial config in all cases has
        one_result_per_user_per_wu = 0
    - sample_assimilator: make it able to handle > 1 output file
    - boinc_cmd: make --help output more readable
    - User web: fix some undefined vars in translation.inc
        Rytis: let's try to fix PHP runtime warnings
    - DB: add default values for app table (avoid MySQL warnings)

    db/
        schema.sql
    html/
        inc/
            translation.inc
            uotd.inc
        ops/
            update_forum_activities.php
    lib/
        str_util.C
        boinc_cmd.C
    py/Boinc/
        setup_project.py
    sched/
        sample_work_generator.C
        sample_assimilator.C
    tools/
        make_project
        uc_wu, uc_result (new)

Rom    23 Apr 2007
    - fixes #120 - Rebuild all 32-bit Windows dependencies using
        VS 2005 so tht they all depend on the new CRT runtime. Make
        sure all dependencies include an application manifest.
    - WIN: Rebuild libcurl for x64 and include an application
        manifest so that it can find MSVCR80 when executing.
        
    curl/
        <multiple files>
    openssl/
        <multiple files>
    zlib/
        <multiple files>

David  23 Apr 2007
    - client: fix bug where client is unresponsive if
        there are unresolvable names in remote_hosts.cfg file

    client/
        gui_rpc_server.C,h

Rom    24 Apr 2007
    - fixes #121 - Both 32-bit and 64-bit BOINC Windows Installation
        packages require bootstrap loader.

    win_build/installerv2/
        BOINC.ism
        BOINCx64.ism

Rom    24 Apr 2007
    - fixes #122 - Windows benhcmark differences between VS 2003 and 
        VS 2005.
      
      The default FP model has changed since 2003, so change how the
        BOINC components are compiled so that they use /fp:fast instead
        of /fp:precise.
    
    win_build/
        *.vcproj

David  24 Apr 2007
    - Server: add new database field host.error_rate.
        Stores a dynamic estimate of the fraction of the hosts's
        results that fail validation (updated by the validator).

    client/
        sim.C
        cs_prefs.C
    db/
        boinc_db.C,h
    html/ops/
        db_update.php
    sched/
        handle_request.C
        sched_msgs.h
        validator.C

Eric K 24 Apr 07
    -  Exteded the "altername_platform" mechanism to x86_64 linux
       and solaris.  The current alternate platforms found by configure
       are...
     x86_64-pc-linux-gnu    -> i686-pc-linux-gnu
     sparc64-sun-solaris    -> sparc-sun-solaris
     sparc-sun-solaris      -> sparc-sun-solaris2.7
     powerpc64-apple-darwin -> powerpc-apple-darwin
    -  The alternate platform can be overridden on the configure command line
         --with-boinc-alt-platform="platformname"

    m4/
        boinc_platform.m4
    sched/
        Makefile.am
    client/
        client_state.C
        cs_scheduler.C
        client_state.h

David  25 Apr 2007
    - eliminate spurious "work fetch too big" message

    client/
        work_fetch.C

David  25 Apr 2007
    - fixes #126 - generate cronjob file in make_project

    tools/
        make_project

Rom    26 Apr 2007
    - fixes #86 - 5.9.3 won't install on Win98
        Make sure that the custom actions that use NT
        specific APIs are only executed on NT based systems.
        
    win_build/installerv2
        BOINC.ism
        BOINCx64.ism

Rom    26 Apr 2007
    - fixes #10 - Remove dependency on ATL framework for 
      boinc.dll on Windows
      
      With this checkin, the BOINC client should now be able
      to be built with Visual Studio Express.
      
    clientgui/
        BOINCGUIApp.cpp, .h
    clientlib/win/
        boinc_dll.cpp, .h
        boinc_dll.rc
        boincclient.rgs (deleted)
        boincsens.rgs (deleted)
        BOINCSENSSink.cpp, .h (deleted)
        IdleTracker.cpp
        NetworkTracker.cpp, .h (deleted)
        SENSLogonSubscriptions.h (deleted)
        SENSNetworkSubscriptions.h (deleted)
        SENSOnNowSubscriptions.h (deleted)
        SENSSubscriptions.h (deleted)
        stdafx.h
        
David  26 Apr 2007
    - server: fix bug that causes PHP scripts not to run from Cron
        Fixes #129.  From Christian Beer.

    html/ops/
        update_profile_pages.php
    tools/
        run_in_ops

David  26 Apr 2007
    - core client: set config settings to default values before
        parsing cc_config.xml.
        Otherwise, if you have a lot of log flags set,
        and tell the client to reread a config file that
        doesn't specify ANY log flags,
        you'll end up with all the flags still set.
        (from Sebastian Masch)
    - make_project: add cmdline args for update_stats in initial config

    tools/
        make_project
    client/
        log_flags.C,h

Charlie 27 Apr 2007
    - Mac: Update build instructions.  Mark old mac_build.php page as 
        deprecated and add link to new wiki page.

    doc/
        mac_build.php
    mac_build/
        HowToBuildBOINC_XCode.rtf

David  27 Apr 2007
    - bug in language_select.php made 'auto' not work,
        i.e. its impossible to return to browser settings
        after doing a cookie-based language choice
    - translation.inc and language_select.php were using $HTTP_SERVER_VARS,
        which appears to be deprecated in PHP 5.
        Use $_SERVER instead.
    - made strings at top of web site translatable

    html/
        inc/
            translation.inc
        user/
            language_select.php
    languages/translations/
        en.po

David  27 Apr 2007
    - Major rewrite of email-sending programs.
        Instead of editing their source (ugh!)
        you can now use command-line args to get testing functionality.

    html/ops/
        remind.php
        mass_email_script.php

Rytis  29 Apr 2007
    - Private message functionality for the forums.
        NOTE: needs database update.

    html/
        user/
            forum_forum.php
            forum_help_desk.php
            forum_index.php
            forum_pm.php (new)
            white.css
            img/
                pm.png (new)
        
        inc/
            db.inc
            forum.inc
            forum_user.inc
            user.inc
        
        ops/
            db_update.php
            
    db/schema.sql

David  30 Apr 2007
    - UOTD code: don't generate a static page; add uotd.php

    html/
        ops/
            update_uotd.php
        inc/
            uotd.inc
        user/
            uotd.php (new)

Rom    30 Apr 2007 (HEAD)
    - Tag for 5.9.5 release, all platforms
      boinc_core_release_5_9_5

David  30 Apr 2007
    - scheduler: added (correct this time!) support for
        <alt_platform> tags in scheduler requests.
    - file_deleter: add check for -dont_delete_batches

    sched/
        file_deleter.C
        handle_request.C
        sched_array.C,h
        sched_locality.C,h
        sched_resend.C,h
        sched_send.C,h
        server_types.h

David  30 Apr 2007
    - core client: if platform is different from platform in state file,
        print a message but don't reset projects
        (otherwise people running on 64-bit machines would lost
        in-progress jobs when switching to 64-bit client)

    client/
        client_state.C

David  30 Apr 2007
    - scheduler: un-comment-out code to send abort_if_result_not_started
        messages

    sched/
        handle_request.C

David  1 May 2007
    - make_project and upgrade now write a file 'local.revision'
        in the project home directory.
        It contains the output of /usr/bin/svnversion,
        i.e. the code revision from which the server software was built.
    - Web files that create directories now give them g+rwx permissions
        
    html/inc/
        cache.inc
        translation.inc
    sched/
        edf_sim.C
    tools/
        make_project
        upgrade

Rom    30 Apr 2007 (HEAD)
    - Tag for 5.9.6 release, all platforms
      boinc_core_release_5_9_6

Charlie 2 May 2007
    - Mac: Revert to wxMac-2.8.0 due to bugs in later versions.
    - Mac: Update XCode project, build scripts and build instructions to use 
        wxMac-2.8.0.  Tag these changes for 5.9.6 release.

    mac_build/
        buildWxMac.sh
        HowToBuildBOINC_XCode.rtf
        setupForBOINC.sh
        boinc.xcodeproj/
            project.pbxproj

Rom    2 May 2007
    - fixes #154: 
        * refactored the alternate platform mechinism so that we
          can support multiple alternate platforms.
        * moved everything to cs_platforms.C since we expect the
          kind of sprawl that is in host_info.C on the *nix
          environments.
    - Clean up some warnings
          
    client/
        acct_setup.C
        client_state.C, .h
        client_types.h
        cs_platforms.C (Added)
        cs_scheduler.C
        cs_statefile.C
        http_curl.C
    lib/
        str_util.h

Matt    2 May 2007
    - updated db/validator to add logic for wuhash table.
      wuhash table (see schema.sql) has two fields, user and 
      project-specific workunit id so that a user's contribution
      can be tied to the appropriate workunit ID in the science
      database (a different ID than in the BOINC database). This logic
      is only enacted with -update_wuhash flag on command line.
      The project-specific workunit id is expected to be found
      in the workunit.opaque field.

    db/
        schema.sql
        constraints.sql
        boinc_db.C,h
    sched/
        validator.C
    html/ops/
        db_update.php
    
Walt   2 May 2007
    - Add cs_platform.C to Makefile.am
          
    client/
        Makefile.am

David  2 May 2007
    - Scheduler: in reply, add <platform> element to each <app_version,
        and add <platform> and <version_num> elements to <result>
        (server half of multi-version changes)
    - scheduler: make ssp a global; could eliminate from args everywhere

    db/
        boinc_db.h
    sched/
        feeder.C
        main.C,h
        sched_send.C
        sched_shmem.C,h
        server_types.C

Matt    2 May 2007
    - per Dave's request changed "wuhash" to "credited_job" which
      is a little more self-explanatory.

    db/
        schema.sql
        constraints.sql
        boinc_db.C,h
    sched/
        validator.C
    html/ops/
        db_update.php

Charlie 2 May 2007
    - Mac: Use run_program() instead of wxExecute to launch boinc CC, 
        because under wxMac-2.8.0, wxExecute starts a separate thread 
        to wait for child's termination. wxProcessTerminationThread uses 
        a huge amount of CPU time (about 11% of 1 CPU on 2GHz Intel Mac). 
    - Mac: add cs_platform.C to XCode project.

    clientgui/
        BOINCGUIApp.cpp
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rom    3 May 2007
    - fixes #5: Include the version number of the client next to it's
        name, so people can see if they need to upgrade a remote client.
    - fixes #149: Change the parsing function for the
        CBOINCGridCellProgressRenderer so that we don't have to update
        the docs or screenshots. Display the progress bar as a resource
        share fraction.

    clientgui/
        AdvancedFrame.cpp
        BOINCGridCtrl.cpp
        MainDocument.cpp, .h
        ViewProjectsGrid.cpp

David  3 May 2007
    - Core client: handle multiple platforms correctly.
        Remove the tacet assumption that a host can handle
        applications for a single platform.
        With the Apr 30 scheduler changes,
        a project may (at different times)
        send app versions for the same app and version number,
        but different platforms.
        Before we would have ignored all but the first;
        now we handle them correctly.

        Implementation notes:
        - Add APP_VERSION.platform, RESULT.platform,
            and RESULT.version_num.
            If these are missing from an XML doc
            (e.g. an existing state file or a scheduler reply
            from a project not running current server)
            then set to the primary platform.
        - Continue to write workunit.version_num
            and active_task.version_num to state file,
            even though these are no longer part of the struct.
            This allows users to revert to an older version.

    client/
        app.C
        check_state.C
        client_state.C,h
        client_types.C,h
        cs_apps.C
        cs_scheduler.C
        cs_statefile.C
        sim.C

David  3 May 2007
    - Core client: small changes to make the client simulator act reasonably.
        - change > to >= for check for running beyond sched period
        - adjust debts before calculating anticipated debt

    client/
        client_types.h
        cpu_sched.C
        sim.C

Charlie 3 May 2007
    - Mac: Update license agreement, modify build scripts to include license 
        agreement with bare-client releases, not only wih Manager.

    mac_installer/
        License.rtf
        release_boinc.sh
        release_GridRepublic.sh

Rom    3 May 2007
    - Fix build break for Unicode builds
      ( From Frank Weiler )
    - Win: Introduce a custom action to delete any lingering binaries from the
        installation directory before MSI determines what needs to be copied.
    - Win: Introduce a custom action that will migrate
        C:\Program Files (x86)\BOINC to C:\Program Files\BOINC for the x64
        upgrade scenario.
    
    clientgui/
        BOINCGridCtrl.cpp
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.rc
        boinccas95.def
        boinccas95.vcproj
        CACleanupOldBinaries.cpp, .h (Added)
        CAMigratex86x64.cpp, .h (Added)
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

Rom    3 May 2007
    - Include the new custom actions in the Windows Installers
    
    win_build/installerv2/
        BOINC.ism
        BOINCx64.ism
    
Rom    3 May 2007 (HEAD)
    - Tag for 5.9.7 release, all platforms
      boinc_core_release_5_9_7

David  4 May 2007
    - scheduler: in send_result_abort(), distinguish between
        the enumeration ending versus it failing.
        This fixes a bug where lots of results would be
        incorrectly aborted if there's a database problem.
        This fix only matters if you use the <send_result_abort> config flag.
        (from Kevin Reed)
    - validator: add -credit_from_wu option.
        This gets credit from the workunit XML
        (which must have a <credit> flag).
        This lets you use credit-from-WU with the standard validators
        (sample_bitwise and sample_trivial)

    sched/
        handle_request.C
        validator.C
        validate_util.h

David  4 May 2007
    - API: if using graphics, set worker thread stack size limit to max
        (from Rhiju Das of Rosetta@home)

    api/
        graphics_impl.C

David  4 May 2007
    - Sim-related stuff

    sched/
        edf_sim.C
    client/
        sim.C,h

David  4 May 2007
    - Oops!  Small mistake in multi-platform changes.

    client/
        cs_scheduler.C

David  4 May 2007
    - Server status page: fix bug that showed most daemons as not running
        on FC6; needed to trim white space from pid
    - Server status page: show server software SVN revision

    html/ops/
        sample_server_status.php

Charlie 5 May 2007 (HEAD)
    - Bump version to 5.9.8 for release with multi-platform fix.
    - Tag for 5.9.8 release, all platforms
      boinc_core_release_5_9_8
    
    client/
        version.h

Charlie 6 May 2007
    - Mac: On Intel Macs, support PowerPC Mac as a secondary platform.
    
    client/
        cs_platforms.C

David  6 May 2007
    - core client: another multi-platform fix (missing \n)

    client/
        client_types.C

David  6 May 2007
    - core client: when parsing statefile or scheduler reply,
        if get an app_version with unknown platform name, ignore it.
        This means that, e.g. if someone moves a BOINC directory
        from Intel to PowerPC Mac, things will still work right.

    client/
        client_state.C,h
        cs_platforms.C
        cs_scheduler.C
        cs_statefile.C

Janus    6 May 2007
    - Removed some old debug code and changed a bogus error message to a more
      sane one.

    html/inc/
        translation.inc

David  6 May 2007
    - make_project: create <log_dir> element in config.xml
        (so that show_logs.php will work).
        Fixes #170

    py/Boinc/
        setup_project.py

Charlie 7 May 2007 (HEAD)
    - Bump version to 5.9.9 for release with multi-platform fix.
    - Tag for 5.9.9 release, all platforms
      boinc_core_release_5_9_9
    
    client/
        version.h

Janus    7 May 2007
    - Removed BOINC.dk from stats sites as it is in the process of shutting down
      several of its services.
      
    /html/inc/
        stats_sites.inc

David  7 May 2007
    - core client: fix bug in code to ignore unknown platforms.

    client/
        cs_scheduler.C

Rom    7 May 2007
    - fixes# 162: Fix the Windows setup to install the CRT as a private assembly
        so that we can avoid running into sxs problems. At some point I'll have 
        to revisit this and figure out what is really going on.
    
    win_build/installerv2/
        BOINC.ism
        BOINCx64.ism

David  7 May 2007
    - core client: add <no_alt_platform> config option;
        eliminates use of alternate platforms.

    client/
        client_state.h
        cs_platforms.C
        cs_statefile.C
        log_flags.C,h

Rom    7 May 2007
    - fixes #110 - Simple GUI: "spacer" image is not updated
    
    clientgui/
        sg_ImageLoader.cpp
        sg_ProjectsComponent.cpp, .h

Rom    7 May 2007
    - fixes #4 - BOINC Manager should be able to find it's 
      localization files.
      
      BOINCMgr will now check in the absolute path in which
      it was installed as well as the relative path from where
      it was executed from.
      

    clientgui/
        BOINCGUIApp.cpp, .h

David  7 May 2007
    - client simulator:
        - Add --server_uses_workload option
            (simulate server that does EDF simulation)
        - Add simulation of exponential backoff when don't get work.
            Otherwise it will keep asking forever.
        - move non-interesting stuff to sim_util.C
    - change simulator code to use ' instead of " in compiled translations

    client/
        makefile_sim
        sim_util.C
        sim.C,h
        work_fetch.C
    html/inc/
        translation.inc
    sched/
        edf_sim.C
        edf_sim.h (new)

Rom    7 May 2007
    - Tag for 5.9.10 release, all platforms
      boinc_core_release_5_9_10
    
    client/
        configure.ac
        version.h

Janus    8 May 2007
    - Initial checkin of a tiny part of the serverside Bittorrent file 
      distribution code. Everything BT-related will reside in /html/bt and
      will be disabled by default.
    - Id property set on belement.inc
    
    html/bt/ (new)
        README (new)
    INSTALL (new)
    html/bt/inc/ (new)
        belement.inc (new)

David  8 May 2007
    - core client: improve error message when can't link app version

    client/
        client_state.C
        cs_statefile.C

David  8 May 2007
    - GUI RPC: add new element d_boinc to DISK_USAGE;
        tells how much disk space BOINC is using
        (not including projects).
    - added project.max_infeasible_count to client simulator

    client/
        gui_rpc_server_ops.C
        sim.C,h
        sim_util.C
    clientgui/
        ViewResources.cpp
    lib/
        filesys.C
        bui_rpc_client.h
        bui_rpc_client_ops.C

Charlie 8 May 2007
    - Mac: Refresh Disk Usage pane only on every 10th call to reduce 
        CPU overhead, but refresh once per second the first 3 times 
        to work around a bug drawing the legends. (Also included in 
        5.9.10 Mac release, added to boinc_core_release_5_9_10 tag.)

    clientgui/
        ViewResources.cpp

Janus    9 May 2007
    - Fixed an issue where long unbreakable post content could break the layout
      of the forum for an entire thread. Now this only breaks the layout for that
      particular post.
      If you use a different css stylesheet than white.css you should copy over the
      #thread part.
      Thanks to Lee Carre for pointing out the issue and possible solution.
    - Added BEncoded dictionaries to the Bittorrent checkin.

    html/user/
        white.css
    html/bt/inc/
        bdictionary.php

Charlie 9 May 2007
    - Finally fixed a long-standing bug which caused the PieCtrl legend to 
        be clipped to a small rectangle when first drawn on Macs.  If the 
        legend changed so it required more space, this bug would also clip 
        to the former size the first time it was updated.  This problem 
        did not occur on Windows.
        NOTE: I currently can't build on Windows or Linux, so please verify 
        that my modified code works OK on those platforms. 
    - Mac: removed the hack which refreshed once a second the first 3 times 
        to work around this bug.
        
    clientgui/
        ViewResources.cpp
        common/
            wxPieCtrl.cpp

David  9 May 2007
    - Client simulator: added --dcf_dont_use and --dcf_stats options
        (alternate ways of computing DCF)

    client/
        cpu_sched.C
        sim.C,h
        sim_util.C

David  9 May 2007
    - scheduler: slight code cleanup prior to adding EDF stuff

    languages/translations/
        en.po
    sched/
        sched_send.C
        server_types.h

Rytis   9 May 2007
    - Update BBCode to allow easy linking to Trac tickets, wiki and changesets.
        
    html/
        user/
            bbcode.php
        inc/
            text_transform.inc

Charlie 10 May 2007
    - A better fix for Mac PieCtrl legend clipping bug: wxPieCtrl::Refresh() 
        calls new wxPieCtrlLegend::MeasureText() method to caclulate size of 
        the legend area and SetSize() of legend window before OnPaint() is 
        called.  Apparently, calling SetSize() from within the OnPaint() 
        function doesn't adjust the "invalid" area to be repainted until 
        a return to the event loop, so the added area didn't get painted 
        until the next OnPaint() call.  Also, the wxMemoryDC bitmap was 
        being created at the smaller size, so that was also clipping the 
        drawing.
    - Mac: include size of BOINC Manager bundle in BOINC total disk usage 
        displayed in Disk Usage pane Pie Chart.

    clientgui/
        BOINCGUIApp.cpp, .h
        ViewResources.cpp
        common/
            wxPieCtrl.cpp

Rom    10 May 2007
    - Possible fix for a crashing condition when the manager is shutdown
        from the system tray icon.
        
    clientgui/
        BOINCBaseFrame.cpp
        BOINCTaskBar.cpp, .h


David  10 May 2007
    - client simulator: make it compile on Win
    - client: parse version_num in active_task to avoid spurious error msg

    client/
        app.C
        sim.C
    win_build/
        sim.vcproj

Rom    10 May 2007
    - fixes #164: Aborting a Task
    
        If a task has already been aborted, don't enable the abort task
        button.

    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp

David  10 May 2007
    - client: add constructor/destructor for APP_VERSION, WORKUNIT, RESULT
    - client: with anonymous platform, don't link app version twice

    client/
        client_types.h
        client_state.C
        cs_apps.C
        cs_files.C
        cs_prefs.C
        cs_scheduler.C
        cs_statefile.C
        sim_util.C
    html/
        uotd.inc
    sched/
        edf_sim.h
        server_types.h
    client/
        app.C
        sim.C
    win_build/
        sim.vcproj

David  10 May 2007
    - scheduler: add <workload_sim> config option.
        If set, the scheduler will use EDF simulation,
        together with the in-progress workload reported by the client,
        to avoid sending results that
        1) will miss their deadline, or
        2) will cause an in-progress result to miss its deadline, or
        3) will make an in-progress result miss its deadline
            by more than is already predicted.
        If this option is not set, or if the client request doesn't
        include a workload description (i.e. the client is old)
        use the existing approach, which assumes there's no workload.
        NOTE: this is experimental.  Production projects should not use it.
    - EDF sim: write debug stuff to stderr instead of stdout
    - Account manager:
        - if an account is detach_when_done, set dont_request_more_work
        - check done_request_more_work even for first-time projects
    - update_uotd: generate a file for use by Google gadget
    - user_links(): use full URLs (so can use in Google gadget)

    client/
        acct_mgr.C
        work_fetch.C
    html/
        inc/
            uotd.inc
            util.inc
        user/
            uotd_gadget.php (new)
    sched/
        Makefile.am
        edf_sim.C
        sched_config.C,h
        sched_resend.C
        sched_send.C,h
        server_types.C,h

Janus    10 May 2007
    - Added BEncoded integer support for the Bittorrent utility files

    /html/bt/inc/
        binteger.php

David  10 May 2007
    - boinc_cmd: add --network_available and --get_cc_status options

    lib/
        boinc_cmd.C

Rom    10 May 2007
    - Add a project config.xml option to allow moderators to ban
        accounts.
        
      <moderators_allowed_to_ban>1</moderators_allowed_to_ban>
      
    html/inc/
        forum.inc
        forum_moderators.inc

David  10 May 2007
    - core client: fix big that caused
        duplicate app versions to appear in state file
        (this was harmless, BTW)

    client/
        cs_scheduler.C

Rom    10 May 2007
    - Fix a build break in the manager.
    
    client/
        app.h
    lib/
        common_defs.h

Charlie 10 May 2007
    - One more rework of Mac PieCtrl following Frank Weiler's suggestions.
        Eliminated wxPieCtrlLegend class completely, integrated legend 
        drawing into the PieCtrl class itself, greatly simplifying it.
    - Mac only: create CViewResources::GetViewRefreshRate() to update 
        PieCtrl only every 10 seconds to reduce CPU overhead instead of 
        doing it with a counter in CViewResources::OnListRender().
    - Mac: Determine size of BOINC Manager bundle in core client if it was 
        launched by Manager rather than in the Manager itself, to get 
        correct information when controlling a remote computer.

    client/
        gui_rpc_server_ops.C
    clientgui/
        BOINCGUIApp.cpp, .h
        ViewResources.cpp, h
        common/
            wxPieCtrl.cpp, h

David  11 May 2007
    - translation.inc: backed out change of 7 May;
        we need to use " to expand $PROJECT var
    - scheduler:
        take work_buf_min into account in deciding whether
        a result will be reported by its deadline.
    - all back end programs:
        better error message if can't parse config file

    html/inc/
        translation.inc
    sched/
        *.C

David  11 May 2007
    - web RPC: fix bug in XML variant in show_user.php, bad-ID case.

    html/user/
        show_user.php

David  11 May 2007
    - Manager: show (in Project/status) if a sched RPC is in progress

    clientgui/
        ViewProjects.cpp
        ViewProjectsGrid.cpp

David  11 May 2007
    - web RPC: show lots more info in team_lookup.php, XML version

    html/inc/
        xml.inc

David  11 May 2007
    - Python tools:
        - removed "add" (long deprecated)
        - version.py is needed only in test/;
            remove references to it in boinc_path_config.py,
            and don't copy it to project/bin

    py/Boinc/
        boinc_path_config.py.in
        setup_project.py
    tools/
        add (removed)

Rom    12 May 2007
    - Change the 'ProductName' in the resource structures to
        'BOINC client' instead of 'BOINC core client'

    client/win/
        boinc_cmd.rc
        boinc_ss.rc
    clientgui/
        BOINCGUIApp.rc

David  14 May 2007
    - scheduler: add max_wus_in_progress option.
        Limits total # of in-progress results per host
        (independently of #CPUs)

    sched/
        sched_config.C,h
        sched_resend.C
        sched_send.C
        server_types.h

David  14 May 2007
    - core client: in statefile read, set avp->platform
        before linking.
    - core client: when parse app_info.xml,
        set platform to primary platform.
        Otherwise anonymous platform mechanism doesn't work.
    - GUI RPC: in attach project RPC, check for
        already attached even in config file case

    client/
        cs_statefile.C
        gui_rpc_server_ops.C
        scheduler_op.C
        time_stats.C

David  14 May 2007
    - core client: on attach to project,
        if the initial sched request failed,
        the manager would show "communicating" for 60 sec,
        then time out and show "failed to attach".
        But the project would actually be attached.
        This was due to a logic error,
        but I fixed it in a more fundamental way:
        by considering an attach to be complete immediately,
        without waiting for a successful scheduler RPC.

        This was originally done to ensure that the URL and account key
        were valid.
        But when using the BOINC Manager, we've already verified
        both of these before doing the attach project RPC.

        When using boinc_cmd, you now have to check for messages
        indicating a bad URL or account key.
        I changed things to print these messages on every sched RPC.

        Implementation: the notion of "tentative project" no longer exists.

    client/
        client_state.C,h
        client_types.C,h
        cs_account.C
        cs_benchmarks.C
        cs_scheduler.C
        gui_rpc_server_ops.C
        scheduler_op.C
        sim.C
        sim_util.C

David  14 May 2007
    - API: Eric Myers reported that my 4 May checkin
        (which increased worker thread stack size to the limit
        returned by getrlimit())
        broke his app on several Linux platforms.
        So I added a worker_thread_stack_size element to BOINC_OPTIONS.
        If you want an increased stack size, set this.
    - web RPC: add <url> and <local_revision> elements to
        the XML returned by get_project_config.php

    html/user/
        sample_get_project_config.php
    api/
        graphics_impl.C

David  14 May 2007
    - client: fix bug where:
        1) client wakes up from hibernate
        2) one or more network ops start (e.g. because backoff expired)
        3) ops fail because DNS system isn't up yet
        4) connect to reference site fails too
        5) user sees "please create physical connection",
            even though there's been a physical connection the whole time.
        Solution:
        - keep track of "last wakeup time": the last time the
            time of day (measured in poll_slow_events())
            increased by more than 10 times the polling interval.
            This must be either coming out of hibernation,
            or the user resetting the system clock.
        - When a network operation fails, try to contact the reference site
            only if it's more than 30 seconds after the last wakeup time.

    client/
        client_state.C,h
        net_stats.C

Rom    15 May 2007
    - MGR: Increase the connection timeout to one minute to account
        for slow machines during boot-up.
        
    clientgui/
        MainDocument.cpp

David  15 May 2007
    - client: change Win program launch to suppress hourglass cursor
    - client simulator: add --cpu_sched_rr_only and --dual_dcf options

    client/
        app.h
        app_start.C
        client_types.C,h
        cpu_sched.C
        cs_scheduler.C
        sim.C,h
        work_fetch.C

David  15 May 2007
    - user web: add 
        $s = '$s';
        at top of compiled translation files,
        to allow re-ordering of format codes
        (from H. Komori)

    html/inc/
        translation.inc

Rom    16 May 2007
    - Tag for 5.9.11 release, all platforms
      boinc_core_release_5_9_11
    
    client/
        configure.ac
        version.h

David  17 May 2007
    - sort team-lookup results by avg credit desc

    html/user/
        team_lookup.php

Charlie 17 May 2007
    - Mac: Change "GridRepublic Manager" to "GridRepublic Desktop" in 
        GridRepublic ReadMe file.

    mac_installer/
        GR-ReadMe.rtf

Charlie 18 May 2007
    - Mac: New shell script make_GridRepublic.sh creates a GridRepublic 
        installer from a standard (unbranded) Mac BOINC installer plus 
        the GridRepublic branded resources: GridRepublic.icns, 
        GridRepublic.tiff, GR_ReadMe.rtf and skin files. 

    mac_installer/
        make_GridRepublic.sh

David  18 May 2007
    - client simulator: fix cpu_sched_rr_only bug
    - boinc_cmd: canonicalize URLs
    - user web: fix link to Top Teams
    - back end: remove code related to alternate download dir

    client/
        cpu_sched.C
        sim.C
    html/
        inc/
            stats_sites.inc
        user/
            stats.php
    lib/
        boinc_cmd.C
    sched/
        file_deleter.C
        sched_config.C,h

David  18 May 2007
    - fix bugs in job_times.php; it shows the correct mean and stdev now.

    html/ops/
        job_times.php

Charlie 19 May 2007
    - Mac installer: if installer package includes a custom skin, set 
        preferences of all users to that skin.
        
    mac_installer/
        PostInstall.cpp

Janus    20 May 2007
    - Added BEncoded lists to the Bittorrent serverside utility classes

    html/bt/inc/
        blist.php (new)

Rom     21 May 2007
    - Bug Fix: fprintf is an ANSI function in Linux, convert Unicode
        string to ANSI before writing them to sdterr.
    - Bug Fix: Fix the abort button logic, VS 2005 was throwing some
        useful warnings.
        
    clientgui/
        SkinManager.cpp
        ViewWork.cpp
        ViewWorkGrid.cpp

David  21 May 2007
    - scheduler: fix bug that caused crash in anonymous platform case;
        don't send result platform or version num if anon platform.
    - back end: parse server status-related config elements
        (wwww_host etc.) to avoid XML warnings

    sched/
        sched_config.C
        sched_send.C
        server_types.C

David  21 May 2007
    - client: if anonymous platform, don't match platform/version
        in lookup_app_version(); just match app

    client/
        client_state.C

David  21 May 2007
    - feeder: the query change of 13 April broke the -random_order,
        -priority_order, -priority_order_create_time,and -mod options
        (from Nicolas Maire)

    sched/
        feeder.C

Rom    21 May 2007
    - fixes #182 - System tray icon should be removed for both exit
        scenarios.
        
    clientgui/
        BOINCBaseFrame.cpp
        BOINCTaskBar.cpp

David  21 May 2007
    - API: don't include config.h in a few places

    api/
        graphics_impl.C
        texture.C
        tgalib.C

David  21 May 2007
    - feeder: fixed SQL query again
    - start script: print error if host has no daemons
    - client: fix bug if #CPUs changes during benchmark

    client/
        cs_benchmark.C
    sched/
        feeder.C
        start

Janus    22 May 2007
    - Fixed missing version trackers in BInteger, BList classes
    - Added BString class for BEncoded strings for the Bittorrent code

    html/bt/inc/
        blist.php
    binteger.php
    bstring.php (new)

Rom    22 May 2007
    - fixes #85 - Both Grid based views and List based views are now
        available.

    clientgui/
        AdvancedFrame.cpp, .h
        Events.h

Rom    22 May 2007
    - fixes #187 - Fix the initial refresh interval for the various
        views.
    
    clientgui/
        AdvancedFrame.cpp, .h

David  22 May 2007
    - scheduler: fix FCGI compile
    - API: add files for version 6 graphics

    api/
        Makefile.am
        graphics2.C (new)
        graphics2_unix.C (new)
        graphics2_win.C (new)
    sched/
        Makefile.am

David  22 May 2007
    api/
        graphics2.C
        graphics2_win.C

Charlie 22 May 2007
    - Manager: Fix crash bug in wxPieCtrl.
    - Mac: Add list control sources back into XCode Project 
        (ViewTransfers.cpp,.h, ViewWork.cpp,.h,ViewProjects.cpp,.h)
    - Mac: Revert XCode project, build scripts and build instructions to use 
        wxMac-2.6.3 as a temporary workaround to SimpleGUI drawing bug.  
        
    clientgui/
        wxPieCtrl.cpp
    mac_build/
        buildWxMac.sh
        HowToBuildBOINC_XCode.rtf
        setupForBOINC.sh
        boinc.xcodeproj/
            project.pbxproj

David  22 May 2007
    - lib/filesys: do timed retry of delete/rename on Unix as well as Win
    - client: sleep 1 sec (not 60) before retry statefile write
    - client: parse <credit> in workunit XML
    - scheduler: better error messages if insert_wu_tags() fails

    api/
        graphics2_unix.C
    client/
        client_state.C
        client_types.C
    lib/
        filesys.C
    sched/
        sched_send.C

Rom    23 May 2007
    - MGR: Make it as plain as day what the new menu item it geared
        towards by calling it the accessible view.

    clientgui/
        AdvancedFrame.cpp

Rom    23 May 2007
    - Tag for 5.9.12 release, all platforms
      boinc_core_release_5_9_12
    
    client/
        configure.ac
        version.h

Janus    23 May 2007
    - Added "IllegalArgumentException" class for use in the remainin BT code
    - Also added the class which will be used to represent the contents of
      a .torrent descriptor.
      This class can generate (hopefully!) valid .torrents and register the file
      that the torrent points to with the database for later tracking.
      The constructor takes a list of webseeds (HTTP servers) as input together
      with an URL where the tracker can be found - and of course the file that it
      should generate data for.

    html/bt/inc/
        torrent.php (new)
    illegalargumentexception.php (new)

David  23 May 2007
    - client: unscrambled some of the #ifdefs in hostinfo_unix.C
        In Linux case, if measured RAM size is negative, print some info.

    client/
        hostinfo_unix.C

David  23 May 2007
    - client, Unix: always use 1 (rather than slot#) in ftok().
        Slot is already encoded in path.
    - client, Linux: get memory size from /proc/meminfo
        rather than sysconf()

    client/
        app_start.C
        hostinfo_unix.C

Jeff  23 May 2007
    - fixed a linkage problem whereby the fcgi_file_upload_handler was
      linking to some non-fcgi versions of .o files.  This was resulting
      in segfaults.
    - added an fcgi entry counter to the file_upload_handler

    sched/
        Makefile.am
        file_upload_handler.C

David  23 May 2007
    - debug version 6-style graphics on Windows.
        New example app works now!

    api/
        graphics2.C,h
        graphics2_util.C
        graphics2_win.C
    lib/
        util.C,h

David  23 May 2007
    - debug version-6-style graphics on Unix

    api/
        Makefile
        graphics2.h
        graphics2_win.C
        graphics2_util.C
        graphics2_unix.C
    lib/
        shmem.h

Charlie 23 May 2007
    - Mac: Remove obsolete XCode project script phase for separate SG 
        build symbol table.
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

David  24 May 2007
    - Add a mechanism for a project to shut down gracefully.
        If <ended>1</ended> is included in config.xml,
        this gets send to clients,
        and they display a "Project ended - OK to detach" message.

    client/
        client_state.C
        client_types.C,h
        scheduler_op.C
    clientgui/
        VIewProjects.cpp
        VIewProjectsGrid.cpp
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.C
        gui_rpc_client_print.C
    sched/
        main.C
        sched_config.C,h
        server_types.C

David  24 May 2007
    - client, Windows: when making calls to get free disk space
        (e.g. pGetDiskFreeSpaceEx())
        pass the path of the current directory instead of NULL.
        Otherwise, if we're running as an unprivileted user
        with no access to the root dir,
        the call fails and reports zero free space.

    lib/
        filesys.C

David  24 May 2007
    - renamed texfont.c to texfont.C to fix automake warning

    api/
        texfont.C (changed c to C)
        Makefile.am

David  26 May 2007
    - Add GUI RPC to set projects debts (short and long term).
        Lets you set all of them at once, as suggested by Nicolas Alvarez.
        fixes #131

    client/
        gui_rpc_server_ops.C
    html/user/
        sample_index.php
    lib/
        boinc_cmd.C
        gui_rpc_client.h
        gui_rpc_client_ops.C

David  27 May 2007
    - Manager: make some strings translatable, and fix them

    clientgui/
        sg_StatImageLoader.cpp
        sg_ProjectsComponent.cpp
        sg_ViewTabPage.cpp
        DlgAdvPreferences Base.cpp

Rytis   27 May 2007
    - Donations system (running via PayPal).
        NOTE: DB updated needed. Documented in
        http://boinc.berkeley.edu/trac/wiki/PayPalDonations
        
    db/
        schema.sql
    html/user/
        currency.js
        donate.php
        donated.php
        donation_ipn.php
        donations.php
        img/
            paypal_logo.png

David  28 May 2007
    - Unix: 'make install' copies certificate authority file
        to client directory

    client/
        Makefile.am

David  28 May 2007
    - user web: host-merging logic was wrong for Intel CPUs
        with MHz instead of GHz in their names.
    - user web: it no hosts eligible for merging, say so
        instead of showing blank table

    html/
        inc/
            host.inc
        user/
            host_edit_form.php

Rom    29 May 2007
    - fixes #207 - HTML entities in BOINC Manager have to be decoded
    
        BOINC Manager can now properly decode HTML entites for the
        following elements:
        
            Projects Tab:
                Project Name
                User Name
                Team Name
            Work Tab:
                Project Name
                Application Name
            Transfers Tab:
                Project Name
            Messages Tab:
                Project Name
            Disk Tab:
                Project Name
    - fixes #212 - Info in columns misaligned on switching views
    - Properly restore which tab view the user left from when going
        to the advanced view from the simple view
    - Fix the problem that caused the manager to wait for 7 seconds
        to display anything on initial startup.
    - Store the various Grid/List persisted data seperately so that
        the different header sizes don't cause problems.
    
    clientgui/
        AdvancedFrame.cpp
        BOINCBaseView.cpp, .h
        BOINCGridCtrl.cpp
        ViewMessages.cpp, .h
        ViewMessagesGrid.cpp, .h
        ViewProjects.cpp, .h
        ViewProjectsGrid.cpp, .h
        ViewResources.cpp, .h
        ViewStatistics.cpp, .h
        ViewTransfers.cpp, .h
        ViewTransfersGrid.cpp, .h
        ViewWork.cpp, .h
        ViewWorkGrid.cpp, .h
    lib/
        gui_rpc_client_ops.C

Rom    29 May 2007
    - Disable HtmlEntityEncode/HtmlEntityDecode on all platforms but
        Windows for now.
    - Change all references of mb_str() to c_str() in SkinManager.cpp
        to avoid SIGILL's on Unicode environments.
    - fixes #215: Customize the VBS script used to launch BOINC Manager
        for each system we install on.

    clientgui/
        BOINCBaseView.cpp
        SkinManager.cpp
    win_build/installerv2/
        BOINC.ism
        BOINCx64.ism
    win_build/installerv2/redist/Windows/
        BOINC Manager.vbs (Deleted)
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.sln
        boinccas95.vcproj
        CACreateVBSShortcut.cpp, .h (Added)
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll
        
Rom    29 May 2007
    - Tag for 5.10.0 release, all platforms
      boinc_core_release_5_10_0
    
    client/
        configure.ac
        version.h

David  29 May 2007
    - client: add cmdline options --exit_before_start and --exit_after_finish.
        This cause the core client to exit immediately before or after
        running a job,
        letting you examine the contents of the slot directory.
    - scheduler: changed max # of CPUs used in daily_result_quota
        limit from 4 to 8, and make it a compile-time parameter
    - feeder/scheduler: make the number of work items in shared
        memory configurable (in config.xml).
        The element is <shmem_work_items>
    - feeder: make the size of the work item query configurable
        (<feeder_query_size)
    - feeder: remove code related to removing infeasible results
        from shared mem.
        This mechanism was never needed,
        and I think a timeout would accomplish the same effect.

    client/
        app.C
        app_start.C
        client_state.C,h
        cs_cmdline.C
    sched/
        feeder.C
        sched_array.C
        sched_config.C,h
        sched_send.C
        sched_shmem.C,h
        sched_util.C
        show_shmem.C

David  29 May 2007
    - Scheduler: increased the resolution of homogeneous redundancy (HR)
        e.g. distinguish between models of Intel and AMD
    - Scheduler: add a quick HR check that doesn't access the DB
    - Transitioner: if a workunit has >0 error results and no success results,
        set its HR class to zero
    From M.F. Somers.

    db/
        boinc_db.C,h
    sched/
        sched_array.C
        sched_hr.C,h
        transitioner.C

Rom    29 May 2007
    - fixes #220: 5.10.0 won't install on Win98
    - fixes #11: Installer installs autostart command when not
        selected (Win9x)

    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.rc
        boinccas95.vcproj
        CACreateVBSShortcut.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll
        
Charlie 30 May 2007
    - Client: fix compile break.
    - Mac: Fix substantial build breaks in reorganized hostinfo_unix.C.
    
    client/
        cs_cmdline.C
        hostinfo_unix.C

Rom    30 May 2007
    - MGR: _() is for static content, wxGetTranslation is for dynamic
        content.
        
    clientgui/
        sg_StatImageLoader.cpp

David  30 May 2007
    - fixed --help output of client and boinc_cmd
        (from Frank Thomas)
        Fixes #222

    lib/
        boinc_cmd.C
    client/
        cs_cmdline.C

David  30 May 2007
    - user web: fix bug in host merge function
    - core client: fix bug in set_debt() GUI RPC
    - scheduler: some of the "quick checks" in scan_work_array()
        are applicable to locality scheduling also,
        so they should be moved to wu_is_infeasible().
        I did this for one: the check for one result
        per user (or host) per WU.  Should do for others.

    client/
        gui_rpc_server_ops.C
    html/
        host_edit_action.php
        host_edit_form.php
    sched/
        sched_array.C
        sched_send.C,h

David  30 May 2007
    - user web: added new feature to merge hosts by name.
        This is handy if you have a lot of hosts,
        and every now and then they get a new host ID
        (e.g. because you delete and reinstall BOINC).
        You can now merge all of them with a single click.

    html/
        inc/
            host.inc
        user/
            host_edit_action.php
            merge_by_name.php (new)
            hosts_user.php

David  30 May 2007
    - add token protection to the previous checkin;
        for prefs edit, don't demand token if only showing form.
        (opt_out.php doesn't supply tokens)

    html/user/
        prefs_edit.php
        merge_by_name.php

David  30 May 2007
    - scheduler: add debugging msg for HR reject

    sched/
        sched_hr.C,h
        sched_array.C

Charlie 31 May 2007
    - Fix compiler warning.

    lib/
        boinc_cmd.C

Rom    31 May 2007
    - MGR: Make sure get_cc_status is called only once a second.
        Polling should be taken care of via MainDocument functions
        to make sure that RPCs calls do not become excessive.
        
    clientgui/
        AccountManagerPropertiesPage.cpp
        BOINCDialupManager.cpp
        ProjectPropertiesPage.cpp

David  31 May 2007
    - scheduler: move HR check to wu_is_infeasible()
        In principle, a project can now use both
        locality scheduling and homogeneous redundancy.
    - scheduler: do HR check before deadline check,
        since the latter is slower.
    - scheduler: wu_is_infeasible() doesn't return a bitmap.
        Change its return values to sequential numbers.
    - scheduler: ignore <accelerator> and <p_capabilities> tags

    sched/
        sched_send.C,h
        sched_array.C
        sched_locality.C
        server_types.C

Rom    31 May 2007
    - MGR: Get rid of an exit(0) call since it is evil in Windows
        programs.

    clientgui/
        MainDocument.cpp

Rom    1 June 2007
    - WinSETUP: Add an exception handler to the VBS script so if the
        user cancels the launch of BOINC Manager at startup the script
        itself doesn't throw an error message.

    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.rc
        CACreateVBSShortcut.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

David  1 June 2007
    - Get memory measurements to work on Win64.
        The format of a process descriptor had changed a little,
        and the format of the VM stats part was completely changed.
        I had to reverse engineer it - very unpleasant.

    lib/
        diagnostics_win.h
        procinfo.h

David  1 June 2007
    - client: a few more network_status_debug messages

    client/
        client_state.C
        net_stats.C

David  3 June 2007
    - client: allow suspension of non-CPU-intensive project or app
        (undoes checkin of 25 Jan 2005; I don't remember why we
        made that change.  Next time put in checkin notes!)
    - client: Linux: show error msg if can't open /proc/cpuinfo
        or /proc/meminfo; set memory size of 1 GB in latter case.
        Remove duplicate code that read /proc/meminfo
    - 'start' script; handle <disabled>0</disable> in tasks and daemon
        elements of config.xml (can't handle <disable/>, however).

    client/
        gui_rpc_server_ops.C
        hostinfo_unix.C
    sched/
        feeder.C
        start

David  3 June 2007
    - client: fix inconsistent integer benchmarks on Windows
        with multicore machines.  I don't know why this happened,
        but I fixed it by doing integer benchmarks only on CPU zero.
        This is OK since cores have separate integer units
        (but not necessarily FP units)
        Also shortened benchmark from 60 sec to 30 sec.

    client/
        cs_benchmark.C

Rytis   5 June 2007
    - user web: add a separate preference for private message notification
        emails.
        NOTE: needs DB update, see html/ops/db_update.php
        
    db/
        schema.sql
    html/
        inc/
            forum_pm.inc
            forum_user.inc
        ops/
            db_update.php
        user/
            edit_forum_preferences_action.php
            edit_forum_preferences_form.php

David  4 June 2007
    - Client (Unix) show process exit codes as negative numbers also
        (e.g., to show BOINC error codes correctly)
    - get_project_config.php: add an element that lists the
        platforms supported by this project
        (i.e. for which there's a non-deprecated app version)
        Cache this info in a file (cache/platform_list.xml)
        so that it will be available even when the project's DB is down.
    - Rename sample_get_project_config.php to get_project_config.php;
        a project should no longer need its own version of this file.
        Change setup_project accordingly.

    client/
        app_control.C
    html/user/
        get_project_config.php (new)
        sample_get_project_config.php (removed)
    py/Boinc/
        setup_project.py

Rom    4 June 2007
    - fixes #221: Win64 - attach/syncronice AMS crash Manager.
    
      The manager was getting stuck in an infinite loop since a
      bool wasn't being explicitly initialized to false.
      
    clientgui/
        AccountManagerProcessingPage.cpp

Rom    4 June 2007
    - Tag for 5.10.1 release, all platforms
      boinc_core_release_5_10_1
    
    client/
        configure.ac
        version.h

Rom    5 June 2007
    - MGR: Bug Fix for suspend/resume operations not updating
        in the UI after the user selected operation.
        
    lib/
        gui_rpc_client_ops.C

Rom    4 June 2007
    - Tag for 5.10.2 release, all platforms
      boinc_core_release_5_10_2
    
    client/
        configure.ac
        version.h

Charlie 6 June 2007
    - Mac: Minor fix to error handling when setting permissions.
    - Mac: Create "Uninstall BOINC" application, modify build scripts 
        to include it in release package with BOINC Manager.
    - Mac: Fix a bug in release_GridRepublic.sh build script which 
        created a bogus " BOINC Data/locale" directory (with a bad 
        leading space character.)
    
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
        Uninstaller-Info.plist (new)
    mac_installer/
        uninstall.cpp (new)
        make_GridRepublic.sh
        release_GridRepublic.sh
        release_boinc.sh
        GR-ReadMe.rtf
        ReadMe.rtf
    clientgui/
        mac/
            SetupSecurity.cpp
            SetVersion.C

David  6 June 2007
    - new <platform> elements in get_project_config.php
        confuse the client because their <name> element
        gets parsed as the project name.
        Work around by changing to <platform_name>.
    
    Note: here (and everywhere else) if we get an unparsed XML tag
        we should skip to past the close tag.
        I'll put this in soon.

    html/user/
        get_project_config.php

Rom    6 June 2007
    - WinSETUP: The VBS custom action should delete the existing
        VBS script when executing in uninstall mode.

    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.rc
        CACreateVBSShortcut.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

Janus    6 June 2007
    - Fixed a small display error on the pending credit page (the
      workunitid-column was showing the resultid for the result.

    html/user/
        pending.php

Charlie 6 June 2007
    - Mac: Fix a minor bug which caused an assert in backtrace code.
    - Mac: Define NDEBUG in all projects for all deployment builds.
    
    lib/
        mac/
            mac_backtrace.C
            QBacktrace.c
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rom    7 June 2007
    - WinSETUP: The VBS custom action should delete the existing
        VBS script in the various uninstall modes.

    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.rc
        CACreateVBSShortcut.cpp, .h
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

Charlie 7 June 2007
    - Mac: Further work on "Uninstall BOINC" application: use various 
        techniques to try to locate BOINC Manager in non-standard 
        directories, use branding-independent search techniques.
        to include it in release package with BOINC Manager.
    - Mac: Update visible copyright date from 2006 to 2007.
    
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
        Uninstaller-Info.plist
        English.lproj/
            InfoPlist.strings
    mac_installer/
        uninstall.cpp
        make_GridRepublic.sh
        release_GridRepublic.sh

Rom    7 June 2007
    - fixes #241: BOINC Manager should only display one of each project,
        no matter how many time you switch to and from the page.

    clientgui/
        ProjectInfoPage.cpp, .h

David  8 June 2007
    - rename BOINC_DIAG_USEDEFALUTS (??) to BOINC_DIAG_DEFAULTS

    api/
        boinc_api.C
    lib/
        diagnostics.h

David  8 June 2007
    - API: added boinc_register_timer_callback() for V6 graphics.
        This lets the app do things
        (e.g. updated shared memory for graphics) every second.
    - API: change signature of boinc_worker_thread_cpu()
    - API: rename worker_timer() to timer_handler()
    - API (win): got rid of timer_quit_event (not used)
    - API (version 6 graphics): removed extern C stuff
    - client: improved the handling of unrecognized XML
        Old: suppose we have
            <name>foobar</name>
            <unrec>
               <name>blah</name>
            </unrec>
            where "<unrec>" is unrecognized.
            We'd skip the <unrec>, but parse the <name> within it.
            This wrong.
        New: skip the entire unrecognized element
        NOTE: I implemented this in the new parser (XML_PARSER)
        and added it for everything that uses XML_PARSER.
        The old parser still isn't quite right:
        it will skip until the next </unrec>,
        but not necessarily the matching instance of that tag.
    - client: added error messages for unparsed XML in several places
    - client/lib: use "else-less" syntax in XML parsing code

    api/
        boinc_api.C,h
        graphics2.h
        greaphic2_win.C
    client/
        acct_mgr.C
        cs_statefile
        gui_rpc_server_ops.C
        log_flags.C
        net_stats.C
    lib/
        app_ipc.C
        gui_rpc_client_ops.C
        parse.C,h
        prefs.C

David  8 June 2007
    - compile fix

    api/
        graphics_api.C

Charlie 8 June 2007
    - Mac: Add application icons to installer, uninstaller; add 
        "are you sure?" dialog to uninstaller.  Fix installer 
        copyright and version strings.

    clientgui/
        res/
            MacInstaller.icns (new)
            MacUninstaller.icns (new)
            GR_install.icns (new)
            GR_uninstall.icns (new)
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
        Uninstaller-Info.plist
        Installer-Info.plist
        English.lproj/
            InfoPlist.strings
    mac_installer/
        uninstall.cpp
        make_GridRepublic.sh
        release_GridRepublic.sh

Rom    8 June 2007
    - fixes #237 - current BM fails to build with wxWidgets
        unicode variant
      (Applied Frank Thomas's patch)
    
    clientgui/
        SkinManager.cpp

David  8 June 2007
    - fix bugs introduced by recent XML changes

    lib/
        gui_rpc_client_ops.C
        parse.C
        prefs.C
        
Rom    8 June 2007
    - Tag for 5.10.3 release, all platforms
      boinc_core_release_5_10_3
    
    client/
        configure.ac
        version.h

David  8 June 2007
    - sched compile fix

    sched/
        server_types.C

Charlie 8 June 2007
    - Mac: Better application icons for installer, uninstaller.
    - Mac: move uninstaller, COPYING and COPYRIGHT files to a 
        subdirectory in Manager distributions.

    clientgui/
        res/
            MacInstaller.icns
            MacUninstaller.icns
            GR_install.icns
            GR_uninstall.icns
    mac_installer/
        release_boinc.sh
        make_GridRepublic.sh
        release_GridRepublic.sh

David  9 June 2007
    - client: fixed bug in prefs parsing

    lib
        prefs.C

Rom    8 June 2007
    - Tag for 5.10.4 release, all platforms
      boinc_core_release_5_10_4
    
    client/
        configure.ac
        version.h

David  11 June 2007
    - manager: fix bug in parsing of all-projects list
        (caused Wizard list to be empty)
    - manager: change (web) to WWW

    client/
        acct_mgr.C
        cs_statefile.C
    clientgui/
        ProjectListCtrl.cpp
    lib/
        gui_rpc_client_ops.C

Janus    11 June 2007
    - Added checks.php containin common code between the bittorrent tracker
      and the scraping mechanism.
    - Fixed some of the SVN properties for the BT-related files.

    html/bt/inc
        checks.php (new)

David  11 June 2007
    - client: if statefile has an app version an unknown platform,
        change it to the primary platform.
        The probably cause of this is that the user switched to
        a 64-bit client, then back to the 32-bit client.
        If we reject the app version, it would e.g. cause CPDN
        WUs to get aborted in the middle.

    client/
        cs_statefile.C

David  11 June 2007
    - change new XML parser to handle XML comments (<!-- ... -->)

    client/
        log_flags.C
    lib/
        parse.C,h

David  11 June 2007
    - client: enforce_schedule(): if try to preempt a
        process that's not running, at least mark it as preempted.
        (this should never happen in principle)
    - API: compile fix for Mac

    api/
        graphics2_unix.C
    client/
        cpu_sched.C

David  11 June 2007
    - Project initialization: create project home page
        and schedulers.txt file in a way that will work
        with UMTS ISPs (which strip out comments)

    html/user/
        sample_index.php
    py/Boinc/
        setup_project.py

Rom    11 June 2007
    - Tag for 5.10.5 release, all platforms
      boinc_core_release_5_10_5
    
    client/
        configure.ac
        version.h

Charlie 12 June 2007
    - Mac: Installer writes all_projects_list.xml file to BOINC 
        Data directory unless it already contains one.  This 
        avoids overwriting a newer project list with an older one.
        
    mac_installer/
        PostInstall.cpp
        release_boinc.sh
        release_GridRepublic.sh

David  12 June 2007
    - client: fetch all-projects list at startup if it doesn't exist
    - client: if result in statefile is labeled with unsupported platform,
        set its platform to primary
        (this completes the fix of 11 June, hopefully fixes #262)

    client/
        client_state.C
        cs_statefile.C

David  12 June 2007
    - client: when I changed the length of benchmark intervals
        from 20 to 10 seconds, this broke things on ultra-slow CPUs.
        I think this is because a single loop of the FP
        benchmark took so long that the end time of the int
        benchmark had already come and gone.
        Fixed this (I hope) by reducing the loop length
        by a factor of 10.

    client/
        cs_benchmark.C
        dhrystone.C
        whetstone.C

David  12 June 2007
    - API: initialize all fields on BOINC_OPTIONS.
        Fixes a bug that caused crash on 64bit Linux
        (from M.F. Somers)

    api/
        boinc_api.h

Rom    12 June 2007
    - MGR: If the screen resolution is too small for the Simple GUI
        switch to the Advanced GUI automatically.
    - MGR: If a screen reader is detected, switch to the Advanced
        GUI list view automatically.
        
    clientgui/
        AdvancedFrame.cpp
        BOINCGUIApp.cpp

Rom    12 June 2007
    - MGR: Only detect if the host name is local once per connection.
    
    clientgui/
        MainDocument.cpp, .h

David  12 June 2007
    - scheduler: add no_darwin_6 option
        (don't send work to Mac OS X 10.2 or earlier).
        This used to be #ifdef in by Einstein@home.
    - scheduler: add no_amd_k6 option
        (don't send work to AMD K6 CPUs)

    sched/
        handle_request.C
        sched_config.C,h

Janus  12 June 2007
    - Added an index page giving clues about potential misconfigurations in the BT
      serverside setup. Once the remaining parts of the code are in place it should
      be possible to use this page as a guide on where to look for any errors.

    html/bt/
        index.php (new)

Charlie 12 June 2007
    - Mac: Exit Client if launched by Manager and Manager crashed.
    - Sandbox: clean up authentication logic for privileged operations 
        (attach, detach, reset, etc.), fixing bugs.
    - Mac Sandbox: free authorization after authenticating.
    - Mac: Add graphics2_util.C to XCode Project for libboinc_api.a.
    - Mac: Fix bug in XCode project which sometimes overwrote 
        symbol table files with stripped application.

    client/
        cs_prefs.C
    clientgui/
        MainDocument.cpp
        mac/
            MacGUI.cpp
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rom    13 June 2007
    - Tag for 5.10.6 release, all platforms
      boinc_core_release_5_10_6
    
    client/
        configure.ac
        version.h

David  13 June 2007
    - API: XML parsing glitch caused apps to always run standalone,
        not report CPU time etc.

    lib/
        app_ipc.C
        prefs.C

David  13 June 2007
    - API: set timer thread stack size to 16KB
    - Scheduler: for no_amd_k6 option, check CPU vendor as well as model

    sched/
        handle_request.C
    api/
        boinc_api.C

David  13 June 2007
    - parse_str(): remove unnecessary checks
    - client: allow app_info.xml to have multiple versions
 
    lib/
        parse.C
    client/
        client_state.C
        scheduler_op.C

David  13 June 2007
    - Added project.xml entry for Playstation 3 / Linux
    - Server status page: if the scheduler isn't running,
        it's almost certainly because "stop_sched" is present,
        not because Apache isn't running.
        Get rid of the use of "sched_pid".

    tools/
        project.xml
    html/ops/
        sample_server_status.php

David  14 June 2007
    - Scheduler: changed the <homogeneous_redundancy> option
        from a bool to an int:
        0 = no HR
        1 = HR with fine-grained classification (from MF Somers)
        2 = HR with coarse-grained classification (from WCG)

        Note: numerical equivalence depends on your application
        and how it's compiled.  Some apps may need classifications
        other than these two.  Contact me if so.

    sched/
        sched_hr.C
        sched_config.C,h


Rom    14 June 2007
    - Branch for 5.10 release, all platforms
      boinc_core_release_5_10

David  14 June 2007
    - scheduler: support per-app HR type, specified in the DB;
        this supercedes the global HR type specified in config.xml
    - API: eliminate small memory leak
        (if reread app init file, free malloc'd project prefs from last time)
    - file upload handler: parse <md5_cksum> to avoid error msg

    lib/
        app_ipc.C
    sched/
        file_upload_handler.C
        sched_array.C
        sched_hr.C,h
        sched_send.C,h

David  14 June 2007
    - GUI RPC: add graphics_exec_path and slot_path fields to RESULT.
        These let the Manager run the graphics app.
        Graphics apps have physical name *v6graphics*
    - Separated ACTIVE_TASK::write() and ACTIVE_TASK::write_gui().
        These need to write largely disjoint set of items.
    - code cleanup: remove a zillion "else"s in parsing code
    - code cleanup: change a zillion match_tag(buf, "<foo/>"
        to parse_bool(buf, "foo")

    client/
        app.C,h
        client_state.C
        client_types.C,h
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.C
    sched/
        server_types.C

David  14 June 2007
    - user web: added Burma to country list
    - admin web: removed deprecated create-account scripts

    html/
        inc/
            cache.inc
            country.inc
        ops/
            create_account_form.php (removed)
            create_account_action.php (removed)
            show_log.php

Rom    16 June 2007
    - WINSETUP: Remove the VBS Script custom action and put back
        the shortcut to BOINC Manager.
        
    win_build/installerv2/
        BOINC.ism
        BOINCx64.ism

Rom    16 June 2007
    - MGR: Revert back out the change to cache the host type
        (local/remote). Somehow it was messing up controlling
        remote machines.

    clientgui/
        MainDocument.cpp, .h

Janus    17 June 2007
    - Added the .torrent-generator which will (at some point) allow 
      projects to dynamically generate .torrent-data for their files.

    html/bt/
        torrent_cache.php (new)

Rom    17 June 2007
    - MGR: Check initial function to launch v6graphics if it exists
        in the slot directory.
        
        NOTE: Only implemented in the advanced view list controls
          for now.

    clientgui/
        Events.h
        ViewWork.cpp, .h

Charlie 19 June 2007
    - Mac: Fix visible copyright and version strings in installer and 
        uninstaller.

    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rom    19 June 2007
    - Set version number to 5.11.0 to start off the 6.0 development cycle.
    
    /
        configure.ac
        version.h

David  19 June 2007
    - manager: v6 graphics fixes.  doesn't work yet

    clientgui/
        ViewWork.cpp
    lib/
        util.C,h

Rom    19 June 2007
    - MGR: Misc v6 graphics fixes
    
    clientgui/
        sg_ViewTabPage.cpp
        ViewWork.cpp
        ViewWorkGrid.cpp

David  19 June 2007
    - manager: v6 graphics fixes.  doesn't work yet

    client/
        client_state.C
    lib/
        gui_rpc_client_ops.C

David  19 June 2007
    - manager: v6 graphics fixes.
        Works now, with a few problems

    clientgui/
        ViewWork.cpp
    lib/
        util.C

David  20 June 2007
    - back end: make it possible to run multiple instances of make_work,
        for WUs of different applications
        (need to count unsent results separately by app)
    - feeder: major code cleanup
        - application interleaving (for -allapps) is now done
            by building a static slot-to-app array "app_indices".
            Fractional weights now work correctly.
        - enum sizes (for -allapps) are now precomputed
            in an array "enum_sizes"
        - rename "found" (confusing!!) to "collision"
        - swapped the names of mod_select_clause and select_clause,
            to reflect what they actually are
    - file deleter: in finding oldest WU, order by id instead of create_time
        (there's no index on create_time)
    - user web: show "merge by name" only to host owner
    - add cpu_scheduler_period() member to GLOBAL_PREFS
        (so you don't have to multiply by 60 everywhere)
    - infinite() fix for HPUX

    client/
        cpu_sched.C
        cs_cmdline.C
        cs_scheduler.C
        rrsim_test.C
        sim.C
        work_fetch.C
    html/user/
        hosts_user.php
    lib/
        parse.h
        prefs.h
    sched/
        feeder.C
        file_deleter.C
        make_work.C
        sample_work_generator.C
        sched_util.C,h
    tools/
        updater.C

David  20 June 2007
    - feeder: more code cleanup

    sched/
        feeder.C

David  20 June 2007
    - added "census", a program that counts up how much RAC
        there is for each HR class, and writes it to a file.
        This will be used soon for HR support in the feeder.
    - split the HR code into hr.C,h (stuff used by both census and scheduler)
        and sched_hr.C (stuff used only by the scheduler)
    - database: change DB_CREDITED_JOB to treat workunitid
        as a double (which it is) rather than a long.
        BTW, long == int.
    - fixed lots of compile warnings in the server code

    db/
        boinc_db.C,h
    lib/
        boinc_cmd.C
        miofile.C
        util.C
    sched/
        Makefile.am
        census.C (new)
        feeder.C
        file_deleter.C
        file_upload_handler.C
        handle_request.C
        hr.C,h (new)
        main.C
        sample_assimilator.C
        sample_work_generator.C
        sched_array.C
        sched_hr.C,h
        sched_send.C
        server_types.C
        transitioner.C
        validator.C

David  20 June 2007
    - random compile warning fixes

    client/
        auto_update.C
        file_names.h
        scheduler_op.C
        time_stats.C
    lib/
        util.C,h
    tools/
        create_work.C
        updater.C

Janus    21 June 2007
    - Added the scraping mechanism for Bittorrent support
        (not all Bittorrent clients actually support this,
        but those that do get an increased performance boost and
        don't have to contact the more expensive announce.php
        nearly as often as those that do not support it.
        Since it hasn't yet been decided which BT library we
        will be using I just added scraping anyways.

    html/bt/
        scrape.php (new)

David  21 June 2007
    - user web: fixed bug in private-message code
    - back end: moved HR_INFO to a separate file;
        did some debugging in HR code

    html/
        inc/
            forum_user.inc
            util.inc
        user/
            forum_pm.php
    sched/
        Makefile.am
        census.C
        feeder.C
        hr.C,h
        hr_info.C,h (new)

Charlie 22 June 2007
    Sandbox: fix switcher call to kill to eliminate error 
        message and to correctly send SIGKILL instead of 
        SIGTERM.
        
    client/
        app_start.C

David  22 June 2007
    - client: when you read a file into a string with:
            loop
                read a line X
                S += X
        it performs real bad if the file is large
        (allocation of std::string seems to stupid)
        So I changed this to
            find file size n
            read file into malloced buf size n
            S = buf
            free buf
    - lib: moved functions to appropriate file
            
    client/
        acct_setup.C
        cs_prefs.C
    lib/
        parse.C,h
        str_util.C,h
        util.C,h

David  22 June 2007
    - compile fixes for Win

    client/
        acct_setup.C
        cs_prefs.C
        cs_trickle.C
    lib/
        filesys.C
        str_util.C,h
        util.C,h
    tools/
        updater.C
    win_build/
        sim.vcproj

David  22 June 2007
    - client: fix two XML parsing bugs:
        1) XML_PARSER::parse_int() and parse_double() wouldn't parse
            <foo></foo>, and in fact would consume the </foo>,
            so that the resulting skip_unexpected()
            would skip the entire rest of the document.

            This was exercised because my checking of 17 Apr
            set the default for work_buf_min_days as "" rather than 0.

        2) XML_PARSER::scan_tag() was removing spaces,
            so <venue name="home"> parsed as venuename="home"
            This actually didn't do any damage.

    lib/
        parse.C
        prefs.C

David  22 June 2007
    - client: read only first 63KB of stderr.txt
    - user web: default work_buf_min_days is 0, not ""

    html/inc/
        prefs.inc
    client/
        app_control.C

David  22 June 2007
    - feeder: added a new enumerator of DB_WORK_ITEM that,
        on successive calls, scans through ALL the sendable
        jobs satisfying the select clause
        (it does this by ID order, so there's no order clause)
        This is used for HR, so that if a job has been committed
        to an HR class, we eventually get it.

        With extremely minimal testing, the new HR stuff seems to work.

    db/
        boinc_db.C,h
    sched/
        feeder.C
        sample_work_generator.C
        server_types.C

Charlie 23 June 2007
    Mac: if (log_flags.state_debug) print debugging info when rename 
        of client_state_next.xml to client_state.xml fails
    Sandbox: fix build break.

    client/
        cs_statefile.C
    lib/
        filesys.C

Charlie 24 June 2007
    Mac: Fix bugs when user chooses Quit from menubar icon menu and 
        then cancels in confirmation dialog. 
    Mac: Modify XCode project not to copy header files into Manager bundle.
    
    clientgui/
        BOINCGUIApp.cpp
        BOINCTaskBar.cpp
        mac/
            MacSysMenu.cpp
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 25 June 2007
    CC: Add logic to scheduler, etc. for systems which limit the number 
        of shared memory segments per process and / or system-wide.  
        Mac OS X has default limits of 8 shmem segments per process, 32 
        max system wide.
        - Don't treat failure to allocate & attach to shared memory as a 
            computation error.
        - Destroy shared memory segments associated with all tasks which 
            exit, not just those with a finished file.  This frees up a 
            segment for use by another task.
        - If we run out of shared memory, start a 10 second timer during 
            which don't try to run tasks unless they are already attached 
            to shared memory (suspended tasks left in memory qualify.)
        - If a task is waiting for shared memory to become available, 
            display this in the Manager's tasks pane.
        - Added a new log flag stress_shmem_debug for testing scheduling 
            logic when we run out of shared memory.
        
    QUESTIONS for further development:
        - Note that it is quite easy to run out of shared memory segments if 
            the leave-suspended-tasks-in-memory option is set.  (The shared 
            memory channel must remain active for heartbeats and to tell the 
            task when to resume.)
            - Should we override this option if we run out of shared memory 
                segments?  
            - What about tasks left in RAM because they don't checkpoint?
        - If BOINC crashes, its shared memory is not removed.  In some 
            cases, when BOINC is relaunched it will use the same key and 
            so can re-attach to the orphaned segments, but this won't always 
            happen.  This can cause problems with the system-wide limits.
            We can't mark the segment for removal when we create it, because 
            doing so (by calling shmctl with IPC_RMID) would remove its key 
            so the project application couldn't attach to it.
            But we could do this safely after the first successful response 
            from the project application.  Should we make this change?

    client/
        app.C,h
        app_control.C
        app_start.C
        client_state.C,h
        cpu_sched.C
        log_flags.C,h
    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp
    lib/
        shmem.C,h
        gui_rpc_client.h
        gui_rpc_client_ops.C

Charlie 25 June 2007
    Mac: Fix bugs in XCode script phases which create visible copyright and 
        version strings in installer and uninstaller.

    mac_build/
        boinc.xcodeproj/
            project.pbxproj
            
David  25 June 2007
    - Manager: if a job is running EDF, show "high priority" in status
    - compile fixes for Charlie's next-to-last checkin
    
    client/
        client_state.h
        cpu_sched.C
        sim.h
        sim_util.C
    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp

David  25 June 2007
    - added hr_info.*

    sched/
        hr_info.C,h

Charlie 25 June 2007
    CC: More scheduler tweaks for shared memory: clear retry_shmem_time
        when releasing shared memory, value of stress_shmem_debug log
        flag sets number of shared memory segments to make unavailable.
        Fix bug: reversed comparison of retry_shmem_time.

    client/
        app.C
        client_state.C
        cpu_sched.C
        log_flags.C,h
    lib/
        shmem.C,h

David  25 June 2007
    - manager: improve wording in advanced prefs dialog

    clientgui/
        DlgAdvPreferencesBase.cpp,h

David  25 June 2007
    - manager and client: fixed bug where only one day-of-week
        preference would be parsed.

    lib/
        prefs.C,h

David  25 June 2007
    - add new stats site
    - back end: use boinc_mkdir to get permissions right

    html/inc/
        stats_sites.inc
    lib/
        filesys.C
    sched/
        db_dump.C
        db_purge.C
        feeder.C

Charlie 27 June 2007
    CC: Problem: On Mac OS X and some other systems, shared memory 
        segments remain allocated unless the owner has marked them 
        for destruction with shmctl(id, IPC_RMID, 0), causing shared 
        memory leaks if BOINC crashes or exits suddenly (e.g., due 
        to being called with --exit_after_finish).
        But on Mac OS X and some other systems, this shmctl command 
        also prevents any more processes from attaching.
        Solution: On *nix systems, BOINC marks shared memory segment 
        for destruction as soon as we receive first message or trickle 
        down from the project application, so BOINC has confirmation 
        that the task has attached.  The segment will automatically be 
        destroyed after all attached processes have detached or exit.

    client/
        app.C,h
        app_control.C
        app_start.C
    lib/
        shmem.C

David  27 June 2007
    - user web: host merge: skip disjoint-time check
        if one of the hosts has zero credit

    html/inc/
        host.inc

David  27 June 2007
    - user web: host merge: don't require OS names to match exactly;
        OK if both contain "Windows", "Linux", "SunOS" or "Darwin".

    html/inc/
        host.inc

David  27 June 2007
    - client: allow up to a day (rather than work_buf_min()) to elapsed
        between completing a result and reporting it.
    - back end: added <httpd_user> config option:
        Web server user name (used by file deleter)
    - back end: don't report unparsed XML in config.xml as an error

    client/
        app.h
        work_fetch.C
    lib/
        shmem.C
    sched/
        file_deleter.C
        file_upload_handler.C
        sched_config.C,h
        show_shmem.C

Matt  27 June 2007
   - added strip_bbcode tags and updated show_uotd function so that
     front page doesn't get clobbered when showing summary of UOTD
     that contains obnoxiously large graphics

   html/inc/
       util.inc
       uotd.inc

Rom    27 June 2007
    - DIAG: Visual Studio 2005 enforces parameter checking, and if
        a parameter is wrong it just terminates the process with
        a 0xc000000d. This is a shot in the dark but I think it
        is a good guess as to what is happening right now.
        
    lib/
        diagnostics.C, .h
        diagnostics_win.C

David  27 June 2007
    - user web: host merge: consider CPUs compatible if both
        are vendor "AuthenticAMD".

    html/inc/
        host.inc

Charlie 28 June 2007
    CC: Back out my shared memory changes of 27 June because it might 
        prevent compound applications from attaching to the shared 
        memory as needed.  Instead, add code to delete_old_slot_dirs() 
        to check for and delete the possible orphan shared memory 
        segment at BOINC startup for each slot directories with an 
        init_data.xml file.

    client/
        app.C,h
        app_control.C
        app_start.C
        file_names.C
    lib/
        shmem.C

David  28 June 2007
    - API: set fraction_done to 1 in boinc_finish()

    api/
        boinc_api.C

David  29 June 2007
    - client: code cleanup.  Was looking for fopen()s without fclose(),
        didn't find any.

    client/
        cs_scheduler.C
        app_start.C
        time_stats.C

Rom    29 June 2007
    - WIN: Update 2003 project files
    - WIN: Re-introduce manifests for 2003 built files.

    /
        <Numerious Files>

Charlie 29 June 2007
    Mac: Update user-visible copyright dates from 2006 to 2007

    clientgui/
        mac/
            SetVersion.C

David  30 June 2007
    - GUI RPC: debug set_debts handler.  Fixes #131

    client/
        gui_rpc_server_ops.C

Rom    2 July 2007
    - MGR: Adjust menu names.
    
    clientgui/
        AdvancedFrame.cpp
        Events.h

Rom    2 July 2007
    - CC: Remove calls to kill_all_children.
    
    client/
        app_control.C

David  2 July 2007
    - client: fix bug that broke <os_random_only> option
    - client and Manager: attempts to fix problems
        if <guirpc_debug> is set

    client/
        gui_rpc_server_ops.C
    clientgui/
        MainDocument.cpp
    lib/
        gui_rpc_client_ops.C
        md5_file.C

David  2 July 2007
    - client: add <simple_gui_only> config flag
    - GUI RPC: add disallow_attach and simple_gui_only flags
        to CC_STATUS structure

    client/
        gui_rpc_server_ops.C
        log_flags.C,h
    html/inc/
        stats_sites.inc
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.C

Bruce 3 July 2007
    - Einstein@Home specific hack to locality scheduler.
      If deleting a file with name matching pattern h1_XXXX.XX_S5R22
      generate corresponding l1_XXXX.XX_S5R2 pattern and delete it also.
      This is needed because E@H is doing file locality scheduling with
      PAIRS h1_... and l1_... of files. Yuk.  I am not proud of this.

    sched/
        sched_locality.C

David  3 July 2007
    - Added program sched/sched_driver.C.
        This generates a sequence of scheduler requests,
        with host info taken from a file,
        that you can feed into the scheduler (cgi --batch)
        to simulate things like homogeneous redundancy
    - Added args to XML_PARSER::skip_unexpected() to you can say
        whether to write messages to stderr for unparsed stuff.
        This is set to true if log_flags.unparsed_xml is set (client)
        or if debug_level is 3 (server)
    - removed references to $(LIBRSA) in Makefile.am's

    client/
        Makefile.am
        acct_mgr.C
        gui_rpc_server_ops.C
        log_flags.C
    lib/
        Makefile.am
        app_ipc.C
        gui_rpc_client_ops.C
        parse.C,h
        prefs.C
    sched/
        Makefile.am
        sched_config.C
        sched_driver.C

Janus    3 July 2007
    - Added the bittorrent tracker code
    - Also added a simple file filter that accepts any file present in the
      download directory for tracking (or whatever directory is set to be the
      data directory).
      FileFilter is the class to subclass if you need some kind of special rules
      on which files to allow your tracker to track. (Some projects may want to
      disallow tracking of workunit files while allowing tracking of application 
      files etc.)
      Once the base system has been done there'll be different file filters to
      chose from.

    html/bt/
        announce.php (new)
    html/bt/filters/ (new)
        filefilter.php (new)
    allfilesfilefilter.php (new)

David  4 July 2007
    - scheduler: the "max_wus_in_progress" option only worked if
        "resend_lost_results" option was used also
        (because the count of in-progress results was
        based from the DB query used by resend_lost_results).

        Fix: initialize the count of in-progress results to
        the list provided in the scheduler request.
    - scheduler: add "--mark_jobs_done" flag; if set, all jobs
        sent are marked as done, and their WUs enabled for transition.
        This is used for simulation purposes,
        in conjunction with sched_driver.
    - scheduler: if --batch option is set, don't check RPC seqnos
        (for simulation purposes)

    sched/
        Makefile.am
        handle_request.C
        main.C,h
        sched_driver.C
        sched_send.C
        server_types.h

Janus    4 July 2007
    - Made the top hosts page translation aware
        (which I should have done 2-3 years ago...)
        It now uses the same caching mechanism as the other two top pages.
        Projects applying this update should consider clearing
        their cache directory for immediate effects -
        or just wait a short while and let the cache do its own work.

    html/
        user/
            top_hosts.php
        languages/translations/
            en.po

Rytis   5 July 2007
    - user web: make sure that all links that have URL_BASE have slashes after
        it. This makes a slash in the end of URL_BASE definition in
        project/project.inc no longer necessary.
        
    html/
        <numerous files>

David  5 July 2007
    - feeder: add debugging feature:
        if you send it a USR1 signal, it writes a summary
        of the shmem contents and HR state to the log file

    sched/
        feeder.C
        hr_info.C,h
        sched_shmem.C,h
        show_shmem.C

David  6 July 2007
    - Back end: add a feature for "blackballing" hosts.
        To do this, set host.max_results_day to -1.
        If you do this, scheduler requests from that host
        will get an error message, and will otherwise be ignored
        (no jobs in or out, no trickles).
    - Scheduler: send_message() should be called ONLY if you're
        not going to call handle_request();
        otherwise we'll write two separate replies.
        To fix this, I added a separate function (send_error_message())
        that can be called within handle_request()
        to deal with error situations.
    - Scheduler: moved debug_sched() to main.C
    - Scheduler: moved logic to send "delete file" commands
        out of handle_request() into a separate function,
        send_file_deletes() in sched_locality.C.
        Remove #ifdef EINSTEIN_AT_HOMEs; maybe someday another project
        will use locality scheduling!

    db/
        boinc_db.h
    sched/
        handle_request.C
        main.C,h
        sched_locality.C,h
        sched_send.C
        server_types.C,h
        transitioner.C

Rom    6 July 2007
    - Additional support for VS Express Edition.
    
    clientlib/win/
        boinc_dll.rc

David  6 July 2007
    - added sample host-distribution file for HR

    sched/
        sample_hr_info.txt

David  6 July 2007
    - client: change order so that backoff because of no work
        happens before server-requested backoff (eliminate double messages)

    client/
        cs_scheduler.C
        scheduler_op.C
    html/inc/
        stats_sites.inc
    sched/
        hr_info.C


David  6 July 2007
    - bug fix to the above

    client/
        scheduler_op.C

David  7 July 2007
    - Client: radically faster (on Win) version of dir_size()
        (from John McLeod)

    lib/
        filesys.C

Janus    8 July 2007
    - Fixed an issue causing people to appear anonymous in the top hosts
        pages on projects with no automatic MySQL connection set up.
    
    html/user/
        top_hosts.php

David  9 July 2007
    - client: add "dont_contact_ref_site" config flag;
        suppresses connectivity-testing connections to google.com

    client/
        log_flags.C,h
        net_stats.C

Rom    9 July 2007
    - MGR: Workaround a crash issue by only dealing with the frame
        pointer if the manager is told to quit by the cc.
        
    clientgui/
        MainDocument.cpp

David  9 July 2007
    - feeder: simplified DB query
    - make_project: remove space after URL in schedulers.txt

    db/
        boinc_db.C
        constraints.sql
    py/Boinc/
        setup_project.py

Charlie 10 July 2007
    Mac: log_flags.state_debug prints errno when rename of 
        client_state_next.xml to client_state.xml fails

    client/
        cs_statefile.C

David  10 July 2007
    - client: run_if_user_active pref applies to both
        network transfers and CPU usage.
        (Note: maybe we should have a separate pref for this).

    client/
        client_state.C,h
        cs_prefs.C

David  10 July 2007
    - scheduler: FCGI version would crash if stop_sched is set

    sched/
        main.C

David  10 July 2007
    - added a stats site 
    - added return value for copy_stream()

    html/inc/
        stats_sites.inc
    lib/
        parse.C,h
        api/gutil.C

Charlie 11 July 2007
    Mac Installer: use sh shell (bash) instead of csh for 
        postinstall and postupgrade scripts.
    Mac Installer: installer creates skins directory if it 
        doesn't already exist.
    MGR: Check correct menu item in View menu when launching Manager 
        or when returning from Simple View.

    clientgui/
        AdvancedFrame.cpp
    mac_installer/
        postinstall
        postupgrade
        release_boinc.sh
        release_GridRepublic.sh

David  11 July 2007
    - Manager: make various strings translatable (from Mifistor)

    clientgui/
        AccountInfoPage.cpp
        sg_ImageButton.cpp
        sg_ViewTabPage.cpp

Eric K. 11 July 2007
    - Web: result display: Changed text for display of results cancelled by
      server (exit_status=-221).

    html/inc/
        result.inc

David  11 July 2007
    - client simulator: added '--work_fetch_old' option.
        If set, the simulator uses an approximation of the old
        work fetch policy, where the client tries to maintain
        an amount of work for each project equal to
        the buffer size times its relative resource share

    client/
        sim.C,h
        work_fetch.C

David  12 July 2007
    - client simulator: add --line_limit option;
        splits up HTML output into multiple fixed-size files

    client/
        sim.C,h

David  12 July 2007
    - client simulator: rename "variety" to "monotony",
        and redefine it so the range is
        zero (no monotony) to one (maximal monotony)

    client/
        sim.C,h

David  13 July 2007
    - client: if CA bundle file isn't in BOINC directory,
        don't tell Curl to look for it there.
        It might be in the default place where Curl looks.

    client/
        file_names.h
        http_curl.C
    html/inc
        stats_sites.inc

David  13 July 2007
    - API: fix unlikely memory leaks in graphics

    api/
        texture.C

David  13 July 2007
    - API: some out-of-mem checks

    api/
        gutil.C
        texture.C
        tgalib.C
    client/
        cs_apps.C
        http_curl.C

David  13 July 2007
    - GUI RPC: added "detach_when_done" and "dont_detach_when_done"
        project-control options.
        Made these available in boinc_cmd.
        Fixes #335.

    client/
        gui_rpc_server_ops.C
    lib/
        boinc_cmd.C
        gui_rpc_client_ops.C

David  14 July 2007
    - user web: fix image URL on home page.  Fixes #340

    html/user/
        sample_index.php

David  14 July 2007
    - client: print time zone message at startup
    - Manager: removed ForceRefresh() calls in grid views;
        reduces CPU usage, still seems to work (from Frank Weiler)
                Fixes #291.

    client/
        client_state.C
        cpu_sched.C
    clientgui/
        ViewMessagesGrid.cpp
        ViewProjectsGrid.cpp
        ViewTransfersGrid.cpp
        ViewWorkGrid.cpp

Charlie 16 July 2007
    - Mac client: always show UNIX error if state file rename fails.
    
    client/
        cs_statefile.C

David  16 July 2007
    - Manager: in grid views, don't sort unless needed (from Frank)
    - client: show OS name/version in message at startup

    client/
        client_state.C
    clientgui/
        BOINCGridCtrl.cpp,h
        ViewWorkGrid.cpp

David  16 July 2007
    - client: if can't write state file, don't immediately exit,
        but don't do anything other than handle GUI RPCs.
        After 50 secs, print an "about to exit" message.
        After 60 seconds, exit

    client/
        client_state.C,h

David  16 July 2007
    - Manager: changed wording the "Choose a project" page
        of attach wizard.
        At least one person was confused by 'WWW';
        he thought you clicked there to choose project.

    clientgui/
        ProjectInfoPage.cpp
        ProjectListCtrl.cpp


Charlie 17 July 2007
    - Manager: Fixed bug in task grid view: code was always using the 
        grid row number as index into results vector. Added a hidden 
        column COLUMN_RESULTS_INDEX to hold index into results vector 
        for the data in each row, so it is available after sorting grid.
        This allows the changes of 16 July 2007 to work properly.

    clientgui/
        ViewWorkGrid.cpp

David  17 July 2007
    - scheduler: move startup checks (stop_sched, shmem) inside FCGI loop.
        Hopefully this will make it feasible to run scheduler
        even when project is down.
    - lib: fix cygwin build error

    lib/
        filesys.C
    sched/
        main.C

Charlie 17 July 2007
    - Manager GridCtrl: Don't save/restore width of hidden/invisible columns.
        Fix Compile error on some platforms.

    clientgui/
        BOINCGridCtrl.cpp
        ViewWorkGrid.cpp

David  18 July 2007
    - user web: team founder transfer request requires nonzero total credit

    html/user/
        team_founder_transfer_form.php

Rytis   18 July 2007
    - user web: add a feature to mark all threads as read (forums).
    
    html/inc/
        forum.inc
        forum_user.inc
    html/user/
        forum_forum.php
        forum_index.php

David  18 July 2007
    - back out my last change.
        There are a number of situations where this is undesirable.

    html/user/
        team_founder_transfer_form.php

Charlie 18 July 2007
    - Manager: Update disk pie chart only if something has changed (from 
        Frank Weiler)
    - Manager: don't call GetWorkCount() unnecesaarily in ViewWorkGrid.cpp.
    
    clientgui/
        ViewResources.cpp,.h
        ViewWorkGrid.cpp

David  19 July 2007
    - User web and client: added a new pref "suspend_if_no_recent_input"
        that lets you suspend computation after a specified period of idleness.
        This is necessary to allow some machines to go into low-power mode
        when they're not being used.
    - Change the wording of some existing prefs; for example, changed
        "Do work while computer is in use?" to
        "Suspend work while computer is in use".
        The former is confusing - if you say yes, BOINC may in fact
        NOT do work while the computer is in use,
        due to other factors (time of day, etc.)
    TODO: HOST_INFO::users_idle() should be changed so that it
        returns the idle time
        (rather than telling you whether we've been idle for X)

    client/
        client_state.C,h
        cs_prefs.C
        hostinfo_unix.C
    html/inc/
        prefs.inc
    lib/
        common_defs.h
        prefs.C,h

David  20 July 2007
    - sample app: adapt the one from boinc_samples
        fixes #341

    apps/
        upper_case.C
    sched/
        handle_request.C

David  20 July 2007
    - update_versions: don't accept a multi-file application
        unless there's a main program with same name as dir
        (previously it was treating the first executable file found
        as the main program, with occasionally disastrous consequences).
        Fixes #350

    tools/
        update_versions

Charlie 20 July 2007
    Mac: changes for libcurl 7.16.4.

    mac_build/
        boinc.xcodeproj/
            project.pbxproj
        buildcurl.sh
        setupForBoinc.sh
        HowToBuildBOINC_XCode.rtf
        
David  20 July 2007
    - client: add mechanism to abort results if they get > 100
        "premature exits" (exit(0) without finish file) between checkpoints

    client/
        app_control.C
        app.C,h
    lib/
        error_numbers.h

David  23 July 2007
    - user web: moved functions to send specific messages out of email.inc
    - user web: code cleanup involving team founder transfer,
        and improved the text of some messages

    db/
        boinc_db.h
    html/
        inc/
            team.inc
            email.inc
        ops/
            problem_host.php
        user/
            team_change_founder_form.php
            team_founder_transfer_action.php
            team_founder_transfer_form.php

David  24 July 2007
    - user web: code cleanup related to team creation.
        Make a single function that creates teams
        and cleanses arguments.
    - API: don't include config.h in parse.h.
        This file is included from apps
        (indirectly, via graphics_api.h)
        so it shouldn't assume that config.h exists

    db/
        boinc_db.h
    html/
        inc/
            db.inc
            team.inc
            team_types.inc
            util.inc
        user/
            create_account.php
            create_team.php
            team_create_action.php

David  25 July 2007
    - user web: code cleanup related to user creation.
        Make a single function that creates users and cleanses args.

    html/
        inc/
            countries.inc
            team.inc
            user.inc
        user/
            create_account.php
            create_account_action.php

David  25 July 2007
    - add support for "BOINC teams" (to be explained later)

    html/
        inc/
            team.inc
        ops/
            team_export.php
            team_import.php

David  25 July 2007
    - more teams stuff

    html/
        inc/
            db.inc
        ops/
            team_export.php
            team_import.php
        user/
            repair.php (deleted)

David  27 July 2007
    - client: fix bug that caused "no shared memory segment" errors,
        introduced in 20 July checkin

    client/
        app_control.C
    clientgui/
        ProjectInfoPage.cpp
        ViewWork.cpp
        ViewWorkGrid.cpp

David  27 July 2007
    - user web: added mechanism for recording team membership changes.
        These are stored in a new DB table, "team_delta".
        The team founder can view the history in HTML or XML
        (links on Management Functions page)
        REQUIRES DB UPDATE

    db/
        constraints.sql
        schema.sql
    html/
        inc/
            team.inc
        ops/
            db_update.php
        user/
            team_delta.php (new)
            team_join_action.php
            team_manage.php
    tools/
        make_project

David  28 July 2007
    - client: fix bug where if you get no work from a project
        with zero delay_request,
        the client immediately requests more work

    client/
        client_types.h
        cs_scheduler.C

Charlie 30 July 2007
    - Manager: don't call GetWorkCount() repeatedly in CViewProjectsGrid, 
        CViewTransfersGrid and CViewMessagesGrid.
    
    clientgui/
        ViewMessagesGrid.cpp
        ViewProjectsGrid.cpp
        ViewTransfersGrid.cpp

David  31 July 2007
    - client: don't crash if use --detach_project option
        (fixes #283)
    - client: canonicalize URLs in all cmdlines
    - db_update.php: don't prompt for DB name/host; get it from config file
        (fixes #356)

    html/ops/
        db_update.php
    client/
        cs_cmdline.C

Charlie 31 July 2007
    - Graphics API: Don't render graphics when application is suspended 
        to reduce CPU usage.
    
    api/
        x_opengl.C

David  1 Aug 2007
    - feeder: created shared mem seg with 0666 rather than 0660.
        In principle 0660 should work (assuming apache belongs to admin group)
        but apparently on some Linux systems it doesn't,
        and the feeder gets "can't attach to shared mem" errors.
    - scheduler: print uid/gid info if can't attach to shared mem
    - user web: fix bug in team founder transfer form

    sched/
        main.C
    html/user/
        team_founder_transfer_form.php
    lib/
        shmem.C

David  1 Aug 2007
    - GUI RPC: added get_global_prefs_network()
        and get_global_prefs_working()

    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.C
    client/
        gui_rpc_server_ops.C
        cs_prefs.C

Charlie 1 Aug 2007
    - MGR: Populate Simple and Advanced Preference dialogs with current 
        values of preferences (including any overrides), not with 
        defaults or old (possibly stale) values.
        
    lib/
        gui_rpc_client_ops.C
    clientgui/
        DlgAdvPreferences.cpp
        sg_DlgPreferences.cpp

Charlie 2 Aug 2007
    - GUI RPC: rename get_global_prefs_network() to get_global_prefs_file() 
        to make it clear this returns the contents of the file which was 
        obtained from the network (i.e., web-based preferences) and not just 
        the prefernces affecting network connectivity.
    - GUI RPC: Add get_global_prefs_working_struct().
    - MGR: call get_global_prefs_working_struct() for both preference dialogs.
    - MGR: Dialup Manager updates current preferences from client before using 
        them.

     client/
        gui_rpc_server_ops.C
    clientgui/
        BOINCDialupManager.cpp
        DlgAdvPreferences.cpp
        sg_DlgPreferences.cpp
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.C

Rom    2 Aug 2007
    - DIAG: Disable symbol server technology for applications where a symbol
        server isn't specified.
    - MGR: Provide some additional text to the begining of the attach to project
        wizard when the client is attached to an account manager. Warn the user
        that the AMS will not know about the project or its stats.
    - MGR: Fix dialog titles for the Simple GUI dialogs.
    - MGR: Eliminate bogus error messages when using the default skin.
    - MGR: Introduce new logo into the manager
    - MGR: Introduce the notion of the syncronize button in the Simple GUI.
        NOTE: This button will replace the 'attach to project' button when
        the manager detects that the client is attached to an account manager.
    
    client/win/res/
        icon.ico
    clientgui/
        DlgAbout.cpp
        sg_DlgMessages.cpp
        sg_DlgPreferences.cpp
        SkinManager.cpp, .h
        WelcomePage.cpp
    clientgui/res/
        boinc.xpm
        boinc_logo.xpm
        BOINCGUIApp.ico
    clientgui/res/templates/
        boinc.ico
        boinc16.bmp
        boinc32.bmp
        boinc48.bmp
        boinc128.bmp
        boinc256.bmp
        boinc_logo.gif
    lib/
        stackwalker_win.cpp

Eric K      06 Aug 2007
    -added new functions boinc_suspend_graphics_thread() and
     boinc_resume_graphics_thread(), so apps can suspend the graphics
     threads for critical sections without suspending all threads.
     Only implemented under WIN32 thus far.
    api/
        graphics_lib.[Ch]

Rom    7 Aug 2007
    - MGR: Respect the disallow_attach and simple_gui_only status
        flags in both the simple GUI and advanced GUI.
    - MGR: Enable the syncronize button in the simple GUI which
        just causes an account manager update request.
    - MGR: Fix an overactive assert in debug builds

    clientgui/
        AdvancedFrame.cpp
        Events.h
        sg_BoincSimpleGUI.cpp
        sg_ProjectsComponent.cpp, .h
        SkinManager.cpp
        WelcomePage.cpp
    clientgui/res/skins/default/graphic
        syncronize_button.xpm (Added)
        syncronize_clicked_button.xpm (Added)
    clientgui/res/templates/skins
        btnSynronize.png (Added)
        btnSynronizeClick.png (Added)

Rom    8 Aug 2007
    - MGR: Update taskbar icons.
    
    clientgui/res/
        boinc.xpm
        boincdisconnect.xpm
        boincsnooze.xpm
    clientgui/res/templates/
        boincsnooze.ico
        boincdisconnect.ico

David  10 Aug 2007
    - client: timezone reflects daylight savings time (Win)
        from David Barnard; fixes #334
    - GUI RPC: add <success/> replies for ops that don't return anything
    - GUI RPC: check args for project_attach
    - GUI RPC: return error (not blank) if no prefs override file
    - add error string for ERR_TOO_MANY_EXITS

    client/
        gui_rpc_server_ops.C
        hostinfo_win.C
    lib/
        str_util.C

David  10 Aug 2007
    - Manager: show the AMS name, not the skin name, in Wizard

    clientgui/
        WelcomePage.cpp

David  10 Aug 2007
    - Manager: change "Retry communications" to "Do network communication"
    - client: use gethostname() to get host name on Linux

    client/
        hostinfo_network.C
    clientgui/
        AdvancedFrame.cpp
    lib/
        error_numbers.h

Janus    11 Aug 2007
    - Added a DB table creation query for the BT file table

    html/bt/database/
        bittorrent_files.sql (new)

Rom    13 Aug 2007
    - SCR: Move screensaver related files out of the CC directory
        structure and put it into its own directory structure.
        
    client/win/
        boinc.scr.manifest (deleted)
        boinc_ss.h (deleted)
        boinc_ss.rc (deleted)
        boinc_ss_2003.rc (deleted)
        win_screensaver.cpp, .h (deleted)
    clientscr/
        boinc.scr.manifest (added)
        boinc_ss.h (added)
        boinc_ss.rc (added)
        boinc_ss_2003.rc (added)
        win_screensaver.cpp, .h (added)

Charlie 13 Aug 2007
    Fix compiler warnings.
    
    client/
        hostinfo_network.C
    clientgui/
        WelcomePage.cpp

Charlie 14 Aug 2007
    Sandbox: Create boinc_exec() function for invoking switcher and 
        setprojectgrp utilities instead of calling system(). POSIX 
        requires that if a shell is invoked by a setuid / setgid 
        process, the shell is run using the real UID and GID. This 
        was not enforced by Mac OS 10.4, but will be enforced by 
        OS 10.5. The system() calls invoke the shell, so we must 
        use fork() and execv() instead.
    MGR: Add transparency mask to boinc_logo.xpm.

    client/
        app_control.C
        file_names.C
    clientgui/
        res/
            boinc_logo.xpm
    lib/
        filesys.C, h

Rom    14 Aug 2007
    SCR: Enable V6 style applications, screensaver is no longer
           compatible with v5 style graphics.
    
    clientscr/
        screensaver.cpp, .h
        screensaver_win.cpp, .h

David  14 Aug 2007
    - XML RPC: add user name, ID to team_delta.php XML version

    html/user/
        team_delta.php

Charlie 15 Aug 2007
    Mac MGR: Work around bugs in wxMac 2.82 - 2.8.4 to fix wxPieCtrl 
        to work correctly on wxMac 2.6.3 - 2.8.4.
    
    clientgui/
        common/
            wxPieCtrl.cpp,h
        mac/
            MacGUI.pch

Rom    15 Aug 2007
    - SCR: Fix the new screensaver so that it doesn't start a new
           graphics window every second.
    - LIB: CreateProcess always returns a 1 on success, which means
           the last part of the run_program function was never being
           executed.
    
    clientscr/
        screensaver_win.cpp
    lib/
        util.C

Rom    15 Aug 2007
    - MGR: Fix the synchronize button and variables.
    
    clientgui/
        sg_ProjectsComponent.cpp, .h
        SkinManager.cpp, .h
    clientgui/res/skins/default/graphic
        synchronize_button.xpm
        synchronize_clicked_button.xpm
    clientgui/res/templates/skins/
        btnSynchronize.png
        btnSynchronizeClick.png

Rom    15 Aug 2007
    - MGR: Update taskbar icons.
    
    clientgui/res/
        boinc.xpm
        boincdisconnect.xpm
        boincsnooze.xpm
    clientgui/res/templates/
        boincsnooze.ico (deleted)
        boincdisconnect.ico (deleted)
        boinc.gif (added)
        boincdisconnect.gif (added)
        boincsnooze.gif (added)

David  16 Aug 2007
    - client: add a <data_dir> option in cc_config.xml;
        tells the client to use this as the data directory
    - scheduler: improve the message telling the client that
        more disk or memory is needed;
        tell them the minimum amount needed to
        send any of the jobs rejected,
        rather than the amount needed for the first job rejected
    - manager: fix text in "connect now" dialog

    client/
        client_state.C
        log_flags.C,h
    clientgui/
        BOINCDialupManager.cpp
    sched/
        sched_locality.C
        sched_send.C
        server_types.h
        transitioner.C

David  16 Aug 2007
    - screensaver fix

    clientscr/
        screensaver_win.cpp

Rom    16 Aug 2007
    - MGR: Update skin manager for the following changes:
             project name = application short name
             company name = organization name
             company website = organization website
             added organization help url.
             
           See http://boinc.berkeley.edu/trac/wiki/ManagerSkin
             for details.
             
    clientgui/
        AdvancedFrame.cpp
        BOINCBaseFrame.cpp
        BOINCDialupManager.cpp
        BOINCTaskBar.cpp
        CompletionPage.cpp
        DlgAbout.cpp
        DlgAdvPreferences.cpp
        sg_BoincSimpleGUI.cpp
        sg_DlgMessages.cpp
        sg_DlgPreferences.cpp
        sg_ProjectsComponent.cpp
        SkinManager.cpp, .h

Rom    16 Aug 2007
    - MGR: Make sure all the dialogs contain the application name
        and do not have BOINC Manager hard coded in them.

    clientgui/
        AdvancedFrame.cpp
        DlgAbout.h
        DlgAdvPreferencesBase.cpp, .h
        DlgOptions.cpp, .h
        DlgSelectComputer.cpp, .h

Rom    16 Aug 2007
    - SCR: Move the call to kill_program to ShutdownSaver instead
        of waiting for the data thread to poll for keyboard and
        mouse activity. If the saver's window proc detects keyboard
        or mouse activity it'll start the shutdown proceedure.
        
    clientscr/
        screensaver_win.cpp

Charlie 16 Aug 2007
    Mac MGR: New Mac application icon built with artwork from Michal 
        Krakowiak.

    clientgui/
        res/
            BOINCMgr.icns

David  16 Aug 2007
    - screensaver fix

    api/
        graphics2_win.C
    lib/
        util.C

David  17 Aug 2007
    - client: change the way upload/download throughput
        estimates are maintained.
        The old way took concurrency into account but ignored compression;
        the new way does the converse.
    - client: maintain new stat: recent average transfer rates.
        This track average up/down throughputs
        (over wall clock time, not just while xfers are active)
        with a half-life of 1 day.
        Will eventually add a new pref: don't fetch new work if
        either of these is above a threshold

    client/
        client_state.C
        file_names.C
        http_curl.C,h
        net_stats.C,h

Charlie 17 Aug 2007
    MGR: Disable Simple GUI if the screen height < 600 (instead of== 480). 
        also disable Simple GUI item in View Menu and prevent switching 
        to Simple GUI.

    clientgui/
        AdvancedFrame.cpp
        BOINCGUIApp.cpp

Rytis   18 Aug 2007
    Forums: return user to the same page after selecting "Mark all threads as read".
    
    html/
        user/forum_index.php
        inc/
            forum.inc
            util.inc

Charlie 19 Aug 2007
    Mac: New Mac application icons built with artwork from Michal 
        Krakowiak.

    clientgui/
        res/
            BOINCMgr.icns
            MacInstaller.icns
            MacUninstaller.icns

Rytis   20 Aug 2007
    Private messages: preview function before sending
    
    html/
        inc/forum_pm.inc
        user/
            forum_pm.php
            white.css

Rom    20 Aug 2007
    SCR: Only choose applications that are currently being
      exected.
    Win SCR: Update screensaver logo.
    Win SCR: Reduce the amount of time the screensaver is stuck in startup mode
      from 10 secs down to 2 secs. It still takes a second or two to download
      state information from the CC.
    
    clientscr/
        screensaver.cpp
        screensaver_win.cpp
    clientscr/res/
        boinc.bmp

Charlie 20 Aug 2007
    Mac SG: Ugly hack for unknown alignment problem on Mac, requested by Kevin 
        Reed
    Mac Uninstaller: Display new image in "Are you sure" dialog showing new 
        BOINC logo going into the trash for non-English speaking users.
    
    clientgui/
        sg_ViewTabPage.cpp
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
    mac_installer/
        uninstall.cpp
        Uninstaller.rsrc (new)

David  21 Aug 2007
    - scheduler: don't show resource share in msgs in cases where
        it's not used.
    - db_purge: add "no_archive" option

    sched/
        db_purge.C
        handle_request.C
        sched_send.C

David  21 Aug 2007
    - scheduler: update host.n_bwdown
        (this was omitted for some reason).
        From Kevin Reed.

    db/
        boinc_db.C

Rom    23 Aug 2007
    - Win Install: Create a custom action for terminating the united
        devices agent for WCG.
        
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.def
        boinccas.rc
        boinccas.vcproj
        CAShutdownUD.cpp, .h (Added)
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

Rytis   24 Aug 2007
    - User web: fix XSS vulnerability in team join/quit/lookup code.
    
    html/user/
        team_join_action.php
        team_join_form.php
        team_lookup.php
        team_quit_action.php
        team_quit_form.php

Rom    24 Aug 2007
    - Win Install: ignore string case before comparing process names.
        
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.rc
        terminate.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

Charlie 25 Aug 2007
    Preferences: Apply David Barnard's patches to fix #363: per-day 
        time preferences work incorrectly.  
    MGR: Prefernces dialogs use cached preferences if connected to older 
        pre-5.10.18 client (before new get_global_prefs_working_struct RPC)
        
    client/
        cs_prefs.C
    clientgui/
        DlgAdvPreferences.cpp
        sg_DlgPreferences.cpp
    lib/
        prefs.C,h
        
Rytis   25 Aug 2007
    User web: allow tokenless translations (takes actual string instead of
        a token). New translation strings should use tra("string") instead
        of tr(TOKEN).
        
    html/inc/
        translation.inc

Rytis   26 Aug 2007
    User web: update web RPC so that project specific preferences are preserved
        if they are missing in the request but present in previous settings
        (to reset them AMS should send <project_specific></project_specific>)
        
    html/user/
        am_set_info.php
        
Rytis   26 Aug 2007
    User web: new functions to show table rows (and headers) with unlimited
        number of columns (table_row() and table_header())
    User web: show credit information in team member list
    
    html/
        inc/util.inc
        user/team_email_list.php

Charlie 27 Aug 2007
    Begin implementation of using memory-mapped files for shared memory.
    As a temporary measure during development, the new shared memory logic 
    is selected by defining USE_FILE_MAPPED_SHMEM.  Once the conversion is 
    complete, we will use these as guideposts to remove the old logic 
    (using shmget,shmat, shmdt, shmctl, key_t, etc.) and then remove the 
    references to USE_FILE_MAPPED_SHMEM.
    Note: these changes are to the HEAD / trunk only, for version 6.
    
    api/
        boinc_api.C
        graphics2.h
        graphics2_util.C
    client/
        app.C
        app_start.C
    lib/
        shmem.C,h

Rom    28 Aug 2007
    - SCR: Move more code into the shared code module
    
    clientscr/
        screensaver.cpp, .h
        screensaver_win.cpp

Rom    28 Aug 2007
    - Tag for 6.1.0 release, all platforms
      boinc_core_release_6_1_0
    
    /
        configure.ac
        version.h

Charlie 28 Aug 2007
    - Mac V6 GFX: Create same shmem file name as for Windows, instead of 
        "gfx_mmap_file". 
        Fix a compiler warning.
    - Mac: Move Mac screensaver files to common clientscr/ directory. 
        Eliminate BOINCSaver.nib.sit, replace with BOINCSaver.nib.
    - Mac: Create new XCode project target to build libboinc_graphics2.a.
    - Mac: add "-D USE_FILE_MAPPED_SHMEM" to compiler flags for XCode 
        project targets which build BOINC Client and BOINC libraries.
    
    api/
        graphics2_unix.C
        graphics2_util.C
    clientgui/
        mac/
            mac_saver_module.cpp (deleted)
            Mac_Saver_ModuleView.m,h (deleted)
            BOINCSaver.nib.sit (deleted)
    clientscr/
        mac_saver_module.cpp (added)
        Mac_Saver_ModuleView.m,h (added)
        res/
            BOINCSaver.nib/ (added)
                classes.nib (added)
                info.nib (added)
                keyedobjects.nib (added)
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 28 Aug 2007
    - Mac V6 GFX: Fix link error when building example app.
    - Mac MGR: Launch the graphics application via a shell by using 
        the UNIX system() api.  This works around "RegisterProcess 
        failed (error = -50)" when using fork() and execv().
    
    api/
        graphics2_unix.C
    clientgui/
        ViewWork.cpp

Charlie 29 Aug 2007
    - MGR: Add V6 GFX support to grid view.

    clientgui/
        ViewWorkGrid.cpp


Rom    29 Aug 2007
    - SCR: Fix a few bugs with the last checkin.
    
    clientscr/
        screensaver.cpp

Charlie 31 Aug 2007
    - Mac: Update screensaver to V6 graphics.  Fix a bug in 
        get_random_graphics_app()

    clientscr/
        mac_saver_module.cpp
        screensaver.cpp,h
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 1 Sep 2007
    - Mac screensaver: replace image in screensaver control panel with 
        new logo, move to common clientscr/res/ directory.
    
    clientgui/
        mac/
            boinc.tiff (deleted)
    clientscr/
        res/
            boinc.jpg (added)
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 2 Sep 2007
    - CC: if running as a daemon, don't set disable_graphics, remove 
        "No application graphics will be available" message.
    - Mac MGR: if  BOINC is running as a service / daemon, connect to 
        BOINC Client before creating menubar icon menu to work around 
        a problem of unknown cause which sometimes made icon unresponsive.
    - Mac: add -daemon flag to script for starting BOINC as a service.

    client/
        client_state.C
    clientgui/
        BOINCGUIApp.cpp
    mac_build/
        Make_BOINC_Service.sh

David  2 Sept 2007
    - client: zero out xfer_speed in HTTP_OP constructor
        (may fix problem w/ #INF bandwidth display)

    client/
        http_curl.C

Charlie 2 Sep 2007
    - improvements to shared memory using memory mapped files.
    
    lib/
        shmem.C

Charlie 3 Sep 2007
    - SCR: Add optional argument to count_active_graphic_apps() and 
        get_random_graphics_app() with the name of a result to avoid. This 
        is useful to periodically switch displayed tasks.  The new argument 
        is ignored if NULL or an empty string; get_random_graphics_app() 
        will choose it only if there is no other candidate. 
    
    clientscr/
        mac_saver_module.cpp
        screensaver.cpp,h

David  3 Sept 2007
    - client: when a job finishes, read last (not first) 63KB of stderr
    - client: parse <cpid_time> in scheduler reply;
        add cpid_time field to PROJECT.
        This defaults to the user_create_time.
        In deciding which CPID to send in a scheduler request,
        use the one with oldest cpid_time (not user_create_time).
        This is the client half of fixing a bug that causes
        CPID to flip/flop between to values in a certain case.

    client/
        app_control.C
        client_types.C,h
        cs_scheduler.C
        scheduler_op.C
    lib/
        util.C,h

Charlie 4 Sep 2007
    - V6 GFX: Fix bug on OS 10.3.9
    - CC: fix bug so we do new version check when client is first started 
        as well as every 14 days thereafter.  Display message in red.
    - make shared memory using memory mapped files more robust.
    
    api/
        graphics2_unix.C
        graphics2_util.C
    client/
        acct_setup.C
    lib/
        shmem.C,h
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 4 Sep 2007
    - MGR: Fix #388: Snooze menu item is disabled and not checked if user 
        selects RUN_MODE_NEVER; it is enabled and checked if user selects 
        Snooze; otherwise it is enabled and not checked.

    clientgui/
        BOINCTaskBar.cpp

Charlie 5 Sep 2007
    - Mac SCR: Do screen blanking in screensaver since CC no longer does it.
    - Fix a compiler warning.
    - Mac Installer: Remove old BOINC Manager and screensaver bundles before 
        installing new ones to guarantee a clean install.  Updates for Grid 
        Republic.
    
    clientscr/
        mac_saver_module.cpp
    lib/
        util.C,h
    mac_installer/
        release_boinc.sh
        release_GridRepublic.sh
        make_GridRepublic.sh
        preinstall
        uninstall.cpp

David  8 Sept 2007
    - boinc_cmd: improve output of --help
    - scheduler: remove giant log output when use <workload_sim>
    - db_purge: fix crash if nothing logged

    sched/
        edf_sim.C
        db_purge.C
    lib/
        boinc_cmd.C
        
Rytis   9 Sept 2007
    - user web: fix issues regarding forum preferences reset.
    
    html/
        inc/forum_user.inc
        user/edit_forum_preferences_action.php

David  9 Sept 2007
    - API: initialize sigaction struct in X graphics code

    api/
        x_opengl.C

Bruce 10 Sept 2007
    - (obsolete doc files) fix typo in upload.php
    doc/
        upload.php

David  11 Sept 2007
    - added prototype page for showing info about user population

    html/ops/
        user_graph.php

Reinhard 11 Sept 2007
    - initialize local 'struct sigaction' variable to zero in
        xwin_graphics_event_loop()

    api/
        x_opengl.C

Rytis   11 Sep 2007
    - user web: prevent users with RAC < 1 become a user of the day
        (protection from spam)
        
    html/inc/uotd.inc

Charlie 12 Sep 2007
    - SCR: Create is_same_task() function which compares both task name 
        and task URL; call it from count_active_graphic_apps () and 
        get_random_graphics_app().
    
    clientscr/
        mac_saver_module.cpp
        screensaver.cpp,h

David  12 Sept 2007
    - file upload handler:
        in get_file_size() RPC, check if volume has < 1MB available space
        and if so return transient error.
        This prevents client from trying upload,
        which apparently sends entire file even if
        handler fails at the beginning
    - API, Win: remove use of GetTickCount(); use dtime() instead
    - use new BOINC logo in sample project home page

    lib/
        filesys.C,h
        util.C
    html/user/
        sample_index.php
    py/Boinc/
        setup_project.py
    sched/
        file_upload_handler.C

David  12 Sept 2007
    - client: CPU scheduler: if a project has 2 jobs with same deadline,
        give preference to jobs already started

    client/
        cpu_sched.C

David  12 Sept 2007
    - API: don't start timer thread (or install signal handler on Unix)
        if running standalone

    api/
        boinc_api.C

David  12 Sept 2007
    - Manager: clean up text in system tray balloon
    - Client: use dd-MMM-yyyy format for dates;
        mm/dd/yyyy is ambiguous and mixed-endian
        Fixes #406

    clientgui/
        BOINCTaskBar.cpp
    lib/
        str_util.C

David  13 Sept 2007
    - client: restore <slot> element on GUI RPC result XML
        (needed by BOINCSpy)
    - client: CPU sched fix

    client/
        app.C
        cpu_sched.C
        
Rytis   13 Sep 2007
    - User web: fix XSS vulnerability, web code update recommended
    
    html/
        inc/util.inc
        user/
            forum_text_search_action.php
            user_search_action.php

Charlie 13 Sep 2007
    - SCR: Impelement new RPC::get_screensaver_tasks() which returns 
        current gstate.suspend_reason and a RESULTS vector containing only 
        currently running tasks.  This includes all running tasks whether
        or not they are graphics-capable, so screensaver can show progress 
        info when only non-graphics-capable tasks are running.
    NOTE: I have edited screensaver_win.cpp so that it should compile and 
        run as before, but this has not been tested.

    client/
        gui_rpc_server_ops.C
    clientscr/
        mac_saver_module.cpp
        screensaver.cpp,h
        screensaver_win.cpp
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.C

Charlie 16 Sep 2007
    - SCR: make second argument optional in get_random_graphics_app() and 
        get_random_graphics_app().
        
    clientscr/
        screensaver.h

David  17 Sept 2007
    - user web: make it possible to merge hosts with OS other
        than win/mac/linux/solaris;
        when can't merge hosts, explain why better

    html/
        inc/
            host.inc
        user/
            host_edit_form.php

David  17 Sept 2007
    - API: embed the string API_VERSION_N.N.N in libboinc.a
        (for v6)
    - client: performance tweak for CPU sched
    - client: fix /proc/cpuinfo parsing for linux 2.6.23, powerPC

    api/
        boin_api.C
    client/
        cpu_sched.C
        hostinfo_unix.C

Bruce  17 Sept 2007
    - scheduler: added config option to control (turn off) some aspects
      of file deletion. If you set file_deletion_strategy to 0 (default)
      then this turns off file deletion in the locality scheduler.
      Set file_deletion_strategy to 1 to get current behavior.  Other
      values are not defined.  I'll document this in the Wiki.

    sched/
        sched_config.h
        sched_config.C
        sched_locality.C

Rytis   17 Sep 2007
    - user web: fix invalid validate state reported to user.
    
    html/inc/
        result.inc

Charlie 18 Sept 2007
    - Mac MGR: Launch the graphics application using switcher to fix 
        a potential security risk; I found another solution to the 
        "RegisterProcess failed (error = -50)" so no longer need to 
        use the UNIX system() api to launch the graphics application.

    clientgui/
        ViewWork.cpp
        ViewWorkGrid.cpp

Charlie 19 Sept 2007
    - Mac SCR: Put a copy of switcher utility inside screensaver's bundle 
        to launch graphics applications as user and group "nobody".
        We don't allow unauthorized users to run the switcher application 
        in the BOINC Data directory because they could use it to run as user 
        & group boinc_project and damage project files.  The screensaver's 
        switcher runs as user and group "nobody" to avoid this risk.

    client/
        check_security.C
    clientgui/
        mac/
            SetupSecurity.cpp
    clientscr/
        Mac_Saver_ModuleView.m
        mac_saver_module.cpp
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
        Mac_SA_Insecure.sh
        Mac_SA_Secure.sh

Charlie 19 Sept 2007
    - MGR: Implement V6 graphics in SimpleGui.
        - Consolidate common Show Graphics functionality into 
            CMainDocument::WorkShowGraphics().
    
    clientgui/
        MainDocument.cpp, h
        sg_ViewTabPage.cpp
        ViewWork.cpp
        ViewWorkGrid.cpp

Charlie 20 Sept 2007
    - MGR: Keep a list of currently running graphics applications.
        - Don't launch a second instance of graphics app if user presses 
            "Show Graphics" twice for the same task.  
        - Kill all graphics applications when exiting Manager.
        - Add a routine to kill any graphics apps whose tasks are no longer
            running, but don't call it yet.
    - Mac MGR: pressing "Show Graphics" for a running graphics app brings
        it to the front.
    
    clientgui/
        MainDocument.cpp, h

Charlie 21 Sep 2007
    - MGR: Every 10 seconds, kill any running graphics apps whose associated 
        worker tasks are no longer running.
    - Mac SCR: prevent double delete of RPC_CLIENT rpc on closing screensaver.

    clientgui/
        MainDocument.cpp
        mac/
            mac_saver_module.cpp

David  21 Sept 2007
    - client: get_proxy_settings GUI RPC requires authentication

    client/
        app_start.C
        gui_rpc_server_ops.C
    clientgui/
        MainDocument.cpp

David  21 Sept 2007
    - Added new script "update_versions_v6"; use this instead of
        update_versions to add version 6 apps.
        It looks for API_VERSION string in main executable,
        adds the API version to the app_version XML,
        and sets min_core_version to 6 for version 6+ apps
    - API: include API_VERSION string
    - convert tabs to spaces here and there
    - scheduler: parse unused elements in <net_stats>
    - ops/show_log.php: if no URL args, just show form (fixes #415)
    - client: parse and store api_version (not used yet)

    api/
        boinc_api.C
    client/
        client_types.C,h
    db/
        boinc_db.h
    html/ops/
        show_log.php
    py/Boinc/
        tools.py
    sched/
        sched_array.C
        sched_send.C
        server_types.C
    tools/
        update_versions_v6 (new)

Charlie 21 Sep 2007
    - MGR V6 GFX: Fix build problems, crash on Linux.
    - MGR V6 GFX: If no graphics apps are running, CMainDocument::OnPoll() 
        doesn't call CachedResultsStatusUpdate().
        
    clientgui/
            MainDocument.cpp

Bruce 23 Sept 2007
    - Eliminate some logging noise from the scheduler (complaints
      about unrecognized tags).

    sched/
        server_types.C

David  24 Sept 2007
    - client: clean up (old undergrad-written) code related to pers file xfer.
        The main goal is to fix a bug where,
        if a file is deleted from a project's download server,
        a client will keep trying to download it for 2 weeks.
        A download "file not found" is a permanent error, not transient.
        (fixes #383)
        In general, revised and renamed things to clarify the
        distinction between permanent and transient errors.
        Old functions:
            handle_xfer_failure(), try_next_url(), xfer_failed(),
            retry_or_backoff()
        New functions:
            permanent_failure(), transient_failure()
    - manager: compile fix for win (don't include sys/wait.h)

    client/
        client_types.h
        pers_file_xfer.C,h
    clientgui/
        MainDocument.cpp

David  24 Sept 2007
    - user web: add links to BOINC-wide team sites
        and www.boincteams.com from Team management page
    - client: change error strings from, e.g.,
        "system chown" to "chown() failed"

    html/user/
        team_manage.php
    lib/
        str_util.C
    sched/
        sched_send.C

David  24 Sept 2007
    - use safe_strcpy() instead of strcpy() in a few places
        in the client and db_dump
    - scheduler: change REQ_FILE_PREFIX to use ../ instead of /tmp/

    client/
        cs_cmdline.C
    sched/
        db_dump.C
        main.C

David  25 Sept 2007
    - client: removed everything related to screensaver
        (deciding which app to use, implementing blanking interval, etc.)
        This logic is all now in the screensaver itself.
    - GUI RPC: removed get/set screensaver mode RPCs
    - API: added a "backwards_compatible_graphics" flag to BOINC_OPTIONS.
        V6 apps should set this.
        If set, the runtime library checks for graphics messages
        from the client, and launches/kills the graphics app (if any).
        The app will then work graphically with pre-V6 clients.
    - removed some old files
        
    api/
        api_app.C (deleted)
        api_test.C (deleted)
        boinc_checkpoint.C (deleted)
        boinc_api.C,h
    client/
        Makefile.am
        app.C,h
        app_graphics.C
        client_state.C,h
        gui_rpc_server_ops.C
        sim.h
        ss_logic.C,h (removed)
    lib/
        boinc_cmd.C
        common_defs.h
        gui_rpc_client.h
        gui_rpc_client_ops.C

David  25 Sept 2007
    - compile fixes for Win

    client/
        sim_util.C
    clientgui/
        BOINCGUIApp.cpp
    clientscr/
        screensaver_win.cpp
    win_build/
        boinc_cli_curl.vcproj

David  25 Sept 2007
    - update_versions_v6 doesn't set min_core_version

    tools/
        update_versions_v6

David  25 Sept 2007
    - stripcharts: fix typo that could cause disk to fill up!
        (from Nicolas Maire)

    stripchart/
        stripchart

Charlie 25 Sep 2007
    - Mac: Remove obsolete ss_logic.C,h from XCode project.
    - Mac/Linux/UNIX: V6 client uses shmget() to run V5 applications.
      NOTE: when testing V6 applications with anonymous platform mechanism, 
      you must add <api_version>600</api_version> tag under <app_version>.
    - Mac/Linux/UNIX: V6 applications uses shmget() to run with V5 clients.
    - Eliminate "#ifdef USE_FILE_MAPPED_SHMEM" throughout.
    - V6 SCR: V6 screensaver shows graphics for both V5 and V6 applications.
      (This required permitting rpc.show_graphics without gui_rpc password.)
      NOTE: I have updated the Windows screensaver code to allow this, but 
      have not yet tested it.
    
    api/
        boinc_api.C
        graphics2_util.C
    client/
        app.C
        app_start.C
        gui_rpc_server_ops.C
    clientscr/
        mac_saver_module.cpp
        screensaver.cpp,h
        screensaver_win.cpp,h
    lib/
        shmem.C,h
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rytis   26 Sep 2007
    - User web: fix an annoyance when team founder transfer is requested and
        the requester leaves the team.
    NOTE: DB UPDATE REQUIRED.
    
    db/schema.sql
    html/
        inc/
            team.inc
        ops/
            db_update.php
        user/
            team_change_founder_form.php
            team_founder_transfer_form.php

David  26 Sept 2007
    - API: initialize backwards_compatible_graphics to true.
    
    NOTE: as of this checkin, applications built with the API
    code in the trunk are assumed to do V6-type graphics.
    If your app doesn't, then you must set
    backwards_compatible_graphics to false
    (and use boinc_init_graphics_options())

    api/
        boinc_api.h


David  26 Sept 2007
    - API: debug the code for handling V5 graphics messages
        in a V6 app (and launching/killing the graphics app)
    - API: start timer thread even if in standalone mode
        (needed to get timer callbacks for V6 graphics)
    - API: remove BOINCSetForegroundWindow stuff
    - API: call DestroyWindow instead of boinc_exit() in WM_CLOSE.
        boinc_exit() is the wrong thing to call - e.g. it tries to delete
        the lock file, resulting in a 5-sec delay on exit

    api/
        boinc_api.C
        graphics2_util.C
        graphics2_win.C
    clientscr/
        screensaver_win.cpp
    lib/
        shmem.h
        util.C

Charlie 27 Sep 2007
    - API: fix 2 bugs in new compatibility code for handling V5 graphics 
        messages in a V5 app. 
        - Make graphics app's pid static so it is still available when 
            time to "hide" graphics.
        - Kill graphics app when worker app exits; this is needed to work 
            properly with V5 screensaver.

    api/
        boinc_api.C

David  27 Sept 2007
    - file upload handler: fix major bug (introducted 12 Sept)
        that caused it to report "volume full" erroneously
    - added --help option to some backend programs;
        gives general info and directs to web page

    sched/
        assimilator.C
        census.C
        db_dump.C
        file_upload_handler.C

Rom    27 Sept 2007
    - WIN INSTALL: Add custom action to create the two user accounts
        needed to implement the sandbox.
      
      TODO: Still need a random password generator.
      
    win_build/installerv2/redist/Windows/src/boinccas
        boinccas.vcproj
        CACreateBOINCAccounts.cpp, .h (Added)

David  27 Sept 2007
    - client: first pass at fixing a fundamental design flaw:
        there's a single GUI_HTTP object,
        and it works only if used sequentially,
        i.e. an op is started only after the previous one ends.
        This breaks if a GUI RPC triggerse and op while
        a project-list fetch (initiated by the client itself) is in progress.
        Or if two managers are connected at the same time,
        and both do HTTP ops.
        The solution: have a separate GUI_HTTP object for each GUI_RPC_CONN,
        and an additional one for use by the client itself.

    client/
        acct_setup.C,h
        client_state.C,h
        gui_http.h
        gui_rpc_server.C,h
        gui_rpc_server_ops.C

David  27 Sept 2007
    - client: finished up the above

    client/
        acct_setup.C,h
        client_state.C,h
        gui_rpc_server.C,h
        gui_rpc_server_ops.C
        net_stats.C,h

Charlie 27 Sep 2007
    - Mac V6 GFX: add setMacPList() call.
    
    api/
        graphics2_unix.C
        mac_icon.C
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

David  27 Sept 2007
    - graphics API: redo the code for backwards compatibility with V5 so that
        at most one regular and one full-screen graphics window can be open,
        and a "hide" message kills the full-screen window if one exists,
        else a regular window.
        Keep track of the PIDs separately for regular and full-screen.
        Also, don't send a "hide" ack if we don't do graphics.

    api/
        boinc_api.C
    lib/
        util.C,h

Charlie 28 Sep 2007
    - graphics API: Write window size and position to a file in slot directory;
        if exit and relaunched, open the window with same size and position.  
    - Mac V6 GFX: don't call setMacPList(). This shows graphics application icons 
        in the Dock so user can bring them to front when needed. If they wish, 
        projects can add a custom icon to their graphics application by calling 
        setMacIcon() as described in the document HowToBuildBOINC_XCode.rtf.

    api/
        graphics2_unix.C

David  28 Sept 2007
    - scheduler: <max_wus_in_progress> option wasn't working,
        because the reply.req structure was getting zeroed
        AFTER nresults_on_host was being set.

    sched/
        handle_request.C
        sched_send.C

Charlie 28 Sep 2007
    - graphics API: Write changed window size only after it has stopped changing.

    api/
        graphics2_unix.C

Rytis   29 Sep 2007
    - User web: preview functionality for the forums.
    
    html/user/
        forum_edit.php
        forum_post.php
        forum_reply.php

David  1 Oct 2007
    - user web: add "team search" page, which does a multi-criteria
        search (keywords, country, type).
        Have the new-user scenario route the user through this page.
        Also, link to it rather than team.php for existing users.
    - user web: use cookies rather than URLs to identify new users,
        and show "Welcome to X" when they reach their user page.
    - user web: don't show user intermediate page for join/quit team.
        Just take them to their user page.

    DB update required; see ops/db_update.php

    html/
        inc/
            team.inc
            team_types.inc
            user.inc
        ops/
            db_update.php
        user/
            account_finish_action.php
            create_account_action.php
            home.php
            team.php
            team_join.php
            team_search.php
            team_quit_action.php
            validate_email_addr.php
            white.css

Charlie 1 Oct 2007
    Sandbox: Fix a security hole so that switcher sets real user ID, 
    saved set_user-ID, real group ID and saved set_group-ID for process 
    in addition to effective user ID and effective group ID.  This 
    prevents a project application from accidentally or maliciously 
    setting the effective user or group ID back to those of the user 
    who launched BOINC.

    client/
        check_security.C
        switcher.C
    clientgui/
        mac/
            SetupSecurity.cpp
    mac_build/
        Mac_SA_Secure.sh

David  2 Oct 2007
    - user web: tweaks to team search

    html/user/
        team_search.php

David  2 Oct 2007
    - client: fix bug where failure to get project list would result
        in an empty project list file.
    - client: if failed to get project list file, retry in an hour, not immediately

    client/
        acct_setup.C
        file_names.h
        gui_http.h
    lib/
        util.C

Kevin 2 Oct 2007
    - Screen Saver (merge from 5.10):  Add additional information about the work 
        running when no graphics are available.  Increased the size to the box 
        displaying the message to accommodate larger image sizes.  Add code to 
        center images if less then the allowed max size of 450x166
    - Screen Saver (merge from 5.10):  If graphics are not available,
        then rotate through the currently running results
        (it will change every 10 seconds) for display so that all are presented
    - Manager (merge from 5.10): During an auto-attach initiated by
        a project_init.xml file, Mozilla based browsers are
        checking cookies in the domain  (ex: worldcommunitygrid.org) 
        for a project while IE cookies were only being checked for the
        full project dns (www.worldcommunitygrid.org).
        IE has been changed so that it will also check the domain.
        This mechanism is generic and can be used by any project or 
        account manager.
    - Manager (merge from 5.10): During an auto-attach initiated by
        a project_init.xml file, the code to check for the Setup cookie
        within an IE browser would fail and cause 
        the attach to project dialogue to close with no warning
        in the event that there 
        is a cookie set for the project but there is not a Setup cookie.
    - WCG files:  Updated image, icon and installer files for WCG
            
    clientgui/
        browser.C
    clientscr/
        screensaver_win.cpp
        screensaver_win.h

David  2 Oct 2007
    - client: if dont_contact_ref_site option is set,
        contact a random project master URL rather than Google
        to trigger personal firewall alert on version change
    - switcher: compile fix for Linux (strlcpy doesn't exist,
        and I didn't want to bring in libboinc.a)

    client/
        client_state.C
        switcher.C

Charlie 2 Oct 2007
    - Mac SCR: Create a new tiny utility gfx_switcher and put it inside 
        screensaver's bundle instead of a copy of switcher.  It sets real 
        user ID, saved set_user-ID, real group ID and saved set_group-ID 
        for gfx app in addition to effective user ID and effective group 
        ID, all to user and group boinc_project.  For safety, gfx_switcher 
        has very limited functionality: screensaver launches it with 
        arguments "-launch_gfx" and slot number to launch graphics for the 
        project app in that slot; or with arguments "-kill_gfx" and process 
        ID to kill graphics application running as user boinc_project.

    client/
        check_security.C
    clientgui/
        mac/
            SetupSecurity.cpp
    clientscr/
        gfx_switcher.C (added)
        mac_saver_module.cpp
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
            Mac_SA_Insecure.sh
            Mac_SA_Secure.sh

Rytis   3 Oct 2007
    - Private messages: allow interaction with multiple messages from the
        inbox, add new related translation strings.
        
    html/
        /languages/
            en.po
        user/
            forum_pm.php

Eric K  3 Oct 2007
    - MacOS:  Changes to allow command line builds on MacOS 10.3
    - New preprocessor symbol DARWIN_10_3 is defined in config.h when configure
      script detects MacOS 10.3
    - Added explicit include of config.h in some files in lib/Mac

    configure.ac
    lib/
        mac/
        QSymbols.c
        QCrashReport.[ch]
        QMachOImage.[ch]

Frank Thomas    4 Oct 2007
    - Added clean-local target to lib/Makefile.am to remove lib/boinccmd and
        lib/boinccmd.unmodified on "make clean" and also added
        client/boinc.unmodified and clientgui/boincmgr.unmodified to the
        respective clean-local targets.

    client/
        Makefile.am
    clientgui/
        Makefile.am
    lib/
        Makefile.am

Charlie 3 Oct 2007
    - Win SCR: fix bug in compatibility code for V5 applications: use 
        MODE_FULLSCREEN, not MODE_WINDOW.

    clientscr/
        screensaver.cpp

David  4 Oct 2007
    - Terminology in user web and client:
        "task" instead of "result";
        "computer" instead of "host";
        "scheduler request" instead of "scheduler RPC"
        "access to Internet" instead of "access to reference web site"
        Fixes #428

    client/
        cs_prefs.C
        cs_scheduler.C
        net_stats.C
    html/
        inc/
            host.inc
            result.inc
            user.inc
        user/
            explain_state.php
            result.php
            results.php
            workunit.php
    lib/
        prefs.C
    sched/
        file_upload_handler.C

David  4 Oct 2007
    - scheduler: bug fix in HR code:
        in wu_is_infeasible(), check whether host type is unknown
        before seeing if WU is already committed  to different type

    sched/
        sched_array.C
        sched_locality.C
        sched_send.C,h

Charlie 4 Oct 2007
    - API V6 GFX: Initialize boinc_max_fps = 30.

    api/
        graphics2.C

Charlie 5 Oct 2007
    - CC: Fix crash bug: set app_client_shm.shm = NULL after calling 
        detach_shmem_mmap.
    - V6 SCR: Merge code for Mac and Windows screensavers; use common 
        class, variable names and constants for Mac adapted from Windows 
        implementation; put central logic in screensaver.cpp as shared 
        function CScreensaver::DataManagementProc().  This adds full 
        functionality to Windows screensaver, including switching graphics 
        applications periodically, blanking, killing graphics app when the 
        associated worker app has exited, full compatibility with graphics 
        in V5 applications, etc.  I have tested this fairly thoroughly on 
        both Mac and Windows XP.
        
    client/
        app.C
    clientscr/
        mac_saver_module.cpp
        mac_saver_module.h (added)
        screensaver.cpp,h
        screensaver_win.cpp,h
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

David  5 Oct 2007
    - client/manager/API: code cleanup to disentangle sandbox code from lib/.
        - move client sandbox-specific code to a new file, sandbox.C
        - remove g_use_sandbox from util.C; move to MainDocument.cpp (manager)
            and sandbox.C (client)
        - don't declare check_security() in util.h; it's not in util.C
        - don't call remove_project_owned_file_or_dir() in
            boinc_delete_file_aux() or boinc_rmdir();
            rather, at the points in the client that delete
            dirs that are usually owned by boinc_projects,
            call remove_project_owned_file_or_dir() first,
            then clean_out_dir().
        - rename boinc_exec() to switcher_exec() and move it to sandbox.C

    Note: this change was sparked by needing to remove a call to getgrnam()
    from boinclib, to avoid requiring the same version of glibc
    on both compile and target hosts

    client/
        Makefile.am
        app.C
        app_control.C
        app_start.C
        client_state.C,h
        client_types.C
        cs_cmdline.C
        file_names.C,h
        gui_rpc_server.C
        main.C
        sandbox.C,h (new)
    clientgui/
        MainDocument.cpp,h
    lib/
        boinc_cmd.C
        common_defs.h
        error_numbers.h
        filesys.C,h
        str_util.C
        util.C,h

David  5 Oct 2007
    - win compile fixes

    client/
        client_state.C
        cs_cmdline.C

David  5 Oct 2007
    - feeder/scheduler: fix bug where APP.homogeneous_redundancy
        is defined as a bool instead of int
        (see its only nonzero value is 1, so the "coarse" HR type is ignored).

    db/
        boinc_db.C,h
    sched/
        feeder.C
        hr_info.C
        sched_send.C

Frank Thomas    7 Oct 2007
    - Added manpages in DocBook/XML source format and integrated them in the
        autotools build process. They are compiled into troff format using
        docbook2x-man if it is available on the build system.

    configure.ac
    Makefile.am
    doc/
        manpages/
            Makefile.am
            boincmgr.xml
            boinc_client.xml
            boinc_cmd.xml

David  7 Oct 2007
    - user web: add format_credit_large() function to show
        credit in situations where it's likely to be large (e.g. team totals)

    html/
        inc/
            host.inc
            team.inc
            user.inc
            util.inc
        user/
            pending.php
            team_change_founder_form.php

David  7 Oct 2007
    - user web: remove debugging text from host merge page

    html/inc/
        host.inc

David  7 Oct 2007
    - user web: when a table column has numbers intended to be compared,
        right-justify them

    html/inc/
        team.inc

Janus    8 Oct 2007
    Bittorrent:
    - Changed the torrent generator behaviour from trying only the exact path
      to the file given to trying all paths given by removing the root of the
      path in each step. This enables lookups like:
      ?file=http://someplace.org/yadayada/somepath/real_path_starts_here/file
      where it will then also find the file in 'real_path_starts_here'.
      This makes it easier for the core client Bittorrent code to lookup
      the metadata for a given file when it only knows the URL to that file.
    - Added SQL peer table. This table contains active peers from the tracker.

    html/bt/
        torrent_cache.php
    database/
        bittorrent_peers.sql

Rom    8 Oct 2007
    - MGR: User errors are supposed to be red, not internal errors.
    
    clientgui/
        ViewMessages.cpp, .h

Charlie 8 Oct 2007
    - client/manager/API: Finish & fix bugs in code cleanup to disentangle 
        sandbox code from lib/.
        - Move clean_out_dir() out of lib.
        - create new low-level routines delete_project_owned_file() and 
            remove_project_owned_dir().  These should be called by client 
            instead of boinc_delete_file() and boinc_rmdir() for files or 
            directories which may have owner or group boinc_project.
        - Add sandbox.C to XCode project.
    - Fix compile error in Mac screensaver.

    client/
        app.C
        app_control.C
        client_types.C
        cs_trickle.C
        file_names.C
        sandbox.C,h
    clientgui/
        BOINCGUIApp.cpp
        MainDocument.cpp
        mac/
            MacGUI.pch
    clientscr/
        mac_saver_module.cpp
        screensaver.cpp
    lib/
        filesys.C,h
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 9 Oct 2007
    - V6 SCR: Add handshaking between Mac screensaver threads when updating 
        progress display.
        - Fix minor bugs in Windows screensaver and cleanup.
    - Fix Windows compile errors due to sandbox reorganization.
        - Add sandbox.C,h to Windows Client and Updater builds.

    client/
        sandbox.C
    clientscr/
        mac_saver_module.cpp,h
        screensaver.cpp
        screensaver_win.cpp,h
    tools/
        updater.C
    win_build/
        boinc_cli_curl.vcproj
        boinc_ss.vcproj
        updater.vcproj

David  9 Oct 2007
    - updated svn ignore properties; deleted some .cvsignore files

David  9 Oct 2007
    - remove "updater" from tools/ Makefile

    tools/
        Makefile.am

David  9 Oct 2007
    - update_versions now generates <api_version> for all app versions
    - user web: don't XML-escape team names in DB
    - deleted obsolete files
    - calloc() return check, fixes #277

    client/
        gui_titles.C,h (deleted)
    html/
        inc/
            team.inc
        user/
            team_edit_action.php
    tools/
        update_versions

David  10 Oct 2007
    - client/lib: compile fixes for OpenBSD (fixes #431)

    client/
        hostinfo_unix.C
        log_flags.C
    lib/
        util.C

Janus  10 Oct 2007
    - Added SQL table for bittorrent_ipbans
    - Fixed an issue where servers with php magic quotes turned on could
      cause Bittorrent-enabled clients to only be able to use HTTP to 
      fetch certain files (when the infohash of that file contained a 
      backslash or similar escape char).

    html/bt
        announce.php
    scrape.php
    inc/
        bittorrent_ipbans.sql (new)

Charlie 10 Oct 2007
    - Mac V5 GFX API: In setMacPList(), if resource already exists, don't 
        call getPathToThisApp() because it leaves a zombie process.
        This call probably won't be used in V6 applications.
    - Mac: Remove obsolete files gui_titles.C,h from XCode project.
        
    api/
        mac_icon.C
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Charlie 11 Oct 2007
    - V6 GFX: Fix bugs in graphics compatibility with V5 applications:
        - Initialize APP_VERSION::graphics_exec_path to empty string.
        - Remember previous graphics mode when setting V5 applications 
            to MODE_FULLSCREEN and restore mode when exiting fullscreen.
        - Fix typos in comments.
    - Mac: remove obsolete screensaver comments.
    
    client/
        app.h
        app_graphics.C
        client_state.C
    clientscr/
       mac_saver_module.cpp
    clientgui/
        MainDocument.cpp

Eric K. 11 Oct 2007
    -  Require non-zero credit to create profile.  David will modify to be
       configuration option

    html/
        user/
        create_profile.php

Charlie 11 Oct 2007
    - V6 GFX: Call waitpid to prevent gfx_switcher leaving zombie processes.
        - Fix to debugging code in gfx_switcher.
        - Update sandbox security documentation.
        
    clientgui/
        mac/
            SetupSecurity.cpp
    clientscr/
        gfx_switcher.C
        screensaver.cpp
    doc/
        sandbox.php

Charlie 11 Oct 2007
    - Mac V5 GFX API: Fix old zombie process bug (I hope).  getPathToThisApp()
        should call pclose(), not fclose().
        
    api/
        mac_icon.C

David  12 Oct 2007
    - API: get rid of getrusage_mutex to synchronize calls to getrusage()
        and access to worker_thread_ru.
        This was being used in the worker signal handler,
        which is bad because pthread_mutex_lock() can allocate memory.
        I don't think this matters; at worst we might get
        CPU times off by < 1 sec.

    api/
        boinc_api.C
    lib/
        util.C,h
    sched/
        sched_util.C

David  12 Oct 2007
    - API: handle wacky values in worker_thread_ru:
        - check for infinity/NaN
        - check for CPU time decreasing
        - check for CPU time increasing faster than real time
        ... and deal with each of these in a hopefully reasonable way

    api/
        boinc_api.C

David  15 Oct 2007
    - client: fix bug where delay request from project is ignored
        if no results are returned.
        Also, made the "Deferred" messages conditional on sched_op_debug
        Fixes #430 (from Rattledagger)

    client/
        cs_scheduler.C
        scheduler_op.C
        work_fetch.C

Bruce 15 Oct 2007
    - ops pages.  In the course of a four-hour repair of the E@H database,
      where a sysadmin accidentally set outcome=6 in the entire result table, I
      noticed some inconsistencies in the summary result tables, for example that
      they did not properly incorporate outcome==7 (client detached) or
      client_state==6 (aborted).  I have fixed this.

    html/
        inc/
            db_ops.inc
 
David  16 Oct 2007
    - Initial checkin of Bossa code.
        This isn't part of BOINC and eventually
        it should go in a different repository,
        but for now I'm putting it here.

    db/
        bossa_constraints.sql
        bossa_schema.sql
    html/
        inc/
            bossa_db.inc
        ops/
            bossa_make_jobs_example.php
            bossa_setup_example.php
        user/
            bossa_get_job.php

Rom    16 Oct 2007
    - DEP: Update libCurl to 7.17.0

    curl/include/curl/
        <All Files>
    curl/mswin/
        <All Files>

Rom    16 Oct 2007
    - TRAY: Introduce BOINC Tray for Windows. It's primary goal is
        to keep the CC up to date with when the last time the user
        has used the computer. It has no UI. It is just meant to
        be launhced at startup and let run in the background.
        
    clienttray/
        boinc_tray.h (Added)
        boinc_tray.rc (Added)
        tray_win.cpp, .h (Added)

David  16 Oct 2007
    - API, Unix: call getrusage() from the timer thread,
        not the worker signal handler.
        There's no reason to call it from the signal handler -
        it returns the CPU for the entire process, not the calling thread.
        And it may be asynch-signal-handler-unsafe.
    - API: comment out checks for bad CPU times.
        I don't think this is needed now, and in some cases it's wrong
        (multi-threaded apps can accumulate CPU faster than real time)
    - API, Unix: in boinc_calling_thread_cpu_time(), don't retry getrusage().
    - Bossa: switch to better class structure (suggested by Nicolas Alvarez).
        Haven't switched to mysqli yet, but will later.
        Also various other Bossa fixes

    api/
        boinc_api.C
    db/
        bossa_constraints.sal
        bossa_schema.sql
    html/
        inc/
            bossa_db.inc
        ops/
            bossa_make_jobs_example.php
            bossa_setup_example.php
        user/
            bossa_example.php (new)
            bossa_get_job.php
    lib/
        util.C

Charlie 16 Oct 2007
    - Win V6 SCR compatibility: Version 5 screensaver logic kills all 
        MODE_WINDOW graphics before starting one in fullscreen mode, then 
        restarts the ones it killed when screensaver stops.  So write
        size and position to a file in slot directory and restore when 
        exiting fullscreen.

    api/
        graphics2_win.C

Charlie 16 Oct 2007
    - Mac: Update for curl_7.17.0.
    
    mac_build/
        buildcurl.sh
        HowToBuildBOINC_XCode.rtf
        setupForBOINC.sh
        boinc.xcodeproj/
            project.pbxproj

Charlie 16 Oct 2007
    - API, Unix: call getrusage() from inside boinc_worker_thread_cpu_time() 
        and make worker_thread_ru a local stack variable to avoid potential 
        problems with thread preemption.

    api/
        boinc_api.C

David  17 Oct 2007
    - client: improve log messages

    client/
        cs_scheduler.C
        pers_file_xfer.C
        scheduler_op.C
    clienttray/
        tray_win.cpp

Charlie 18 Oct 2007
    - Fix compiler warning,

    client/
        cs_scheduler.C

David  18 Oct 2007
    - client (win): fix time-zone code

    client/
        hostinfo_win.C

Rom    18 Oct 2007
    - Add the Global prefix to the shared memory segment that
        is used to track keyboard and mouse activity for any
        machine that is Windows 2000 or better.
    
    clientlib/win/
        IdleTracker.cpp

David  18 Oct 2007
    - Bossa:
        JSON-encode stuff
        use text instead of varchar(255) a couple of places
        create Bossa class for utility functions

    db/
        bossa_constraints.sql
        bossa_schema.sql
    html/
        inc/
            bossa.inc (new)
        ops/
            bossa_make_jobs_example.php
        user/
            bossa_example.php

Charlie 18 Oct 2007
    - client: Fix double daylight savings time adjustment on UNIX/Linux.
    
    client/
        hostinfo_unix.C

Rom    18 Oct 2007
    - TRAY: Remove the icon resource from boinctray.exe
    
    clienttray/
        boinc_tray.h
        boinc_tray.rc
        tray_win.cpp

Eric K 19 Oct 2007
    - Added ability for forum moderators to vote for banishment of a poster
    - New db tables banishment_vote and banishment_votes
    - Daemon script vote_monitor for timing the votes
    - new configuration option <moderators_vote_to_ban/>

    db/
        schema.sql
    tools/
        vote_monitor
        Makefile.am
    html/
        inc/
            forum_email.inc
            forum_moderators.inc
            forum_banishment_vote.inc
    html/
        user/
            forum_banishment_vote.php
            forum_banishment_vote_action.php


David  20 Oct 2007
    - client: cc_config.xml can contain one or more <alt_platform> elements
        specifying additional alternate platforms.

    client/
        cs_platforms.C
        log_flags.C,h

Reinhard  21 Oct 2007
    - configure.ac: fixed handling of curl-libs to avoid erroneous
        trunction of compiler-flags containing '-l', such as '-funroll-loops'.
        These are not really supposed to be contained in "curl-config --libs",
        but apparently this happens at least in Gentoo, as reported here:
        http://bugs.gentoo.org/show_bug.cgi?id=139621.
        I have applied the patch supplied by Darragh Bailey (of 2006-07-07).
        This should fix Gentoo Bugzilla Bug 139621.

    configure.ac

David  21 Oct 2007
    - client: add <active_task_state> to <active_task> elements in state file.
        These are needed by some 3rd-party software that uses
        the state file instead of GUI RPCs

    client/
        app.C

David  21 Oct 2007
    - API: fix bug introduced in 13696 causing no graphics on Linux

    api/
        graphics2_unix.C

Rytis  22 Oct 2007
    - User web: add HTML DOCTYPE (4.01 Transitional) to all pages, make some
        HTML validity changes.
    
    html/
        inc/
            forum.inc
            stats_sites.inc
            util.inc
        project.sample/
            project.inc
        user/
            forum_forum.php
            forum_index.php
            stats.php

David  22 Oct 2007
    - API: some changes relevant only to SETI@home.

    api/
        graphics2.h
        reduce.h
        reduce_lib.C
        reduce_main.C

David  22 Oct 2007
    - GUI RPC: fix format of <auth2> request
    - GUI RPC: don't enable network on bad request

    client/
        gui_rpc_server_ops.C
    lib/
        gui_rpc_client.C

David  22 Oct 2007
    - client: remove unparsed XML error for <active_task_state>
    - client: remove spurious error if include <alt_platform> in cc_config.xml

    client/
        app.C
        log_flags.C

Rom    23 Oct 2007
    - client: read_file_string was modified sometime ago to support tail
        functionality, we really do want only the last 63KB of stderr
        for science applications.
    
    client/
        app_control.C


David  23 Oct 2007
    - assimilator: there was a bug in the situation where:
        1) a WU is marked as ready for assimilation and has no errors;
        2) it has no canonical result
        In this case, the assimilate handler gets called anyway,
        typically with the canonical result of the previous WU as arg.
        Note: this situation doesn't arise normally;
        it might happen if some results are deleted accidentally.
        The fix: 
        - identify this situation, and set the WU.error_mask to a new code
            (WU_ERROR_NO_CANONICAL_RESULT)
        - zero out the "canonical_result" variable passed to the handler,
            so even if the handler fails to check wu.error_mask,
            at least it won't assimilate the same result twice.
        Thanks to Hendrik Verhoek for finding this bug.
    - DB schema: team table type is MyISAM, not InnoDB

    db/
        boinc_db.h
        schema.sql
    sched/
        assimilator.C

Charlie 23 Oct 2007
    - Mac client: Add 64-bit support for OS 10.5 (new platform x86_64-apple-darwin).
        These changes should have no effect until we add the x86_64 architecture 
        using the OS 10.5 SDK to the XCode build rules.

    client/
        app.h
        app_graphics.C
        app_start.C
        cs_platforms.C
        hostinfo_unix.C
    clientgui/
        mac/
            config.h
            Mac_GUI.pch

Frank Thomas    24 Oct 2007
    - MGR: Check on account creation if wxGetUserName() returned an empty
        string and if it did assign the output of wxGetUserId() to
        ai->user_name instead. (fixes #440)

    clientgui/
        ProjectProcessingPage.cpp

David  24 Oct 2007
    - user web: enable the "merge computers by name" feature.
        I added this on 30 May 07 but accidentally left
        "if ($userid==0)" around it.

    html/user/
        merge_by_name.php
        hosts_user.php

David  24 Oct 2007
    - user web: change "host" to "computer" in a few places

    html/
        inc/
            host.inc
        user/
            hosts_user.php

David  24 Oct 2007
    - client: fixed bug that broke idle detection on Unix.
        The problem: the various checks were surrounded by things like
        #ifdef HAVE__DEV_MOUSE
        If the host on which the client is built doesn't have a mouse
        (as is the case with our build machine)
        then the resulting executable doesn't check /dev/mouse,
        even if it exists on the target host.
    - removed configure checks for /dev/mouse, /dev/kbd, and /dev/tty1

    configure.ac
    client/
        hostinfo_unix.C
    html/user/
        create_profile.php

David  24 Oct 2007
    - client: add <max_stdout_file_size> and <max_stderr_file_size>
        cc_config.xml options to change log file size limit
        from the default of 2 MB

    client/
        log_flags.C,h
        main.C
    lib/
        diagnostics.C,h

Rom    24 Oct 2007
    - DIAG: Remove references to diagnostics_set_thread_name().

    api/
        boinc_api.C
        windows_opengl.C
    lib/
        diagnostics.h
        diagnostics_win.C

Charlie 25 Oct 2007
    - Mac: Fix compiler warnings.
    - Mac: Clean up XCode project build rules, add Deployment_no64 build 
        configuration, add some x86_64 architecture-specific build settings 
        in preparation for 64 bit support.

    clientscr/
        gfx_switcher.C
    lib/
        shmem.C
    mac_installer/
        uninstall.cpp
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

Rytis   25 Oct 2007
    - User web: add reCAPTCHA to profile creation/modification page.
        Documented in http://boinc.berkeley.edu/trac/wiki/ProtectionFromSpam
    
    html/
        inc/
            profile.inc
            recaptchalib.php (from recaptcha.net/plugins/php)
        user/
            create_profile.php

David  25 Oct 2007
    - Bossa: changed the DB infrastructure to let Bossa tables
        live in a different database (and/or server) than the BOINC tables.
        Also eliminated the need to call a DB init function.
        This involved:
        1) adding <bossa_db_host> etc. entries to config.xml
        2) prefixing DB name to table name in all Bossa queries
            (this is needed if Bossa DB is on same server as BOINC DB,
            since we're using persistent connections)
    - user web: added Montenegro, and changed Serbia and Montenegro to Serbia
        (requires DB update to make latter change in existing records)

    html/
        inc/
            bossa_db.inc
            countries.inc
            db.inc
        ops/
            bossa_make_jobs_example.php
            bossa_setup_example.php
            db_update.php
        user/
            bossa_get_job.php

David  25 Oct 2007
    - user web: added optional <users_per_page>, <teams_per_page> and
        <hosts_per_page> elements to config.xml;
        determine the number of entries to show per page
        in top user/team/host lists

    html/user/
        top_users.php
        top_teams.php
        top_hosts.php

Charlie 26 Oct 2007
    - Mac: Update XCode project build rules to generate DWARF-style symbol 
        tables, which are much smaller and more efficient.  Use gcc-4.0 compiler 
        for all builds except PowerPC libraries (to maintain compatibility back 
        to OS 10.3.0 for science applications with older versions of BOINC) and 
        boinc_cmd (because it uses libboinc.a).  BOINC Client and BOINC Manager 
        now require OS 10.3.9 or later (upgrade to 10.3.9 from OS 10.3.0 through 
        10.3.8 is a free download from Apple.)  More XCode build rule cleanup.
    - Mac: Installer displays an error message and quits if OS < 10.3.9.
    - Mac SCR: fix GridRepublic branding bug.

    clientgui/
        mac/
            SecurityUtility.cpp
            SystemMenu.m
    clientscr/
       mac_saver_module.cpp
    mac_installer/
        GR-ReadMe.rtf
        Installer.cpp
        PostInstall.cpp
        ReadMe.rtf
        release_boinc.sh
        release_GridRepublic.sh
    mac_build/
        boinc.xcodeproj/
            project.pbxproj

David  26 Oct 2007
    - Bossa: refactor DB code, creating a new PHP class DbConn
        representing a connection to a database.
        This is independent of Bossa,
        and we should rewrite the BOINC PHP code based on this.

    html/
        inc/
            bossa_db.inc
        user/
            bossa_example.php

David  26 Oct 2007
    - user web: added new framework for DB access from PHP.
        Here's how things should eventually be:
        - inc/db_conn.inc defines DbConn, a PHP class representing
            a connection to a database with
            various generic operations (update, insert etc.).
            DbConn prepends the DB name to table names,
            so you don't have to select a DB;
            this means you can access multiple databases
            (e.g. BOINC and Bossa) and use persistent connections.
            ALL MYSQL-SPECIFIC CODE WILL EVENTUALLY BE HERE.
        - inc/boinc_db.inc defines classes BoincUser, BoincTeam etc.,
            representing the various BOINC DB tables.
            All access to the DB should use these classes.

        When you use this framework, no initialization calls are needed.
        db.inc is deprecated and should eventually be removed.

        I changed get_logged_in_user()
        and all team-related code to use this framework.
    - user web: show team founder link to "management functions"
        even if they're not currently a member;
        allow team founder to perform all operations even if not a member.
    - turned on E_ALL error checking,
        and fixed a bunch of warnings
        and a couple of bugs ($team, not team)

    - database: update schema/constraints for team fulltext search
    - user web: forgot to change Serbia and Montenegro to Serbia

    db/
        constraints.sql
        schema.sql
    html/
        inc/
            boinc_db.inc (new)
            bossa_db.inc
            countries.inc
            db_conn.inc (new)
            team.inc
            translation.inc
            user.inc
            util.inc
        user/
            logout.php
            team*.php
            top_teams.php

David  26 Oct 2007
    - user web: fixed a few hex colors without #

    html/
        inc/
            profile.inc
            result.inc
            util_ops.inc
            db_ops.inc
        user/
            forum_text_search_form.php

            donate.php

Charlie 27 Oct 2007
    - Mac: Fix bugs in scripts for building wxMac-2.6.3; fix XCode project 
        when using debug build of wxMac-2.6.3; Use gcc-4.0 compiler to 
        build wxMac-2.6.3 and curl_7.17.0 for use in BOINC Client and Manager. 
    - Mac: buildcurl.sh accepts optional argument -gcc33 to use gcc-3.3 for 
        PowerPC build so it can be linked with BOINC libraries when building 
        backward-compatible project science applications.
        
    mac_build/
        buildcurl.sh
        buildWxMac.sh
        setupForBOINC.sh
        boinc.xcodeproj/
            project.pbxproj

David  27 Oct 2007
    - user web: show "merge by name" only to owner
        Fixes #451

    html/user/
        hosts_user.php

David  27 Oct 2007
    - user web: Add BoincDb::escape_string(),
        and have boinc_real_escape_string 
        call it rather than mysql_real_escape_string(),
        to ensure that a DB connection exists
        (you need one to call mysql_real_escape_string()).
    - some additional conversion to BoincDb-based classes

    html/
        inc/
            host.inc
            boinc_db.inc
            profile.inc
            db_conn.inc
            db.inc
        user/
            host_delete.php
            team_lookup.php

David  28 Oct 2007
    - user web: changes to use new DB framework and eliminate PHP warnings

    html/
        inc/
            boinc_db.inc
            db_conn.inc
            forum_email.inc
            forum_mysql_dbh.inc
            forum_pm.inc
            host.inc
            news.inc
            user.inc
            util.inc
            xml.inc
        user/
            host_edit_action.php
            host_edit_form.php
            host_venue_action.php
            hosts_user.php
            merge_by_name.php
            pending.php
            top_hosts.php

David  28 Oct 2007
    - user web: more of the above.
        Also, try to make it PHP 4 compatible

    html/
        inc/
            boinc_db.inc
            db_conn.inc
            host.inc
            profile.inc
        user/
            create_profile.php
            profile_menu.php
            profile_search_action.php
    lib/
        prefs.C

Rytis   29 Oct 2007
    - Ops pages: add a page to list recently registered users
    
    html/
        ops/
            index.php
            list_new_users.php

Frank Thomas    29 Oct 2007
    - MGR: Fixed broken URLs in the Help menu. The URLs are only broken if the
        Manager was built with the wxWidgets unicode variant.

    clientgui/
        AdvancedFrame.cpp

David  29 Oct 2007
    - User web: more DB framework changes;
        extended DB framework to allow use of a read-only replica

    html/
        inc/
            boinc_db.inc
            db_conn.inc
            forum_user.inc
            team.inc
            uotd.inc
            util.inc
        user/
            am_set_info.php
            create_team.php
            team_create_action.php
            team_join.php
            team_join_action.php
            top_hosts.php
            top_teams.php
            top_users.php
            totals.php (removed)

David  30 Oct 2007
    - user web: fix some PHP warnings
    - user web: more DB code conversion

    html/
        inc/
            forum_banishment_vote.inc
            prefs.inc
        user/
            am_set_host_info.php
            forum_thread.php
            account_finish_action.php
            account_finish.php

David  30 Oct 2007
    - initial checkin for Bolt

    db/
        bolt_constraints.sql
        bolt_db.sql
    html/
        inc/
            bolt.inc
            bolt_db.inc
            bolt_ex.inc
            bossa_db.inc
        ops/
            bolt_setup_sample.php
        user/
            bolt.php
            bolt_course_sample.php
            bolt_sched.php

David  30 Oct 2007
    - API: when creating message strings for CPU time etc.,
        use strlcat() instead of strcat().
        Einstein@home has seen some SEGVs in this function.
        I suspect that it's getting 1e304-type values
        (why? possible bugs in getrusage-related code, still)
        and that these cause long strings that overflow the message buffer.

    api/
        boinc_api.C

David  30 Oct 2007
    - user web: eliminate some PHP warnings, and code cleanup

    html/
        inc/
            forum.inc
            forum_mysql_dbh.inc
        user/
            forum_search_action.php

David  30 Oct 2007
    - user web: bug fix in home.php

    html/user/
        home.php

Charlie 31 Oct 2007
    - Mac: Fix bugs when running under OS 10.5: menubar icon menu; 
        installer bugs due to PackageMaker changes; linker warnings 
        due to addition of visibility patch to compiler; new command-
        line utilities for flushing users & groups caches (used by 
        BOINC installer). 
        
    clientgui/
        mac/
            SetupSecurity.cpp
            SystemMenu.m
            MacSysMenu.cpp
    mac_build/
        buildWxMac.sh
        boinc.xcodeproj/
            project.pbxproj
    mac_installer/
        release_boinc.sh
        release_GridRepublic.sh

David  31 Oct 2007
    - user web: bug fix in forum banish
    - user web: add link to boinc-team-founders Google group
        in founder management page

    doc/
        white.css
    html/
        inc/
            forum.inc
        user/
            forum_moderate_post_action.php
            forum_reply.php
            team_manage.php

David  31 Oct 2007
    - API: compile fix for systems without strlcat()

    api/
        boinc_api.C

David  31 Oct 2007
    - client: fix bug where account settings (e.g. don't get new work)
        weren't being updated from account managers.
        This was because BAM! wasn't returning the <authenticator>
        in accounts already described in the request message.
        (This violates the protocol, but it's reasonable so what the heck).
        The client was ignoring all <account> records without an authenticator.
        Solution: allow <account> records without an authenticator.
    - Manager: fix crash after the Manager kills a graphics app
        for a no-longer-running result.
        Changed loop logic to go forwards instead of backwards.

    client/
        acct_mgr.C
    clientgui/
        MainDocument.cpp

David  31 Oct 2007
    - user web: make buttons look better;
        add a function show_button() to display links as buttons
        with hover-based explanation.
        This should be used whenever clicking on something
        performs an action, rather than just going to a new page
        (sometimes the boundary is fuzzy)
    - user web: fixed bug when send private message by user name

    html/
        inc/
            forum.inc
            util.inc
        user/
            forum_post.php
            white.css
        
David  1 Nov 2007
    - user web:
        - replace some links with buttons in forum pages; add hover text.
        - show "mark all threads as read" only in forum page
        - fix bugs in team creation

    html/
        inc/
            boinc_db.inc
            forum.inc
        languages/translations/
            en.po
        user/
            forum_forum.php
            forum_thread.php
            white.css

David  1 Nov 2007
    - user web:
        - use show_image() to show images in forums;
            this adds a title=X so that users get
            an explanation of what the action is.
        - turns out the <a><input type=button></a>
            works on Firefox but not IE.
            Fix this by adding OnClick to the <input>

    html/
        inc/
            forum_show.inc
            forum.inc
            util.inc
        user/
            forum_forum.php

David  1 Nov 2007
    - user web:
        - changed Private Messages interface so that you see
            all your messages on one page,
            and remove various redundant links
            (like the Inbox link on the Inbox page)
        - changed links to buttons for moderator functions
            
    api/
        graphics2_win.C
    html/
        inc/
            forum.inc
            forum_pm.inc
        user/
            forum_forum.php
            forum_pm.php
            forum_thread.php
        languages/translations/
            en.po

Rytis   2 Nov 2007
    - user web: convert translations from tokens to strings; update Lithuanian translation.
    - ops pages: add user removal feature (for spammers).
    
    html/
        inc/
            forum.inc
            team.inc
            user.inc
            util.inc
        languages/translations/
            en.po
            lt.po
        ops/manage_user.php
        user/
            account_finish.php
            apps.php
            create_account_action.php
            create_account_form.php
            forum_edit.php
            forum_forum.php
            forum_index.php
            forum_post.php
            forum_reply.php
            forum_report_post.php
            forum_search.php
            forum_search_action.php
            forum_text_search_action.php
            forum_thread.php
            info.php
            sample_index.php
            top_hosts.php
            top_teams.php
            top_users.php

David  2 Nov 2007
    - user web: <form> outside of <td> screwed up Opera

    html/
        inc/
            forum.inc
        user/
            forum_thread.php

Rom    2 Nov 2007
    - CC: Remove the event handler for CTRL-C, or rather change it
        so that it means the same thing as it does to other apps, just
        quit the CC instead of suspending or resuming the CC.
        
    client/
        main.C

David  2 Nov 2007
    - user web: change more links to buttons; fix PHP warning

    html/
        inc/
            forum.inc
            forum_moderators.inc
        user/
            forum_thread.php

David  2 Nov 2007
    - user web: add the ability to check/uncheck all PMs; clean up PM code

    html/user/
        am_set_info.php
        forum_pm.php
        white.css

David  2 Nov 2007
    - user web: a private message is considered "read" the
        first time it's shown.
        No explicit "mark as read" action needed.
        Also, no confirmation for message delete.

    db/
        constraints.sql
        schema.sql
    html/user/
        forum_pm.php

Rytis   3 Nov 2007
    - user web: style server status page with CSS, some cleanup of the
        stylesheet (based on ticket #457).

    html/
        ops/sample_server_status.php
        user/white.css

Rom    5 Nov 2007
    - CC: Treat the return code 0xC0000142 as though it is a temporary
        error. 0xC0000142 means STATUS_DLL_INIT_FAILED which can happen
        when an application attempts to create a new process while the OS
        is shutting down, and when the desktop heap is fully utilized.
        
        This will keep an app from erroring out during Vista's shutdown
        sequence. Only a reboot can fix the desktop heap.
        
    client/
        app.h
        app_control.C

David  5 Nov 2007
    - user web: add a general-purpose user search mechanism.
        This lets you lookup up users sorted by
            - descending join time
            - descending total credit, or
            - descending RAC
        and lets you filter them by
            - country
            - presence/absence of team
            - presence/absence of profile
        It's implemented in such a way that no more than N
        DB rows are examined
        (i.e. it doesn't necessarily show you all the results)
    - PHP database: add enum_fields() member to DbConn and BoincUser.
        This is to select a limited number of fields
        e.g. to make large queries more efficient.
        Also added BoincTeam::lookup_id_cache(); this is an example
        of how to look up items likely to be repeated
        (like teams when you're showing a list of users)

    html/
        inc/
            boinc_db.inc
            db_conn.inc
            user.inc
            util.inc
        user/
            forum_forum.php
            top_users.php
            user_search_action.php (removed)
            user_search.php (new)

David  5 Nov 2007
    - user web: removed the "user search" option from profile_menu.php.
        Added search-by-name to the user search page.

    html/user/
        user_search.php
        profile_menu.php

Charlie 6 Nov 2007
    - Mac: Fix brief flash of Manager window at OS 10.5 system startup.
    - Mac: Fix compiler warnings when building boinc_cmd under OS 10.5.
    - Mac: Strip additional symbols from deployment product.
        
    mac_installer/
        PostInstall.cpp
    mac_build/
        buildWxMac.sh
        boinc.xcodeproj/
            project.pbxproj

David  6 Nov 2007
    - user web: BoincDb::get() checks if web activity is stopped,
        and shows an error page (or XML error) if so.

    html/inc/
        boinc_db.inc
        util.inc

David  6 Nov 2007
    - user web: bug prevented host delete

    html/inc/
        boinc_db.inc

Charlie 7 Nov 2007
    - Mac: Better error-handling in sandbox setup code.
    
    clientgui/
        mac/
            SetupSecurity.cpp

David  7 Nov 2007
    - user web: added the notion of "Team Admin": team members,
        appointed by the founder, who have most of the same
        rights as the founder (edit team info, view/remove users).
        They can't, however, change the founder, or select/remove Admins.
    - user web: added the ability for founder to delete an empty team
    - user web: count/show all team members, not just those with credit
    - user web: Team Search returns top team if form fields left blank
    - Added db_update.php entry for Eric's banishment_vote stuff

    html/
        inc/
            boinc_db.inc
            db_conn.inc
            team.inc
            user.inc
            util.inc
        languages/translations/
            en.po
        ops/
            db_update.php
        user/
            bug_report_action.php (removed)
            bug_report_form.php (removed)
            create_account_action.php
            sample_index.php
            team_admins.php (new)
            team_delta.php
            team_display.php
            team_edit_action.php
            team_edit_form.php
            team_email_list.php
            team_manage.php
            team_remove_inactive_action.php
            team_remove_inactive_form.php
            team_search.php
            top_teams.php
            user_search.php

David  7 Nov 2007
    - user web: protect Team Admin ops from cross-project link attacks

    html/
        inc/
            team.inc
        user/
            team_manage.php
            team_admins.php

Rom    7 Nov 2007
    - MGR: Change the layout of the Project List control.
    - MGR: Clean up some comments in the task bar code since the comments
        no longer served a purpose.
        
    clientgui/res/
        externalweblink.xpm (Added)
    clientgui/res/templates/
        externalweblink.gif (Added)
    clientgui/
        BOINCGUI.pjd
        BOINCTaskBar.cpp
        ProjectInfoPage.cpp
        ProjectListCtrl.cpp, .h

David  7 Nov 2007
    - API: in update_app_progress(), use %e instead of %f everywhere;
        this limits the length of the generated string
        ~12 chars even for big/small numbers.
        Also reduce buffer size from 8000 to 256;
        default thread stack size might not accommodate 8000 + extra.

    api/
        boinc_api.C

David  7 Nov 2007
    - client: when starting an app, and an input/app file is not available,
        show the file name and error code in the message
        that's appended to the job's stderr_out.

    client/
        client_state.h
        sim.h
        cs_apps.C
        app_start.C

Janus    7 Now 2007
    - user web: Added green look to answered questions in the Q&A sections.
        This is an old change that seemingly never reached SVN
        when it was originally made last year.

    html/user/
        white.css

David  7 Nov 2007
    - user web: enhancements to the "foundership request" feature:
        - If a request is pending, notify the current founder
            in red on their Account page.
            (previously there was no notification on the web;
            if the founder didn't get the notification email,
            they'd never find out; and if they read but lost the email,
            they'd lose the URL they needed to visit to decline).
        - Also notify current founder on the Admin Functions page
        - On the team page
            requesting user: show that request is pending, and the deadline.
            founder: show that request is pending, link to respond
            other users: show Deferred if can't make a request yet
        - Say 90 days instead of 60 days where appropriate;
            other text cleanup
    - user web: team_change_founder_action.php was generating
        a different name for each element of a radio button group.
        That makes it not a radio button.

    html/
        inc/
            team.inc
            user.inc
        user/
            team_admins.php
            team_change_founder_action.php
            team_change_founder_form.php
            team_founder_transfer_action.php
            team_founder_transfer_form.php
            team_manage.php

David  7 Nov 2007
    - user web: Team Admins can't remove members

    html/
        inc/
            team.inc
        user/
            team_admins.php
            team_remove_inactive_action.php

David  7 Nov 2007
    - user web: set PHP memory limit to 64 MB

    html/inc/
        util.inc

Charlie 8 Nov 2007
    Mgr SG: Fix SG preferences bug: set "custom" checkmark only if
        global_prefs_override.xml file exists.
    Mac: Additional changes to release scripts for compatibility with new 
         PackageMaker.    
        
    clientgui/
        sg_DlgPreferences.cpp,h
    mac_installer/
        release_boinc.sh
        release_GridRepublic.sh

David  9 Nov 2007
    - DB: remove "lang" from schema - not used
    - DB: added parent_type to forum
    - user web: BoincUser uses caching by default
    - client: fixed small memory leak in statistics parsing

    db/
        schema.sql
    html/
        inc/
            boinc_db.inc
            db_conn.inc
            forum_show.inc (deleted)
            forum2_db.inc (new)
            user.inc
        ops/
            db_update.php
        user/
            forum_reply.php
            forum_text_search_action.php (deleted)
            forum_text_search_form.php (deleted)
            team_manage.php
            user_search.php

Charlie 9 Nov 2007
    Mgr SG: Fix SG preferences bug: save "Do work only between" and 
        "Connect only between" as doubles, not longs so they work 
        properly.

    clientgui/
        sg_DlgPreferences.cpp

Janus    11 Nov 2007
    - User web: Factored out the supermassive if-sentence in forum.inc:show_post()
        It is now a seperate function called should_show_post() and it returns a 
    boolean.
    
    html/inc/
        forum.inc

David  11 Nov 2007
    - Manager: use random colors for disk usage pie chart
        (need to have unique color per project,
        else tooltip will be wrong for some projects,
        since it's based on color)

    clientgui/
        ViewResources.cpp,h

David  12 Nov 2007
    - DB: fix typo in schema; fixes #466

    db/
        schema.sql
    html/
        inc/
            boinc_db.inc
            db_conn.inc
            forum2_db.inc
        ops/
            db_update.php

David  12 Nov 2007
    - user web: revise forum code to use new-style DB interface

    html/
        inc/
            forum.inc
            forum_db.inc (new)
            forum_email.inc
            forum2_db.inc (removed)
            forum_category.inc (removed)
            forum_dbh.inc (removed)
            forum_forum.inc (removed)
            forum_mainfactory.inc (removed)
            forum_moderators.inc (removed)
            forum_mysql_dbh.inc (removed)
            forum_pm.inc (removed)
            forum_post.inc (removed)
            forum_std.inc (removed)
            forum_thread.inc (removed)
            forum_user.inc (removed)
            pm.inc (new)
            user.inc
        user/
            forum*.php
            pm.php (new)

David  12 Nov 2007
    - user web: update other code to use new-style DB interfaces

        html/
            inc/
                akismet.inc
                boinc_db.inc
                db.inc
                db_conn.inc
            user/
                account_finish_action.php
                am_set_info.php
                apps.php
                create_account_info.php
                delete_profile.php
                edit_email_action.php
                edit_passwd_action.php
                forum_edit.php
                forum_get_data.php
                home.php
                login_action.php
                lookup_account.php
                opt_out.php
                pm.php
                profile_rate.php
                profile_search_action.php
                results.php
                validate_amil_addr.php
                workunit.php

David  12 Nov 2007
    - user web: fixes

        html/
            inc/
                boinc_db.inc
                db.inc
            user/
                result.php
                results.php
                show_user.php
                workunit.php

David  12 Nov 2007
    - client: fix bug in parsing of <link rel=boinc_scheduler ...>
        element in master files.  fixes #467

    client/
        scheduler_op.C

Bernd  13 Nov 2007
    - autoconf: fix usage of AC_ARG_ENABLE for debug and unicode

    configure.ac


Bernd  13 Nov 2007
    - added features to pass_percentage_per_platform:

      1. distinguish between Darwin x86 and Darwin PPC
      2. lists the "fail rates" for individual client states to allow to
         distinguish between download errors, computing errors and aborts
      3. optionally list individual "unknown" OS by name
      4. optionally list "unofficial" application versions
      3. and 4. are probably rather confusing on open-source projects like SETI,
      but I found them helpful e.g. on Einstein

    html/
         inc/
             pass_percentage_per_platform.php

Rom    13 Nov 2007
    - DEP: Update libCurl to 7.17.1

    curl/include/curl/
        <All Files>
    curl/mswin/
        <All Files>

David  13 Nov 2007
    - user web: change forum prefs editing to use new DB interface
    - fix bug in lookup_account RPC

    html/
        inc/
            forum.inc
            forum_db.inc
        user/
            edit_forum_preferences_action.php
            edit_forum_preferences_forum.php
            lookup_account.php

Rom    13 Nov 2007
    - Fix build break introduced by new libcurl headers on Windows.
    
    lib/
        boinc_win.h

Rom    13 Nov 2007
    - MGR: Update project list web link image.
    
    clientgui/res/
        externalweblink.xpm
    clientgui/res/templates
        externalweblink.gif

Rytis  14 Nov 2007
    - user web: fix typo in lookup_account.php, preventing attach.
    
    html/user/
        lookup_account.php

Charlie 14 Nov 2007
    Mac: Update libCurl to 7.17.1.
    
    mac_build/
        buildcurl.sh
        HowToBuildBOINC_XCode.rtf
        setupForBOINC.sh
        boinc.xcodeproj/
            project.pbxproj

David  15 Nov 2007
    - user web: code cleanup, deleted unused files

    html/
        inc/
            db_forum.inc (removed)
            subscribe.inc (removed)
            userw.inc (removed)
            gallery.inc
            host.inc
            profile.inc
            result.inc
            team.inc
            user.inc
            util.inc
        user/
            delete_profile.php
            forum_moderate_thread_action.php
            userw.php

David  15 Nov 2007
    - client: if a project has DCF > 90 and has projected deadline misses,
        give its jobs priority.
        (from John McLeod)

    client/
        sim.C
        cpu_sched.C

David  15 Nov 2007
    - user web: bug fixes

    html/
        inc/
            forum_db.inc
        ops/
            db_update.php
        user/
            forum_edit.php
            forum_user_posts.php
            team_manage.php

David  15 Nov 2007
    - user web: bug fix in forum edit function; fixes #474

    html/user/
        forum_edit.php

David  15 Nov 2007
    - user web: remove debugging code;
        remove odd use of tables in edit forum prefs forum
        Fixes #475; fixes #476

    html/user/
        forum_index.php
        edit_forum_preferences_form.php

David  15 Nov 2007
    - user web: change stylesheet so that when showing
        item/value pairs in table, don't bolden values

    html/user/
        white.css

David  15 Nov 2007
    - user web: factor out code for forum header (search forum and PM info)
        into a separate function.
        Don't show subtitle bar for categories with no name.
        Rename search_post_titles() to search_post_content()

    html/
        inc/
            forum.inc
        user/
            forum_edit.php
            forum_forum.php
            forum_help_desk.php
            forum_index.php
            forum_post.php
            forum_reply.php
            forum_search_action.php
            forum_subscribe.php
            forum_thread.php

Charlie 15 Nov 2007
    Mac: Workaround for header problem when building libcurl-7.17.1 for ppc 
        with gcc4.
    Mac: Add x86_64 architecture to build of libcurl-7.17.1.
    
    mac_build/
        buildcurl.sh

Rom    15 Nov 2007
    - MGR: Shrink the external web link icon to 12x12 to avoid having the
        grey border.
    - MGR: Use tooltips instead of balloons when displaying result completion
        status. (from David Barnard)
    
    clientgui/
        BOINCTaskBar.cpp, .h
        ProjectListCtrl.cpp
    clientgui/msw
        taskbarex.cpp, .h

David  15 Nov 2007
    - user web: allow teams to create their own "team message board".
        Team founder and admins have moderator power.
        Anyone can view a team message board,
        but only team members can write to it.
        Users cannot be banished from team message boards
        (due to database limitations).

    html/
        inc/
            boinc_db.inc
            forum.inc
            forum_db.inc
            team.inc
            user.inc
        languages/translations/
            en.po
        user/
            forum*.php
            team_admins.php
            team_delta.php
            team_email_list.php
            team_forum.php (new)

David  15 Nov 2007
    - user web: in the various interfaces that show team member's
        email addresses to team admins,
        also show the user's "send_email" flag,
        indicating whether the agreed to get "email newsletters"
        from the project.
        If this is set, teams should NOT send email to that user.

        Ideally, we should have a separate preference for whether
        to get email from team
        (or show email address to team admins at all)
        
        Fixes (more or less) #479


    html/
        inc/
            xml.inc
        user/
            team_delta.php
            team_email_list.php

David  15 Nov 2007
    - user web: fix #478

    html/inc/
        forum_db.inc

David  15 Nov 2007
    - user web: only team founders can see member email addresses

    html/
        inc/
            team.inc
        user/
            team_delta.php
            team_email_list.php

David  15 Nov 2007
    - user web:
        show team message board on main Message Boards page

    html/user/
        forum_index.php
        team_forum.php

Charlie 16 Nov 2007
    MGR: Fix bug which showed Snooze task bar icon when it shouldn't.
    Mac: Add 64-bit Intel support to Client and libraries.
    
    api/
        mac_icon.C
    client/
        hostinfo_unix.C
    clientgui/
        BOINCTaskBar.cpp
    clientgui/
            SetupSecurity.cpp
    lib/
        mac/
            QBacktrace.c
            QCrashReport.c
            QMachOImageList.c
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
        BuildMacBOINC.sh

David  16 Nov 2007
    - added optional code for user-submitted jobs (from M.F. Somers)
    - added some scripts in ops/ for managing HR, and for blocking hosts.
        (from M.F. Somers; these should be documented in the WIki
        and perhaps added to ops/index.php)

    html/
        ops/
            hrclass_summary.php
            reset_hrclass.php
            block_host.php
        queue/*

David  16 Nov 2007
    - user web: change Team page:
        - add more info about team message board (if it exists)
        - show list of admins
        - show list of new members (in last 24 hours)
        - show number of members total, with credit, and with average credit
        - move actual list of members to new page (team_members.php)

    html/
        inc/
            prefs.inc
            team.inc
            util.inc
        user/
            team_display.php
            team_members.php (new)

David  16 Nov 2007
    - user web: fixes #482

    html/
        inc/
            forum.inc
        user/
            forum_thread.php

David  16 Nov 2007
    - user web: if user unchecked "OK to send email" pref,
        don't show his email address to team founder
    - user web: change wording on project prefs page to clarify
        that emails may come from project OR team
    - user web: let team founder delete message board

    html/
        inc/
            forum_db.inc
            prefs.inc
            xml.inc
        user/
            team_delta.php
            team_email_list.php
            team_forum.phhp

David  16 Nov 2007
    - user web: on team message board pages,
        put a link to the top-level message board

    html/
        inc/
            forum.inc
        user/
            forum_post.php
            forum_thread.php
            forum_subscribe.php
            forum_reply.php
            forum_edit.php

David  16 Nov 2007
    - user web: let team founder edit title/description
        of team message board

    html/user/
        forum_forum.php
        forum_index.php
        team_forum.php
        team_display.php
        team_email_list.php

David  16 Nov 2007
    - manager: compile fix

    clientgui/
        BOINCTaskBar.cpp

Rytis  17 Nov 2007
    - user web: add "Powered by BOINC" logo to the repository and update
        sample_index.php (fix #460).
    
    html/user/
        img/
            pb_boinc.gif
        sample_index.php

David  17 Nov 2007
    - user web: bug fix in moderation email send (fixes #485)
    - BOINC-wide teams: HTML-escape user-supplied text (fixes #487)

    html/
        ops/
            team_import.php
            team_export.php
        user/
            forum_moderator_post_action.php

David  17 Nov 2007
    - user web: fix bug in edit forum prefs

    html/user/
        edit_forum_preferences_action.php

David  17 Nov 2007
    - user web: if join team while already in a team,
        create outgoing delta also

    html/
        inc/
            host.inc
            team.inc
        user/
            team_join.php

David  17 Nov 2007
    - user web: for moderation actions on team forums,
        send email notifications to team founder (not project admin)
    - user web: let project admins (S_ADMIN) moderate team forums

    html/
        inc/
            forum.inc
            forum_email.inc
        user/
            forum_moderate_post_action.php
            forum_moderate_thread_action.php
            forum_report_post.php
            team_create_form.php

David  17 Nov 2007
    - user web: send "red X" notifications on team boards
        to project admins as well as team founder

    html/
        inc/
            forum_email.inc
        user/
            forum_user_posts.php

David  18 Nov 2007
    - user web: update post.modified when edit post (fixes #491)

    html/user/
        forum_edit.php

David  18 Nov 2007
    - user web: text tweak, fixes #492

    html/
        inc/
            pm.inc
        languages/translations/
            en.po

David  18 Nov 2007
    - user web: init DB in banishment vote page

    html/inc/
        forum_banishment_vote.inc

David  18 Nov 2007
    - user web: fix bug in user list XML display

    html/user/
        team_email_list.php

David  18 Nov 2007
    - user web: fix PM mass deletion; fixes #493

    html/
        inc/
            forum_banishment_vote.inc
        user/
            pm.php

David  18 Nov 2007
    - user web: don't append "/" to URL_BASE.
        URL_BASE is assumed to end with a /.
        If you put another /, you end up with // in URLs.
        This leads to a situation where you can have
        one cookie for // and another for / - bad.

        If this causes problems for any projects,
        they should edit their project.inc accordingly

    html/
        inc/
            forum_email.inc
            gallery.inc
            pm.inc
            profile.inc
            uotd.inc
            user.inc
            util.inc
        ops/
            mass_email.php
            mass_email_script.php
            remind.php
        user/
            donate.php
            opt_out.php
            profile_menu.php
            sample_index.php
            sample_rss_main.php
            team_founder_transfer_action.php
            uotd_gadget.php

David  18 Nov 2007
    - user web: the "private-message notification by email" flag
        should default to off.
        Note: it's necessary to clear everyone's flag.
        Projects will need to notify users (e.g. via a news item)
        that they need to explicitly set this pref if they want email
        notification of PMs

    db/
        schema.sql
    html/
        inc/
            forum_db.inc
        ops/
            db_update.php
        user/
            edit_forum_preferences_action.php

David  18 Nov 2007
    - user web: fix forum banishment vote stuff

    html/
        inc/
            forum_banishment_vote.inc
        user/
            forum_banishment_vote_action.php
            edit_forum_preferences_form.php

Rom    19 Nov 2007
    - MGR: Don't display the snooze icon when CPU benchmarks are
        running or when computation has been suspended due to
        preferences.
        
    clientgui/
        BOINCTaskBar.cpp
        
David  19 Nov 2007
    - user web: tweak PM-related text

    html/
        inc/
            pm.inc
            forum.inc
        user/
            white.css

David  19 Nov 2007
    - user web: don't show controls in user post list; fixes #494

    html/user/
        forum_user_posts.php

David  19 Nov 2007
    - user web: clean up logic for dealing with forgotten password:
        - login form now has ONLY email/passwd
            ("login with account key" is gone)
        - "forgot password?" takes you to a page with two options:
            1) type in email address, get an email with login link
            2) instructions for recovering account key from BOINC account file
        - email is stripped-down, has login link and not much else

        fixes #190

    html/
        inc/
            email.inc
            util.inc
        user/
            get_passwd.php
            login_action.php
            mail_passwd.php
            white.css

David  19 Nov 2007
    - user web: use forum prefs (e.g. display images as links)
        when displaying PMs.  fixes #497

    html/
        inc/
            text_transform.inc
        user/
            pm.php

David  19 Nov 2007
    - user web: when send an email with login URL,
        don't include the account key in the URL.
        Rather, include the user ID, the time, and
        a have of the ID, time, and account key.
        Honor this for 1 day.

    html/
        inc/
            email.inc
        user/
            login_action.php

David  20 Nov 2007
    - user web: clean up funky search result formatting.
        For thread titles, show links to forum/category also
        For posts, show complete post, with search terms highlighted.
    - user web: in display of posts for a user,
        show links to thread and forum also
    - user web: posts/threads can become "orphaned" if their forum
        disappears, e.g. team message board is deleted.
        Handle this gracefully in search results and user post list
    - user web: where HTML tags are allowed, say so
    - user web: fix bug where wrap_postcounts weren't being shown in form
    - DB: use "tinyint" instead of "tinyint(1) unsigned" etc.

    db/
        schema.sql
    html/
        inc/
            boinc_db.inc
            forum.inc
            team.inc
        user/
            edit_forum_preferences_action.php
            edit_forum_preferences_form.php
            forum_forum.php
            forum_index.php
            forum_search_action.php
            forum_thread.php
            forum_user_posts.php
            html.php
            white.css

David  20 Nov 2007
    - DB: add fulltext index on team.name
    - user web: improve "team search" function,
        and get rid of the superceded "search by name" function
    - user web: don't show team founder link to initiate transfer
    - user web: show team types
    - user web: fix "top teams by type" function
    - client: tread NOT_FOUND error on file upload as transient;
        it means the project is missing its file_upload_handler

    client/
        file_names.h
        pers_file_xfer.C
    db/
        constraints.sql
        schema.sql
    html/
        inc/
            team.inc
            team_types.inc
        ops/
            db_update.php
        user/
            team.php
            team_search.php
            top_teams.php

David  20 Nov 2007
    - user web: team search tweaks.  Fixes #183

    html/
        inc/
            forum_banishment_vote.inc
        user/
            team_search.php

David  20 Nov 2007
    - user web: add a <profile_min_credit> config file option.
        This specifies min average credit needed to create or edit a profile.

    html/inc/
        forum.inc
        profile.inc

David  20 Nov 2007
    - user web: disable feature where answered questions are
        shown in green - not ready for prime time.

    html/user/
        forum_forum.php

David  20 Nov 2007
    - user web: fix WAP function

    html/
        inc/
            wap.inc
        user/
            userw.php

David  21 Nov 2007
    - client: removed -return_results_immediately cmdline option
        (wasn't implemented anyway)
    - client: added <report_results_immediately> configuration flag;
        causes results to be reported as soon as done.
        Needed for some WCG machines that are reformatted often.
        Should NOT be used in general, since it increases server load.

    client/
        client_state.h
        cs_cmdline.C
        log_flags.C,h
        work_fetch.C

David  21 Nov 2007
    - user web: send UOTD email using PHPMailer if available; fixes #503
    - user web: don't show team forum in Q&A page
    - scheduler: code (commented out) to recognize when
        a sched request is from an existing host
        (same IP/domain/RAM size) and reuse the host record;
        from Kevin Reed

    html/
        inc/
            uotd.inc
        user/
            forum_help_desk.php
    sched/
        handle_request.C

David  21 Nov 2007
    - user web: team admins receive email notification of
        moderation and red-X events, as well as team founder
    - user web: admins can view team join/quit history
        (which no longer contains email addresses)
    - user web: update text describing admin privileges

    html/
        inc/
            forum_email.inc
        user/
            team_delta.php
            team_admins.php

David  21 Nov 2007
    - user web: show list of subscribed threads on forum index page
    - user web: highlight subscribed threads using green background
    - user web: hyperlink thread titles in search results

    html/
        inc/
            forum.inc
        user/
            forum_forum.php
            forum_index.php
            forum_search_action.php

David  21 Nov 2007
    - user web: URL fix

    html/inc/
        forum.inc

David  21 Nov 2007
    - user web: fix bug in user filter; fixes #505

    html/user
        forum_edit_forum_preferences_action.php
        forum_edit_forum_preferences_form.php

David  21 Nov 2007
    - user web: if user edits posts and content is empty, delete; fixes #504

    html/
        inc/
            forum.inc
            forum_db.inc
        user/
            forum_edit.php

David  23 Nov 2007
    - prevent 2 forums for 1 team

    html/user/
        team_forum.php

David  23 Nov 2007
    - user web: fix translation bug (from Nicolas Alvarez)
    - user web: fix small bug in team search

    html/
        inc/
            translation.inc
        user/
            team_search.php

David  23 Nov 2007
    - user web: when showing UOTD on front page,
        strip HTML tags from text (e.g. to remove photos)
    - user web: show_image(): separate title (tooltip text)
        from "alt" (replaces image if images disabled).
        The latter must be terse.
    - user web: show_button(): make it work even if Javascript disabled

    html/
        inc/
            forum.inc
            uotd.inc
            util.inc
        user/
            forum_forum.php
            forum_reply.php
            pm.php
            sample_index.php

David  23 Nov 2007
    - team import: fix string-escaping bugs
    - user web: don't show links to sched logs if they don't exist
    - user web: add new team types

    html/
        inc/
            host.inc
            team_types.inc
        ops/
            team_import.php

David  24 Nov 2007
    - user web: add <team_forums_members_only> config option.
        If set, only team members can see team forums

    html/
        inc/
            forum.inc
            team.inc
        user/
            forum_search.php
            forum_thread.php
            forum_forum.php
            forum_search_action.php

David  25 Nov 2007
    - user web: use enum_fields() when enumerating team members;
        hopefully this will prevent running out of memory on large teams

    html/user/
        team_email_list.php
        team_manage.php

David  25 Nov 2007
    - web: reorder and reword Your Account page and Forum prefs page;
        rename General Prefs to Computing Prefs;
        rename Forum Prefs to Community Prefs
        add Prefs link if user doesn't have email PM notification
    - remove forum low/high rating theshold stuff.
        Message rating was a failed experiment.

    html/
        inc/
            pm.inc
            prefs.inc
            user.inc
        languages/translations/
            en.po
        user/
            edit_forum_preferences_action.php
            edit_forum_preferences_form.php
            get_passwd.phph

David  25 Nov 2007
    - web: fix PHP errors, add translations strings

    html/
        inc/
            forum.inc
            pm.inc
            team.inc
            user.inc
            util.inc
        languages/translations/
            en.po
        user/
            edit_forum_preferences_forum.php
            team_display.php
            user_search.php

David  25 Nov 2007
    - web: when showing team forums, give link back to forum index

    html/
        inc/
            forum.inc
        user/
            forum_edit.php
            forum_forum.php
            forum_reply.php
            forum_subscribe.php
            forum_thread.php

David  27 Nov 2007
    - API graphics: changes to REDUCED_ARRAY to support new S@h graphics
    - API: fix format codes in stack trace printf

    api/
        reduce.h
        reduce_lib.C
        reduce_main.C
    lib/
        diagnostics_win.C

David  27 Nov 2007
    - client: clean up logic of handling DLL_INIT_FAILED exits on Win.
        Shouldn't cause any functional change

    client/
        app.h
        app_control.C

Rom    28 Nov 2007
    - WINSETUP: Update CACreateBOINCUsers.
    - WINSETUP: Create CACreateBOINCGroups.
    - WINSETUP: Create CAGrantBOINCMasterRights.
    - WINSETUP: Create CAGrantBOINCProjectRights.
    - WINSETUP: Remove CACreateVBSShortcut.
    - WINSETUP: Remove CAGrantServiceExecutionRight.
    - WINSETUP: Remove CAMigrateCPDNBBC.
    - WINSETUP: Remove CAPopulateServiceAccount.
    - WINSETUP: Remove CAValidateServiceAccount.
    - WINSETUP: Remove CAVerifyServiceExecutionRight.
    - WINSETUP: Remove CAVerifyServicePassword.
    - WINSETUP: Hookup new custom actions
    
    NOTE: For some reason the advanced configuration screen
      checkboxes are not working, so the CA's are setup to run
      always to test them out.

    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        CAGrantServiceExecutionRight.cpp, .h (removed)
        CAMigrateCPDNBBC.cpp, .h (removed)
        CAPopulateServiceAccount.cpp, .h (removed)
        CAValidateServiceAccount.cpp, .h (removed)
        CAVerifyServiceExecutionRight.cpp, .h (removed)
        CAVerifyServicePassword.cpp, .h (removed)
        CACreateBOINCUsers.cpp
        CACreateBOINCGroups.cpp, .h (added)
        CAGrantBOINCMasterRights.cpp, .h (added)
        CAGrantBOINCProjectRights.cpp, .h (added)

David  28 Nov 2007
    - web: clean up moderation emails for post hide/unhide.
        TODO: other moderation emails
    - web: fix small bug in host merge function

    html/
        inc/
            forum_email.inc
            host.inc
        user/
            host_edit_form.php
            forum_moderate_post.php
            forum_moderate_post_action.php

Rom    28 Nov 2007
    - WINSETUP: Fix the various checkboxes
    - WINSETUP: Fix the data directory stuff so if the user
        changes the default location it cascades down to the
        projects and slots directories as well.
    - WINSETUP: Fix the permissions on the install directory
    - WINSETUP: Add new public properties to the Save/Restore
        state custom actions.
    
    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        CARestoreSetupState.cpp
        CASaveSetupState.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

David  28 Nov 2007
    - Bolt development

    db/
        bolt_schema.sql
    html/
        inc/
            bolt.inc
            bolt_db.inc
        ops/
            bolt_setup_sample.php
        user/
            bolt.php
            bolt_sched.php

David  29 Nov 2007
    - web: clean up forum prefs forum, and add a Confirm when reset

    html/
        inc/
            bolt_ex.inc
            forum_db.inc
        user/
            edit_forum_preferences_action.php
            edit_forum_preferences_form.php

David  29 Nov 2007
    - web: include private message content in email notification

    html/user/
        pm.php

David  29 Nov 2007
    - API: code cleanup
        removed references to "graphics thread"
        removed HANDLE timer_quit_event
        removed enable_heartbeat/disable_heartbeat messages
            (not sure what the ideas was, but no longer exists)
        removed heartbeat_active flag (use options.check_heartbeat instead)
        read heartbeat-channel messages even if heartbeat disabled
            (since we use that channel for WSS messages too)
    - client: remove ACTIVE_TASK::thread_handle (not used)

    api/
        boinc_api.C
    client/
        app.C,h
        app_start.C
    lib/
        app_ipc.h

David  29 Nov 2007
    - web: updating forum prefs would undo banishment,
        reset #posts, and clear moderator flags.  Fixed.

    html/
        inc/
            db_conn.inc
        user/
            edit_forum_preferences_action.php

David  29 Nov 2007
    - web: if a team forum is deleted, delete all the threads and posts
        beneath it.
        Otherwise you get "zombie" posts, and e.g. when we should a user's
        posts, they might all be hidden.
        Also added a script to retroactively clean up these.

    html/
        ops/
            repair_forums.php
        user/
            team_forum.php

David  29 Nov 2007
    - web: fix this forum prefs reset problem again; this time for sure

    html/
        inc/
            forum_db.inc
        user/
            edit_forum_preferences_action.php

Rom    30 Nov 2007
    - WINSETUP: Randomly generate boinc_master and boinc_project passwords
    - WINSETUP: Fix permission problems with newly created directories.
        (Was an Installshield bug)
    - WINSETUP: Add CAMigrateBOINCData
    - WINSETUP: Fix long standing bug with the LAUNCHPROGRAM stuff showing
        up on removes and admin installs
    - Remove the admin required flag from all application manifests for
        all executables.
    - Fix a possible AV when the CC was launched without admin privs on
        Windows.

    clientlib/win/
        IdleTracker.cpp
    win_build/
        boinc_cli_curl.vcproj
        boinc_dll.vcproj
        boinccmd.vcproj
        boincmgr_curl.vcproj
        sim.vcproj
        updater.vcproj
        vistaadminrequired.xml (removed)
        vistaadminrequiredui.xml (removed)
    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.vcproj
        boinccas95.def
        boinccas95.vcproj
        CACreateBOINCAccounts.cpp
        CAGrantBOINCMasterRights.cpp
        CAMigrateBOINCData.cpp, .h (Added)
        dirops.cpp, .h (Added)
        password.cpp, .h (Added)
        stdafx.h
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

Rom    30 Nov 2007
    - WINSETUP: Policy change, the migration of the data files happens in
        two stages. The first stage happens before InstallInitialize and the
        second stage happens after InstallFinalize. Everything between
        InstallInitialize and InstallFinalize just generates a script
        and doesn't actually change the file system, so the permission trees
        just get screwed up.
    - WINSETUP: Updated CAMigrateBOINCData
    - WINSETUP: Created CAMigrateBOINCDataTemp
    - WINSETUP: Created CAStartupBOINCService
    - CC: Change the current working directory on startup to the DATADIR. (Windows Only)
    - MGR: Change the current working directory on startup to the DATADIR. (Windows Only)
    - CC: Change the logic for pointing to the CA Certificate Bundle on
        Windows.
        
    client/
        http_curl.C
        main.C
    clientgui/
        BOINCGUIApp.cpp
    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.def
        boinccas.vcproj
        boinccas95.def
        boinccas95.vcproj
        CAGrantBOINCMasterRights.cpp
        CAGrantBOINCProjectRights.cpp
        CAMigrateBOINCData.cpp
        CAMigrateBOINCDataTemp.cpp, .h (Added)
        CAShutdownBOINC.cpp
        CAStartupBOINCService.cpp, .h (Added)
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

Rom    30 Nov 2007
    - MGR: Add the ability for the manager to know the difference
        between the executable directory and the data directory.
        (Windows Only)
    - TRAY: Update the tray code to what was used in 5.10.x
    - WINSETUP: Update for BOINCTray.exe
    
    clientgui/
        BOINCGUIApp.cpp, .h
        SkinManager.cpp
    clienttray/
        tray_win.cpp, .h
    win_build/
        boinc.sln
        boinctray.vcproj
    win_build/installerv2/
        BOINC.ism

David  30 Nov 2007
    - scheduler:
        - if WU is infeasible, print message instead of number
        - remove useless messages
        - remove EDF simulations printfs
        - don't update nresults_on_host in resend_lost_work()
            (it's already done in add_result_to_reply())

    sched/
        edf_sim.C
        handle_request.C
        sched_array.C
        sched_resend.C
        sched_send.C,h

David  30 Nov 2007
    - web: escape single-quotes in javascript strings

    html/inc/
        util.inc

David  30 Nov 2007
    - web: put "mark all threads as unread" on the forum index,
        since it applies to all forums.

    html/user/
        forum_index.php
        forum_forum.php

David  1 Dec 2007
    - web: show explanation if try to change team name to one in use
    - web: don't allow bad tags in team name HTML

    html/user/
        team_edit_action.php

David  1 Dec 2007
    - client: don't fetch project list from boinc.berkeley.edu
        if the <dont_contact_ref_site> config flag is set

    client/
        acct_setup.C

Rom    2 Dec 2007
    - WINSETUP: Fix a few more permission problems with how 
        InstallShield does things.
    - WINSETUP: Don't attempt to create accounts or set rights
        on Win9x based systems.
    - WINSETUP: Add additional trace messages to
        CACreateBOINCAccounts.
    - WINSETUP: Add entries for a null script when creating
        user accounts, apparently it is a requirement for
        creating accounts on Win2k and WinXP.

    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        CACreateBOINCAccounts.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

Rom    2 Dec 2007
    - CC: Move time_stats file creatio logic so that it is
        created during gstate.init() instead of at class
        creation time. This way time_stats.log ends up in
        the data directory.
        
    client/
        client_state.C
        time_stats.C, .h

David  2 Dec 2007
    - web: if user is banished, don't show their posts except to mods,
        don't show their name in thread headers,
        and don't show their profile

    html/
        inc/
            forum.inc
            profile.inc
            util.inc
        user/
            forum_edit.php

David  2 Dec 2007
    - client: hopefully fix keyboard input detection on Linux

    client/
        hostinfo_unix.C

David  3 Dec 2007
    - client: fix bug that would falsely report DLL init errors
    - client: don't crash when detach a project using anonymous platform
        (fixes #511)

    client/
        app_control.C
        client_state.C,h
        cs_cmdline.C
        gui_rpc_server_ops.C

Rom    3 Dec 2007
    - client: Use a buffer scoped to the HTTP_OP object instead of
        a std::string scoped to the stack when passing the CABundle
        location to libcurl.
        
    client/
        http_curl.C, .h

Charlie 4 Dec 2007
    Mac: Update build scripts and documentation for x86_64 support.

    mac_build/
        buildcurl.sh
        buildjpeg.sh
        BuildMacBOINC.sh
        HowToBuildBOINC_XCode.rtf

David  4 Dec 2007
    - ops: in team import script, send email to team founder
        when creating team
    - web: if user changes email addr, clear email_validated

    html/
        ops/
            team_import.php
        user/
            edit_email_action.php

David  4 Dec 2007
    - web: edit team page was rejecting valid HTML team names

    html/user/
        team_edit_action.php

David  4 Dec 2007
    - client: CPU sched bug fixes when project has huge DCF.
        Also prevent switching between two jobs with same deadline.

    client/
        cpu_sched.C

Charlie 4 Dec 2007
    Mac: Fix compiler warnings.

    lib/
        mac/
            QCrashReport.c

Rom     5 Dec 2007
    - client: Update client libraries and add debug libraries.
        zlib 1.2.3
        OpenSSL 0.9.8g
        LibCurl 7.17.1
        
    curl/
        <Many Files>
    openssl/
        <Many Files>
    zlib/
        <Many Files>

Rom     5 Dec 2007
    - WIN: Update project files to account for new directory structure.
        
    win_buld/
        <Many Files>

David  7 Jan 2007
    - Add weak account key mechanism.
        Each account has an associated weak account key.
        The user can see it by visiting weak_auth.php.
        If you put the weak account key in the account file on a computer
        (instead of the regular account key)
        the computer will attach to the account.
        But the weak account key cannot be used to log in
        to the account on the web, or to do web RPCs, or anything else.

        Note: this involves a scheduler change.

    html/
        ops/
            team_export.php
        user/
            weak_auth.php
    sched/
        handle_request.C

Charlie 7 Dec 07
    - Mac: Fix visibility linker warnings when linking BOINC libraries with 
        project applications, boinc_cmd, etc.
    - Mac: Fix jpeg library build problem when building under OS 10.5 and 
        XCode 3.0 (compatibility settings issue, enter "man compat" in Terminal 
        for more info).
    
    mac_build/
        buildjpeg.sh
        boinc.xcodeproj/
            project.pbxproj
 
David  8 Dec 07
    - tweaked weak-auth page (from Nicolas Alvarez)

    html/
        languages/translations/
            en.po
        user/
            weak_auth.php

David  10 Dec 07
    - compile fixes

    sched/
        Makefile.am
        wample_work_generator.C
    html/
        inc/
            uotd.inc
        user/
            account_finish_action.php
    lib/
        util.C

David  12 Dec 07
	- code cleanup

	client/
		file_names.C
	html/user/
		account_finish_action.php

Rom    12 Dec 2007
    - WINSETUP: Replace two stage migration with a single stage
        defered custom action, implement rollback functionality,
        and increase trace output in case of failure.
    - WINSETUP: Let MSI start the BOINC Service now.

    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        CAMigrateBOINCData.cpp, .h
        CAMigrateBOINCDataTemp.cpp, .h (deleted)
        CAStartupBOINCService.cpp, .h (deleted)
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

Rom    12 Dec 2007
    - MGR: Remove extra call to SetWorkingDirectory() since it
        is causing authentication errors.

    clientgui/
        BOINCGUIApp.cpp
        MainDocument.cpp

Rom    13 Dec 2007
    - WINSETUP: Fix a couple permission problems when protected
        mode isn't defined.
    - WINSETUP: Streamline the CC startup procedure when
        the manager launches the CC.

    clientgui/
        BOINCGUIApp.cpp
    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        CACreateBOINCGroups.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll


Charlie 14 Dec 07
    - MGR: Fix bug determining whether Client is already running; try 
        rpc.get_host_info() in addition to rpc.init().  This takes the
        place of the old rpc.get_screensaver_mode() test in V5 Manager 
        and is needed if some security or firewall software is present.
        
    clientgui/
        BOINCGUIApp.cpp

Rom    14 Dec 07
    - SCR: Reimplement the screensaver rpc test for v6 so that the
        screensaver can trip the firewall while the user is at the
        terminal.
        
    clientscr/
        screensaver_win.cpp

Rom    14 Dec 2007
    - Tag for 6.1.5 release, all platforms
      boinc_core_release_6_1_5
    
    client/
        configure.ac
        version.h

Charlie 17 Dec 07
    - Mac MGR: Fix serious memory leak under OS 10.5 by upgrading to 
        wxMac 2.8.7.  This causes a minor cosmetic bug in SimpleGUI which 
        needs fixing.

    mac_build/
        buildWxMac.sh
        HowToBuildBOINC_XCode.rtf
        boinc.xcodeproj/
            project.pbxproj

Rom    17 Dec 2007
    - WINSETUP: Attempt to shutdown any BOINC processes much earlier
        in the execution cycle. Originally did this in the 5.10 branch.
    - WINSETUP: Add some more checks to safe guard the migration process.
        1.  Check to see if the install directory and the data directory are
            the same, if so, abort migration.
        2.  Check to see if the data directory is under the install directory,
            if so, abort migration.
        3.  If the client_state.xml file already exists in the data directory,
            abort migration.

    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        CAMigrateBOINCData.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

David  18 Dec 2007
    - user web: add "friend" and "notification" features
    - user web: code cleanup in Profile area
    - GUI RPC: add missing "/" in auth2 RPC

    db/
        constraints.sql
        schema.sql
    html/
        inc/
            forum_db.inc
            gallery.inc
            profile.inc
            team.inc
            user.inc
        ops/
            db_update.php
        user/
            create_profile.php
            friend.php (new)
            show_user.php
    lib/
        gui_rpc_client.C

Charlie 18 Dec 07
    - MGR: Work around long-standing cosmetic bug in SimpleGUI with 
        newer versions of wxwidgets.  For unknown reasons, the size of
        the ClientStateIndicator panel was reduced from (343,314) to
        (336,300) before it is updated in CViewTabPage::DrawText().  
        This hack simply sets the size back to its original value.

    clientgui/
        sg_ViewTabPage.cpp
        
Charlie 19 Dec 07
    - Mac MGR: Fix code which draws menubar icon to properly use alpha 
        channel with newer versions of wxwidgets.
    - Mac: Fix curl library build problem when building under OS 10.5 and 
        XCode 3.0 (compatibility settings issue, enter "man compat" in Terminal 
        for more info).
        
    clientgui/
        mac/
            SystemMenu.m
            MacSysMenu.cpp,h
    mac_build/
        buildcurl.sh
        boinc.xcodeproj/
            project.pbxproj

David  19 Dec 2007
    - client: changes to make the client work on "Debian GNU/kFreeBSD",
        a hybrid system that acts like Linux at the user
        level but has a FreeBSD kernel.
        Fixes #521

    configure.ac
    client/
        main.C
        hostinfo_unix.C

David  19 Dec 2007
    - user web: bug fix in code to limit posting rate
    - admin web bug fixes

    html/
        inc/
            forum.inc
        ops/
            list_new_users.php
            manage_user.php
            sample_server_status.php

Charlie 19 Dec 07
    - Mac: Use localtime_r and fmtime_r in wxWidgets and eliminate 
        compiler warnings
    - Mac: make build scripts more robust.
    - Mac: Work around bug in wxMac-2.8.7 implementation of wxListCtrl::RefreshItem() 
         which does not update the display.  The default wxListCtrl in wxMac-2.8.7 
         uses DataBrowser, but allows us to select the traditional generic implementation 
         with a wxSystemOptions::SetOption() call.

    clientgui/
        BOINCGUIApp.cpp
        stdwx.h
    mac_build/
        boinc.xcodeproj/
            project.pbxproj
        buildcurl.sh
        buildjpeg.sh
        BuildMacBOINC.sh
        buildWxMac.sh

David  21 Dec 2007
    - compile fixes (remove comma after last element of enum)

    lib/
        prefs.h
        common_defs.h

David  21 Dec 2007
    - fix PHP warning in forums

    html/inc/
        forum.inc

David  21 Dec 2007
    - API: switch back to structure where the worker thread
        calls getrusage() in a signal handler to find its CPU time.
        Apparently there are some kernels and/or thread libraries
        where getrusage() does NOT return the total CPU time of
        all threads in the process,
        so in these cases calling it from the timer thread doesn't work.
        
        This was originally changed because of concerns that
        calling getrusage() in a signal handler was dangerous;
        we'll see if any problems re-emerge.

        The alternative of reading /proc/PID/stats doesn't seem viable;
        format may not be standardized.

    api/
        boinc_api.C

David  21 Dec 2007
    - API: check for messages from client 10X a second;
        this will allow smoother CPU throttling
    - delete_file: bug fixes (from Nicolas Alvarez).  Fixes #78

    api/
        boinc_api.C
    sched/
        delete_file.C

David  21 Dec 2007
    - user web: when creating cache dir, chmod() so that
        protections are right regardless of umask.
        From Nicolas Alvarez; fixes #344

    html/inc/
        cache.inc

David  21 Dec 2007
    - compile fixes for gcc 4.3 (from Frank Thomas)
        Fixes #514

    various files

David  21 Dec 2007
    - make_project: add --web_only option.
        This lets you create a project for Bossa or Bolt
        without compiling the C++ stuff, which is not used by Bossa or Bolt.
    - DB schema: change type= to engine= to avoid MySQL warning messages

    db/
        schema.sql
    html/project.sample/
        project_spe
    py/Boinc
        setup_project.py
    tools/
        make_project

David  23 Dec 2007
    - web: if user has profile photo, use it instead of head_20.

    html/
        inc/
            boinc_db.inc
            db_conn.inc
            user.inc
            util.inc
        user/
            forum_moderate_thread.php

David  24 Dec 2007
    - web: don't show profile pics in forums,
        since we already show avatars there.

    html/inc/
        forum.inc
        util.inc

David  24 Dec 2007
    - make_project: don't create symbolic link html/user_profiles/user_profiles.
        If there was ever a need for this, it has disappeared.
        Fixes #524
    - fix bug in BOINC-wide team export script

    html/ops/
        team_export.php
    py/Boinc/
        setup_project.py

David  24 Dec 2007
    - web: don't require login for show_user.php
    - web: add app selection to example project-specific prefs
        (commented out by default)
    - web: in prefs, flag too-low numeric values as errors,
        rather than just setting to min value
    - web: fix bug when add new venue from "columns" view

    html/
        inc/
            prefs.inc
            uotd.inc
            util.inc
        ops/
            sample_server_status.php
        project.sample/
            project_specific_prefs.php
        user/
            show_user.php
    sched/
        sched_send.C

David  27 Dec 2007
    - web: default for user_links() is to not show profile pic.
        Show the pic only in the context of friends list.

    html/
        inc/
            forum.inc
            util.inc
            user.inc
        user/
            friend.php

David  27 Dec 2007
    - client: add --start_delay cmdline option and <start_delay> config option.
        Specifies an amount of time to delay starting apps
        (e.g. so that BOINC doesn't slow down boot process)

        Note: mechanisms that start BOINC at boot time
        need to figure out how to set this flag.

    client/
        client_state.C,h
        cs_cmdline.C
        cs_prefs.C
        hostinfo_network.C
        log_flags.C,h
    lib/
        common_defs.h

David  27 Dec 2007
    - upgrade script: fix it, and add --web_only option (fixes #527)
    - web: replace "Result" by "Task" a couple of places

    html/
        inc/
            host.inc
        user/
            hosts_user.php
    tools/
        upgrade

David  30 Dec 2007
    - web: add general-purpose notification mechanism.
        Users can choose whether to get 1 email per notification,
        a daily "digest" email, or no email.
        (All notifications are shown on the Account page).
        Currently used for:
        - Friend requests and confirmations
        - Posts to subscribed threads
        - Private messages

        NOTE: To implement the "daily digest" feature, projects must add
        a periodic task for html/ops/notify.php to config.xml
    - web: have project_footer() generate links for
        Account Page and Message Boards as well as Home
        NOTE: projects that want this change
        will have to modify their own project.inc.

    db/
        constraints.sql
        schema.sql
    html/
        inc/
            boinc_db.inc
            friend.inc (new)
            forum.inc
            forum_db.inc
            forum_email.inc
            pm.inc
            user.inc
        ops/
            db_update.php
            notify.php
        project.sample/
            project.inc
        user/
            edit_forum_preferences_action.php
            edit_forum_preferences_form.php
            forum_subscribe.php
            forum_thread.php
            pm.php
    tools/
        make_project

David  30 Dec 2007
    - Partly fix keyboard detection on Linux.
        With this change, we detect opening a terminal
        or typing into a terminal;
        we don't detect typing into other applications.
        (from Frank Thomas).  Partly fixes #463

    client/
        hostinfo_unix.C