Changelog#

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

1.1.0 (2023-04-15)#

⚠ BREAKING CHANGES#

  • replacing spaces is no longer a feature of the text wrapper. The reason is that it can be achieved with the other features in a very simple way:

    • tab expansion can be used to replace tabs

    • ‘\r’ and ‘\f’ are completely ignored by default and do not contribute to the produced tokens

    • ‘\n’ and ‘\v’ are line breaks and should not be replaced as they are critical to the proper text wrapping

Features#

  • add several usage examples of the wrapper (7438ca1)

  • add the version-info tool to print the project info (cb228e8)

  • enhance configure logs with project/module nesting hierarchy (f6c13f2)

  • implement robust project-wide formatting (afcaebe)

  • increase ccache hit rate (a22a912)

  • more robust handling of contract checking mode (304e9ae)

  • option to control the use of ccache, default is OFF (49a17a9)

  • upgrade CPM to 0.38.1 (b333b38)

Bug Fixes#

  • ‘\r’ and ‘\f’ should be totally ignored (90c833e)

  • #13 move “caexcludepath” to dev-windows and exclude CPM cache (0571714)

  • #14 upgrade CPM to 0.35.6 (695414b)

  • #16 use CMAKE_CURRENT_SOURCE_DIR instead of CMAKE_SOURCE_DIR for cmake includes (4ac6928)

  • #17 git should not be required (2c76104)

  • #18 enforce end of line to LF (943ae47)

  • #19 use generator expressions instead of CMAKE_BUILD_TYPE (857d299)

  • #20 local install should use CMAKE_INSTALL_PREFIX to set variables (2e1f1d4)

  • #20 use CMAKE_INSTALL_PREFIX to set variables (2fffd96)

  • always add code coverage ‘all’ targets (d7309a0)

  • build: #21 target option WARNING not propagated properly (432cdaf)

  • contract mode definition should only be added when not testing asap_contract (c6d5e34)

  • enable profiling for test coverage for MSVC (7348d0a), closes #22

  • generated version.h should follow project naming (329bcdf)

  • install master project generated header files (3c5c162)

  • pkgconfig file uses wrong paths (b4ca0ce)

  • properly handle edge case of text terminated with new line and a space (132b253)

  • properly handle new lines and white spaces (c6cf3d0)

  • restore test setup deleted by mistake (cec7b9d)

  • several bugs related to white space trimming (a162fec)

  • sub-projects with tests fail due to coverage all target not being setup early enough (400b2cc)

  • top level install not working properly (4ac4a31)

  • use cmake-format extension default behavior (a5d5c5e)

  • use correct path for the version include file (7997b68)

  • version-info test was added even when ASAP_BUILD_TESTS is OFF (b566e7b)

  • wrong variable used for target name (4ecd2bb)

  • wrong variable used of target name (04b5343)

  • remove workspace replacement (3a67087)

Documentation#

  • add documentation for usage scenarios (a9dcb30)

  • add example output from version-info tool (3a5515e)

  • configure project folders for esbonio extension (3adbff4)

  • document the use of ccache for compiler caching (fe07e72)

  • improve class documentation (e1c2d3d)

  • refactor the documentation and enhance it (51772fb)

  • update after new formatting system (082e513)

  • update sphinx theme option to new name (a78e49a)

  • update url for executable books logo (8b4dd17)

1.0.5 (2022-08-11)#

Merge features/updates/fixes from upstream asap.

1.0.4 (2022-03-15)#

  • refactor build to use CPM for cmake dependencies and speedup build with ccache.

1.0.3 (2022-03-15)#

Features#

Bug Fixes#

  • include for strlen (7f99c0f)

  • only add sanitizers if building tests (193a437)

  • some parts of the module were not installed (5f45bcb)

  • update required dependencies (4b3f9d9)

1.0.2 (2022-03-06)#

Bug Fixes#

  • define asap_top_level_install as empty when project install should be skipped (6cee399)

  • update required dependencies in pkg-config file (127eea5)

1.0.1 (2022-03-06)#

chore: remove stale directory from old version

1.0.0 (2022-03-06)#

This is a major refactoring of the asap family of projects and as such, introduces several breaking changes from the old model of asap projects.

This is a C++ library to format text in columns with a maximum width. When a line of text is longer than its column’s maximum width, the text is automatically wrapped. A number of other features are also supported, such as adding an initial indent, indenting all lines, etc… Refer to the API documentation for more details.