Version 1.0.13:
- Cross-compiled for Scala 2.9.2.
Version 1.0.12:
- Readline implementation now uses Jline 2.
- Cross-compiled for Scala 2.9.1-1.
Version 1.0.11.1:
- Cross-compiled for Scala 2.8.2.
Version 1.0.11:
- Fixed cross-compilation issues. Grizzled-Scala is, once again, cross- compiled and cross-published for 2.8.0, 2.8.1, 2.9.0, 2.9.0-1 and 2.9.1.
Version 1.0.10:
- Fixed
grizzled.sys.makeNativePathand related functions to treat the Mac platform the same as Posix, instead of throwing an exception. - Updated to use SBT 0.11.2.
- Now publishes artifacts to
oss.sonatype.org. Artifacts are signed with GPG key, as a result.
Version 1.0.9:
- Fixed
grizzled.readlineso that a newline in the prompt doesn’t returnNone(for EOF). - Based on pull request #3, by Dan Sully, added the following features to
grizzled.config: - Section name regular expression can now be specified toConfigurationobjects, thus allowing alternate section name forms. - Comment regular expression can now be specified toConfiguration, allowing alternate comment syntaxes. -Configurationnow supports atgetAsList()method, which returns a value split into a string list. Delimiters may be specified. The value returned is of typeOption[List[String]].
Version 1.0.8:
- Fixed an off-by-one error in
grizzled.collection.ListIterator - Cleaned up Scaladocs considerably.
- Converted code to confirm with standard Scala coding style.
- Now builds for Scala 2.9.1, as well as 2.9.0-1, 2.9.0, 2.8.1 and 2.8.0.
Version 1.0.7:
- Now builds against Scala 2.9.0.1, as well as Scala 2.9.0, 2.8.1 and 2.8.0.
- Converted to build with SBT 0.10.1
Version 1.0.6:
- Now builds against Scala 2.9.0, as well as Scala 2.8.0 and 2.8.1.
- Updated to version 1.4.1 of ScalaTest for Scala 2.9.0. (Still uses ScalaTest 1.3, for Scala 2.8).
- Updated to use SBT 0.7.7.
- Removed various deprecated methods.
- Corrected implementation of
grizzled.reflect.isOfTypefor non-primitives.
Version 1.0.5:
- Miscellaneous internal cleanup of
Configurationandgrizzled.readlinecode. - Updated to version 1.3 of ScalaTest.
Version 1.0.4:
- Fixed some error messages in the
Configurationclass, per an email from brian.ewins /at/ gmail.com.
Version 1.0.3:
- Now builds against Scala 2.8.1 and 2.8.0.
- Added
range()function to thegrizzled.math.statsmodule. - Enhanced
grizzled.readlinemodule to permit the caller-suppliedCompleterobject to specify the delimiters to use when tokenizing an input line for tab completion. - Enhanced
grizzled.cmdmodule to allow the caller to instantiate theCommandInterpreterclass with the set of delimiters to use when tokenizing an input line for tab completion.
Version 1.0.2:
- Added the
grizzled.math.statsmodule, which contains some common statistics functions. - Scaladoc documentation is now generated with a proper title.
- Fixed problem where
grizzled.cmdfailed to find a Readline library, because of an inadvertent change of a constant from adefto aval. - Now compiles against Scala 2.8.1 RC2, as well as 2.8.0.
Version 1.0.1:
- Now compiles against Scala 2.8.1 RC1, as well as 2.8.0
Version 1.0:
- Now published to the Scala Tools Nexus repository, so it’s no longer necessary to specify a custom repository to find this artifact.
Version 0.7.4:
-
Added
grizzled.reflectmodule andgrizzled.reflect.isOfType()method, which usesscala.reflect.Manifestto simplify erasure-proof type tests. e.g.:def test(v: Any) = { import grizzled.reflect._ if (isOfType[List[Int]](v)) ... else if (isOfType[List[Char]](v)) ... ... } -
Moved
grizzled.parsing.markupto the new, separate MarkWrap library. Among other things, this move keeps the Grizzled Scala library more focused and reduces transitive dependencies. -
Removed most explicit matches against
SomeandNone, making better use of the Scala API. -
Updated to released 1.2 version of ScalaTest.
-
Changed dependency on ScalaTest to be a test-only dependency.
Version 0.7.3:
- Updated to build with Scala 2.8.0.final only.
Version 0.7.2:
- Updated to Knockoff version 0.7.2-13, which corrects some Markdown translation bugs.
- Updated to Scala 2.8.0.RC5. Now builds against RC3 and RC5 only.
Version 0.7.1:
- Bumped to SBT version 0.7.4.
- Added
relativePathmethod toGrizzledFile. - Added ability to “parse” (i.e., emit) plain text and HTML/XHTML to the
grizzled.parsing.markuppackage. - Updated to Knockoff version 0.7.1-12, which corrects some Markdown translation bugs.
- Fixed
grizzled-scalaartifact publishing bug (issue #1). - Removed support for Scala 2.8.0.RC2.
- Changed SBT publishing to use an SSH key file, to eliminate the Ivy Swing prompt.
Version 0.7:
- Added
grizzled.io.GrizzledSource, which extendsscala.io.Sourcewith mixin methods. - Deprecated
grizzled.string.implicitsandgrizzled.file.implicitsmodules, in favor of more granular imports. See thegrizzled.file.GrizzledFile,grizzled.string.GrizzledStringandgrizzled.string.GrizzledCharcompanion objects for details. - Deprecated the string-to-boolean implicit function, in favor of the more explicit
grizzled.string.util.stringToBoolean()method. - Changed
GrizzledFile.listRecursivelyto take an optionaltopdownflag, indicating whether directory traversal should be top-down or bottom-up. - Deprecated
grizzled.parsing.Markdownin favor of newgrizzled.parsing.markupmodule. - Add Textile support to
grizzled.parsing.markup, via the Eclipse WikiText library. - Changed
grizzled.parsing.markupto use Tristan Juricek’s Knockoff library for Markdown, rather than invoking the Showdown JavaScript parser via Rhino. - Now compiles under Scala 2.8.0.RC3 and RC2. Dropped support for RC1.
Version 0.6:
- Added
findReadline()convenience method togrizzled.readline.Readline. This method attempts to find and load a suitable Readline library. - Cleaned up
grizzled.file.util.deleteTreemethod. - Added versions of
grizzled.file.util.copyFile,grizzled.file.util.copyTree, andgrizzled.file.util.deleteTreethat takejava.io.Fileobjects. - Replaced
grizzled.io.useThenClosewith the more flexiblegrizzled.io.withCloseable. (useThenCloseis still present, but it’s deprecated.) - Added
copyTo()method togrizzled.file.GrizzledFile, which can be implicitly mixed intojava.io.File. - Ensured that various supposedly tail-recursive methods are marked with
@tailrec, to be sure. - Maven artifact now includes Scala version (e.g.,
grizzled-scala_2.8.0.RC2, instead ofgrizzled-scala). - Updated to build against Scala 2.8.0.RC2, as well as Scala 2.8.0.RC1.
Version 0.5.1:
- Updated to
posterous-sbtplugin version 0.1.5. - Removed CHANGELOG, because it can now be generated by
posterous-sbt. - Added
grizzled.generator, which can be used to create Python-style generators. (It borrows shamelessly from Rich Dougherty’s Stack Overflow post.) - Added
listRecursively()generator function togrizzled.file.GrizzledFile. Via implicits,GrizzledFilecan be used to extendjava.io.File. - The
grizzled.readline.Readlinetrait now contains acleanupmethod, and thegrizzled.cmd.CommandInterpreterclass now calls it on exit. This change ensures that the terminal isn’t left in a weird state.
Version 0.5:
-
Updated to Scala 2.8.0.RC1.
-
Replaced uses of now-deprecated
Mathfunctions with corresponding functions fromscala.math. -
Enhanced
grizzled.config.Configuration: - AforMatchingSections()method allows simple looping over sections that match a regular expression. - AmatchingSections()methods returns a sequence of sections that match a regular expression. - Theoptions()method now returns an empty map if the section doesn’t exist, instead of throwing an exception. - A newsetOption()method overwrites an option value, if it exists already, instead of throwing aDuplicateOptionException, asaddOption()does. -ConfigurationReaderis deprecated, and the logic to read a configuration file has been moved into theConfigurationclass, to permit easier subclassing.- Now supports a “safe load” mode, where exceptions aren’t thrown.
- Added unit tests for the
Configurationclass. - Added ability to retrieve converted integer and boolean option values.
- The
option()methods are now deprecated, in favor of newget()andgetOrElse()methods that are modeled after theirMapcounterparts. - Added a new
getSection()method that returns anOption[Section].
Version 0.4.2:
- Updated to SBT version 0.7.3.
- Added
withDownloadedFile()togrizzled.net.url, to execute a block on a downloaded URL. - The
grizzled.io.implicitsmodule has been replaced by individual modules, for more granular scope control (e.g.,grizzled.io.RichInputStream,grizzled.io.RichReader) - The
grizzled.iopackage has been split into individual source files. - Added new
grizzled.io.SourceReaderclass that wraps ascala.io.Sourceinside ajava.io.Reader.
Version 0.4.1:
- Fixed inadvertent bug in
grizzled.cmdcommand handling, when commands span multiple lines.
Version 0.4:
- Added
grizzled.collection.GrizzledLinearSeqand related implicits, as a place to put additional methods for sequences. - Added
grizzled.collection.GrizzledLinearSeq.columnarize(), which takes a sequence (e.g., a list), converts its contents to strings, and returns a single string with the sequence’s contents arranged in columns. - Rearranged the locations of various implicit functions, so callers can have finer-grained control over which ones are in scope.
grizzled.editline.EditLinenow shows its completions in columnar format.- Added
BlockCommandHandlertogrizzled.cmd, to handle commands consisting of blocks of lines between a start and end line. - Added
HiddenCommandHandlertogrizzled.cmd, allowing special commands that are not displayed in the help. - Changed EOF handling in
grizzled.cmdslightly. - Added
createTemporaryDirectory()andwithTemporaryDirectory()togrizzled.file.utilmodule. - Added
isEmptytogrizzled.file.GrizzledFile(which can be implicitly converted to and fromjava.io.File). - Fixed problem with prefix handling in
grizzled.string.WordWrapper. - Now uses SBT 0.7.2 to build from source.
Version 0.3.1:
grizzled.cmd changes:
-
“history” command now uses the syntax
history [-n] [regex]where n is the maximum number of entries to show, and regex is a regular expression to filter history entries. -
Some commands starting with ”.” were being incorrectly limited to a single character (e.g., “.r”, but not “.read”).
-
General clean-up and bug fixing in the “redo command” handler.
-
CommandHandlerclasses can now exempt themselves from the history. -
The
RedoCommandHandler(which handles the “r” and ”!” commands) now exempts itself from the history.
Version 0.3:
- Converted to Scala 2.8.0
- Now must be compiled with SBT version 0.7.0 or better.
- Fixed tail call optimization problem in
grizzled.io.RichInputStream. Thanks to Claudio Bley (cbley /at/ av-test.de) - Added grizzled.parsing.MarkdownParser, for parsing Markdown documents. (Currently uses the Showdown Javascript library, via Mozilla Rhino.)
grizzled.cmd.HelpHandlernow supports a “.help” alias.- Added
grizzled.util.withCloseablecontrol structure. - The grizzled.readline API now uses the Java EditLine wrapper for the Unix EditLine library, instead of the one in Java-Readline. implementation, instead of the one in Java-Readline. Completion handling is more reliable with the Java Editline implementation.
- grizzled.cmd now tries to load EditLine first.
Version 0.2:
- In
grizzled.cmd, the default handler for the “help” command now does tab completion on the existing commands. - Changed the way
grizzled.readlineexposes completion context. Instead of exposing a cursor, it exposes a tokenized list, with a specialCursortoken. This approach fits better with Scala’s pattern matching. grizzled.collection.MultiIteratoris now covariant, not invariant.- Miscellaneous internal changes where
yieldis used. - Changed license to New BSD License.
Version 0.1:
- Initial release.
- Fixed an off-by-one error in
grizzled.collection.ListIterator - Cleaned up Scaladocs considerably.
- Converted code to confirm with standard Scala coding style.
- Now builds for Scala 2.9.1, as well as 2.9.0-1, 2.9.0, 2.8.1 and 2.8.0.
