\name{NEWS}
\title{News for Package 'sylly'}
\encoding{UTF-8}
\section{Changes in sylly version 0.1-7 (2026-02-01)}{
  \subsection{fixed}{
    \itemize{
      \item docs were fixed, mostly replacing "\\itemize" with "\\describe". thanks to
        emanuel ciardullo for the pull request!
    }
  }
  \subsection{changed}{
    \itemize{
      \item \code{hyphen()}: syll.distrib of the desc slot now fills up missing syllables with
        0 values. thanks to jana ludwig for reporting bogus results of \code{koRpus::SMOG()}
        for texts with only multisyllable words. this led to discovering the issue!
      \item kRp.hyphen/kRp.hyph.pat: replaced \code{prototype()} in class definition
        with initialize methods
    }
  }
}
\section{Changes in sylly version 0.1-6 (2020-09-19)}{
  \subsection{fixed}{
    \itemize{
      \item \code{hyphen()}: fixed the automatic adjustment of hyph.max.token.length that
        was introduced with 0.1-1 but turned out to be broken, at least with R 4.x
    }
  }
  \subsection{changed}{
    \itemize{
      \item \code{sylly:::kRp.hyphen.calc()}: replaced a for loop with \code{apply()}, almost twice
        as fast now (without caching)
      \item \code{hyphen()}: optimized processing speed, saves ~75\% if your time now
      \item \code{describe()}: the generic now provides the dots argument (\code{"..."}) to allow
        adding further arguments by different methods
    }
  }
}
\section{Changes in sylly version 0.1-5 (2018-07-29)}{
  \subsection{fixed}{
    \itemize{
      \item \code{sylly:::sylly_langpack()}: removed obsolete 'flattr_user' attribute
    }
  }
  \subsection{changed}{
    \itemize{
      \item session settings done with \code{set.sylly.env()} or queried by \code{get.sylly.env()}
        are no longer stored in an internal environment but the global .Options;
        this also allows for setting defaults in an .Rprofile file using \code{options()}
      \item vignette is now in RMarkdown/HTML format; the SWeave/PDF version was
        dropped; it was also updated and has a new section on caching
      \item \code{sylly:::sylly_langpack()}: updated the README.md template
      \item \code{sylly:::sylly_langpack()}: removed "\\dontrun\{\}" from generated example
        section
      \item in the docs, improved the link format for classes, omitting the "-class"
        suffix
    }
  }
  \subsection{added}{
    \itemize{
      \item new functions \code{available.sylly.lang()} and \code{install.sylly.lang()} to
        comfortably install language packages
      \item new class object contructors \code{kRp_hyphen()} and \code{kRp_hyph_pat()} can be used
        instead of new(\code{"kRp.hyphen"}, ...) etc.
    }
  }
}
\section{Changes in sylly version 0.1-4 (2018-01-06)}{
  \subsection{fixed}{
    \itemize{
      \item \code{set.hyph.support()}: call \code{optimize.hyph.pattern()} on \code{"kRp.hyph.pat"} class
        objects to be added to the environment
    }
  }
}
\section{Changes in sylly version 0.1-3 (2017-10-02)}{
  \subsection{changed}{
    \itemize{
      \item added a short example to the code generated by \code{sylly_langpack()}
      \item added l10n repository to DESCRIPTION to fetch now suggested language
        packages sylly.de, sylly.en, and sylly.es; it's clear now that language
        packages won't be released on CRAN, so a dedicated repo was set up to host those
      \item updated the README.md file to mention releases both via CRAN (stable) and
        reaktanz.de (development)
    }
  }
}
\section{Changes in sylly version 0.1-2 (2017-09-12)}{
  \subsection{changed}{
    \itemize{
      \item first CRAN release
      \item replaced status warnin in README.md with info on additional language
        support
      \item \code{manage.hyph.pat()} no longer orders patterns, which was rather useless
    }
  }
  \subsection{added}{
    \itemize{
      \item unit tests for all main functions and methods
    }
  }
  \subsection{removed}{
    \itemize{
      \item file ChangeLog_hyph_patterns.txt
    }
  }
}
\section{Changes in sylly version 0.1-1 (2017-06-10)}{
  \subsection{changed}{
    \itemize{
      \item initial release
      \item \code{show()}: method now only truncates the mid section of samples larger than
        15 words
      \item all.patterns: this internal cache object is now dynamically generated
        when the package is loaded, which slows down the loading process but saves
        ~6.5MB in package size
      \item hyph.max.token.length: this object was moved into the internal .sylly.env
        environment and also defaults to max token length of 50, not 200; that
        should be enough, is much faster and can also be changed dynamically (see
        \code{set.sylly.env()} below); manual changes shouldn't be needed, though, because
        the length is being adjusted automatically if needed; it was also renamed
        from hyph.max.word.length
    }
  }
  \subsection{added}{
    \itemize{
      \item \code{sylly_langpack()}: a private method to generate packages with additional
        language support. it shouldn't be needed by regular users and is therefore
        not exported
      \item \code{koRpus2sylly()}: a private function to convert old koRpus object files
        into sylly equivalents
      \item \code{hyphen()}: new option \code{"as"} to set the return value class, still defaults
        to \code{"kRp.hyph"}, but can also be \code{"data.frame"} or \code{"numeric"}
      \item new shortcut methods \code{hyphen_df()} and \code{hyphen_c()} use different defaults
        for \code{"as"}
      \item \code{read.hyph.pat()}: now also reads from connections, e.g., \code{url()}
      \item \code{set.sylly.env()}: now also supports \code{"hyph.max.token.length"} as an option
        to manually set the maximum token length, affects the private object
        \code{"all.patterns"} (will be regenerated)
    }
  }
  \subsection{removed}{
    \itemize{
      \item all hyphenation patterns are now in their own package called syll.<lang>
    }
  }
}
