

=======
TODO: check => parallel.rb 
      logger.warn("[ERROR] something wrong with handle test results: #{e}, #{e.backtrace}")

[buildwise.rake] => log/xxxx/rake_parallel.log
When hangs,  rake_parallel.log return HTML

Agent: failed to save [WARN] failed to save png:    
  group-lesson-time-zone-check-customer-can-see-lesson-for-monday-in-correct-time-zone.png

[Feature] [TODO]  Config to add 'max_execution_time_detecting' in project settings

[TODO] Run bundle (prepare command) on RoR app locked on different version of Ruby as BuildWise server uses
       maybe CWD?

TODO:

08:54:35: [DEBUG] About to post result with screenshot ...


----
/opt/www/sinatra/buildwise-release/app/views/test_files/execute.js.erb:13

ArgumentError - invalid byte sequence in US-ASCII:


[Fix] [-   ] "Refresh Traceability Matrix" failed when no data provided (maybe)
             http://macmini/projects/26/user_stories

 invalid byte sequence in US-ASCII							
 /opt/www/sinatra/buildwise-release/app/models/spec_file.rb:20:in `rstrip'

2.7.3 (2025-01-29)

[Feature] [Done] Download specficied archieve folder as binary tar-gz 

2.7.1 (2025-12-10)

[Upgrade] Parino 0.16 (Sinatra 4)
[Patch] padrino-helpers-0.16.0, class ErubisTemplate < Tilt::ErubisTemplate
        (define a dummy)
[Change] Remove HashWithIndifferentAccess class in lib/buildwise/utils.rb (no longer needed, compatiable with ActiveRecord 8.1)

2.6.0 (2025-04)

[Upgrade] [Done] Upgrade to ActiveRecord 7.2

2.5.18

[Enhancement] [Done] Move 'Copy to Clipboard' button to the right
[Enhancement] [Done] Highlight the copied pre element after copied to the clipboard successfully.
[Enhancement] [Done] Not sorting columns for incomplete paralle build results 


2.5.17

[Fix] [Done] Don't show 'Load more' if the total number of projects is small
[Feature] [Done] Add the 'copy to clipboard' the standout output

2.5.16

[Enhancement] [Done] "Load more" add loading icon

2.5.15

[Feature] [Done] "Load more"
                  + respect sorting (via session)
                  - offset not working yet
                  - don't show 'load more' when out
                  (may be less than 10 by default, or a setting)

2.5.14

[Enhancement] [Done] Speed up loading the home page (for AgileWay test lab)
                     : not showing charting => 4.1 seconds (in log)
                     :     showing charting => 6.4 seconds
                     
                     Solution: using an env variable (default to 5)
                       BUILDWISE_MAX_HOME_PAGE_PROJECTS_WITH_CHARTS

2.5.13

[Enhancement] [Done] Stop "refreshUITestResultsPeriodically" if the $.getScript failed, saving hitting to the server.
                     (Also, refresh the whole page will back to normal anyway)
[Enhancement] [Done] Set refresh rate (on in-progress build page) based on the build ui test count
                      
2.5.12 

[Enhancement] [--- ]  added "use Rack::Deflater" to app.rb (verifed )
 
2.5.11

[Enhancement] [Done] Optimize "app/views/builds/_ui_test_results.erb" reduce generated file size (squeeze spaces).
                     (for WhenWise full build, 2472542 => 1677972, a save of 32% in generated HTM)

2.5.8

[Update] [Done] {library} bootstrap 5.0.1 => 5.3.3
                one noticable change (code changed): the close button in modal dialogs
[Update] [Done] {library} bootbox 5.x => 6.0 

2.5.7

[Enhancement] [Done] {UI} Build agent report chart: wider (modal-lg => modal-xl)
[Feature] [Done] {UI} no result test file, click to scroll to it.

2.5.6  (2024-08-17)

[Fix][Done] remove .ruby-version in release

2.5.5  (2024-08-16)

[Fix][Done] {new project page} extra "</li>" tag for demo projects
[Enhancement][Done] {new project page} add dividors for demo projects
[Enhancement][Done] {new project page} add two quick sample appium projects 

2.5.4  (2024-08-04)

[Enhancement][Done] fixed project configuration failed, UI helper failure (application_helper.rb)

2.5.3  (2024-08-03)

[Enhancement] [Done] {build_runner.rb} add a bit wait (0.25s) for build runner process, if failed, display the builder output (error)

2.5.2  (2024-08-01)

[Fix] [Done] Lock at ActiveRecord 7.0.x, 
             undefined method `schema_format' for ActiveRecord::Base:Class (NoMethodError)

2.5.1  (2024-08-01)

[Fix] [Done] Starting a build but ignoring the :only, :excluded options.

2.5.0  (2024-07-17)

[Update] [Done] Upgrade to Active Record 7.1 (ActiveRecord.default_time_zone new syntax)
[Update] [Done] Fix Sqlite3 to 1.x (the new version Sqlite3 v2 gem, don't use it)
           sqlite3 v2 gem is out (2024-05)
[Update] [Done] Lock Ruby v3.2 in Gemfile 
* [TODO] padrino-core-0.15.3 issue  (might be a new release soon)
/Users/zhimin/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/padrino-core-0.15.3/lib/padrino-core/router.rb:61:in `initialize': wrong number of arguments (given 3, expected 1..2) (ArgumentError)

      match = Regexp.new("^#{Regexp.quote(path).gsub('/', '/+')}(.*)", nil, 'n')
* [Feature] [Done] Split determining test files for parallel into three steps: test files, priority and lookup, and move it into builds_helpe.rb

* Anaylse performance on determining test files and its priorities
^^1>  Prepare test files took: 5.54868 seconds
^^2>  Determine dynamic  priority took: 10.523801 second
^^3>  Save context look up: 0.087709 seconds
^^$> Prepare test files and determines priority total took: 16.160661 seconds

[Enhancement] [Done] Speed up prepare test files
                     From ~5 seconds to 1.3 seconds. 300% faster. 
                     Solution: using activerecord-import, and do initital copy of last run's priority; then do dynamic priority
      
[Fix] [Done] invalid byte sequence in US-ASCII 
             Solution - : change to File.open("XXX", "r") to File.readlines("xxx", :encoding=>"UTF-8")

 * build.rb:1094
 Failed to read spec file => /Users/zhimin/.buildwise/work/whenwise-full-build/sources/ui-tests/spec/sign_in_spec.rb, maybe invalid char set.  Error: invalid byte sequence in US-ASCII
 Failed to read spec file => /Users/zhimin/.buildwise/work/whenwise-full-build/sources/ui-tests/spec/sign_up_business_spam_spec.rb, maybe invalid char set. Error: invalid byte sequence in US-ASCII


2.4.3 (2024-03-31)

[Fix] [Done] On a rare cases, a parallel build finishes quickly (test files were created without results). Build.refresh_ui_status return nil and ui_test_status column is "OK"

2.4.2

[Fix] [Done] Stats calculation of reported "test execution time" (should use test file, NOT the test case, as test steup)

2.4.0

[Feature] [Done] Sample Playwright Test build
[Fix] [Done] don't check ' failed' text as the failed indicator (lib/buildwise/builder/rake.rb)
[Enhancement] [Done] On duplicating, smarter setting task names
[Database Change] builds table, :test_framework => :test_syntax_framework

2.3.9

[Feature] [--- ] On showing the build page, add caching with build.finish_time if any
 # Add manual link to clear cache (not sure how yet in sinatra)

2.3.8

[Feature] [Done] Lock on the ActiveRecord 7.0.x, to upgrade 7.1, change "ActiveRecord::Base.default_timezone=" to "ActiveRecord.default_timezone="

2.3.7

[Feature] [Done] Enable Test Execution respects the project environment variables

2.3.6

[Feature] [Done] Support JUnit-Ant in sequential build

2.3.4

[Feature] [Done] If ui test framework is set to "VSTest C#", the test file name in the final test report will 
                 be transformed like this: TestResult-HelloSeleniumTest.SeleniumLoginTests.xml => HelloSeleniumTest.SeleniumLoginTests


[Update] [Done] in app/model/testcase.rb, uncomment before_creat :normalize_name

2.3.3

[Fix] [Done] When test result stdout or stderr exceeds 64K, truncates them (first 1K + last 1K).

2.3.2

[Workaournd] From Ruby 3.2 + ChildProcess 4 onwards (maybe) on Windows, if setting process.io.stdout to a file,
             return the following weird error
 ChildProcess::Error - Unknown error (Windows says "The operation completed successfully.", but it did not.):
 
2.3.1

[Fix] buildwise-build.rb load the database.yml based on the passed env argument
[Fix] Psych 5 issue
      Tried to load unspecified class: Time (Psych::DisallowedClass)
2.3.0

[Update] Support Ruby 3.2 (File.exists? => File.exist?, Dir.exists? => Dir.exist?)


2.1.9

[Feature] [--  ] server token for agent to supply when request for builds or tests


[Enhancement] [-   ] On TestWisely boxes, upgrade shall also change symoblic link and restart nginx
     sudo service nginx restart
	 

2.1.8

[Feature] [ --- ] Record load testing configuration to build
[Feature] [ --- ] Select load build to compare

Asynchronous Concurrency

2.2.0

[Feature] [Done] Upgrade to Sinatra 3 and Padrino 0.15.2
[Enhancement] [Done] in builds.rb, load models, for handling API invoking direclty (fails on development, which shall be unnecessary )
[Enhancement] [Done] wrap handling screenshot code, if exception throw, the result is saved, check log for error.
[Enhancement] [Done] {Performance} paralle contorller's building, adding caching, 
                     reduce  0.038 to 0.0016
[Enhancement] [Done] {Performance} paralle contorller's ui_test_status adding caching, 
                     reduce  0.01 to 0.003


2.1.2 2022-12-12

[Feature] [Done] Support Appium (add appium_lib to Gemfile)

2.1.1

[Feature] [Done] Add configuration column to projects table.
[Feature] [Done] On create and save a project setting, will save to the configuration column as well.
[Feature] [Done] If the configuration xml not exists and configuration column exists, recreate the configuration xml file when calling @project.config

2.1.0

[Feature] [Done] Add repository_url column to projects table. On project creation, save there. 


2.0.7 (2022-09-26)

[Feature] [Done] {load compare chart} show slowest time as well as average
[Feature] [Done] {load compare chart} respect max build count
[Feature] [Done] Set turboThreshold to 5000 when there are too many plot points, however, still not working
[Update] [Done] Lock on Sinatra to ~2.2 in Gemfile

2.0.6

[Enhancement] [Done] {Upgrade} Fixed the source buildwise does not have public/artifacts folder
[Enhancement] [Done] {UI} Don't show how many on 1 agent for load testing mod
[Enhancement] [Done] {UI} Display target server
[Feature] [Done] Show individual load test history chart


2.0.5

[Enhancement] [Done] {Upgrade} re-link buildwise and restart nginix for TestWisely BuildWise instances

2.0.4

[Fix] [--- ] Upgrade server will alos copy server.digest file from the old distribution

2.0.3

[Fix] [Done] TestFiles Controller's order("TESTFILES.ID") error

2.0.2

[Enhancement][Done] added release version for TestWisely with specific database.yml
[Enhancement][Done] Display duration %0.2
[Fix][Done] Sequential build, the total duration is set to total of sub test cases (calling recal), which is wrong, not considering before(:all). 

2.0.1

[Enhancement] [Done] MAX_DISPLAY_LOG_KB in constants.rb to control max display in BuildWise log
[Enhancement] [Done] Set default SERVER_DIGEST if no config/server.digest or Environment Variable
[Enhancement] [Done] Server Digest is allowable between 8-10 characters
[Fix] [Done] Load test results set server digest

2.0.0 (2022-03-17)

[Refactor] [Done] Junit Run 
[Refactor] [Done] Parsing JUnit5 report
[Refactor] [Done] Render JUnit test duration with 3 rounding (too quick)
[Refactor] [Done] Add back bin/buildwise-ant.bat (but not everified yet)
[Refactor] [Done] Using new examples repository github testwisely
[Refactor] [Done] Support basic Ant execution, an example added
[Refactor] [Done] Add custom steps on new project creation
[Refactor] [Done] Add prepare_command on new project creation
[Fix] [Done] Load testing, don't show duplicate sutie name warning
[Enhancment] [Done] load config/server.digest file preceding environment variable "SERVER_DIGEST"
[Fix] [Done] Find user model, narrowed by SERVER_DIGEST
[Fix] [Done] Find project by idnetifier, narrowed by SERVER_DIGEST
[Fix] [Done] Add new project will check identifier with digest, currently failed to create with blank alert mssage
[Fix] [Done] Only the project (matching digest) on Admin prefernces (Project.all => Project.retrieve_all)
[Fix] [Done] Validation on Project model (not using scope :server_digest)
[Fix] [Done] Drop index uniqueness on projects on identifier
[Fix] [Done] Rakefile.release ~activerecord 6 locking, remove it
[Fix] [Done] Rakefile.release db_migrate, load <%= %> in database.yml
[Feature] [Done] Multi-BuildWise server share the same databases
                 add buildwise unique server_identifier
[Upgrade] [Done] ActiveRecord 7 (relax ~> 6, v6 works well too), add net-ssh
[Fix]     [Done] lib/buildwise/component_lazy_loader.rb, require 'buildwise/builder/Rake", => require "buildwise/builder/#{type.downcase}"
[Enhancement] [Done] load config/database.yml supporting <%= %>, like Rails. (3 locations: migrate, web, build)


1.9.16 (2022-02-17)

[Fix] [Done] Not running Mocha/Pytest on Windows for Enable execution (execute_test_script_with_system_command)
[Fix] [Done] Safe display invalid UTF-8 output in Execution output

1.9.15 (2022-02-17)

[Feature] [Done] 'Enable execution' for Mocha JS tests  (test file only)
[Feature] [Done] 'Enable execution' for Pytest tests (test file only)
[Fix] [Done] Execution test file button not enabled when there is only one test.


1.9.14 (2022-02-14)

[Enhancement] [Done] Added checking for screenshot file exists first in build.rb

1.9.13 (2022-02-14)

[Enhancement] [Done] build/_ui_test_results.rb, where result is OK but with screenshot, but error data is nil fail regex check.
[Fix] [Done] show checking screenshots for Mocha projects, bugs parse_junit_reports_in_dir function, BUILD_ROOT => build_root, screenshots_dir


1.9.12 (2022-02-01)

[Enhancement] [Done] If the test report containing multiple test file names, show an alert (duplicate describe('') RSpec Sequential)


1.9.11 (2022-01-26)

[Enhancement] [Done] add mechanize gem to Gemfile (for performance testing)

1.9.10 (2022-01-20)

[Enhancement] [Done] pass rate display on chart and build page

1.9.9 (2022-01-19)

[Feature] [Done] add pass rate to build charts

1.9.8

[Feature] [Done] add ui test pass rate to the view.

1.9.7

[Fix] [---] missed mysql2 gem for linux

1.9.6

[Feature] [---] Support new load testing log_time output for performance testing results

1.9.5

[Feature] start server with bundler, this resolves some RUBY_..._ACTIVATED error on Windows.
          However, make sure adding test libraries to Gemfile and run bundle install, for sequential builds.
					
[Refactor] move installation files to a new folder install/.

1.9.3

[Feature] Add configuration for deployment rake task
[Feature] On successful builds, can invoke deloy task if configured.


1.9.2 (2021-11-07)

[Fix] [Done] anonymous user can rerun a test.
[Fix] [Done] anonymous user can update test priority.

1.9.1

[Enhancement] [Done] Add Typical RSpec on creating a new project
[Enhancement] [Done] Check project id and project dir on creating a new project
[Change] [Done] While still support SVN, but only shows Git.

1.9.0

[Upgrade] [Done] bootstrap 5.0
[Upgrade] [Done] Highcharts 9, bootbox, popper
[Enhancement] [Done] {UI} General
[Enhancement] [Done] {UI} Display warning of test scripts with no results for a parallel build
[Fix] [Done] display users 
[Deprecate] [Done] Dynamic Feedback, it is rarely used in practice, add is complexity to user, so remove it
[Rename] [Done] Intelligent Ordering => Dynamic Ordering

1.9.0 beta 2

[Fix] [Done] test output modal, tab click does not work


1.8.15

[Enhancement] [Done] save current_build_project_id under BUILDWISE_HOME/work folder, so in Rakefile not necessary pass project_id for /start_build


1.8.14

[Fix] [Done] {Custom Execution} unnecessary double confirm on close
[Fix] [Done] {Custom Execution} kill browser on custom execution

1.8.13

[Feature] [Done] {Custom Execution} confirm on close

1.8.12

[Upgrade] [Done] Bootstrap 4.6.0
[Upgrade] [Done] JQuery 3.6.0
[Feature] [Done] Add in-progress bar in custom execution dialog
[Enhancement] [Done] output font-weight increase to 600

1.8.11

[Enhancement] [Done] Show Rerun if a failed tests but past_agents is not NULL

1.8.10

[Feature] [Done] Support wild-config.json with Hash (mulitple), Array (select), String: text

1.8.9

[NOTE] Sometimes, too many TIME_WAIT (ports locked on buidlwise server) using netstat
* [Enhancement] [Done] {UI} change the loading icon on executing test/case on server 
* [Enhancement] [Done] {UI} the loading animation is centered for executing test/case on server
* [Refactor] [Done] {execute test on server} change to use childproces (non Windows)

1.8.8

* [Enhancement] [Done] {Manual rerun} set currently failed one as the past_agent
* [Fix] [Done] in build.rb refresh_ui_status, wrong refering 'build' 

1.8.7

* [Fix] [Done] when the machine is fast, the buildwise-build process starts while the build object is still not persisted into the database

1.8.6

* [Fix] [Done] Nil error on uploading no file or invalid CSV file
* [Enhancement] [Done] Display agent in test file history chart

1.8.5 (2021-01-07)

* [Enhancement] [Done] Demo loading project set agent dir for macOS, Linux nad Win
* [Enhancement] [Done] Minor style on group-on input boxes
* [Enhancement] [Done] Only set multiple agent work dir for '/work/projects/agiletravel-ui-tests' demo project

1.8.4 (2021-01-04)

* [Fix] [Done] Roo does not work with Ruby 3
                 user_story.rb:11:in `import_csv'
               Handle special with Ruby 3, using raw CSV to parse
1.8.3 (2021-01-02)

* [Enhancement] [Done] History chart show different color for selected build
* [Enhancement] [Done] Work with Ruby 3 (Platform class issue)

1.8.2 (2020-12-27)

* [Feature] [Done] Add a new test execution mode: performance test step
* [Feature] [Done] capture performance test output, extract timings out => into db (PerformanceTestResult)
* [Feature] [Done] create performace charts in build reports
* [Enhancement] [Done] remove deprecation of database connection (database.rb) using configs_for (Rails 6 way)
* [Feature] [Done] Show history of operation in performance testing
 
1.8.1 (2020-12-21)

* [Feature] [Done] Setting main testing task name

1.8.0 (2020-12-15)

* [Feature] [Done] Display the error when test scripts failed to run (loading error due to missing a gem ...)
* [Enhancement] [Done] Change "Quick => "Sequential" in demo projects
* [Enhancement] [Done] Add performance test demo 
* [Enhancement] [Done] remove_suite_name_from_test_case is set default to step
* [Enhancement] [Done] Use new 'test_syntax_framework' in build step, while 'ui_test_framework' attribute remains for backward compatiblity. On save, this attribute will be gone though

1.7.11 (2020-11-08)

* [Enhancement] [Done] Transactional creating a list test files for a parallel build


1.7.10

* [Enhancement] [Done] if most recent run of a test file failed, gives more priority (+20)

1.7.9

* [Enhancement] [Done] Fix invoke command_line setting empty env var key

1.7.8

* [Enhancement] [Done] Show UI Test report only if a step is selected and step task name is 'UI Test'

1.7.7

* [Feature] [Done] Add HighLight.js 

1.7.6

* [Fix] [Done] Updating test file priority set the build's summary as well.
* [Enhancement] [Done] Determine test priority with more weight on most recent failure
* [Enhancement] [Done] Determine test priority, add minor weight on false alarms
* [Enhancement] [Done] Determine test priority, exclude invalid builds (cancelled might still OK)
* [Enhancement] [Done] Determine test priority, exclude test runs no results

1.7.5

* [Feature] [Done] Build clean up command (e.g use: delete docker)
* [Enhancement] [Done] Clear build summary if value entered is empty string.

 1.7.4

* [Feature] [Done] When exexcution modal is shown, reload will show a confirmation page to avoid the user losing data

1.7.3

* [Enhancement] [Done] sorted user specificed artifacts
* [Enhancement] [Done] if build cancelled, do not show 'No tests' on result.
* [Feature] [Done] {Parallel UI} Show individual test start time
* [Feature] [Done] {Parallel UI} Sort by assign time
  
1.7.2 (2020-07-26)

* [Enhancement] [Done] Cache build_false_alarms in builds controller 
* [Fix] [Done] cancel a build on Windows did not kill the sub process 
* [Fix] [Done] On Sequential Build, shows previous build results first

1.7.1

* [Enhancement] [Done] Cache count (test_cases_count in test_files table) to improve loading build page performance
* [Enhancement] [Done] Cache project_config in ui_test_results (otherwise multiple query)
* [Enhancement] [Done] Cache @project_available_agents (which is a rather expensive query, called twice in view), move to controller
* [Fix] [Done] Wildcard export to_s if value has one elmeent
* [Fix] [Done] Execute individual test fails if the test case name has leading/trailing spaces.

1.7

* [Upgrade] [Done] Padrino 0.15
* [Feature] [Done] {API} Server SERVER_API_KEY set/load
* [Feature] [Done] {API} Project PROJECT_API_KEY set/load
* [Enhancement] [Done] Merge DATA_ROOT with BUILDWISE_HOME
* [Feature] [Done] {API} Trigger a build  
* [Feature] [Done] {API} Create project
* [Feature] [Done] {API} Cancel a build
* [Feature] [Done] {API} Complete a build
* [Feature] [Done] {API} Build result (succesful: true/false/pending)
* [Fix] [Done] - for ui test status but not overall build status] Detect failed build (shown OK), 0 tests.  http://buildwise.macmini/builds/5671
* [Feature] [Done] Database/work data reset for test automation
* [Feature] [Done] Http Callback notification 
* [Deprecated] [Done] StoryWise notification
TODO: quick build, clear preivous results

1.6.13

* [Enhancement] [Done] Move archive ui tests to build-commands (from post '/builds/begin')
                       (this reduce chances ui test not archived due to command was cut)
* [Fix] [Done] A build finished but a test is hanging, elpased_time
                       
1.6.12 (2020-06-12)

* [Change] [Done]  Add account_id to users
* [Refactor] [Done] test automation 

1.6.11 (2020-06-17)

* [Feature] [Done] Clear out assignment over certain (configured ) time.
				   (only perform when call 'refresh ui status' or delay completion)
* [Update] [Done] Change font style/background color of build summary

1.6.10

* [Enhancement] [Done] ActiveRecord uniquness validator depcreation (case_sensitive: true)
* [Fix] [Done] Build Step show wrong end time (for parallel execution)

1.6.9 (2020-05-17)

[Fix] [Done] Generate traceability matrix upload failed with multi form-data
[Enhancement] [Done] If a test (parallel) is assigned, and status is OK but no test cases, show warning

1.6.8

[Feature] [Build] Add complete menu to complete a hanging build. 
[Fix] [Build] rerun link doet not work well when background update is happening, rename rerun-link in JS, instead add .getScript in link
[Fix] [UI] on a parallel build in progress, click "history"/script links not returning, fixed by adding inline 'onclick'

1.6.7

[Update] [UI] Alerting JS library changed to "bootbox", simpler
[Upgrade] [UI] Bootstrap 4.4.1
[Enhancement] [UI] If update build summary, make it immediaatly visble (clear cache)
[Enhancement] [UI] Sequential build, when in progress, hide 'show script' links.
[Fix] [UI] fixed admin unable to remove env variable row in project setting
[Enhancement] [UI] Only enable remote execution on sequential build
[Update] [] Remove jquery-ui css and images

* [Feature] [Done] {Parallel} :only attribute to restrict spec files in the folder
* [Enhancement] [Done] {Report} load test history is bound to selected date range

1.6.6

[Fix] [UI] Typos
[Update] [UI] External link changes

1.6.5

[Feature] [Done] {Load} agent limit
[Enhancement] [Done] {UI} On step view auto refresh ui results
[Enhancement] [Done] {UI} Add settings for dyanmic chart refresh interval 
[Feature] [Done] {Parallel} :only attribute to restrict spec files in the folder
[Feature] [Done] {Parallel} set load server url (that can sent to build agents)

[Fix] [Done] Project configuration file path is checked against ennvironment variable, not safe, make it to check based working_dir first
[Feature] [Done] Add configuration for success critiera: overall error rate and indiviual operation timing
[Enhancement] [Done] {UI} add error rate (error count display as well)
[Feature] [Done] {Load} Check load success against defined success critiera
[Feature] [Done] {Load} Show success critiera result  ==> tick tick 
[Feature] [Done] {Load} Display operation errors

[Fix] [Done] {publisher} if authentication not provided, set to nil (previously empty string)
[Fix] [Done] {Load} catch Exception (RSpec exception error)

Option: "Removing Outliers" - 2
>>>>>>> 5071ffd80d6970fb8fa38e7f0058f64992a120c9

1.6.4

[Enhancement] [Done] Return json string for 'parallel/building'
[Feature] [Done] {Load} pass repeat times to test execution of indiviual test scripts
[Feature] [Done] {Load} Show VU count on build report

1.6.2

[Feature] [Done] {Config} Support basic load testing
   - add project config to indicate it is load tesitng
   - build config -> repeat times in test (within each test file)
   - build config -> loop count (for test files)
   - build config -> max minutes
[Feature] [Done] {Load} Add demo project
[Feature] [Done] {Load} loop times 
[Feature] [Done] {Load} minutes limit, if reaches, remove tests
[Refactor] [Done] remove grid_ui_tests
                  rename builds.distributed => builds.is_parallel
[Refactor] [Done] If configured load test, name task "Load Tests"
[Feature] [--- ] {Load} In progress load results shifting
[Feature] [Done] {Load} Add zoom to final loading results
[Feature] [Done] {Load} In progress load result show operation
[Feature] [Done] {Load} final loading result, enable external to show specific one only


1.6.1

[Enhancement] [Done] {Cucumber} (Quick Build) Display test file name correctly (not TEST-features_XXX.xml)
[Enhancement] [Done] {Cucumber} (Quick Build) Archive features.html and features.log if present
[Enhancement] [Done] {Rerun} Clear pass agent  as well

1.6.0

[Upgrade] ActiveRecord 6
[Upgrade] New way to load database configurations {Rails 6}
[Upgrade] New way to trigger migration {Rails 6}
[Enhancement][Done] No longer user $build_agent_allocations,  more stable showing allocation
[Feature] [Done] User can cancel allocation
[Fix] [Done] TestWise link
[Fix] [Done] Sort build steps by order
[Feature] [Done] {Parallel} false alarm count
[Feature] [Done] {Parallel} Show tests with false alarms in a distribute build
[Enhancement] [Done] {Parallel} disabse /ui_test_status, may avoide bad deteermining incomplete build
[Fix] [Done] On a new build, if a log file with the same build number exists, append instead of starting a new (shall be)
[Enhancement] [Done] On calling builds/build, if project name not specificed, using current active one if there is
[Enhancement] [Done] accept start_build :parallel => true (deprecating :distributed => true)
[Fix] [Done] If 'BROWSER' env variable set by user, then will override target browser setting.

1.5.6

[Enhancement] Highlight error line, parse backwards

1.5.5

[Change] Gem-install for windows platform, using ActiveRecord 5.2 by default

1.5.4

[Fix] On Sequential Build, click output of a test will show at the top, not next to it
[Change] link to screenshot name with parameterlize version of test case name

1.5.3

[Feature] TP-Link smart plug notifier
[Change] Custom task anme: SCM Update => "Git Pull", save explandation of "SCM"
[Enhancement] add tooltip on project name link on dashboard
[Enhancement] if project env var "SERVER" is set, show on dashboard
[Fix] Type 'n' in text controls scrolling
[Fix] Custom execution where SERVER key checks is not correct

1.5.2

[Enhancement] Custom execution, align execute button right
[Feature] Custom execution, remember user server selection
[Upgrade] JQuery 3.4.1

1.5.1

[Feature] Show screenshot on sequential builds (using buildwise_reformatter )
[Enhancement] On Build page, focus ont filter test text box

1.5.0

[Feature] External link to user story (add setting to project configuration)
[Feature] add setting to project configuration to enable syntax highlighting for test output
[Enhancement] Set Slack as the default 1st notification channel
[Feature] session control enable/disable test execution

1.4.9
[Feature] Add syntax code highlighting to TEST stdout and stderr

1.4.8

[Feature] Allocation Agent - link to test file
[Enhancement] New font for pre
[Feature] Add serach icon on test case filtering (clieck x icon reset, support Escape key)

1.4.7

[Feature] Highlight test output in pre (support SQL and Xml)

1.4.6

[Feature] Custom test execution with wildcards

1.4.5

[Feature] Custom test execution with wildcards
[Enhancement] Support multiple, single dropdown wildcards (wildcard-config.json)
[Enhancement] Test execution, trying to use local ui test spec (no git pull) if set
[Enhancement] Add highlight.js for highlihging code in output

1.4.4

[Enhancement] test file output add scrollbar

1.4.3

[Feature] Custom data configration (json in the same folder), support fixed and array

1.4.2

[Enhancement] On Enable execution, if just noly one test, no execute button for test script
[Fix] login in another user, view error project => @project
[Fix] On Enable execution, git pull on sources
[Fix] On Enable execution, save env variables to require for RSpec


1.4.1

[Feature] Wildcard test case execution
[Feature] Parse SpecBahviour name better, handle wildcards
[Change] Traceability pstore location 

1.4

[Upgrade] Twitter Bootstrap 4.3.1 (from 4.1)
[Feature] bundle all CSS/JS (no more exteranl CDN)
[Feature] user stories for project (upload)

1.3.4

[New] startup-production.bat using Webdrick server (when puma does not work)

1.3.3

[Upgrade] Padrino 1.3.3

1.3.2

[Fix] On Windows, if BUILDWISE_HOME is set not exists,does not create it

1.3.1

[Fix] Save project form execution mode error: not distinguish value False vs 'False'
[Feature] [Sequential] Configuration: Intelligent Ordering
[Feature] [Sequential] Configuration: Dynamic Feedback
[Refactor][Configuration] change "distributed" element to "parallel"
[Refactor][Configuration] change env "BROWSER" element to a specific setting field
[Feature] Add metadata column to builds, save environment variables json
[Enhancement] Pass ENV["BUILDWISE_PROJECT_IDENTIFIER"] to project rake no need to specifiy project identifier
[Enhancement] Support view python unittest test script file while test execution in progress
[Enhancement] Support view Mocha test script file while test execution in progress

1.3.0


[Feature] Support Agent on multi environments
          BuildAgent working dirs, shall be a list
[Enhancement] Configuration, on duplicating a existing project, add execution mode, if paralle, need to set buildwise checkout folder
    
[Change] Configuration, Add parallel flag into configuration
[Change] Support multiple buildagent working directories
[Change] Validateion on parallel build configuration
[Enhancement] UI, remove ":"
[Enhancement] UI, lighter styles for placeholder
[Enhancement] UI, Add mandatory indicator on project forms
[Enhancement] Validation of parallel 

1.2.6

[Enhancement] Show validation error for test_files sharing the same name (Validation failed: message) on build result page

1.2.5

[Fix] Set Local UI test folder to its test folder (not checked out dir)
[Fix] Fix calling wrong db migrate (shall be db_migrate) in start-development.sh
[Feature] Show and sort time of execution for quick build

1.2.4

[Enhancement] _ui_test_results.erb scrollTo() up before
[Enhancement] add fixed font to build history item in left 
[Enhancement] project form, add "=" in environment variable editing
[Enhancement] increase the font size of  input box in project form
[Enhancement] build trigger hint with current project identifier
[Enhancement] layout of right align icons on home page
[Feature] Click icon to show screenshot directly

1.2.3

[Enhancement] Don't show extra for Home page for public users on mobile
[Enhancement] Stick ui test summary banner if in waiting mode
[Feature] key navigate to next error
[Feature] New Upgrade 
[Feature] Quick upgrade mode
[Feature] Click screenshot icon directly show screenshot tab
[Feature] Artefacts download binary file (not showing in browser)
[Refactor] "/projects" => "/"

1.2.2 (2018-05-21)

[Feature] Responsive UI
[Upgrade] font-awesome 4.7.1
[Enhancement] UI: change color of progress bar, delay completion bar
[Enhancement] UI: using font awesome icon replace image
[Fix] caching after cancel build

1.2 (2018-05)

[Enhancement] Get RspecJunitFormatter for RSpec
[Enhancement] Support ActiveRecord 5.2 (the migrator changed in 5.2, use own custom migrate task in Rakefile)
[Enhancement] UI improvement on footer
[Upgrade] HighCharts 6, BootStrap 4.1.1
[Change] Default to not refreshing the home page by default
[Enhancement] If a build is alredy complete, don't show in-progress spinner
[Enhancement] header test summary and colors

1.1.9

[Fix] Relax on gem dependencies 

1.1.8

[Enhancement] Enable iframe embed 

1.1.7

[Fix] Export test execution report in excel report
 
1.1.6 (2018-02-04)

[Enhancement] Set default sorting order by most recent

1.1.5 (2018-01-30)

[Feature] add Japanese Locale (beta)
[Enhancement] Add 'stay signed in' on login form, faster login without remember digest every time
 
1.1.4 (2018-01-28)

[fixes] caching after after starting a new build

1.1.3 (2018-01-25)

[Enhancement] caching after cancel project
[Upgrade] bootstrap date picker and daterange picker JS/CSS

1.1.2 (2018-01-22)

[Refactor] Clear out unused SCM and publishers
[Enhancement] Optmiize caching 
[Upgrade] Bootstrap 4.0 final

1.1 (2018-01)

[Fix] Auhtorization of editng user
[Refactor] switching to Padrino 

1.0.5

[Feature] Use cookie to remember user login for one day (if user does not sign out)
[Enhancement] Always show 'Rerun' link 30 seconds after the test has been assigned
[Enhancement] Add 'Build Now' button to build page
[Enhancement] add test script execution time weighting

1.0.4

[Fix] API trigger link
[Fix] check dupliction identifier on cloning
[Fix] Cancel a build not setting end time
[Fix-TODO] duplicate test case 

1.0.3

[Fix] Fixed allocation modal UI (BS4 compliaint)

1.0.2 (2017-11-12)

[Enhancement] The color of progress bat for main build step (e.g UI Test) using green or red
[Enhancement] Remove shadow of 'Cancel this build' button
[Enhancement] Remove section icon in UI test PDF

1.0.1

[Change] Font to open-sans

!! FIRST PUBLIC RELEASE

1.0 (2017-11-06)

[Enhancement] UI redesign
[Upgrade] Bootstrap 4
[Change] Alertify to replace bootbox (which is not compatible with BS4)
[Change] Using Alertify to update project name (x-editble not compatible with BS4)
[Feature] Display current indicator in chart (gray)
[Feature] Add date range selection to Charting.
[Feature] Add stats for both selected date range and full range
[Feature] New project can set UI test framework
[Feature] Duplicate can set UI task


-----------

0.9.1.9

[Enhancement] Default to expand Change Log on SCM Update
[Enhancement] Add new default date range last 14 days

0.9.1.7

[Enhancement] {test failure modal} Show full screenshot image (user can open in new tab to see full)
[Enhancement] {test failure modal} reset screenshot scrolling when open 
[Enhancement] {test failure modal} reset tab when open
[Enhancement] {test failure modal} wider
[Fix] Display timing on full build UI test execution
[Fix] Minor UI enhancements

0.9.1.6

[Fix] the table margin bottom under build steps

0.9.1.5

[Enhancement] Export now under section header

0.9.1.4

[Enhancement] Clean up logging
[Enhancement] Show full build command log on Build log section

0.9.1.3

[Enhancement] Works better on windows for non-RSpec projects
[Enhancement] Only show "Duplicate" if the project already checked out
[Enhancement] Redirect to build page after click "Build Now"
[Enhancement] Show loading indicator next of "Prepare build" if no operations recorded yet.

0.9.1.2

[Feature] Show pending tasks on left nav menu

0.9.1.1

[Feature] Show planned (unexecuted step - styled differently)
[Feature] Show task history chart

[Feature] XML syntax highlight on edit project XML
[Feature] Users can choose builder for individual task (Rake or command/shell)
[Feature] User can drag and drop to sort build steps
[Feature] User can add custom tasks
[Feature] User can remove build steps
[Feature] Show individual output (logging) for every task
[Feature] Treat SCM update and send notifications at build steps
[Refactor] Builder (Rake and Shell)
[Enhancement] check project folder exists on creating a new project

0.9.0.15

[Enhancement] Section closed using font-awesome instead of images
[Enhancement] Detect project config file already existed on project creation

0.9.0.14

[Feature] Admin can delete an invalid build
[Enhance] Add icons to build actions on build page
[Feature] Admin or the builder who started the build can cancel the build
[Enhancement] Add common errors warning text (if project no tests files and over 60 seconds)

0.9.0.13

[Feature] Configure project to show test scripts to public or not

0.9.0.12

[Enhancement] UI changes, move export UI test reports under dropdown.
[Enhancement] build history chart set max width
[Enhancement] Add more tooltips
[Enhancement] Highlight building in dashboard
[Enhancement] Redirect to home page if user clicks start build without login

0.9.0.11

[Feature] Click bar in build history chart navigate to build
[Enhancement] Print view

0.9.0.10

[Enhancement] Login page show default login first time 
[Enhancement] Add demo projects for RSpec, Mocha, Cucumber, unittest(Python)

0.9.0.9

[Fix] On Windows, showing build history on a in-progress build
[Fix] For Mocha, not tests not with spec/test.xml was ignored. 

0.9.0.8

[Feature] Save screenshot with Quick Build, support RSpec (project Rakefile needs to include new ci_reporter override file)
[Feature] Show build history chart on home page
[Feature] Show build history chart on build project (up to the showing build)
[Refactor] lib/utils (moved to)
[Refactor] remove unused cli
[Refactor] grid to parallel (BuildWiseAgent 2.1 will use new /parallel/ )


0.9.0.7

[Fix] Project build history tooltip always display latest build time
[Enhancement] I18n for progress bar
[Feature] Save and show the build triggered by User or API 

0.9.0.6

[Fix] Avoid show UI test status is empty bootbox.alert
[Enhancement] Avoid receive test results twice for the same file, leading to double test cases
[Fix] Slack notifier
[Enhancement] Faster returning api status for projects

0.9.0.5 2017-08-27

[Feature] Slack notification
[Fix] Sort menu extra gap
[Enhancement] Update chinese locale
[Enhancement] Move more inline style to buildwise.css
[Enhancement] Add tooltip for build detail links

0.9.0.4

[Enhancement] database migration, don't set index name which might fail on certain MySql version

0.9.0.3

[Fix] wemo publisher check status
[Fix] wemo publisher display (badge to span)
[Enhancement] Show builder error message (as well as backtrace)
[Feature] Support archiving wildcard files such as pages/*.csv

0.9.0.2

[Enhancement] Remove font files (exclude woff) under font-awesome/fonts to make smaller buildwise release
[Refactor] Drop support unused source controls such as hg, perforce
[Refactor] Removed unused javascript (flot, jquery-ui)
[Fix] Handle report page when there is no build data
[Enhancement] Display progress bar percentage to 100%

0.9.0.1

[Enhancement] Show "so far so good" if build is in progress

0.9.0

[Feature] View screenshot of failed test
          (- Server save binary file and unzip to public/artifacts/build/spec_id/)
[Feature] Run specific test on BuildWise server
[Feature] Search test file/test case on build report page
[Feature] Security: user authenticated for projects with role-based access
[Feature] Dashboard sort projects and remember project sorting selection during the session
[Feature] Show/hide projects from public
[Feature] API to start a new build

[Feature] In config, set max wait time, used in Rakefile as environment variable
[Feature] Add help page
[Fix] not saving suite_name/description for TestFile when receive results from BuildAgents

[Enhancement] Rake a task not exists, not showing in BuildWise output
[Enhancement] Add company name for Excel report
[Enhancement] Set max chart height in preferences
[Enhancement] On Windows, don't auto refresh by default, but set auto refresh always after starting a new build
[Enhancement] Reports UI
[Enhancement] Add option to remove suite_name/description from test case
[Enhancement] Auto set environment variable BUILDWISE_MASTER
[Enhancement] Add configuration for DISTRIBUTED_MAX_BUILD_TIME and interval
[Enhancement] Display better on mobile platforms

[Upgrade] HighCharts.js 5.0.12
[Refactor] Use Puma (instead of Thin) as the default application server
[Refactor] Use standard I18n.t for locale, remove sinatra-r18n, replaced by i18n gem

[Fix] Newly created project from working dir does not pass BUILDWISE_MASTER environment variable 
[Refactor] In ApplicationController, clear active connections after 
[Enhancement] Redirect the original request after login
[Feature] Implemented flash using sinatra-flash
[Refactor] Rename Configuration to ProjectConfiguration

[Fix] If not login, click 'Build Now' is not allowed
[Enhancement] The nav bar menu is user aware
[Enhancement] Layout, on build report, reduce gap between build list and the current build content
[Feature] Add company name to setting, show is page title and test report
[Feature] Admin can add new user
[Feature] Admin can edit user
[Feature] Admin can change user password and email
[Feature] Show/hide public view of projects
[Enhancement] Use standard I18n.t for locale, remove sinatra-r18n, replaced by i18n gem
[Feature] Add can change users roles to projects
[Enhancement] Enable embedding in frames, exclude rack protection 
[Feature] User authentication
[Enhancement] Set BUILDWISE_MASTER
[Feature] Support screenshot on failed test 
	- Agent can capture screenshots for RSpec on failure
  - Agent can send test results with binary zip file
	- Server can receive test results and binary screenshot zip file
	- Server save binary file and unzip to public/artifacts/build/spec_id/
	- Link the above together
	- Show screenshots on BuildWise UI
	
[Upgrade] Sinatra 2.0
[Update] Database migration with version number

0.8.5

[Change] create new project require admin access
[Fix] failed to draw chart when the agent name is not specified

0.8.4

[Feature] Invalidate/validate a build to show and hide from reporting
[Feature] On build page, show tooltip of build time

0.8.3

[Fix] Support detecting  Mocha's Junit xml (double testsuite first one empty"

0.8.2

[Fix] Parsing two type of JUnit result xml

0.8.1

[Enhancement] In grid_controller and build, parse junit xml now explicitly support only first test suite

0.8.0

[Update] Upgrade to sinatra 2.0RC
[Update] Opt out subversion check, faster start up time
[Enhancement] Move version number up next to buildwise to make it more visible 
[Feature-TODO] On homepage, list recent completed projects 

0.7.4 (2017-02-02)

[Feature] ShowCase mode, disable save project, show test script content, triggering builds with modal notice
[Enhancement] Add tooltips to some buttons
[Enhancement] Add font-awesome icons for admin and new project

0.7.3

[Upgrade] ActiveRecord 5
[Upgrade] Json 2 (better supporting Ruby 2.4)

0.7.2

[Feature] Show percentage of time saved by running in parallel on build page
[Enhancement] Highlight actual execution time vs total exeuction time on build page

0.7.1

[Enhancement] Make Rake builder to be aware Python's pytest and Nose failed test output
[Feature] Add scroll to top JS animation

0.7.0

[Feature] One button to delay checking completeness of a distributed build (builds_controller: "/:id/ui_test_status")
[Featture] More intuitive way for adding/editing environment variable (not textarea)
[Enhancement] Excel/CSV test report to take before/after into consideration
[Upgrade] HightCharts 5
[Feature] Detect changed files in recent change log, increase priority
    git diff --name-only HEAD~3 HEAD
	git diff --name-only 1c075dcfa5093db1b8591640a59265ae8c11a237  HEAD
[Enhancement] If build is complete or cancelled, the busy rerun indicator shall not be shown after a new project build
[Fix] Set up a new project by specify Git URL directly.
[Enhancement] Add more actions button (...) to move uncommon buttons as dropdown menus
	
0.6.1.1

[Enhancement] Set default Environment Variables: BROWSER = chrome

0.6.1

[Enhancement] Using toggler to turn on/off retry for full build
[Enhancement] Sort build agents name on project configuration
[Enhancement] Sort test files name and build agents name on distribution rule modal dialog
[Enhancement] Distribution rules table UI enhancement
[Enhancement] New chart for build time using HighChart
[Enhancement] Build time chart supports selectable zoom
[Enhancement] Upgrade to Jquery 3.1
[Enhancement] Build time chart show time for last month build result
[Enhancement] Test history modal dialog

0.6.0  

[Feature] Add new task for the builder configuration: api_test
[Enhancement] parse standard JUnit Report with pattern [TEST|SPEC]*.xml
[Enhancement] basic MadCow test execution supported
[Feature] Add ui_test_framework to configuration (Node.JS Mocha, Python unittest)
[Fix] Build test file sorting on quick build
[Enhancement] popup dialog styles
[Enhancement] caching Git extract commit info saving time
[Feature] Support running selenium webdriver python
[Change] builder output heading marker @@@ => ### (like markdown)
[Enhancement] Create new project: display error 
[Enhancement] Create new project: toggle checkbox for manual project setup
[Feature] Support running selenium webdriver nodejs
[Feature] Save system out and error to DB
[Feature] Display stdout of test script file in build page
[Feature] Display stderr of test script file in build page 
[Fix] Create new and duplicate project remove extract spaces
[Fix] Save Finish time failed when builder_output 
      Mysql2::Error: Data too long for column 'builder_output'
			[INFO]The type TEXT is limited to 2^16 bytes, or 65536 bytes
			
0.5.5 

[Feature] In-place editing project's name

0.5.4

[Feature] Show testwise link on build result page if testwise integration is turned on
[Enhancement] Show date range (report page) in years if over 365 days
[Feature-TODO] Shor graph on test distribution on agents
[Feature] Show troubled agents on distribution build (clear when it is finished or cancelled)

0.5.3

[Enhancement] retrieve available project agents faster on build page (consider using cache in future, edit page has called twice)
[Enhancement] faster reporting (half) on generating project report using ActiveRecord:pluck


0.5..2

[Feature] Add update ui_test_status button on incomplete distributed build
[Fix] intermittent distributed build is not finished
[Feature] Setting to show link to open tests in TestWise

0.5.1

[Enhancement] UI test results sorting with indicator
[Enhancement] Use font-awesome icons, replacing images
[Fix] Check MD5 before upgrade


0.5.0

[Feature] Distribution Rule
[Feature] Check for updates
[Feature] Self Upgrade
[Feature] Update test file priority during a build
[Feature] Delete to confirm work/ config/*.xml
[Enhancement] Show project build status
[Feature] Show gems on admin page
[Fix] Build artifacts collapse
[Enhancement] Show project build status icon (and full build agent)
[Feature] Show build agents on build page,  builds/show.erb,

0.4.0

[Enhancement] Better handling when error occurs on running test on build agents, fail quickly and show why.

0.3.7

[Feature] Add builder.log (new) for a specific build to build artifacts
[Fix] Don't exit build when ui_test directory not exists
[Enhancement] rename build system out log to build-output.log (from build.log)
[Fix] hide artifact folder (which has not been working anyway)
[Fix] hide scheduler polling in setting
[Fix] QuickBuild not saving test_file's successful attribute
[Enhancement] Admin interface
[Feature] Admin - delete project
[Feature] Can set max test file history
[Feature] Parsing Cucumber feature test report (Quick Build)

0.3.6.1

[Fix] double and single escaping for display test failures.

0.3.6

- Minor refactoring

0.3.5

[Fix] unable to create new project due to @config is not set for default_agents
[Enhancement] Add more instructions on new project page

0.3.4

[Feature] Project configuration, add default_agents (allowed to run builds)
[Feature] Only distribute tests to allowed agents as set in project configuration

0.3.3

[Enhancement] Sort results by default on distribute build
[Enhancement] Escaping single and double quotes
[Enhancement] Indicate sorting column
[Enhancement] Add space on reporting view
[Feature] Duplicate existing project

0.3.2

[Feature] in setting.yml, added option to not to show test script content (which is on by default), the option is be settable by admin interface, only manually change on file system and restart to take effect.
[Enhancement] Show test failure in modal popup  and scroll to the bottom

0.3.1

[Fix] config.ru for windows, don't redirect stderr/stdout, so that it can be stopped by Ctrl+C
[Fix] progress bar on build
[Fix] readonly on build task (not disabl\x65\x64\x29\x0A\x5B\x45\x6E\x68\x61\x6E\x63\x65\x6D\x65\x6E\x74\x5D\x20\x65\x78\x74\x72\x61\x63\x74\x20\x62\x75\x69\x6C\x64\x77\x69\x73\x65\x20\x76\x65\x72\x73\x69\x6F\x6E\x20\x66\x72\x6F\x6D\x20\x63\x6F\x6E\x73\x74\x61\x6E\x74\x73\x20\x74\x6F\x20\x76\x65\x72\x73\x69\x6F\x6E\x2E\x72\x62\x0A\x0A\x30\x2E\x33\x2E\x30\x0A\x0A\x5B\x52\x65\x66\x61\x63\x74\x6F\x72\x5D\x20\x55\x70\x67\x72\x61\x64\x65\x20\x74\x6F\x20\x4A\x51\x75\x65\x72\x79\x20\x32\x0A\x5B\x52\x65\x66\x61\x63\x74\x6F\x72\x5D\x20\x55\x70\x67\x72\x61\x64\x65\x20\x74\x6F\x20\x42\x6F\x6F\x74\x53\x74\x72\x61\x70\x20\x33\x0A\x5B\x46\x65\x61\x74\x75\x72\x65\x5D\x20\x41\x64\x64\x20\x73\x75\x6D\x6D\x61\x72\x79\x20\x74\x6F\x20\x61\x20\x62\x75\x69\x6C\x64\x0A\x5B\x45\x6E\x68\x61\x6E\x63\x65\x6D\x65\x6E\x74\x5D\x20\x48\x69\x67\x68\x43\x68\x61\x72\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x72\x74\x65\x64\x20\x61\x6E\x64\x20\x66\x6C\x65\x78\x69\x62\x6C\x65\x20\x77\x69\x74\x68\x20\x77\x69\x64\x74\x68\x0A\x5B\x52\x65\x66\x61\x63\x74\x6F\x72\x5D\x20\x55\x49\x20\x66\x6F\x72\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x66\x6F\x72\x6D\x73\x0A\x5B\x52\x65\x66\x61\x63\x74\x6F\x72\x5D\x20\x53\x68\x6F\x77\x20\x70\x72\x6F\x67\x72\x65\x73\x73\x20\x62\x61\x72\x20\x6F\x6E\x20\x68\x6F\x6D\x65\x20\x70\x61\x67\x65\x20\x61\x6E\x64\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x62\x75\x69\x6C\x64\x20\x70\x61\x67\x65\x0A\x5B\x45\x6E\x68\x61\x6E\x63\x65\x6D\x65\x6E\x74\x5D\x20\x44\x6F\x6E\x27\x74\x20\x61\x75\x74\x6F\x2D\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x66\x69\x65\x6C\x64\x73\x0A\x5B\x45\x6E\x68\x61\x6E\x63\x65\x6D\x65\x6E\x74\x5D\x20\x44\x69\x73\x61\x62\x6C\x65\x20\x22\x42\x75\x69\x6C\x64\x20\x4E\x6F\x77\x22\x20\x62\x75\x74\x74\x6F\x6E\x20\x77\x68\x65\x6E\x20\x74\x68\x65\x72\x65\x20\x69\x73\x20\x61\x6E\x20\x61\x63\x74\x69\x76\x65\x20\x62\x75\x69\x6C\x64\x0A\x0A\x30\x2E\x32\x2E\x38\x0A\x5B\x46\x65\x61\x74\x75\x72\x65\x5D\x20\x41\x64\x64\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x62\x75\x69\x6C\x64\x20\x73\x74\x61\x74\x75\x73\x20\x52\x45\x53\x45\x54\x20\x41\x50\x49\x20\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x3A\x69\x64\x65\x6E\x74\x69\x66\x65\x72\x2F\x73\x74\x61\x74\x75\x73\x2C\x20\x72\x65\x74\x75\x72\x6E\x73\x20\x4A\x53\x4F\x4E\x0A\x0A\x30\x2E\x32\x2E\x37\x0A\x5B\x46\x65\x61\x74\x75\x72\x65\x5D\x20\x41\x64\x64\x20\x74\x65\x73\x74\x20\x68\x69\x73\x74\x6F\x72\x79\x20\x63\x68\x61\x72\x74\x0A\x5B\x46\x65\x61\x74\x75\x72\x65\x5D\x20\x53\x6F\x72\x74\x20\x62\x79\x20\x63\x6F\x6C\x75\x6D\x6E\x73\x20\x6F\x6E\x20\x74\x65\x73\x74\x20\x72\x65\x70\x6F\x72\x74\x73\x0A\x0A\x30\x2E\x32\x2E\x36\x0A\x5B\x46\x65\x61\x74\x75\x72\x65\x5D\x20\x55\x73\x69\x6E\x67\x20\x48\x69\x67\x68\x43\x68\x61\x72\x74\x0A\x5B\x52\x65\x66\x61\x63\x74\x6F\x72\x5D\x20\x43\x68\x61\x6E\x67\x65\x20\x69\x63\x6F\x6E\x20\x74\x6F\x20\x73\x68\x6F\x77\x20\x74\x65\x73\x74\x20\x73\x63\x72\x69\x70\x74\x0A\x0A\x30\x2E\x32\x2E\x33\x0A\x0A\x5B\x46\x65\x61\x74\x75\x72\x65\x5D\x20\x53\x65\x74\x20\x77\x6F\x72\x6B\x69\x6E\x67\x2F\x74\x65\x73\x74\x20\x64\x69\x72\x20\x6F\x6E\x20\x61\x67\x65\x6E\x74\x73\x20\x66\x6F\x72\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x64\x20\x62\x75\x69\x6C\x64\x0A\x0A\x30\x2E\x32\x2E\x32\x0A\x5B\x46\x65\x61\x74\x75\x72\x65\x5D\x20\x45\x64\x69\x74\x20\x61\x6E\x64\x20\x73\x61\x76\x65\x20\x62\x72\x61\x6E\x63\x68\x0A\x0A\x30\x2E\x32\x2E\x31\x0A\x5B\x45\x6E\x68\x61\x6E\x63\x65\x6D\x65\x6E\x74\x5D\x20\x52\x65\x70\x6C\x61\x63\x65\x20\x52\x45\x2F\x58\x4D\x4C\x20\x77\x69\x74\x68\x20\x4E\x6F\x6B\x6F\x67\x69\x72\x69\x20\x74\x6F\x20\x70\x61\x72\x73\x65\x20\x74\x65\x73\x74\x20\x72\x65\x73\x75\x6C\x74\x2C\x20\x73\x68\x61\x6C\x6C\x20\x62\x65\x20\x6D\x6F\x72\x65\x20\x73\x74\x61\x62\x6C\x65\x20\x61\x6E\x64\x20\x66\x61\x73\x74\x65\x72\x0A\x0A\x30\x2E\x32\x2E\x30\x0A\x5B\x52\x65\x66\x61\x63\x74\x6F\x72\x5D\x20\x6D\x6F\x76\x65\x20\x62\x75\x69\x6C\x64\x77\x69\x73\x65\x5F\x61\x70\x70\x2E\x72\x62\x20\x74\x6F\x20\x6C\x69\x62\x20\x66\x6F\x6C\x64\x65\x72\x0A\x5B\x46\x69\x78\x5D\x20\x77\x68\x65\x6E\x20\x74\x65\x73\x74\x20\x72\x65\x70\x6F\x72\x74\x27\x73\x20\x66\x61\x69\x6C\x75\x72\x65\x20\x74\x65\x78\x74\x20\x69\x73\x20\x6F\x76\x65\x72\x20\x31\x3 