- Removal of a lot of deprecated members.
- Updated
hop
and addedhop_unittest
dev dependencies.
- Updated test dependencies.
Array2d
no longer depends on deprecated types.AffineTransform
no longer depends on deprecated tyes.- The attached library is now deprecated.
Enumerable.toReadOnlyCollection
is now deprecated.Box
is now deprecated.
- DEPRECATIONS
Cloneable
Disposable
and related classes.EventHandler
and related classes.- The
@protected
annotation. Sequence
andReadOnlyCollection
- Moved library code into many mini-libraries.
- Dependency tweaks.
- Fixed subclass issues with
Box
andRectangle
super class. - Test cleanup.
- BREAKING Removed deprecated functions in math:
Vector.length
andCoordinate.getDistance
. - DEPRECATED
TarjanCycleDetect
class. Use top-levelstronglyConnectedComponents
instead. - NEW! Top-level methods
topologicalSort
: great for figuring out dependencies.streamForEachAsync
: great for running aFuture
for each item in aStream
and pausing while theFuture
executes.expandStream
: LikeStream.expand
but allows one to yield a sub-Stream
for each item in the source.
- Miscellaneous
- Broke a few pieces of
bot
into sub-libraries. - Broke tests into seperate libraries.
- Broke a few pieces of
- NEW! Added
refresh
toThrottledStream
- DEPRECATED Removed
bot_async
. Everything is just inbot
now. - NEW! Added
ThrottledStream
which basically replaces code removed forv0.25.0
- Tiny additions for
bot_web
- Lastest SDK
- Aligned with Dart V1 Pubspec Recommendations.
- BREAKING Removed most of
dart_async
. Recent changes todart:isolate
make this code unusable. Will need a major refactoring.
- Latest SDK
- BREAKING
Box
,Vector
, andCoordinate
now align with the newRectangle
andPoint
classes indart:math
Box.contains
is now inherited fromRectangle
and expects aRectangle
. UseBox.containsPoint
instead.
- Latest SDK
- Tiny tweaks and cleanup to
bot_async
- Latest SDK
- BREAKING Moved
bot_test
into its own package.
- Updated SDK to 0.6.5
- Moved from
pathos
topath
and moved to a dev dependency
- Fixes for 0.6 SDK rev.
- Error constructors
- Warnings on
hashCode
with==
- Changes Since v0.21.0
- Fixes for latest SDK
- BREAKING
EventHandle
no longer extendsStreamController
- Should not affect most usage, though.
- Just some tiny nits.
- Removal of a lot of deprecated members.
- The big library split up. Libraries have been moved into seperate packages.
-
Tiny cleanup. Moved to latest SDK rev.
Sequence
learneditemsEqual
StringLineReader
learnedbool get eof
andString peekNextLine()
- Changes Since v0.16.0
- Tiny tweaks to support changes in Canvas
- Changes Since v0.15.0.2
- Fixes for changes in
String
,Iterable
anddart:html
.
- BREAKING Removed a number of deprecated APIs from
Enumerable
. - BREAKING Replaced
ListBase
withSequence
. Sequence does not implementList
, but it does have an get indexer[int index]
.
- The unit test task logs a few more things.
- Fixed
dart2js
anddart_analyzer
task on Windows
- Fixed
dartdoc
task on Windows
- Many changes related to using
Stream
for eventsAttachedEvent
- BREAKING
addHandler
->getStream
- Learned
bool hasSubscribers
- BREAKING
EventHandle
- Now extends
StreamController
fromdart:async
- BREAKING removed
fireEvent
,add
,remove
- Now extends
- BREAKING
EventRoot
removed. - BREAKING
GlobalId
removed. Property
- BREAKING
addhandler
->getStream
- BREAKING
removeHandler
removed - BREAKING Change events are now of NEW! type
PropertyChangedEventArgs
- BREAKING
FutureValue
- BREAKING
outputChanged
,inputChanged
,error
are all nowStream
- BREAKING
Dragger
- BREAKING
dragStart
anddragDelta
are nowStream
- BREAKING
ResourceLoader
- BREAKING
progress
andloaded
are nowStream
- BREAKING
-
AnsiColor
- NEW! Supports bold text
- NEW!
BOLD
andRESET
consts - NEW!
instance.asBold()
method
-
Console
- NEW!
static bool get supportsColor
: An initial attempt to let console apps know if the host console supports color output via a call toString format(bool useColor)
- NEW!
-
NEW!
ShellString
- A
String
-like value that stores a value and anAnsiColor
. - Allows centralized creation of text to be sent to the shell with the option to output with our without ANSI escape codes.
- A
MouseManager
- expose
cursorProperty
- BREAKING All events are now
Stream
-based - BREAKING cursor logic no longer sets the
cursor
style on the targetCanvasElement
.
- expose
- BREAKING
Thing
,ThingParent
andStage
invalidated
nowStream
TextureAnimationRequest.started
is nowStream
- BREAKING
getHelpTask
has been removed. Now a config option onrunHop
RootTaskContext
- BREAKING constructor now has a mandatory argument
Printer
- BREAKING
log
changed signature to take anObject
instead ofString
.color
argument removed. - BREAKING
printCore
removed
- BREAKING constructor now has a mandatory argument
- BREAKING
Runner
is now completely static. All state is stored and passed in via newHopConfig
class. TaskLogger
learnedfinest
,finer
, andconfig
log levels.- BREAKING
HopConfig
was renamedTaskRegistry
. A lot of members were hidden.
- dartdoc
- NEW!
createDartDocTask
method that returns aTask
. SupportspostBuild
option. Smart defaults. - DEPRECATED
getCompileDocsFunc
andcompileDocs
- NEW!
- Changes Since v0.14.1
- Bumped minimum Dart SDK version to 0.4.0.0 r18915
- Updated core dart packages to
>= 0.4.0+0
- Renamed
BaseConfig
toHopConfig
.BaseConfig
is new deprecated. HopConfig
learneddoPrint
. Unifying all printing within hop to allow better redirection.
- The unit test task logic has a new, cleaner
Configuration
class.
- Added
requiresArgumentContainsPattern
, which deprecatesrequiresArgumentMatches
.
- Support task names that contain (but don't start with) '-'
bench
- Output all final results as Duration. Include Standard Error.dart2js
- AddedcreateDart2JsTask
method.
- added symlink
bin/shell-completion-generator
that points tobin/shell_completion_generator.dart
- Removed export of
COMP_WORDBREAKS
in completion script. No need to mess with these values. - Generates script for multiple command names
- Changes Since v0.13.1
- Bumped minimum Dart SDK version to 0.3.7.6 r18717
- Updated core dart packages to
>= 0.3.7+6
- Removed
vendor/dart.js
. Using version frombrowser
package - Moved examples into library-specific directories.
- NEW!
bin/shell_completion_generator.dart
for creating shell completion scripts compatible with completion logic inbot_io
Enumerable
learnedexpand
and deprecatedselectMany
. Better alignment withIterable
- NEW!
requireArgumentMatches
- match an argument against aPattern
(String
orRegExp
)
- NEW!
getDelayedResult
. See the docs. It's fun.
- NEW!
requireArgumentValidSha1
- lot's of SHA1 hashes flying around. Nice helper. - NEW!
Tag
class. Represents info in a Git tag object. GitDir
- NEW!
getCommits
,getTags
,showRef
,showOrUpdateBranch
,commitTree
- NEW!
- DEPRECATED and fixed
getTimeoutFuture
- NEW!
enableScriptLogListener
- an easy way to write all log output to disk. - NEW! A whole set of new features around shell command completion.
- See example in
example/bot_io/completion/
- See example in
- BREAKING Renamed all completion scripts to extension
.sh
. Breaks folks who may be sourcingtool/hop-completion.bash
Task
- BREAKING
description
argument toTask
constructors is now named (not positional) - NEW! Easy to wire up
ArgParser
to allow completion of task flags. - NEW! Can provide
List<TaskArgument> extendedArgs
to fully document command line usage.
- BREAKING
- BREAKING!
ConsoleContext
ctor now takes ArgResults and a Task. - DEPRECATED
TaskFailError
. UseTaskContext.fail
instead - NEW! Added
getHelpTask()
which allowshop help <command name>
- Updated
bin/hop
shell script to pass quoted params fully and accurately tohop_runner.dart
- Exposed
Runner.runTask
. RunResult
now has a descriptivetoString
- Moved core hop command completion logic to new
bot_io
completion helpers.
- All - using new
Task
features to document flags and arguments - dartdoc Task - added optional
excludeLibs
andlinkApi
flags. - Git Tasks - added
getBranchForDirTask
method - Unit test Tasks - added
--list
flag to show all filtered tests, without running them.
- Cleaned up all deprecations.
- NO Breaking changes. Should still work great with SDK 0.3.4.0 r18115.
- Removed references to
dart:collection-dev
createDart2JsTask
argliveTypeAnalysis
defaults totrue
- matches `dart2js' impl change
CollectionUtil
:toHashMap
andtoHashSet
deprecated.CollectionUtil
: addedtoMap
- BREAKING
Enumerable
now usesjoin
fromIterable
so the default separator is now empty string instead of,
Enumerable
:toHashMap
andtoHashSet
deprecated.Enumerable
: addedtoMap
- NEW!
StringLineReader
- Lazily read lines from aString
. Supports Windows line breaks, too. - BREAKING
Util.splitLines
returnsIterable<String>
instead ofList<String>
Util
learnedpadLeft
Commit
parses out a lot more information now.Git.runGit
argumentprocessWorkingDir
is converted to a native path. Works on Windows now.- BREAKING
GitDir
can only be created via "safe", async methods:init
and NEW!fromExisting
- NEW!
GitDir
learnedpopulateBranch
- Added
Matcher
finishes
andfinishesWith
. These correspond tocompletes
andcompletion
indart:matcher
except instances ofExpectException
are thrown directly without being wrapped
- NEW!
ConsoleContext
makes it easy to run hop tasks directly from a console app. - BREAKING many log methods had their args switched around so
LogLevel
comes beforemessage
. More consistent withlogging
compileDocs
now uses new fancyGitDir.populateBranch
.
getImmediateFuture
added
- Fixed
hop-completion.bash
when hop is run outside of a "hop" directory
- NEW!
createBenchTask
added
- Now testing
harness_browser.html
viaDumpRenderTree
GitDir
learnedgetCurrentBranch
- BREAKING ctor for
Runner
now takes param ofArgResults
Runner
exposes helpers for parsing defaults args and getting usage.runHopcore
prints out nice error info and exits cleanly with bad default args- NEW! added
TaskContext.getSubLogger
compileDocs
provides useful error info if used with bad args- NEW!
createDartAnalyzerTask
- thanks, Adam! - Exposed
pipeProcess
method for loggingProcess
output in real time
- A lot of updates and additions
- NEW!
CommitReference
,BranchReference
,Commit
,TreeEntry
- NEW!
GitDir
learnedgetCommitCount
,getBranchNames
,getBranchReferences
,getCommit
,lsTree
- BREAKING
GitDir.writeObject
renamed towriteObjects
branchForDir
added an optionalworkingDir
argument
- Bumped
logging
dependency to>=v0.3.2
- More tests for colors. Tiny tweak to improve error report for bad ctor values in
HslColor
- Better exceptions when
DetailedArgumentError
is used incorrectly requireArgument
usesDetailedArgumentError
correctly
- A number of changes to support SDK 0.3.2.0. Although no breaking changes directly affecting users.
- Cleanly handle the case where an async task throws an exception before returning a future.
- NEW! Extra arguments after the task name are passed to the Task via
an
arguments
property onTaskContext
createUnitTestTask
now uses extra arguments to filter the set of tests that are run
No features were knowingly added, removed, or changed but a lot of code was churned to support the updated SDK.
- BREAKING Import file names have been updated to include the
bot_
prefix.import 'package:bot/bot_retained.dart';
instead ofimport 'package:bot/retained.dart';
- BREAKING
Vector.getAngle
reports a valid value Array2d
can now be zero width, and non-zero height
- NEW!
getTimeoutFuture
helper. Wrapswindow.setTimeout
with niceFuture
semantics.
- NEW!
TempDir
- NEW!
IoHelper
MouseManager
- BREAKING Renamed from
ClickManager
- Learned how to set cursor for individual
Thing
instances - Learned drag events for
Thing
instances
- BREAKING Renamed from
CanvasThing
now correctly invalidates child draw when transform changes
- NEW! test methods:
expectFutureComplete
andexpectFutureFail
- NEW!
throwsAssertionError
matcher
- FIX having zero tasks does not cause a exceptions
- BREAKING Renamed
createStartProcessTask
tocreateProcessTask
- Changed the return type to
Task
- Made
args
argument optional - Added optional
description
argument
- Changed the return type to
createDart2JsTask
added named paramsliveTypeAnalysis
andrejectDeprecatedFeatures
- BREAKING
dartdoc
now requirespackageDir
param. With recent SDK updates, one can now generate docs for libraries that use external packages. - dart2js: added optional packageRoot, output, allowUnsafeEval args
BREAKING Moved dependencies on SDK libraries to versions on pub.dartlang.org.
- NEW Added
lerp
to top-level math functions. AffineTransform
- NEW learned a new constructor -
fromTranslate
- NEW learned
lerpTx
function
- NEW learned a new constructor -
- BREAKING Massive rename. Element is way to overloaded, hence names like 'PElement'. Going with 'Thing'. Not ideal, but not overloaded.
Thing
- NEW learned
alpha
-- or at least uses it now - BREAKING a tiny change to how dirty state is tracked to allow things to effectively request animation in
drawOverride
. - BREAKING Eliminated 'cacheEnabled' ctor argument.
- BREAKING Removed
clip
property. It wasn't doing anything.
- NEW learned
- BREAKING
ShapeThing
constructor now uses named arguments. - NEW
NavLayer
-- copied from the Javascript library. Pretty fun. - NEW
HorizontalAlignment
andVerticalAlignment
- NEW
RetainedUtil
learnedgetOffsetVector
- NEW
SubCanvasThing
-- similar toImageThing
, but for drawing contents of a canvas. - NEW
TextThing
An element to display text. Lot's of work to do, but a good start. - NEW
StageWrapper
- handles requesting frames and drawing them when the stage updates. - Added nifty
_RetainedEnum
as a relatively safe, private subclass for other enum types.
- BREAKING Renamed exception classes to align with Dart naming conventions.
- BREAKING Slight changes to
requires
methods,DetailedArgumentException
- BREAKING Almost everything has changed.
- Multi-line output is indented correctly.
- BREAKING
io.Color
is nowio.AnsiColor
- BREAKING Removed
prnt
andprntLine
. A bit silly, no?
CanvasUtil
learnedsetTransform
- BREAKING Moved
CanvasUtil
tobot_html
lib
- BREAKING Merged
hop
back in. Circular dependencies just make no sense. - BREAKING Moved
qr
into its own repository. - A bunch of fixes to support more recent Dart release.
- BREAKING Changes to align with Dart r14554.
- BREAKING Changes to align with new Sequence types
- BREAKING Changes to align with Dart integration build v13851
- Moved
hop
files intotool
dir. These are for devs working withbot.dart
not end users.
DetailedIllegalArgumentException
ctor is nowconst
- Removed private
_SimpleSet
. Not used.
- An attempt to create a process management system similar to Rake in the Ruby world or Cake in the CoffeeScript world.
- Moved
test
,dart2js
, anddocs
to this new system. - Naming: A play off frog. Which is a play off dart. As in "dart frog" and "frog hop". Yeah a stretch, but it's short.
PElement.draw
renamed to_stageDraw
PElement.updated
event removed- Renamed
ElementParentImpl
toParentElement
- Moved logic for handling children from
PElement
toParentElement
- Aligned with M1 build of Dart r13679