Skip to content

Commit

Permalink
Version 2.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
szpajder committed Jan 16, 2020
1 parent eeaf7c9 commit 54e879e
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 2 deletions.
57 changes: 57 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,62 @@
# ChangeLog

## Version 2.0.0 (2020-01-16)
* New major release 2. API and ABI are not backwards compatible with version 1,
hence the new soname - libacars-2.so.2. Header files are now installed to
/usr/local/include/libacars-2. New pkg-config script libacars-2.pc provides
updated compiler and linker flags. Version 2 can be installed in parallel with
version 1.
* New feature: generic engine for reassembly of fragmented messages. Supports
automatic tracking of fragments' sequence numbers (with possible wraparounds),
handles reassembly timeouts and fragment deduplication. Messages can be keyed
with arbitrary data (eg. custom header fields).
* New feature: automatic reassembly of ACARS messages. New function
`la_acars_parse_and_reassemble` performs both parsing and reassembly, while
existing `la_acars_parse` function performs parsing only and works as before.
* New feature: automatic reassembly of MIAM file transfers. New function
`la_miam_parse_and_reassemble` performs both parsing and reassembly, while
existing `la_miam_parse` function performs parsing only and works as before.
* New feature: pretty-printing of XML text in ACARS and MIAM CORE payloads.
If the message text is identified as XML (ie. it parses without errors),
`la_acars_format_text` and `la_miam_core_format_text` routines will print
it with proper indentation for better readability. The feature is optional,
depends on libxml2 and must be turned on by setting `prettify_xml`
configuration variable to `true`.
* New feature: simple hash table implementation. Mostly used for libacars internal
purposes, but it's exposed in the API and can be used for any purpose.
* New feature: when compiled with debugging support, debug output to stderr is
now configurable with `LA_DEBUG` environment variable. Set it to the desired
verbosity level - from 0 (none) to 3 (verbose). The default is 0 (debug output
suppressed).
* Incompatible change: new library configuration API. `la_config` structure
with static fields has been removed. Configuration variables are now
stored in a hash table, read with `la_config_get_*` and set with
`la_config_set_*` functions. Refer to `doc/API_REFERENCE.md` for details.
Refer to `libacars/config_defaults.h` for the most current list of
configuration options and their default values.
* Incompatible change: ACARS parser now strips sublabel and MFI (Message
Function Identifier) fields from the message text, if present. Their values are
stored in `la_acars_msg` structure in `sublabel` and `mfi` fields. In text
and JSON output they are printed as separate fields.
* Incompatible change: MIAM parser and ARINC-622 ATS message parser now expect
sublabel and MFI fields to be stripped by the caller, otherwise the parser
will ignore the message. This operation can be performed with minimal fuss
using `la_acars_extract_sublabel_and_mfi` function.
* Incompatible change: `la_miam_parse` function prototype has changed. All
parameters except `txt` (message text) have been removed.
* Incompatible change: `no` field of `la_acars_msg` structure has been removed.
MSN is now stored in two fields: `msg_num` (first three characters)
and `msg_num_seq` (last character, ie. sequence indicator).
* Incompatible change: Media Advisory message timestamp and version are now
stored as numbers, not characters. Type of `hour`, `minute`, `second` and
`version` fields in `la_media_adv_msg` structure has been changed from `char[]`
to `uint8_t`. Relevant JSON keys have changed types as well.
* Incompatible change: `state` and `current_link` fields in `la_media_adv_msg`
structure changed from `char[2]` to `char`, hence their values are no longer
NULL-terminated.
* examples: media_advisory app has been removed. Use decode_acars_apps instead.
* Bugfixes, code cleanups.

## Version 1.3.1 (2019-09-20):
* Binary releases for Windows were mistakenly built with AVX instruction set
enabled which caused the lib to fail on older CPUs (https://github.com/szpajder/libacars/issues/3).
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ project (libacars C)

set (LA_VERSION_MAJOR 2)
set (LA_VERSION_MINOR 0)
set (LA_VERSION_PATCH 0-git)
set (LA_VERSION_PATCH 0)
set (LA_VERSION "${LA_VERSION_MAJOR}.${LA_VERSION_MINOR}.${LA_VERSION_PATCH}")
set (LA_SUBDIR "${PROJECT_NAME}-${LA_VERSION_MAJOR}")

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

libacars is a library for decoding ACARS message contents.

Current stable version: **1.3.1** (released Sep 20, 2019)
Current stable version: **2.0.0** (released Jan 16, 2020)

## Supported message types

Expand Down

0 comments on commit 54e879e

Please sign in to comment.