1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305
|
<!--
SPDX-FileCopyrightText: Peter Pentchev <roam@ringlet.net>
SPDX-License-Identifier: BSD-2-Clause
-->
# Changelog
All notable changes to the hexer project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.0.7] - 2025-08-17
### Fixes
- fix the build with e.g. GCC 15 by telling the compiler we use C99 features
### Additions
- start some `MkDocs` documentation
- start a Python-based suite of unit tests, currently testing almost nothing:
a trivial `hexer` startup and a single editing command
### Other changes
- switch to SPDX copyright and license tags
## [1.0.6] - 2020-04-24
### Fixes
- add a missing "extern" for a variable in a header file
- fix some C compiler warnings
## [1.0.5] - 2018-09-22
### Fixes
- correct some typographical and grammatical errors
- exit with status 0 if -h/--help is specified
- output the usage message to the standard error stream if
an invalid command-line option is specified
- move the terminal initialization a bit later in the processing
of the command-line options to avoid spurious output when
usage, version, or features information is requested
### Additions
- add the -V/--version command-line option
- add the -F/--features command-line option
### Other changes
- drop the commented-out code for testing and implementing
functions expected in a POSIX environment as warned in
version 1.0.0, namely strcmp(), strcasecmp(), memmove(),
strerror(), and the float.h header file
## [1.0.4] - 2018-03-24
### Fixes
- allow hexer to be cross-built: if CC_FOR_BUILD is defined in
the build environment, use it as the command to build bin2c as
submitted by [Helmut Grohne][contrib-helmut].
- fix undefined behavior by shifting an unsigned, not a signed,
value the maximum number of bits to the left.
## [1.0.3] - 2016-10-16
### Fixes
- correct a couple of grammatical nits in the README file.
## [1.0.2] - 2016-10-13
### Fixes
- correct some more typographical errors reported by
[Jakub Wilk][contrib-jwilk]
## [1.0.1] - 2016-10-12
### Fixes
- update the date in the manual page for the typographical
errors fixed in 1.0.0.
- add the year 2016 to the copyright notices of the changed files
## [1.0.0] - 2016-10-12
### Fixes
- most of the following portability fixes were prompted by
build failure reports on FreeBSD by
[Anastasios Mageirias][contrib-anastasios]
- drop support for ancient compilers that do not support
the "const" keyword or do not provide the alloca() function
- fix the build on systems that do not need or have alloca.h and
rename the NEED_ALLOCA_H configuration setting to HAVE_ALLOCA_H
- fix an overzealous double const
- add a Makefile rule for the compilation of C files for
make(1) implementations that do not pass CPPFLAGS.
- clarify a README comment about the unpacked subdirectory
- drop the HAVE_NCURSES configuration setting, the support for
changing the foreground and background color is autodetected
- drop the bundled termlib implementation, require termcap support
- drop the stubs for old-style termio support, the hexer code only
works with termios anyway
- drop the config.* files and autogenerate config.h
- fix the build of the myc command-line calculator
- assume a POSIX environment and declare some of the configuration
settings as deprecated; no tests are done for them, and
the deactivated tests will be removed in a future Hexer release
- correct some typographical and hyphenation errors
## [0.2.3] - 2015-12-10
### Fixes
- build with large file support on Linux
- clear the line after the cursor position on exit and suspend
- fix some more typographical errors
(reported by [Jakub Wilk][contrib-jwilk])
## [0.2.2] - 2015-12-10
### Fixes
- reset the terminal color attributes on exit
(reported by [Jakub Wilk][contrib-jwilk])
- also reset the attributes on suspend (Ctrl-Z) and restore
them on resume
## [0.2.1] - 2015-12-10
### Fixes
- fix some more typographical errors
- abort on memory allocation failures (malloc(), realloc(),
strdup())
## [0.2.0] - 2015-12-09
### Fixes
- fix a lot of C compiler warnings
- provide a better vasprintf() simulation to fix a display bug
- use sigemptyset() instead of a direct assignment to sigset_t
(reported by [Daniel Schepler][contrib-dschepler])
- handle short reads/writes and read/write errors
- fix a signed/unsigned char bug when reading the swapfile
- merge early when marking screen lines for refreshing
(reported by [Jonathan Neuschäfer][contrib-j-neuschaefer])
- let the editor use the `HE_DEFAULT_PAGER` value from defs.h as
a last-resort fallback (nothing in the environment, etc)
(reported by [Jakub Wilk][contrib-jwilk])
- allow the default pager value to be overridden at build time
(reported by [Jakub Wilk][contrib-jwilk])
### Other changes
- remove some unused functions
- simplify exh_save_buffer(): it's only used on the whole file
- declare some functions as printf-like
- bump the year on my copyright notice
## [0.1.8] - 2014-09-11
### Fixes
- fix a crash when inserting or replacing a half-byte
Thanks, [Thibaut Girka][contrib-thib]
- use CPPFLAGS and LDFLAGS as appropriate during the build
- create the destination directories during the installation
- bump the year of my copyright notice on files changed in 2014
## [0.1.7] - 2011-07-13
### Fixes
- fix searching for characters with a code point above 127
Reported by: [Michael Gold][contrib-mgold] in Debian bug #633508
- bump the year of my copyright notice on files changed in 2011
## [0.1.6] - 2010-12-29
### Fixes
- fix some errors and warnings detected by cppcheck:
- bin2c.c, buffer.c, commands.c, hexer.c - file descriptor leaks
- calc.c - a buffer overflow with an overlong command line
- main.c - suppress a false positive about a global pointer
- regex.c - note that I've been aware of the negative array index
problem ever since I first looked at the hexer source code and
tried to build it with a raised compiler warning level :)
- bump the year of my copyright notice on files changed in 2010
- fix a "calcualtor" typo in comments in calc.c and exh.c
### Additions
- add a TODO list inspired by the cppcheck results
## [0.1.5] - 2009-09-04
### Fixes
- remove the "bdir" and "ef" settings from the Vim modelines to
make them actually acceptable to today's Vim
- bring config.linux up to date
- clean up the header files:
- remove "extern" before the function prototypes
- declare all the hexer functions and variables used by
other modules
- add several header files so that all hexer functions and
variables are declared
- use ANSI prototypes for all functions
- let the prototypes for some functions catch up with reality
- clean up the source files:
- remove the "extern" definitions for the standard C library
functions - just include the header files instead
- replace the "extern" definitions for hexer functions and
variables with the appropriate includes
- fix various C compiler warnings
- fix some function definitions and calls to match the prototypes
- convert all functions to ANSI C prototypes
- remove a couple of redundant declarations of functions and vars
- rename several variables to avoid collisions
- check the result status of various I/O functions
- clean up the Makefile:
- allow the user to override most of the variables
- no need to ignore the result of "rm -f" :)
- use CFLAGS when building bin2c
- do not try to follow dependencies for termlib.c
- simplify the "install" target and honor DESTDIR if set
- rename the `KEY_*` constants to `HXKEY_*` to avoid conflicts with
the curses header files
- add an `hx_` prefix to the `lines`, `columns`, and
`insert_character` variables for the same reason
- garbage-collect some unused functions
- fix the manual page syntax:
- fix the comment markers
- mark the hyphens as such where needed
- remove some hyphenation in the help text
- link with the math library for pow(3) used in the calculator
- rename the TERMCAP and TERMLIB Makefile variables to LTERMCAP
and LTERMLIB; the TERMCAP environment variable is actually
defined in some environments, and it is definitely not
a linker library specification!
- fix a case of undefined behavior in tio.c: the v*printf()
routines may NOT be called a second time with the same
varargs list! Add a HAVE_VASPRINTF definition and enable it
on Linux systems; it is also available on modern BSD's, but
the config.bsd file needs a lot of updating anyway.
Reported by: Michael Gold <mgold@ncf.ca> in Debian bug #540571
- add a HAVE_MEMMOVE definition to the config files; buffer.c and
regex.c already test for it
### Additions
- add a config.posix file to reflect a modern POSIX-like system
- add a HAVE_STRERROR definition to the config files and roll out
our own strerror() function if needed
### Other changes
- taken over by Peter Pentchev <roam@ringlet.net>
- remove most of the settings from the Vim modelines
- switch the Makefile to use curses by default
## [0.1.4c]
### Released
- the last version released by Sascha Demetrio <demetrio@cs.uni-sb.de>
[Unreleased]: https://gitlab.com/hexer/hexer/-/compare/release%2F1.0.7...main
[1.0.7]: https://gitlab.com/hexer/hexer/-/compare/release%2F1.0.6...release%2F1.0.7
[1.0.6]: https://gitlab.com/hexer/hexer/-/compare/release%2F1.0.5...release%2F1.0.6
[1.0.5]: https://gitlab.com/hexer/hexer/-/compare/release%2F1.0.4...release%2F1.0.5
[1.0.4]: https://gitlab.com/hexer/hexer/-/compare/release%2F1.0.3...release%2F1.0.4
[1.0.3]: https://gitlab.com/hexer/hexer/-/compare/release%2F1.0.2...release%2F1.0.3
[1.0.2]: https://gitlab.com/hexer/hexer/-/compare/release%2F1.0.1...release%2F1.0.2
[1.0.1]: https://gitlab.com/hexer/hexer/-/compare/release%2F1.0.0...release%2F1.0.1
[1.0.0]: https://gitlab.com/hexer/hexer/-/compare/release%2F0.2.3...release%2F1.0.0
[0.2.3]: https://gitlab.com/hexer/hexer/-/compare/release%2F0.2.2...release%2F0.2.3
[0.2.2]: https://gitlab.com/hexer/hexer/-/compare/release%2F0.2.1...release%2F0.2.2
[0.2.1]: https://gitlab.com/hexer/hexer/-/compare/release%2F0.2.0...release%2F0.2.1
[0.2.0]: https://gitlab.com/hexer/hexer/-/compare/release%2F0.1.8...release%2F0.2.0
[0.1.8]: https://gitlab.com/hexer/hexer/-/compare/release%2F0.1.7...release%2F0.1.8
[0.1.7]: https://gitlab.com/hexer/hexer/-/compare/release%2F0.1.6...release%2F0.1.7
[0.1.6]: https://gitlab.com/hexer/hexer/-/compare/release%2F0.1.5...release%2F0.1.6
[0.1.5]: https://gitlab.com/hexer/hexer/-/compare/release%2F0.1.4c...release%2F0.1.5
[0.1.4c]: https://gitlab.com/hexer/hexer/-/tags/release%2F0.1.4c
[contrib-helmut]: mailto:helmut@subdivi.de "Helmut Grohne"
[contrib-jwilk]: mailto:jwilk@debian.org "Jakub Wilk"
[contrib-anastasios]: mailto:anastasios@mageirias.com "Anastasios Mageirias"
[contrib-dschepler]: mailto:dschepler@gmail.com "Daniel Schepler"
[contrib-j-neuschaefer]: mailto:j.neuschaefer@gmx.net "Jonathan Neuschäfer"
[contrib-thib]: mailto:thib@sitedethib.com "Thibaut Girka"
[contrib-mgold]: mailto:mgold@ncf.ca "Michael Gold"
|