\section{Carousel 4.2.1 Release Notes}
\begin{description}

\item[{\color{red}
\textbf{116} \textbf{Block names in Template Editor are broken if commas are used}
\textbf{Template editor:  Entering a comma in a block name caused the block to be split into several blocks, none of which could be edited, deleted, etc.}
\item[{\color{red}
\textbf{117} \textbf{Cannot select new pictures when editing templates}
\textbf{Template Editor:  After adding a picture block, you could not select a new picture other than the default picture.}
\item[{\color{red}
\textbf{120} \textbf{Date format for CableDisplay "Will Repeat" pages can be modified}
\textbf{Users now have a choice of date formats for CableDisplay pages.}
\item[{\color{red}
\textbf{122} \textbf{No way to edit templates saved without a name}
\textbf{Templates:  If you saved a template without giving it a name, you couldn't re-edit the template because there was no name to click.}
\item[{\color{red}
\textbf{161} \textbf{Ungrouping pages doesn't escape single quotes before saving to the database}
\textbf{Any attempt to ungroup a set of bulletins in which one (or more) bullein descriptions contained a single quote failed.}
\item[{\color{red}
\textbf{164} \textbf{Cable Display bulletins ignore "Display only on day-of-week" checkboxes}
\textbf{A CableDisplay bulletin scheduled to only display on Mondays and Tuesdays would be displayed every day of the week.}
\item[{\color{red}
\textbf{171} \textbf{SQL Timeout when approving Bulletins to a Group}
\textbf{Occasionally, when approving a set of waiting bulletins to a group, the SQL server would time out.}
\item[{\color{red}
\textbf{172} \textbf{New Pages showing up at top of order}
\textbf{Any time a set of waiting bulletins were approved as a group, the new group would appear at the top of the active pages list.  Also, after duplicating a bulletin (to any channel), the copied bulletin would appear at the top of the list.}
\item[{\color{red}
\textbf{174} \textbf{Image class should retry save attempts if a save fails}
\textbf{Occasionally, saving an image file from a bulletin would fail, resulting in a GDI+ error.  We now attempt to retry the save 5 times before giving up.}
\item[{\color{red}
\textbf{175} \textbf{ArgumentOutOfRangeException (Create.Confirm.aspx.cs:Page_Load:111) V4.2.0.0}
\textbf{Session related.  Fixed by adding session listing to autobug reports.  (See cases 184, 181)}
\item[{\color{red}
\textbf{177} \textbf{Uploading invalid .zip files as a bulletin package generates an error}
\textbf{Invalid .zip files are now handled gracefully.}
\item[{\color{red}
\textbf{178} \textbf{Entering an invalid date while scheduling a Bulletin generates an error}
\textbf{Attempting to schedule a bulletin with an invalid date is now reported back to the user, and they are allowed to fix the date.}
\item[{\color{red}
\textbf{180} \textbf{Uploading an invalid Background image doesn't handle errors properly}
\textbf{Users are now alerted when the Background they try to upload is invalid, and are given a chance to re-upload.}
\item[{\color{red}
\textbf{181} \textbf{NullReferenceException (Create.aspx.cs:Page_Load:209) V4.2.0.0}
\textbf{Session related.  Fixed by adding session listing to autobug reports.  (See cases 175, 181)}
\item[{\color{red}
\textbf{185} \textbf{Saving block name causes error}
\textbf{Saving a block name in the template editor without actually changing the block's name causes an error.}
\item[{\color{red}
\textbf{192} \textbf{EDS does not render properly when a schedule's first day has no data}
\textbf{No pages were rendered when the first day of schedule information is empty.}
\item[{\color{red}
\textbf{202} \textbf{Channel bar closes DB connection}
\textbf{When there are 6 or more channels in Carousel, the channel bar collapses into a drop-down menu.  This drop-down menu would close the database connection before it is finished being used by the rest of the page.}
\item[{\color{red}
\textbf{203} \textbf{Allow Templates to specify default text}
\textbf{Text blocks in the Template Editor used to be set to the block's name.  Now, you can set the text to other values.}
\item[{\color{red}
\textbf{207} \textbf{Default block text in a Template is reset when you edit the template.}
\textbf{Editing a template should now maintain the correct default text for blocks.}
\item[{\color{red}
\textbf{210} \textbf{Housekeeping sometimes deletes groups with pages that shouldn't be deleted}
\textbf{If a group of active pages contains 1 or more stale pages, attempting to delete all stale pages (via housekeeping) would delete ALL pages in the group, rather than just the stale pages.}
\item[{\color{red}
\textbf{219} \textbf{Corrupt pages cause service to behave erratically}
\textbf{Not actually a fix, just added better logging to better understand what is going on.}
\item[{\color{red}
\textbf{233} \textbf{Make seperate database connection app config setting for Cablecast datasource}
\textbf{Carousel servers can now use a separate physical Cablecast server as a source for CableDisplay pages.}
\end{description}

