Up to Documentation.
- Theme
vmem_string
.- Streaming in and out of
vmem_string
.
- Breaking Changes
basic_iterator_state
- operators++
,--
, and*
moved tobasic_iterator
.
- Bugs
itr++
- postfix was always executing as prefix.*itr++
- could cause crashes when used at the end of a container.
- Additions
vmem_string
vmem_string_streambuf
- Refactoring
basic_iterator
basic_iterator_state
- Theme
- TLS - proof of feasibility.
- OpenSSL-based implementation.
- Breaking Changes
*_socket
- Renamehandle()
tofd()
.*_socket
- Remove constructors withoutfamily
parameter.endpoint
- Add template parameters for server and client sockets.log_ostream
-put_blank_line()
requires category and severity for filtering.
- Bugs
endpoint
- Exit the main loop when no more requests.
- Additions
openssl_tcp_server_socket
openssl_tcp_client_socket
- Test -
endpoint
- Refactoring
- None.
- Breaking Changes
- none.
- Bugs
- Include
log.i.h
from gpio headers. - Check the
smbus
pointer in thegpio_smbus_grayscale
constructor. - Fix deleted
gpio_smbus_motion
constructor. - Synchronize calls to
ioctl()
ingpio_smbus
.
- Include
- Additions
gpio_smbus_motion
gpio_smbus_motion_tracker
- Sample picar_4wd - track location.
- Refactoring
- None.
- Breaking Changes
vmem_ptr
- renameitem_pos
tobyte_pos
.- Uninternalize type names
_stream
->stream
_istream
->istream
_ostream
->ostream
_http_istream
->http_istream
_http_ostream
->http_ostream
_client_socket
->client_socket
_basic_socket
->basic_socket
_vmem_iterator
->vmem_basic_iterator
_vmem_iterator_state
->vmem_basic_iterator_state
_vmem_mapped_page
->vmem_mapped_page
_vmem_mapped_page_totals
->vmem_mapped_page_totals
_http_state
->http_state
_json_state
->json_state
- Bugs
- Move constructors
buffer_streambuf
stream
,istream
,ostream
table_ostream
,line_ostream
log_ostream
,..._line_ostream
http_..._stream
json_..._stream
..._multifile_streambuf
..._socket
endpoint
vmem_pool
vmem_pool
- destructortimestamp
- time partscolor::yellow
- Move constructors
- Additions
- none
- Refactoring
- Add doxygen annotations for all classes and most of their methods.
- Tests - simplify buffer initializations.
- Breaking Changes
- Template parameter
Predicate
injson_istream
andhttp_istream
has become strictlyCharPredicate
.
- Template parameter
- Bugs
- Zero initialization.
- Conditions in game samples.
- Accurate
#include
s.
- Additions
- Configurable compiler and options
make CPP_OPT_STD=--std=c++17
- Support for
clang
make CPP=clang++
- Add warnings.
- Builds on Mac OS.
- Conditional compilation based on OS.
- Configurable compiler and options
- Refactoring
- Unused variables removed.
- Breaking Changes
- crc - moved to boneyard
- Bugs
- none
- Additions
- GPIO
- Plain GPIO
gpio_chip
,gpio_input_line
,gpio_output_line
,gpio_pwm_emulator
- SMBus
gpio_smbus
,gpio_smbus_pwm
- Specializations
gpio_ultrasonic
,gpio_smbus_motor
,gpio_smbus_servo
,gpio_smbus_grayscale
- Plain GPIO
- picar_4wd - SunFounder PiCar 4WD
- GPIO
- Refactoring
- socket - reduce logging verbosity
- Breaking Changes
- none
- Bugs
- Tic-Tac-Toe visualization issues.
- Additions
- Connect 4
- "Thinking Slow" engine
- "Thinking Fast" engine
- Connect 4
- Refactoring
- none
- Breaking Changes
- none
- Bugs
_basic_socket::bind(SO_REUSEADDR)
to prevent failure on quick restartconst_iterator
- To support
++
and--
- To support binding to
iterator
- To support
- Additions
- Tic-Tac-Toe
- "Thinking Slow" engine
- "Thinking Fast" engine
- Tic-Tac-Toe
- Refactoring
- Iterators
- Breaking Changes
vmem_container_result2
- Bugs
- none
- Additions
vmem_map
- a B-tree of key-value pairsvmem_stack
- a container with no balancing
- Refactoring
- none
- Breaking Changes
vmem_list_state
- version upvmem_root_page
- free_pages becomes avmem_linked
- Bugs
vmem_list::erase()
- was not balancing with previousvmem_ptr(vmem_page_pos_nil)
- was allocating a new page.
- Additions
vmem_linked
- a sequence of linked pagesvmem_container
- a sequence of items
- Refactoring
vmem_pool
vmem_list
- No breaking changes.
- Virtual memory:
vmem_pool
bug fixvmem_iterator
vmem_list
balance items oninsert()
and onerase()
- No breaking changes.
- Virtual memory:
vmem_pool
vmem_list
- Sample
- Move non-includable files to subfolders.
- No breaking changes.
- Public verification.
- No breaking changes.
- Improved documentation.
- No breaking changes.
- Reduce the C++ requirement from 17 to 11.
- Support 32-bit.
- Fix build on Ubuntu.
http
- Enable ignore-case.
socket
- Bind to any host.
- Shutdown before closing.
- Basic sample
- Improve usability.
- No breaking changes.
endpoint
- A simple web server.
- Basic sample
- A simple app that solves systems of two linear equations of two variables.
- The app is interacted with using a web browser.
- Breaking changes:
- Refactored
log
and its related entities. Construction and usage are similar, but not the same. - The
test_log
shortcut was moved from the product to the test project. - Json streams take
Log
as the last template parameter. log
can only be passed as a raw pointer.
- Refactored
log_ostream
is now based on anystd::streambuf
, and thus can send content to any medium for which there is astd::streambuf
.log_ostream
is now a specialization oftable_ostream
.table_ostream
is a generic stream of lines.line_ostream
is a stream over a fixed char buffer that can flush to atable_ostream
.log_ostream
is one specialization oftable_ostream
andline_ostream
. Other tabular streams can be created in user space.multifile_streambuf
a derivate ofstd::filebuf
that streams out to a sequence of files.duration_multifilie_streambuf
automatically starts a new file after a given duration.size_multifilie_streambuf
automatically starts a new file after a given size.
- Breaking changes:
- Removed method
gcount()
fromhttp_request_ostream
andhttp_response_ostream
.
- Removed method
json
- JSON streams.
- No breaking changes.
http
- Syntactic http streams.
ascii
- Basic character predicates.
- Breaking changes:
socket.h
is no longer in theposix
subfolder. It is in the same folder with all other headers. Theposix
subfolder has been removed.streambuf.h
has been renamed tobuffer_streambuf.h
and classstreambuf_adapter
has been renamed tobuffer_streambuf
.
- Add
socket_streambuf
class to enable creation of streams over sockets.
- No breaking changes.
socket
,exception
- Enable all
socket
andexception
classes to take alog
. This wayabc
classes can log diagnostic info in the app's log.
- Enable all
log
- Add a
format_binary()
method that formats a byte buffer. - Enable all
log_view
class to format byte buffers. This enables sockets to log sent and received bytes.
- Add a
- First promising release.