CHANGES
=======

2018.05.0
---------

* Fix Markdown in changelog.md
* Bump version to 2018.05.0.TIF
* Update changelog for 2018.05.0.TIF
* Replace GNUCXX checks with Linux checks
* Fix new clang-tidy warnings
* Reenable clang-tidy checks which were fixed in 5.0/6.0
* Use Ubuntu 18.04 and LLVM 6.0 in Docker build script
* Fix warnings introduced by using clang-tidy 6.0.0
* Apply formatting fixes from clang-format 6.0.0
* Bump clang tools version to 6.0.0
* Don't skip our test headers when linting
* Remove a broken statement form CMakeLists
* Remove unnecessary targets from CMake
* Fix a typo
* Bump CMake version on Windows to fix warnings
* Convert DOS line endings to UNIX. (#422)
* Add font selection
* Unify getters naming in settings
* Fix fixed-width fonts (#420)
* Add more info to Contributing.md
* Fix setting CMAKE\_OSX\_DEPLOYMENT\_TARGET
* Disable auto-deselection while typing
* Fix empty file bugs (HexEdit)
* Add some comments in EditEngine
* Add asserts in EditEngine
* Fix 'pallete' typo
* Add "reset to defaults" button to options
* Add waiting until local server exits
* Fix cursor position in server url
* Fix zlib building instructions
* Switch to https for zlib download
* Refactor UI classes
* Change reload/reapplySettings to be a global signal
* Add 'Apply' button to the Options dialog
* Code improvements in EditEngine
* Add explaining comment to IconAwareView declaration
* Move MainWindowWithDetachableDockWidgets to separate file
* Rename showHexEditor to openHexEditor
* Move createVisualization into MainWindow
* Rename View to IconAwareView
* Moved CreateHexEditTab to MainWindow
* Add documentation to EditEngine
* Make tox compatible with any python3 version
* Add a screen from Veles to README.md
* Refactor readme/help files
* Add rendering of partially visible row in hexedit viewport
* Fix highlighting item on hover in database tab
* Animate reference frame axes smoothly on coordinate system change
* FreeBSD support
* Allow picking trigram view colors in options dialog
* Make trigram colors changeable in trigram class
* Fix minimap crash on small files
* Allow hiding axes in trigram
* Reduced size of options dialog
* Display current manipulator type
* Display current visualization shape
* Display current visualization mode
* Fix incorrect paths in include directives
* Change default theme to dark - util/settings
* Ensure manipulator quaternions are normalized
* Calculate nice gl\_PointSize in trigram view
* Hash function for NodeID
* Make variables in zlib.cmake uppercase
* Add temporary file path randomization, add 'random.cc'
* Add 'Save as...'
* Fix garbage nibble in inserting new byte
* Fix CodiSec capitalization in organization name
* Add contact info irc
* Remove no-op code
* Fold a line skipped by clang-format
* Fix includes grouping
* Add include grouping to .clang-format
* Reorder clang targets (a hack for a bug in Visual Studio)
* Add missing disconnects to ConnectionManager
* Remove client interface binding (unnecessary & broken)
* Fix connecting when local server is already running
* Don't print server exit code when its value is unspeficied by Qt docs
* Protect generateRandomConnectionKey() against MinGW
* Use lowercase fingerprint in Veles URLs
* Use non-empty key for connections by default
* Make proto in Veles URLs lowercase
* Add EditEngine::remapOrigin
* Enable high-DPI support on macOS
* Fix a dangling reference (QStringLiteral quirk)
* Fix misleading size units in sampling code
* Use compile-time checked connect() everywhere
* Fix some signal<->slot type mismatches
* Fix a nit in util/helpers.py
* Fix TLS certificate validation
* Fixed double shortcut to Find, refactoring
* Add buttons find/replace previous
* Review fixes (insert and remove for hex view)
* Add data size handling
* Add UI for deleting selection
* Add EditEngine::removeBytes
* Add UI for insert mode
* Add EditEngine::insertBytes
* Enable console on debug builds on Windows
* Fix cyclic dependency in cmake
* Replace QVector with std::vector
* Remove unused code
* Change modifications highlighting
* Fix bug in setting C++ standard in CMakeLists
* Fix clang-tidy warnings (including some bugfixes)
* Enable more clang-tidy checks
* Fix typos
* Apply review suggestions
* Add squashing local changes
* Remove unused code
* Implement usage of address mapping
* Add apply changes from address mapping
* Add address mapping structures
* Change API for BinData::setData
* Reformat CMake files to KDE style
* Add a comment about clang-tidy problems
* Fix deployment folder in Windows builds
* Fix building in Qt Creator
* Unify Cmakelists formatting + other nits
* Improve performance of cmake 'format' target
* Simplify interface of EditEngine::changeBytes
* Replace 'popFirstChange' with 'applyChanges' in EditEngine
* trigram: Orthogonal projection
* Refactor EditEngine: methods order
* Replace using 'applyChanges' with 'bytesValues'
* Change API for BinData::data
* Add using bytesValues in HexEdit
* Add bytesValues and originalBytesValues methods in EditEngine
* Improve reading byte value in EditEngine
* Format headers and tests to Google Style Guide
* Fix clang-tidy warnings in headers
* Remove unused test\_veles.cc
* Add tests to clang-format and clang-tidy
* Bump clang-format/clang-tidy to 4.0
* Move clang-tidy config to .clang-tidy file
* Use -header-filter to specify headers
* Add build directory to gitignore (#299)
* Reformat to Google Style Guide (#296)
* Use foreach in clang-format with long lists
* Fix style specification for clang-format on Jenkins
* Add headers to clang-format
* Add documentation about clang-format custom parser
* Add custom clang-format style file
* Fix clang-tidy on MacOSX
* Fix clang-tidy performance warnings
* Remove old db implementation
* Fix clang-tidy warnings
* Add an option for specifying clang tools path
* Remove win32 builds from Jenkins
* Refuse to compile on win32
* Set number of jobs to the number of CPUs on nodes
* Add performance checks
* Improve and change interface to EditEngine (#281)
* Use separate node for Docker
* Update Dockerfile with new dependencies and targets
* Add Jenkins stage for compilation on Docker
* add python2.7-dev to fix OpenSSL compilation of tests dependencies
* Build instruction verification using docker
* Make HexEdit::paintEvent() 2x faster
* Ignore Visual Studio profiler files
* Change --std to -std in CMakeLists
* Remove unwanted NodeTree closing
* Remove DockWidgetVisibilityGuard
* Switch to C++14
* Remove broken and outdated \`upload\_elf\` script
* Remove unused dbif\_test and unpyc
* Remove unused prepare\_sources.sh script
* Add 'Select chunk' option
* Add 'Save chunk to file' option
* Fix RPATH on MacOSX
* Do not use Xcode CMake generator for Mac
* Add clang-format target
* Add target lint and custom warings publisher
* Use tee with pipefail instead of output redirection
* Reduce number of workspaces used
* Use more cores when building on Windows
* Add target format
* Add target lint to CMake
* Fix code style
* Local HexEdit settings
* Adding and removing columns (+ shortcuts)
* Adjust .gitignore for VS2017
* Fix cursor redrawing (don't erase ASCII underscores from the line above)
* Fix hexedit cursor alignment
* Add shortcuts for scrolling hex view
* Fix autoscrolling with selection. It didn't work well when the cursor was at the end of selection
* Add a webchat link to README
* Mention IRC in README
* Add alternative tab navigation shortcuts

2017.06.0.1
-----------

* Move --cert-dir option to the begging of arguments
* Add missing cert-dir argument when starting server

2017.06.0
---------

* Changelog for 2017.06.0.SWOND release + raise version number (#251)
* Enable support for replace in HexEdit (#248)
* fix python version
* fix english
* Add running instructions
* Fix copy-paste errors in connection dialog
* fixed checkbox position
* Minor simplification in srv.py
* Fix Ctrl+C when running srv.py on Windows
* Update .gitignore with autogenerated ssl cert & key
* Wip/altran/use ssl (#230)
* add possibility to find overlapping matches
* cursor redraw fix
* search from cursor
* move cursor when go to address
* Wip/altran/default shortcuts (#233)
* edit
* focus fix
* scli: Fix python2 problems with invalid type of client\_name etc
* scli: Use unicode\_literals
* Move PROTO\_VERSION from veles.server to veles.proto
* Use precompiled OpenSSL dlls on Jenkins
* Readme update
* Review fixes
* Remove MinGW from supported compilers
* Compile OpenSSL on Windows
* selectionChanged signal fix
* Make hex-edit cursor movement configurable (#220)
* install vcredist
* Call removeTab in tabCloseRequested
* Add keyboard shortcuts editor
* hexedit cursor
* Use argparse in Python server scripts (#219)
* Add RC notifications instead of slack ones

2017.5.0
--------

* Add dependency on python3-dev package
* Changelog for 2017.05.0 release
* fix broken ico on ubuntu 17.04
* start using logging module
* Build macOS in a way that allows Python extension modules
* Add comment about potential drawbacks
* Fix most issues with reordering tabs in QTabBar
* Fix concurent build issue
* Even better fix to prevent crashes in focus handling
* (Dis)connecting doesn't cause a crash when database tab is closed
* Fix crash on closing dock made into separate window
* Update release month
* conection -> connection and other nits
* Display cleaned path to srv.py
* Opening files through command line arguments fixed
* Removed unnecessary updates of tab bar stylesheets
* style fixes
* Improved layout for profile/connection dialog
* catch exceptions from print
* quit local server on disconnect
* added profile support in ui
* Filter out refresh for not visible visualizations
* Fix includes + add comment to event's retval
* Remove unused imports
* Fixed mouse drag glitches in trigram view
* Minor refactor of trigram.cc
* Remember visualization settings
* copy server files while build
* Encoding of QTextStream created by ConnectionManager fixed
* Database tab and "Open" action disabled when not connected
* make\_blob and upload\_elf scripts updated
* NetworkClient-dbif interface - detailed dbg info removed
* NetworkClient-dbif interface - subblobs fixed
* NetworkClient-dbif interface - fixed end of parser created chunks
* NetworkClient-dbif interface - calling parsers
* NetworkClient-dbif interface - listing available parsers
* NetworkClient-dbif intermediate layer - review fixes
* NetworkClient-dbif intermediate layer - subchunks
* MsgpackWrapper - handling "large" messages
* NetworkClient-dbif intermediate layer - UI & improvements
* NetworkClient-dbif intermediate layer - dbif method request handlers
* NetworkClient-dbif intermediate layer - dbif info request handlers
* NetworkClient-dbif intermediate layer - NetworkClient msg handlers
* NetworkClient-dbif intermediate layer - base
* server: quit on close support
* review: typo fix
* indentations fixed
* added network profile support
* Support listing connections
* crash fix
* extended log while fail to start
* Add loading/packing of BinData in C++ code (#184)
* Allow for transfer of Repacker class over network
* Muliple changes to code generation: (#159)
* Add triggers to the protocol
* build mingw only on release builds
* Fix sign-compare warnings in unit tests
* regenerated kaitai files (crash fixes)
* fixed path to server script on linux
* fixed compilation warning
* set explicit path to test results on osx
* added information about missing python in log
* fixed reporting warnings on build failure
* added linux desktop file
* support for old OSX version
* removed not used file
* Converted few tabs to spaces
* Nits from altran's comments
* Fix contact info in CMakeLists.txt
* create NSIS installer only on non debug builds
* server scripts and installer on OSX
* Triggers - plugin side
* install server script on linux
* Python nits
* Fix contact info
* create missing directories in db path
* changed default database dir to writable location
* cleanup windows install dir
* Fix dumb bug in NodeID bool operator
* Report errors and warnings on build failure
* ConnectionsWidget
* Wip/altran/cpp model tests (#153)
* Add simple sanity tests for MsgpackObject (#133)
* Find dialog doesn't block main event loop
* ConnectionManager: requesting a list of connections
* Wip/altran/nodeid cpp tests (#146)
* embed python and server srcipts windows installation
* added support for DEB packages
* added installer on windows
* asrv: Move database management logic to a new DbTracker class
* Exorcise AsyncNode from AsyncTracer
* async\_conn: Make handler get\_query param a raw node
* async\_conn: Move subscriber handling to AsyncConnection
* async\_conn: Move getters and method runner to the connection class
* NetworkClient: ptr to NodeTree stored in std::unique\_ptr
* NetworkClient: send/rcv message implemented as Qt signal/slot
* Added \*.vdb to .gitignore
* Code formatting fix
* Tab of last file specified in command line is active after startup
* Log widget is a default active widget
* Shortcut for "Find" works for HexEditWidget that currently has focus
* Updated stylesheet for QTabBars
* Connection dialog is raised to the top on start-up
* Make compile failures stop the build
* Reordered functions to fix gcc/clang compilation
* Fixes from review
* Added default: abort() to switches
* Fixed various nits
* Review fixes
* C++ client library - auth. key removed from MsgConnect
* Review fixes
* Handle MsgConnect message
* Add missing \_\_ne\_\_ for Python 2
* db: Database -> DbBackend
* C++ client library - connection management
* Fix non-transaction code paths
* Transaction fixes
* Remove unnecessary code
* Various fixes to NodeID
* New overload for IEncoder::encode
* Minimap doesn't pop up during hex view initialization
* Minimap doesn't pop up during visualisation initialization
* Single active dock widget in the application
* Broadcast
* Query support
* Method plumbing
* Generate code for enumerations
* AsyncTracer
* asrv: transaction support
* remove googletest from install target
* Add lacking #pragma once from previous commit
* Switched to #pragma once plus formatting fixes
* Remove use of type-punning from MsgpackObject
* Another approach to toMsgpackObject
* Change validation for getting integers from MsgpackObject
* Add {from,to}MsgpackObject for base of PolymorphicModel
* Review and rebase fixes
* Many bugfixes and small improvements
* Clean workspace after successful builds
* Fix small bug found during unrelated code review
* ChunkDataItem model
* repack: Bring C++ interface in line with Python
* schema: Add Empty field
* ConnectionDialog - settings handled through utils::settings
* ConnectionDialog - possibility to save/load settings
* fix install target on linux
* Remove explicit redundant dependency that breaks Ubuntu build
* Locally created server can be shut down when UI is closed
* UI - connection status notification
* Fixes requested in adami's code review
* Fixes requested in altran's review
* Fixed stdout redirection from Python interpreter
* ConnectionDialog::randomKey() should be secure now
* ConnectionManager - source code moved to separate files
* ConnectionManager - connection notification icon
* ConnectionManager - running a server
* ConnectionManager - database selection
* ConnectionManager - menu
* ConnectionManager - connection dialog
* Fix model field ordering for Py3 versions < 3.6
* schema: Make VelesException serializable
* Run Python unit tests on all platforms (#114)
* Py2 fixes
* Remove old approach to network communication using protobuf
* Async client
* Fix broken cmake dependencies after file split
* Add missed changes to CMakeLists.txt
* Add missed changes to CMakeLists.txt
* Limit maximum builds kept in history
* Minor fixes
* New approach to msgpack unpacking in C++
* Small fixes
* Generate C++ code from Python models
* Fix Python srv launcher on Windows
* db: BinData paging
* db: A few minor improvements
* Make Repacker a Model
* schema: Add Enum field
* Fix typo
* Use -j3 in ubuntu and mingw32 build
* Document messages
* fix
* asrv: Clean up message handling a bit
* asrv: get/sub/set bindata
* asrv: Implement misc mutators
* asrv: Implement get/sub list properly
* asrv: Implement get\_data, set\_data, and data subscriptions
* asrv: Implement delete properly
* asrv: Implement \_create properly
* asrv: Implement refresh and simple subscriptions properly
* asrv/proto: Make message handlers async
* asrv: Implement get\_node\_norefresh
* visualisation -> visualization
* Remove stage "building finished", added stage for python tests
* Fix missing )]
* Parallel Jenkins builds
* asrv: Rename files
* db: Use NodeID.root\_id
* Add a PosFilter model
* Schema cleanups & improvements
* nodeid: Improve \_\_str\_\_ and \_\_repr\_\_
* db: Fix & test bindata support
* Order-preserving bigint encoding
* Rename veles.messages.\*
* Fix wrong return type for int\_to\_bytes with big endian
* async\_conn: import fix
* asrv: split off database handling
* Use assertIsInstance in tests
* int\_to\_bytes: Ensure bytes are actually returned
* schema: Misc fixes for py27
* Add an interface to async connections
* Fix pep8
* NodeID improvements (#72)
* Move tests to subdirectories
* Expand msgpack wrapper code (#69)
* initialisation -> initialization
* Fix renaming bug
* Removed unnecessary const
* Code-style fixes in include/data/
* Fixes from review
* VisualiSation -> VisualiZation - code refactoring
* VisualiSation -> VisualiZation - file rename
* Added lacking consts
* Added mock\_sampler.h to cmake
* 'Show captions' switched to default off
* Small code fixes in Parser
* Removed unnecessary comment
* Make gcd a template func
* Move gcd to util/math.cc
* Minor fixes in BinData
* Remove unnecessary ifs before delete
* Exception classes
* msgpack: Support serialization of BinData and big ints
* Move int.from/to\_bytes backport to separate file
* dis: Use BinData
* Disable console window on Windows
* Python repack
* BinData in python
* Update requirements
* Modifications to msgpack wrapping code
* asrv: Enable foreign keys in db
* Fix issues from review
* Downgraded string\_utils to C++11
* Fix UrlEncoder on not-msvc
* Added more encoders
* Converted RawEncoder into TextEncoder (due to problems with Windows clipboard)
* Added raw encoder
* Fix comment formatting
* Fix namespace formatting
* Świtezianka server prototype
* dis: Add IsaSplitField
* dis: Add segments to memory arguments
* dis: Modifier support
* Updated layout of VisualisationPanel
* Issue with corrupted layout of dock widgets fixed (#215)
* Świtezianka
* Disassembler start
* Changelog for 2017.02.0 release
* Hide hex view minimap
* 2017.02.YAGNI
* Update links in "About" dialog
* Update README.rst
* Opening of a subblob results in creating new NodeWidget
* HexEditWidget and NodeTreeWidget merged into single tab
* pyc: Add a simple disassembler
* HexEditWidget: "Find next" is only available after successful "Find"
* Layout of OptionsDialog fixed
* cbFind in SearchDialog automatically catches focus
* addrValue in GoToAddressDialog automatically catches focus
* nameEdit in CreateChunkDialog automatically catches focus
* Tab order in find dialog fixed
* Top level nodes are visible in HexEdit when selectedChunk() returns null
* Wip/ji/tab icons (#32)
* Closed db view and log view can be reopened through "View" menu
* Names of VelesMainWindow's members follow coding convention
* Added separate python classes for blobs and chunks
* Changelog
* Allow select range button in minimap to select whole file
* Updated ISampler::getFileOffset edge condition
* Fix minimap selection to be more precise
* Add selection size in minimap view
* Fixed another off-by-one in minimap
* Fixed off-by-one in minimap
* Fix minimap "dead pixels" in entropy mode
* Fix "dead pixels" at the end of small minimaps
* Updated veles version
* Change visualisation icons to png
* Add icons for Windows and macOS
* Readme fixes
* fixed more warnings
* fixed some warnings
* added parsers generated from kaitai ksy files
* removed html code from doc
* added currentName()
* added kaitai API to veles StreamParser wrapper
* added explicit casts
* added skip
* fixed getDataUntil
* floats read fix
* implemented new methods StreamParser
* don't scrroll to selected chunk if at least one byte is already visible [jira EAX-173]
* Make parse\_bmp script Python3 compatible
* Some small fixes I forgot to include in previous patch
* Fixes for running from build dir on mingw
* unified sorting functions source
* moved sort to base class [jira EAX-174]
* Add unit tests
* Move better create chunk method to library
* Add ability to read blob data
* Some additional changes
* Add network interface for manipulating chunk tree
* Add protobuf as new dependency
* Improved MainWindowWithDetachableDockWidgets::updateDocksAndTabs
* Possible parents for dragged DockWidgets are marked with QRubberBand
* Split actions for docks aren't available when they don't make sense
* Dock widgets splitting (available through context menu)
* Updated cylinder image
* Replaced visualisation icon in bar
* Added new icons for different visualisation modes
* Fixed a broken assertion in uniform sampler
* Fixed a crash in uniform sampler
* Tabs in main window can always be reordered
* Remove not (yet) implemented actions from toolbars/menus
* New HexEditWidget can be created from HexEditWidget
* Add missing callback cleanup to visualisation base
* Add option to remove specific resample callback
* Dock widgets with no unnecessary title bars under Windows
* Contributing guidelines
* Calculate trigram auto-brightness in worker thread
* Add warning when file we try to open is too big
* Show warning when we fail to open file
* cleanup Jenkinsfile
* Nuke outdated files
* Some unittests for async sampling
* Added a simple threadpool for resampling
* Asynchronous resampling in VisualisationWidget
* Synchronous sampling with new API
* Draft asynchronous interface for ISampler
* [EAX-136] Dock widget can be detached to a top level window
* go back to zlib 1.2.8
* added floating and string FieldHighType constructors
* added plus operator to BinData
* added to stream parser root chunk
* [EAX-136] Dock widget can be detached to a new top level window (optionally maximized) through a key/sequence or a context menu
* Remove mention about old project name from code
* gitignore cleanup
* [EAX-136] Dock widget can be detached to a new top level window (optionally maximized) through a key/sequence or a context menu
* Updated labels for visualizations
* Warning fixes
* [EAX-130] Hex edit tab split into two separate tabs
* fixed magic for pyc parser
* fixed warnings
* added possibility to parse from selected location
* choosing parser from ui
* added operator equal to BinData
* go to file on double click
* crash fix [jira EAX-158]
* [EAX-152] Manipulators' key shortcuts do not collide anymore when 2 visualizations are being opened at once
* improved find/replace [jira EAX-146] (#119)
* [EAX-151] Manipulator icons are now readable in "dark" theme
* Reference frames for visualizations (EAX-129)
* Reference frames for visualizations (EAX-129)
* EAX-145 Show error message if failed to init OpenGL
* zlib 1.2.9 -> 1.2.10 (#122)
* zlib 1.2.8 -> 1.2.9 (#121)
* Fix bug in uniform sampler found by unittests
* Added unittests for uniform sampler
* changed tool tip colors [jira EAX-144]
* Log widget (EAX-116)
* EAX-116 - Log widget added
* Camera manipulators for visualisations
* removed warnings
* first time build fix (#115)
* Added some unittests for ISampler class
* Change CMake to build whole googletes (with gmock)
* https
* Add new SpinBox that holds uint64\_t
* Skip function calls when building data array in uniform sampler
* imporved warnings publishing (#111)
* added scrollToCurrentChunk (#107)
* Fixed a dumb bug in prepare\_sources script
* Added script for preparing veles relase
* added warnings publisher
* Add email & www to about window
* trigram: Fix scaling for height > width
* crash fix
* build zlib only if not found
* EAX-121 Fix bug where minimap\_panel selection could be uninitialised
* bugfix: set sampler range when changing sampling type
* Bugfix: add casts in universe to fix ubuntu build
* fixed isRemovable [jira EAX-119] (#98)
* Veles release 2016.12.FITYMI. Authors:
