ChangeLog.md in ruby-nmap-0.10.0 vs ChangeLog.md in ruby-nmap-1.0.0
- old
+ new
@@ -1,129 +1,172 @@
+### 1.0.0 / 2022-11-11
+
+* Switched from [rprogram] to [command_mapper].
+* Replaced `Nmap::Program` and `Nmap::Task` with {Nmap::Command}.
+* Moved all XML classes under {Nmap::XML}.
+* See [UPGRADING] for more details on how to upgrade from 0.10.0 to 1.0.0.
+
+#### Nmap::Command
+
+* Added support for the `--unique` option as `nmap.unique`.
+* Added support for the `--resolve-all` option as `nmap.resolve_all`.
+* Added support for the `--noninteractive` option as `nmap.non_interactive`.
+* Added support for the `--proxies` option as `nmap.proxies`.
+* Added support for the `--data` option as `nmap.data`.
+* Added support for the `--data-string` option as `nmap.data_string`.
+* Added support for the `--script-help` option as `nmap.script_help`.
+* Added support for the `--script-args-file` option as `nmap.script_args_file`.
+* Added support for the `--script-timeout` option as `nmap.script_timeout`.
+* Added support for the `--initial-rtt-timeout` option as
+ `nmap.initial_rtt_timeout`.
+* Added support for the `-vv` option as `nmap.extra_verbose`.
+* Allow passing Integer values to `verbose:` or `nmap.verbose=` for
+ `-v`**level**.
+* Greatly improved the validation of input values.
+* Removed `#script_params` and `#script_params=` aliases for `#script_args` and
+ `#script_args=`.
+
+#### Nmap::XML
+
+* Removed the deprecated `Nmap::XML.load` method in favor of {Nmap::XML.parse}.
+* Removed the `Nmap::XML#prescripts` alias to `Nmap::XML#prescript`.
+* Removed the `Nmap::XML#postscripts` alias to `Nmap::XML#postscript`.
+* Removed `Nmap::XML::Host#tcpsequence` in favor of
+ {Nmap::XML::Host#tcp_sequence}.
+* Removed `Nmap::XML::Host#ipidsequence` in favor of
+ {Nmap::XML::Host#ip_id_sequence}.
+* Removed `Nmap::XML::Host#tcptssequence` in favor of
+ {Nmap::XML::Host#tcp_ts_sequence}.
+* Removed `Nmap::XML#inspect` method.
+* Added {Nmap::XML::Script}.
+* Removed `Nmap::XML::Scripts#script_data`.
+* Changed {Nmap::XML::Scripts#scripts} to return {Nmap::XML::Script} objects.
+
### 0.10.0 / 2020-03-17
* Added `Nmap::Task#exclude_ports` for the `--exclude-ports` option.
-* Added {Nmap::Status#reason_ttl}.
-* Added {Nmap::Port#reason_ttl}.
-* Added {Nmap::XML#task}.
-* Alias {Nmap::ScanTask#extra_info} to {Nmap::ScanTask#extrainfo}.
+* Added `Nmap::Status#reason_ttl`.
+* Added `Nmap::Port#reason_ttl`.
+* Added `Nmap::XML#task`.
+* Alias `Nmap::ScanTask#extra_info` to `Nmap::ScanTask#extrainfo`.
### 0.9.3 / 2018-05-01
* Added missing `Nmap::Task#defeat_icmp_ratelimit` for the
`--defeat-icmp-ratelimit` option.
* Added missing `Nmap::Task#nsock_engine` for the `--nsock-engine` option.
-* Added the {Nmap::XML#prescripts} alias.
-* Added the {Nmap::XML#postscripts} alias.
+* Added the `Nmap::XML#prescripts` alias.
+* Added the `Nmap::XML#postscripts` alias.
* Allow `Task#sctp_init_ping` to accept a port Range object.
* Fixed a typo in the `Task#defeat_rst_ratelimit` name.
* Fixed the option formatting of `Nmap::Task#syn_discovery`.
* Fixed the option formatting of `Nmap::Task#ack_discovery`.
* Fixed the option formatting of `Nmap::Task#udp_discovery`.
* Fixed the option formatting of `Nmap::Task#sctp_init_ping`.
* Fixed the option formatting of `Nmap::Task#ip_ping`.
### 0.9.2 / 2017-01-13
-* Fix file descriptor leak in {Nmap::XML#initialize} by using
+* Fix file descriptor leak in `Nmap::XML#initialize` by using
`File.open(path) { |file| ... }` instead of `File.new(path)`, which keeps the
file descriptor open until GC collects the `File` instance.
### 0.9.1 / 2016-07-18
-* Fixed {Nmap::Host#ipv6} when there are no `ipv6` type addresses.
-* Fixed {Nmap::OS#fingerprint} when there is no `osfingerprint` element.
+* Fixed `Nmap::Host#ipv6` when there are no `ipv6` type addresses.
+* Fixed `Nmap::OS#fingerprint` when there is no `osfingerprint` element.
### 0.9.0 / 2016-07-14
-* Added {Nmap::Address#vendor}.
-* Added {Nmap::Service#to_s}.
-* Added {Nmap::HostScript}.
-* Added {Nmap::Prescript}.
-* Added {Nmap::Postscript}.
-* Added {Nmap::XML#prescript}.
-* Added {Nmap::XML#postscript}.
+* Added `Nmap::Address#vendor`.
+* Added `Nmap::Service#to_s`.
+* Added `Nmap::HostScript`.
+* Added `Nmap::Prescript`.
+* Added `Nmap::Postscript`.
+* Added `Nmap::XML#prescript`.
+* Added `Nmap::XML#postscript`.
* Added `Nmap::Task#quiet` (aka `-v0`).
* `#script_data` methods can now parse arbitrarily nested Arrays/Hashes.
-* Fixed {Nmap::CPE#each_cpe} to only match child `cpe` elements, not all
+* Fixed `Nmap::CPE#each_cpe` to only match child `cpe` elements, not all
`cpe` elements within the document.
-* Changed {Nmap::Service#to_s} to output product/version only if both are
+* Changed `Nmap::Service#to_s` to output product/version only if both are
present.
* Changed `Nmap::Task#skip_discovery` to use `-Pn` instead of `-PN`, which was
deprecated in nmap >= 7.00.
### 0.8.0 / 2014-04-16
-* Added {Nmap::XML#each_down_host}.
-* Added {Nmap::XML#down_hosts}.
-* Added {Nmap::XML#host}.
-* Added {Nmap::XML#up_host}.
-* Added {Nmap::XML#down_host}.
-* Added {Nmap::Host#hostname}.
-* Added {Nmap::Hostname#user?}.
-* Added {Nmap::Hostname#ptr?}.
-* Added {Nmap::Program.sudo_scan}.
-* Added {Nmap::Program#sudo_scan}.
-* Renamed {Nmap::XML.load} to {Nmap::XML.parse}.
+* Added `Nmap::XML#each_down_host`.
+* Added `Nmap::XML#down_hosts`.
+* Added `Nmap::XML#host`.
+* Added `Nmap::XML#up_host`.
+* Added `Nmap::XML#down_host`.
+* Added `Nmap::Host#hostname`.
+* Added `Nmap::Hostname#user?`.
+* Added `Nmap::Hostname#ptr?`.
+* Added `Nmap::Program.sudo_scan`.
+* Added `Nmap::Program#sudo_scan`.
+* Renamed `Nmap::XML.load` to `Nmap::XML.parse`.
* Fixed a typo in the `--privileged` flag (@BrentonEarl)
* Allow multiple values in the `--script` flag.
-* Alias {Nmap::Task#script_params} to `script_args`.
+* Alias `Nmap::Task#script_params` to `script_args`.
### 0.7.0 / 2014-05-09
-* Added {Nmap::CPE}.
-* Added {Nmap::CPE::URL}.
-* Added {Nmap::Hop}.
-* Added {Nmap::Hostname}.
-* Added {Nmap::Traceroute}.
-* Added {Nmap::Host#traceroute}.
-* Added {Nmap::Host#uptime}. (@roodee)
-* Added {Nmap::Service#ssl?}.
-* Added {Nmap::Service#protocol}.
-* Added {Nmap::Service#extra_info}.
-* Added {Nmap::Service#os_type}.
-* Added {Nmap::Service#device_type}.
-* Added {Nmap::Service#fingerprint}. (@roodee)
-* Added {Nmap::Uptime}. (@roodee)
-* Added {Nmap::RunStat}. (@roodee)
-* Added {Nmap::XML.load}. (@vzctl)
-* Added {Nmap::XML.open}.
-* Added {Nmap::XML#each_run_stat}.
-* Added {Nmap::XML#run_stats}.
-* Added {Nmap::XML#each_task}.
-* Fixed xpath bug in {Nmap::OS#each_class} (@roodee).
+* Added `Nmap::CPE`.
+* Added `Nmap::CPE::URL`.
+* Added `Nmap::Hop`.
+* Added `Nmap::Hostname`.
+* Added `Nmap::Traceroute`.
+* Added `Nmap::Host#traceroute`.
+* Added `Nmap::Host#uptime`. (@roodee)
+* Added `Nmap::Service#ssl?`.
+* Added `Nmap::Service#protocol`.
+* Added `Nmap::Service#extra_info`.
+* Added `Nmap::Service#os_type`.
+* Added `Nmap::Service#device_type`.
+* Added `Nmap::Service#fingerprint`. (@roodee)
+* Added `Nmap::Uptime`. (@roodee)
+* Added `Nmap::RunStat`. (@roodee)
+* Added `Nmap::XML.load`. (@vzctl)
+* Added `Nmap::XML.open`.
+* Added `Nmap::XML#each_run_stat`.
+* Added `Nmap::XML#run_stats`.
+* Added `Nmap::XML#each_task`.
+* Fixed xpath bug in `Nmap::OS#each_class` (@roodee).
### 0.6.0 / 2012-11-07
-* Added {Nmap::Service}.
-* Renamed `Nmap::IpidSequence` to {Nmap::IpIdSequence}.
-* Renamed {Nmap::Host#ipidsequence} to {Nmap::Host#ip_id_sequence}.
-* Renamed {Nmap::Host#tcpsequence} to {Nmap::Host#tcp_sequence}.
-* Renamed {Nmap::Host#tcptssequence} to {Nmap::Host#tcp_ts_sequence}.
+* Added `Nmap::Service`.
+* Renamed `Nmap::IpidSequence` to `Nmap::IpIdSequence`.
+* Renamed `Nmap::Host#ipidsequence` to `Nmap::Host#ip_id_sequence`.
+* Renamed `Nmap::Host#tcpsequence` to `Nmap::Host#tcp_sequence`.
+* Renamed `Nmap::Host#tcptssequence` to `Nmap::Host#tcp_ts_sequence`.
### 0.5.1 / 2012-05-27
* Replaced ore-tasks with
[rubygems-tasks](https://github.com/postmodern/rubygems-tasks#readme).
### 0.5.0 / 2011-04-11
* Require nokogiri ~> 1.3.
* Require rprogram ~> 0.3.
-* `ip_scan` in {Nmap::Task} should map to `-sO` (thanks corvus).
+* `ip_scan` in `Nmap::Task` should map to `-sO` (thanks corvus).
### 0.4.1 / 2010-11-23
-* Fixed a bug in {Nmap::XML#each} where it was calling `each_up_hosts`,
- and not {Nmap::XML#each_up_host}.
-* {Nmap::OS#each_class}, {Nmap::OS#each_match}, {Nmap::XML#each_host} and
- {Nmap::XML#each_up_host} now return an Enumerator object if no block
+* Fixed a bug in `Nmap::XML#each` where it was calling `each_up_hosts`,
+ and not `Nmap::XML#each_up_host`.
+* `Nmap::OS#each_class`, `Nmap::OS#each_match`, `Nmap::XML#each_host` and
+ `Nmap::XML#each_up_host` now return an Enumerator object if no block
is given.
* Use `yield` instead of `block.call` for a slight performance improvement.
### 0.4.0 / 2010-11-17
-* Added new options to {Nmap::Task} based on nmap 5.21:
+* Added new options to `Nmap::Task` based on nmap 5.21:
* `-PY` - `nmap.sctp_init_ping`
* `-PR` - `nmap.arp_ping`
* `-sY` - `nmap.sctp_init_scan`
* `-sZ` - `nmap.sctp_cookie_echo_scan`
* `--allports` - `nmap.all_ports`
@@ -143,33 +186,37 @@
* `--release-memory` - `nmap.release_memory`
* Specify that ruby-nmap requires `nmap` >= 5.00.
### 0.3.0 / 2010-11-08
-* Added {Nmap::Host#scripts}.
-* Added {Nmap::Scripts#scripts Nmap::Port#scripts}.
+* Added `Nmap::Host#scripts`.
+* Added `Nmap::Port#scripts`.
### 0.2.0 / 2010-10-29
* Require nokogiri >= 1.3.0.
* Require rprogram ~> 0.2.0.
-* Added {Nmap::XML#tasks}.
-* Added {Nmap::Scanner#start_time}.
-* Added {Nmap::ScanTask#duration}.
-* Added {Nmap::Host#start_time}.
-* Added {Nmap::Host#end_time}.
+* Added `Nmap::XML#tasks`.
+* Added `Nmap::Scanner#start_time`.
+* Added `Nmap::ScanTask#duration`.
+* Added `Nmap::Host#start_time`.
+* Added `Nmap::Host#end_time`.
* Allow `Nmap::Tasks#ports=` to accept port ranges.
-* Omit the `-p` option if no ports are given to {Nmap::Task}.
+* Omit the `-p` option if no ports are given to `Nmap::Task`.
* Have the `Nmap::Host#each_*` methods return an `Enumerator` object if no
block is given.
### 0.1.1 / 2010-01-02
* Require RProgram >= 0.1.8.
- * Adds `sudo` and `sudo=` instance methods to {Nmap::Task}.
+ * Adds `sudo` and `sudo=` instance methods to `Nmap::Task`.
### 0.1.0 / 2009-11-13
* Initial release.
* Provides a Ruby interface for running Nmap.
* Provides a Parser for enumerating Nmap XML scan files.
+[rprogram]: https://github.com/postmodern/rprogram#readme
+[command_mapper]: https://github.com/postmodern/command_mapper.rb#readme
+
+[UPGRADING]: https://github.com/postmodern/ruby-nmap/blob/main/UPGRADING.md