From e9e6d258949a19b8ff8d1e8166734ad14a307527 Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Sat, 3 Nov 2012 16:49:07 +0100 Subject: [PATCH] Add CHANGELOG --- CHANGELOG | 371 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 371 insertions(+) create mode 100644 CHANGELOG diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..7664e50 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,371 @@ +This file is automatically generated from the Git tag messages. + + +v1.3.2 OwlPS, version 1.3.2 (development point release) + + This is the last release “made in Université de Franche-Comté” by Matteo + Cypriani (or to be more precise, as an employee of the University). It + is also the first public release. + + Due to the fact that it is a “time-based” release, it does not + correspond to a particular important change, but here are the major + modifications since v1.3.1: + - OwlPS Positioner can now compute the error in two dimension by setting + the option output.2d-error. + - One can now specify the number of requests OwlPS Client will send (-N + option). + - libowlps: owl_timestamp_to_string() now always displays nanoseconds on + 9 digits. + - A bunch of bug and cosmetic fixes, mainly in OwlPS Positioner. + + +v1.3.1 OwlPS, version 1.3.1 (development point release) + + This release features various important changes. + + First of all, we finally got rid of the OpenWrt-specific makefiles, + and unified all the makefiles thanks to the new common files + (common.mk and common-rules.mk). To compile for OpenWrt, one has to + set the variable OPENWRT_VERSION (for example make + OPENWRT_VERSION=10.03), or to use the main Makefile_atheros_openwrt. + + The format of the positioning requests has changed, and now includes + padding bytes. OwlPS Client features a new option (-s) to set the size + of the transmitted data. + + Major autocalibration bugs fixed in OwlPS Positioner: + - Segfault with positioning.generate-reference-points. + - Failed assertion with positioning.calibration-requests-timeout > 0. + - Several problems preventing the generation of multi-packet reference + points (positioning.generate-single-packet-reference-points=false). + + The Positioner option generate-single-packet-reference-points has been + renamed generate-multi-packet-reference-points and the default is now + to generate multi-packet reference points. + + Positioner now features the option replay (--replay on), which change + the time-related behaviour, and is useful for the option + positioning.calibration-requests-timeout: instead of computing the + elapsed time with the current time on the machine running Positioner, + we keep track of the most recent received request's timestamp, and use + it as the current time. Unfortunately, this option is quite useless if + the clock of the mobile terminals and listeners are not synchronised + (actually if this is the case, one should run the server without + enabling the replay mode, because this option could cause the deletion + of non-obsolete calibration requests). + + Positioner now features the option + positioning.unique-calibration-request. Thanks to this behaviour + (which was already the default), it is not too annoying (at least when + using autocalibration) that the replay option does not work without + synchronised clocks. + + And last but not least, the OwlPS logo enters the repository. + + +v1.3.0 OwlPS, version 1.3.0 (development point release) + + This is the first release of the development branch 1.3. + + The positioning requests now contain the total number of packets of + the request, along with the current packet number (libowlps API + change). + + This allows for the introduction of new similarity methods for + cartography-based algorithms, based on the distribution of the SSs: + - “interval” uses the number of values within the interval + [mean-std.dev.;mean+std.dev.]. + - “interval2” computes the percent of packets in both the intervals + [Im-0.674×Is, Im+0.674×Is] and [Im-Is, Im+Is], and selects the + measurement which have the closest percentage of packets to the + theoretical percentages of the two intervals (see + owlps-positioner.conf for details). + + Autocalibration improvements: + - Due to the availability of packet numbers, we are now able to + generate multi-packet requests (which is required for the new + similarity methods to work properly). + - The APs are now selected not only by their angle, but also in + function of the coverage with the receiver AP. + - The APs are now selected with signed angles, which improves the + selection in some cases. The minimum number of reference AP is + lowered to one. + - The building's floors are now handled (2.5-D positioning). + + New Positioner options: + - positioning.calibration-requests-timeout: allows to delete old + calibration requests. + - positioning.generate-single-packet-reference-points: allows to + choose between single and multi-packet reference points in the + autocalibration. + - positioning.generated-meshing-grain-z: vertical grain of the + autocalibration meshing (should be 1 in most cases, as it is + currently a floor number). + - positioning.smallest-ss: allows to specify the smallest possible SS + value received by the listeners. + - positioning.ss-similarity: allows to choose the similarity method + used. + + +v1.2 OwlPS, version 1.2 + + Changes since v1.1.8: + - The Positioning module has been renamed Positioner, to be consistent + with the other modules, and the executable file is owlps-positionerd. + - Positioner: the RADAR algorithm is renamed NSS. + - CLI option are standardised amongst all the modules (e.g. -i as + destination IP). + - A daemon mode has been implemented in Client, Listener and + Aggregator (option -D). + - All the requests (positioning, calibration, autocalibration) are now + sent to the same port by default. + - Two different ports are now used for autocalibration hello messages + and autocalibration orders. This allows to run a listener and an + aggregator on the same machine with the autocalibration enabled. + - The default time-related values has been updated. By default the + aggregator will not be able to fully aggregate calibration requests + any more, only the positioning and autocalibration requests. In + order to aggregate calibration requests, the aggregation timeout + needs to be increased, or the number of packets of the request and + the delay between each of them lowered. + - Some bug fixes, minor improvements and cosmetic changes. + + Release notes: + - Those programs are developped and tested on GNU/Linux. All the modules + but the Listener (which is Linux-specific for the moment) also build + on NetBSD, FreeBSD, OpenBSD and DragonFly BSD. The Positioner does not + build with versions of GCC older than 4.4; for some reason, it also + does not compile on DragonFly BSD with GCC 4.4. + - The implicit mode is still an experimental feature. It is pretty much + untested and needs to be redesigned properly. + - The full changelog is long, please refer to the development point + releases' changelogs to have an overview of the changes since v1.0. + Long story short: autocalibration! + + +v1.1.8 OwlPS, version 1.1.8 (development point release) + + Along with the usual bug fixes, minor improvements, and more or less + important changes (listed below), two modules were added: + - owlps-udp-to-http: a program that serves the results of OwlPS + Positioning through HTTP. + - libowlps-resultreader: a library that handles results sent by OwlPS + Positioning (with its sample program owlps-resultreader-udp). It + supports the previous new module OwlPS UDP-to-HTTP, as well as OwlPS + Client (for the -l option). + + API changes: + - libowlps: + + Listener-specific code was moved into owlps-listener. + + OWL_TIMESTAMP_STR_LEN was renamed OWL_TIMESTAMP_STRLEN. + + All the elements declared in owlps.h are now prefixed with "owl_". + - libowlps-client: the functions are now prefixed with "owl_" instead of + "owlclient_". + + OwlPS Positioning: + - The options minmax-start and minmax stop are renamed area-start and + area-stop. + - FBCM did not work with autocalibration, this is fixed. + - Fixed a segfault that occurred in certain circumstances with the + option positioning.radar-ignore-ap-reference-points activated. + - CSV format changes (CSV & UDP outputs): + + Removed the useless "Error" string before the error field. + + Added the area in which is the result for each algorithm. + + +v1.1.7 OwlPS, version 1.1.7 (development point release) + + Finally the autocalibration is here! All the commits of this release are + more or less related to the autocalibration development, in OwlPS + Positioning. There is some work remaining, but this release features the + main basis of the autocalibration. + + Most user visible changes: a lot of new options, including reading the + mobiles' characteristics from a CSV file; see the sample configuration + file for details. + + Note: this is the version used to participate at the EvAAL 2011 + competition, with the required post-competition cleaning. + + +v1.1.6 OwlPS, version 1.1.6 (development point release) + + This release was developed in parallel with the autocalibration + development branch, so it contains a relatively large amount of things + (as usual, fixes, cleaning and a few new features). + + Here are the most noticeable changes introduced, module by module. + + Positioning: + - The long-term, unnoticed, and hard to debug ReferencePoint creation + bug was fixed, and + - the option --radar-average-reference-points was added; the default is + to keep the old bug's consequent behaviour, i.e to search for the + nearest calibration request in SS instead of the nearest reference + point, since it gives better results (for a calibration with several + mobile's orientation). + - The option --verbose was added. + + Aggregator: + - Semaphores are now used to lock the lists of APs and requests. + - The verbose mode was changed into a verbose level. + - The -q (quiet) option was added. + + Listener: + - The verbose mode was changed into a verbose level. + + Client: + - The option -f (flood mode) was added, to allow the client to + continuously send requests. + + Other changes: + - libowlps, libowlps-client, owlps-client and owlps-aggregator now build + on OpenBSD and DragonFlyBSD, thanks to some cleaning and fixes (mainly + in the libraries and makefiles). Untested on FreeBSD and NetBSD, but + it should work painlessly. + - All the configurable delays are now in milliseconds or seconds (no + more microseconds). + - We finally deleted writeInDb, since it is useless for the moment. + + +v1.1.5 OwlPS, version 1.1.5 (development point release) + + This small release includes the following changes: + - Positioning computes the error for each algorithm when the + pseudo-algorithm "Real" is used. + That changes the results' CSV format (OutputCSV & OutputUDPSocket). + - Positioning: add --minmax-start & --minmax-stop to limit the search + space of MinMax. + - Positioning's configuration files updated (they are now really example + files). + - Add -V to print the version, in each module. + - A fair amount of bug fixes and small improvements. + + +v1.1.4 OwlPS, version 1.1.4 (development point release) + + Here are the most noticeable changes for this release: + - The request type and calibration data (position & direction) are now + handled in all modules. + - The listener can send its own position in autocalibration requests. + - The OwlPS Positioning module: + + handles SIGINT and SIGTERM to exit correctly; + + adds the option flush-output-files; + + includes the algorithm name in the result output; + + writes all the results for a given request in a bunch; + + accepts '-' as file names to read the standard input or write to the + standard output; + + sends the computed results by UDP (CSV string format); note that + currently, the mobile cannot receive this format. + - The last endianness issues have (hopefully) been fixed. + - libowlps API change: constants for localisation request types + (PACKET_TYPE_*) are now OWL_REQUEST_*; the global variable run is + renamed owl_run; owl_request includes the position; float endianness + conversion functions were added. + + +v1.1.3 OwlPS, version 1.1.3 (development point release) + + We finally got rid of mobile-centred. The code is still in the memory + of the VCS, of course, but we do not have time to bother maintaining + it. + + owlps-positioning is now linked to libowlps, and is able to read + aggregated requests sent by the aggregator via UDP, thanks to the new + class InputUDPSocket. This exchange does not concern calibration nor + autocalibration requests yet, since the aggregator do not send + calibration data. + + As usual, this release includes some refactoring, code improvement, + bug fixes and various minor new features. The most important code + improvement concerns thread handling in the listener and the + aggregator, that is now far cleaner. + + libowlps API changes: types are now all lowercase and prefixed, + several new functions were added, and the behaviour of + owl_mac_bytes_to_string() is changed. + + +v1.1.2 OwlPS, version 1.1.2 (development point release) + + Note the new case of "OwlPS": Owl Positioning System should make + easier to memorise "Open Wireless Positioning System". + + We are still on the way to autocalibration, and a lot of things were + done since v1.1.1, mostly on libowlps and infrastructure-centred code. + The emission of autocalibration requests by the listeners now works as + intended. The code has been adapted to be able to work in a complex + network configuration: multiple Wi-Fi modes (e.g. monitor, master and + ad-hoc), multiple IP addresses, etc. Endianness issues have been + addressed, and everything works well now. + + This release includes major library API changes: functions are now + prefixed, several functions were renamed, and stdint types are used in + custom types. + + The data format also changes: we now use nanosecond precision in all + modules, via the new type TIMESTAMP which is inspired from the C++ + class Timestamp created for the Positioning module. Therefore, the + timestamp field of the CSV outputs has a nanosecond precision, and its + format is "seconds.nanoseconds". + + Finally, a lot of other less visible things were accomplished: bug + fixes and improvements, code refactoring, new options, etc. + + +v1.1.1 OWLPS, version 1.1.1 (development point release) + + We are on the way to autocalibration. The listeners can send Hello + messages to the aggregator, which now handles a list of listeners and + schedules autocalibration requests. Emission of autocalibration requests + by the listeners has been worked on, but is very buggy at this time, and + therefore not operational yet. + + +v1.1.0 OWLPS, version 1.1.0 (development point release) + + Cleaning, refactoring, translation of comments from French to English, + bug fixes and minor features. The only very noticeable thing is the + creation of the libowlps-client library; it is to prepare the future + ability of the listener to send autocalibration requests. + + +v1.0 OWLPS, version 1.0 + + Few changes are actually visible since version 0.8. This release is a + new start for owlps-positioning, which was rewritten almost completely. + Support for Viterbi-enabled algorithms has been dropped; this could be + reintegrated someday, but it is not needed for our current researches, + so it is not in the top-priority list. + + Extensive non-regression tests have not been conducted yet (we need to + ensure that the results obtained with v1.0 are consistent with those + obtained with v0.8). + + +v0.9.0 OWLPS, version 0.9.0 (development point release) + + This release includes the internship work of Julien Graeffly (mostly on + the positioning server), and some improvements (configuration file + support, better handling of command-line options, Fonera compilation, + passive mode, etc.). + + +v0.8 OWLPS, version 0.8 + + Version 0.8, as documented in the technical report "Open Wireless + Positioning System, Version 0.8". + + +v0.6 "OWLPS", version 0.6 + + The system allows to perform infrastructure-based measurements. + Computation has to be done manually. + + Note: at this time, the system was not called "OWLPS" yet. + + +v0.4 "OWLPS", version 0.4 + + First, early release of the student works TX (mobile-centred + measurements) and TO (infrastructure-centred).