Revision history for Perl extension Geo::BUFR.
1.41 2025-11-08
- Allow for data widths > 32 (limit lifted to 64)
1.40 2025-09-18
- New method get_max_table_version(), eliminating need for default
  table in some methods, as well as in bufrread.pl and bufrresolve.pl
1.39 2023-02-19
- New option --gts in bufrextract.pl for extraction of full GTS envelope
  from GTS bulletins, dropping option --reuse_ahl
- New methods get_current_gts_starting_line() and get_current_gts_eom(),
  dropping reuse_current_ahl() and ahl_is_reused()
- Default tables for utility programs changed to master table version 39
1.38 2020-07-15
- Include replication descriptors in output for option --all_operators
  in bufrread.pl (or more generally for set_show_all_operators())
- New accessor method get_bufr_length()
- Default tables for utility programs changed to master table version 33
1.37 2019-02-16
- Allow for ecCodes table format (BUFRDC is still default)
- Allow for BUFR edition 0 and 1
- Default tables for utility programs changed to master table version 29
1.36 2016-12-02
- Fixes in code and test scripts allowing for parallell testing and
  for bufrextract.pl to work on Windows
1.35 2016-11-29
- New utility program bufrextract.pl, for extraction of BUFR messages
  and/or AHLs from BUFR file(s), possibly filtering on AHL
- New methods get_bufr_message(), bad_bufrlength() and
  ahl_is_reused(), all needed by bufrextract.pl
- AHLs extracted also when BUFR messages are given as argument to new()
  (instead of read from file)
1.34 2016-07-12
- Fixed "Insecure dependency in sprintf" when running under -T switch
  introduced in 1.32.
1.33 2016-04-22
- Changed quoting in some test scripts, needed to pass 'make test' on
  Windows.
1.32 2016-04-18
- Added option of skipping decoding of section 4 either globally: new
  method set_nodata(), or in a filter fashion: new method
  set_filter_cb() takes a user defined callback function as argument
  for filtering on AHL and metadata in section 0-3.
- New method reuse_current_ahl() for settling what get_current_ahl()
  should return when the processed BUFR message has no immediately
  preceding AHL.
- New options --nodata and --ahl in bufrread.pl for skipping section 4
  and filtering on AHL.
- Decoded decimal values now displayed with the precision provided for
  in BUFR. E.g. "0.0" instead of "0" for value=0 and scale=1.
- Supporting decoding of BUFR messages missing descriptors to be
  repeated (when corresponding delayed replication/repetition factor
  in section 4 is 0 and this is last data item).
1.31 2015-03-11
- Fix in bufralter.pl to hopefully make it work on Windows.
1.30 2015-03-05
- Fixed bug in a test script, causing make test to fail on some systems.
1.29 2015-03-04
- Fixed bug introduced in 1.26: bytes for local use by ADP centres in
  section 1 weren't always reset when handling multiple messages.
- No longer uses File::Slurp (so all modules required should now be
  part of a standard Perl distribution).
1.28 2015-02-27
- If local table cannot be found, try master table instead.
- Supporting encoding of data description operator 206Y.
- Default tables for utility programs changed to master table version 23.
1.27 2014-05-23
- Bugfix for data description operator 237000.
- Strict checking for 0 subsets.
1.26 2014-05-07
- For BUFR messages with errors, start searching for next BUFR message
  right after 'BUFR' (length in section 0 should not be trusted). Last
  call to next_observation in 'while (not $bufr->eof())' loops is now
  likely to return empty list.
- No BUFR message in file is no longer considered an error.
- Strict checking for missing CCITTIA5 value encoded as spaces.
- New verbose level 6 (useful for inspecting BUFR messages with errors).
1.25 2013-09-13
- Supporting data description operators 232000 and 232225.
1.24 2013-08-28
- Bugfix in bufrread.pl (when running with --strict_checking 2).
- Strict_checking for (reserved) 0 bits 3-8 in octet 7 in section 3.
- Default tables for utility programs changed to master table version 19.
1.23 2013-05-14
- Supporting data description operators 207Y and 235000.
- Several bugfixes related to bit maps.
1.22 2013-04-03
- Format of ECMWF tables version 15-17 changed slightly from previous
  versions, requiring some changes in processing.
- Strict checking for value encoded using BUFR compression which would
  be too big to encode without compression.
- Had to change a test script because newer versions of perl might add
  a '.' to end of warning/error messages.
1.21 2012-02-06
- Better recovery from some error conditions (like table D descriptor
  not found).
- Strict_checking for character data not being CCITTIA5.
1.20 2011-03-08
- Supporting delayed repetition (031011,031012)
- Allow total length of BUFR message as stated in section 0 to be
  bigger than actual length (if $Strict_checking not set).
- Strict_checking for null characters in CCITTIA5 data.
- New option --on_error_stop to bufrread.pl.
- copy_from altered to copy also section 2 if copying of metadata is
  requested. Makes bufralter.pl work for messages with optional section.
1.19 2010-11-29
- Bugfix in bufrread.pl --filter
- If local table version is 255, treat this as if it was 0 when
  finding which table to use.
1.18 2010-09-30
- join_subsets altered to always respect order of subsets specified
- encode_nil_message altered to set number of subsets to 1 and data
  compression to 0, saving user from remembering this.
1.17 2010-09-14
- Data description operator 208Y implemented.
1.16 2010-07-21
- Strip trailing nulls from CCITTIA5 data.
- dumpsections() now takes optional argument for controlling width and
  whether bitmapped values are displayed side by side.
- copy() renamed to copy_from().
- Use looks_like_number from Scalar::Util to check that numeric input
  to encoding routines is indeed numeric.
1.15 2010-07-02
- clone() replaced with copy() with somewhat different syntax.
- New methods rewind() and join_subsets().
- Added optional parameter to encode_nil_message() making it possible
  to set delayed replication factors > 1.
- Default tables for utility programs changed to master table version 14.
1.14  2010-05-18
- Apply binmode to filehandle in fopen.
- Added two more methods for extracting info from BUFR B and D tables.
1.13  2010-05-07
- Bugfix in dec2bitstream: could cause rounding errors when encoding
  big width numerical values.
1.12  2010-04-13
- Test script t/bufralter.t: fixed a quoting bug.
1.11  2010-04-12
- Test scripts: removed shebang line and use Config to find perl path.
1.1   2010-04-09
- Resolving of flag values fixed to work for big endian platforms.
- Scaling of values fetched from bitstream transferred from BUFR.xs
  to BUFR.pm, resulting in new signature for method bitstream2dec.
1.0 2010-04-06
- First release for CPAN.
