Add CHANGELOG

This commit is contained in:
Matteo Cypriani 2012-11-03 16:49:07 +01:00
parent 8455dd0d74
commit e9e6d25894
1 changed files with 371 additions and 0 deletions

371
CHANGELOG Normal file
View File

@ -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).