Ruby/Progressbar v1.0.0 Release Notes
Release Date: 2012-08-18 // over 11 years ago-
- Remove 1.8 from the Ruby Travis builds
- Add a spec for the %% molecule
- Fix bug where a progress bar with an integrated percentage miscalculated the space it was taking up
- fix @terminal_width and bar_width calculation
- Fix more README typos
- Set the default bar mark to '='
- Make sure to blow up if a molecule is not value
- It's not sufficient to say that a molecule is 'a percent sign followed by something that isn't a percent sign', we need to force it to be followed by a letter
- Fix problems in the README
- Update the formatting to make sure the %b and %i formatting molecules can coexist with each other
- Now that we can use the %b and %i flags, we can create a mirrored bar simply by using a format string of '%i%b' and therefore this extra code is no longer necessary
- Make sure that when the timer is started, then stopped, then started again,
it should not register as
stopped?
- Allow %i to be used display the incomplete space of the bar
- Update
ProgressBar::Formatter#format
to reset the bar style to default if it is called without passing in a format string - Allow the %b molecule to be used to display the bar only without incomplete space
- Update the %B format test to be more reasonable
- Make the %w molecule only return the bar with the percentage instead of including empty space
- Remove the
length
argument when callingProgressBar::Components::Bar#to_s
and instead set the attribute - Rename
ProgressBar::Formatter#bar
to#complete_bar
- Change the %b (bar with percentage) format molecule to %w
- Swap the meaning of the %b and %B molecules
- There was a typo in the example formats in the README. The literal percent sign needs to be included in the format string
- Make sure the '%%' molecule is formatted properly
- Little refactoring on the
ProgressBar::Formatter#process
method - README update
- Remove all of the
ProgressBar::Base#update
calls and convert to method calls that take a block#with_update
- Add an "In The Weeds" section to the README
- Add 'It's better than some other library' section to the README
- Add contributors to the README
- Add supported Rubies to the README
- Tons of README formatting updates
- Add time-mocking information to the README
- If Time is being mocked via Delorean, make sure that the progress bar always uses the unmocked time
- If Time is being mocked via Timecop, make sure that the progress bar always uses the unmocked time
- When testing, make sure that we're able to always get the proper version of
now
that we need for our particular spec - When calling
ProgressBar::Time.now
allow a Time-like object to be passed in - Add a
ruby-progressbar
-specific implementation of Time to encapsulate the business logic - Extract the notion of
now
into a method on theTimer
module - Remove extra
private
- Use inheritance to put
title=
in the Formatter module where it belongs - I didn't notice that #total and #progress were available in the Formatter module
- Move logic specific to the modules into those modules and use the inheritance chain to get at them
- Evidently Travis is having issues with Rubinius so we'll remove them from our .travis.yml file to get a passing build
- Try and get better 1.8.7 compatibility when checking the end character in the progressbar string
- Add the Travis-CI build status to the README
- Add the Travis-CI configuration file
- Update the other deprecation warnings outside of
ProgressBar::Base
- Add the remaining method deprecation/warning messages
- Use a little metaprogramming to further dry up the deprecation messages
- fixup! c3e6991988107ab45ac3dac380750b287db3bc2e
- When displaying deprecation warnings for methods, only show them one time; not every time the method is invoked
- Dry up the warning messages in
ProgressBar::Depreciable
- Move
ProgressBar::Base#backwards_compatible_args_to_options_conversion
to theProgressBar::Depreciable
module - Add a new
ProgressBar::Depreciable
module to encapsulate all of the deprecation logic - Forgot to return the
options
hash fromProgressBar::Base#backwards_compatible_args_to_options_conversion
- Add the old
bar_mark=
method back so it's more backwards compatible - Update deprecation warnings to expire June 30th, 2013 instead of October 30th, 2013
- Update the README to reflect the new syntax for creating a ProgressBar
- Override
ProgressBar.new
and remain backward compatible with the pre-1.0 versions of the gem - Convert the
ProgressBar
module to a class so that we can... - Add
ProgressBar::Base#progress
and#total
- Update the gemspec
- Update the
EstimatedTimer
specs when smoothing is turned off such that the#decrement
spec is sufficiently different from the smoothing on#decrement
spec - Update
EstimatedTimer
specs when smoothing is turned off to be more consistent with the new smoothing specs - Add
EstimatedTimer
specs to test when smoothing is turned on - Update the spec text for the
EstimatedTimer
class so that it doesn't contain the actual expected value but rather the general expectation - Extract
smoothing
into its ownlet
variable - Add notes to the README about smoothing
- Invert the smoothing value such that 0.0 is no smoothing and 1.0 is maximum smoothing
- Set the default smoothing value to 0.9
- Convert the
EstimatedTime#estimated_seconds_remaining
over to using the running average - Tell the
Progressable
module to update the running average any time theprogress
is set - Add the notion of a
smoothing
variable to theProgressable
module for use when calculating the running average - Introduce
Progressable#running_average
and reset it any timeProgressable#start
is called - Add a RunningAverageCalculator so we can offload the logic for calculating running averages in our Progressables
- Always refer to
total
using the accessor rather than the instance variable - Fix place where we were using a literal string for our time format rather than the TIME_FORMAT constant
- Make the
Progressable
initializer optional - Fix README mistake regarding out of bounds ETAs
- In Progressable, rather than accessing the starting_position instance variable, use an accessor
- Rather than having the logic in multiple places, use
Progressable#start
where possible - Update the Progressable module to always reference the
progress
accessor rather than the instance variable - Add the ability to customize the bar's title in real time
- Add a note to the README about customizing the bar in real time
- Add notes to the README about overriding the bar's length
- Update the deprecation date of
- Upgrade the README to describe the new 'integrated percentage' formatting option
- Update Ruby version in .rvmrc
- Replace @out.print with @out.write to work better in dumb terminal like Emacs' M-x shell.
- Document the smoothing attribute a little better.
- Rewrote smoothing stuff to something better.
- Offload handling of weird time values to format_time (isn't that its job?) ;-)
- Added "smoothing" attribute (default 0.9). It can be set to nil to use the old ETA code.
- Make time estimate a smoothed moving average
- Use the inherited #initialize
- Add a format where the bar has an integrated percentage
- Just always run all specs
- Alias stopped? to paused?
- If the bar is completed, show the elapsed time, otherwise show the estimated time
- estimated_time to estimated_time_with_no_oob
- Add a Guardfile
- Add the ability to set the progress mark at any point
- Upgrade RSpec in the Gemfile
- Allow :focused w/o the '=> true'
- More gem updates. Include guard
- Quotes
- Unindent private methods
- And again
- Consistency is key
- And again
- Change to new date and repo
- Upgraded RSpec uses RSpec not Rspec
- Not sure why I did this here
- Upgrade RSpec and SimpleCov
- Bump Ruby version to 1.9.3
- allow to customize the #title_width
- Detect whether the output device is a terminal, and use a simplified output strategy when it is not.
- Use 1.9 compatible require in test.
- Add tests for Timecop and Delorean time mocking
- Make Progressbar resistant to time mocking
- Automatically tag gem builds as Date.today
- Replace the Bar's instance variable references
- Remove Options Parser
- The starting value should be passed on #start
- Remove Title class for now
- Change 'reversed bar' to 'mirrored bar'
- Rename
out
tooutput
and access w/o variable - Change default output to STDOUT
- Rename
output_stream
tooutput
- Rename
current
toprogress
- Update README
- Add #decrement to the progress bar
- Backwards compatibility for instantiation
- Create
with_timers
helper - Update spec_helper with new root gem file
- Update gemspec with new license file
- Update gemspec to auto-update Date
- Add deprecation and backwards compatibility helprs
- Add SimpleCov to the project
- Rename 'beginning_position' option to 'started_at'
- Fix require files
- Update README
- Update README
- Update README
- Remove Test::Unit test cases which are covered
- Replace licenses with the MIT license
- Begin updating README
- Add .gitignore
- Fix 'ArgumentError: negative argument' when using with Spork
- Bar can be forcibly stopped
- Autostart for now
- Add ability to pause/resume progress bar
- Bar resets the elapsed time when reset.
- Bar resets the estimated time when reset.
- Timers can now be reset
- #start determines #reset position
- On #reset, bar goes back to its starting position
- Bar can be reset back to 0
- Fix test typo
- Fix tests
- Reminder for autostart
- Move #title
- Delete unneeded code
- Stop Elapsed Timer on finish
- Progressable components finish properly
- Refactor out common 'Progressable' functionality
- Prepare for more 'finish' functionality
- Refactor common Timer functionality into a module
- Bar outputs a \n when it's finished
- Bar can now be "finished"
- Remove unnecessary (for now) code
- Resizing algorithm is much smarter
- Fix length_changed? check
- Move formatting methods and make them private
- Create #inspect method
- Remove implemented methods
- We have a LICENSE file. No need for this.
- Fix output problem
- Always show 2 decimal places with precise percentage
- Elapsed Time works properly with progress bar
- Estimated Timer works properly with progress bar
- %r format string works properly
- Estimated Timer can now be incremented
- Bar graphic can now be reversed
- Remove method arguments from molecule
- %e, %E and %f format the estimated time correctly
- Formatting
- Include Molecule specs
- Estimated Timer works with out of bounds times
- Estimated Timer displays estimated time correctly
- Estimated Timer displays unknown time remaining
- Estimated Time can now be displayed
- Make Timer work properly
- Move bar_spec to the proper locale
- Elapsed Time can now be displayed
- Percentage information can now be displayed
- Capacity information can now be displayed
- Move Bar and Title into Components submodule
- Base refactoring work laid out
- Add RSpec support files
- Create a Gemfile and other infrastructure files
- Update gemspec
- Fix to failing test: Adjusting the path to progressbar.rb file
- accessor for alternate bar mark
- Updated gem name to match project (so it would build)
- Add a gemspec.
- Move progressbar.rb into lib/.
- Add LICENSE files.
- Get rid of the ChangeLog. That's what revision logs are for.
- Make the readme use Markdown.
- Initial commit (based on Ruby/ProgressBar 0.9).