NEWS 17.5 KB
Newer Older
1 2 3 4
1 News
******

This lists user-visible changes, and which releases they occurred
5
between.  For more detailed information see the git log.
6 7 8

   Each release lists incompatible changes at its top.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
9 10 11
9.3 "Trick or Treat"
====================

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
   * Notes
        - This release renamed the 'nx-rc' to 'bashstyle-rc', that
          means, you'll have to re-enable 'BashStyle-NG' in your
          '$HOME/.bashrc'.  Upon first start 'BashStyle-NG' will offer
          you to do so, on it's own.

          Additional notes for Git repo users:
             x This also applies to users that have used version 9.3
               prior to commit 4e621c.

             x Any references to 'nx-rc' will be auto-removed when
               re-enabling from UI, as of commit 2ff6c0, if you
               transisted before that commit, be sure to remove 'nx-rc'
               references from your '$HOME/.bashrc' manually.

27
   * Bug Fixes
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
28 29 30 31 32 33
        - #204 (debian vendor config): fixed error in Debian vendor
          configuration, preventing BashStyle-NG UI from startup.

        - #205 (ui): fixed buttons for saving, restoring, deleting and
          reverting user configuration in UI not working.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
34 35 36 37
        - #206 (manpage colors): enforce environment variable 'PAGER' to
          be 'less', else colorizing manpages might fail, if an other
          pager is used.

38 39
        - #207 (trap): fix recording exit code of last command if it's
          not 0.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
40

41 42 43 44 45 46
        - #208 (startup): fix enabling 'BashStyle-NG' in '$HOME/.bashrc'
          from user interface in certain cases.

        - #209 (startup): add file check when enabling 'BashStyle-NG' in
          '$HOME/.bashrc', so that 'Bash' does not run into errors on
          startup when 'BashStyle-NG' was uninstalled, but the startup
47 48 49 50
          entry still exists.

          Aswell as when it was installed to a different prefix, without
          having adjusted the startup entry in '$HOME/.bashrc'.
51

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
52 53 54 55 56 57
        - #210 (configuration): when 'ini_version' of '$HOME/.bs-ng.ini'
          is bigger than 'app_ini_version', the configuration is reset
          to either vendor or factory default configuration.  When doing
          so the configuration was not reloaded by the user interface
          (which could potentially lead to a crash).

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
58 59 60
        - #211 (colorshell): new option 'Dark Terminal Background'
          allows user to set whether the terminal background is dark or
          bright.  This option is used for colorshell to prevent the
61 62 63
          font color being black on dark terminals, respectively white
          on bright terminals in order to avoid barely readable text
          output.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
64 65 66 67 68

          This option also applies to all other terminal dependant color
          settings in 'BashStyle-NG', where 'white' will be 'black' on
          bright terminals, respectively 'black' will be 'white' on dark
          terminals.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
69

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
70 71 72 73 74 75 76 77 78 79
        - #212 (readline): fixed setting 'bell-style' readline variable.

        - #213 (readline): fixed setting 'completion-ignore-case'
          readline variable.

        - #214 (ls colors): fixed readline not inheriting 'LS_COLORS'
          set by 'BashStyle-NG'.  This resulted in readline functions
          using distribution default 'LS_COLORS', but bash functions
          using the user set variable.

80
        - #215 (lastcommand): fixed last command recording to generate
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
81 82 83
          ugly results for bash prompts ('lastcommandprintable') by
          removing all newlines from the string.

84 85 86 87 88 89 90 91 92 93 94
        - #216 (treecd): fixed user set 'treecd' options not being
          honoured.

        - #217 (lscd, treecd, grep): force switch to monochrome output
          when user has disabled colorful prompts.

        - #218 (equinox, truncpwd): fixed prompt length calculation for
          'equinox' prompt, if 'pwdcut' ini value is not set.  Fixed
          output string length calculation for 'truncpwd' function
          aswell.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
95 96 97 98
        - #219 (debug log): the debug log now properly stores all
          messages, run commands and their (error) output in
          '$HOME/.bashstyle.log' after startup.  Before this fix only
          the messages from 'BashStyle-NG' itself were stored, making
99
          the debug log rather useless.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
100

101 102
        - #220 (ini_set): fixed setting ini values from shell.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
103
   * New Features
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
104 105 106 107 108 109 110 111 112 113 114 115
        - Previously updating the user configuration to a new version
          was only possible by invoking the 'BashStyle-NG' user
          interface.  Now the user configuration is auto-updated from
          'bashstyle-rc' upon shell start up aswell (if needed, vendor
          configuration is considered if up-to-date, else factory
          configuration will be used (same behaviour as from user
          interface)).

          Manual update is possible via 'bashstyle --update', or
          'bashstyle -u'.  If your configuration is up-to-date, nothing
          will be changed.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
116 117 118 119 120
        - New Termcap/Manpage coloring function.  'BashStyle-NG' now
          allows you to choose the different colors for manpages from
          the User Interface, rather than only giving you a handful of
          pre-defined color schemes.

121 122 123 124 125 126
        - Added option to include the current directory to the 'PATH'
          variable.

        - Added coloring options for 'lscd' and 'treecd' for different
          'banner', 'mkdir' and 'empty' labels.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
127 128 129 130 131 132 133
        - New Bash 4.4 features support:
             + 'EXECIGNORE' a colon-separated list of commands to ignore
               from completion.  Only matched if the *complete* filename
               matches.  For example if you want to exclude

               '/usr/bin/autoreconf'

134
               from command completion, you need to add something like
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
135

136
               '/usr/bin/autreconf' or '*/autoreconf'
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
137 138 139 140 141 142 143

               to 'EXECIGNORE'.

             + 'PS0' prompt and color setting.  A new prompt which is
               displayed after completion was done and before the
               completed command is executed.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
144 145 146 147 148 149 150 151 152 153 154 155
        - New Readline 7.0 features support:
             + added Readline 7.0 master switch (enable to make use of
               the following).

             + 'Colored Completion Prefix' makes the matching prefix of
               the issued completion appear in a special color for all
               matches.

             + 'Enable Bracketed Paste' makes Bash handle multi-line
               pasted code like single-line, preventing erroneous
               completion or execution.

156 157
             + 'Vi Command Mode String' is an indicator printed before
               the last line of 'PS1' when Bash is in vi command mode.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
158

159 160
             + 'Vi Insert Mode String' is an indicator printed before
               the last line of 'PS1' when Bash is in vi insert mode.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
161

162 163
             + 'Emacs Mode String' is an indicator printed before the
               last line of 'PS1' when Bash is in emacs mode.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
164

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
165
   * Updated / Improved Features
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
166 167 168 169 170 171
        - 'history syncronization' improved history syncronization
          erasedups, ignoredups, ignorespace and ignoreboth
          implementation.  Made it more robust in case multiple Bash
          sessions start up simultaneously (should throw a lot less to
          no more errors).

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
172 173 174 175 176 177 178 179 180
        - 'random' function's '--numericalrange', '-r' param previously
          only allowed setting the 'highest' value of random range,
          starting from zero.  Now it's possible to set the 'lowest'
          value optionally, aswell.  Both syntaxes are supported:

          'random -r 10' will give you a random number between 0 and 10
          'random -r 5 10' will give you a random number between 5 and
          10

181 182 183 184 185
        - 'colors' added support for both 'grey' and 'white' in all
          color settings.  Note: depending on your terminal's color
          settings you might not see a difference here, that's not a
          bug.

186 187 188
        - 'colorshell' does no longer pollute 'PS1...4' variables.  It
          does now store 'PS1...4' once per session to 'OLDPS1...4' and
          appends it's randomly choosen text color to the it.
189

190 191 192 193 194
        - 'equinox' prompt now shows '⊘' in yellow when exiting 'git
          log' using 'q' key, instead of '✘' in red.  Exiting 'git log'
          results in return code 141, but it's not an actual error, thus
          the new state was added.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
195
   * UI changes
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
196 197 198
        - Use 'GtkSwitch'es instead of 'GtkRadionButton's for main
          switches in the UI.

199
        - Make the radio buttons 'use lscd instead of cd' and 'use
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
200 201
          treecd instead of cd' exclude each other.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
202 203 204
   * Configure

        - 4.3.8
205
             + code review.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
206 207
             + make build dependencies a separate dependency group.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
208
   * Misc.  Changes
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
209 210 211 212 213 214

        - Translation Domain changes:
             x old: 'bs-ng', new: 'bashstyle'

             x old: 'nx-rc', new: 'bashstyle-rc'

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
215 216
        - Improvements to 'bashstyle' launcher script.

217 218
        - Minor improvements to the Custom Prompt Builder UI.

219 220 221
        - Added option to launch Terminal Emulator from UI (uses
          'x-terminal-emulator').

222 223 224
        - Since a few versions the code for setting colors has been
          changed, so we no longer need a monochrome version of each
          prompt style, avoiding lots of (mostly) duplicated code.
225

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
226 227 228
        - Standardize shebangs in python scripts (and remove
          corresponding lintian override).

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
229 230
        - Updated german translation.

231 232 233
        - Don't mark setting's name and a few others as translatable
          strings.

234
        - Changed string 'GIT' to 'Git' in the UI and other pacles.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
235

236 237 238
        - Move last command recording to the end of 'BashStyle-NG'
          initialization, no need to record 'BashStyle-NG's startup.

239 240 241
        - 'WidgetHandler' now supports 'GtkSwitch'es, 'GtkButton's and
          'GtkLabel's, Custom Prompt Builders special 'GtkButton's and
          'GtkComboBox'es.
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
242

243 244 245 246 247 248 249 250 251
        - Less environment pollution by 'unset'ing a lot of variables
          which are of no use after 'BashStyle-NG' initialization.

        - Simplified color setup mechanism for non/echoable prompt part
          colors.

        - Minor fix for 'dbg_msg' function, now some of the output
          strings in '$HOME/.bashstyle.log' are more readable.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
252 253
        - Minor coding style changes / improvements.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
254 255 256 257
     <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

9.2 "Galvanize"
===============
258 259 260 261 262 263 264 265 266 267 268 269 270 271 272

   * Bug Fixes
        - #191 (make): gtk-update-icon-cache was not properly invoked
          after make install

        - #192 (custom prompt builder): inserting prompt parts from
          GtkComboBoxes did not work

        - #193 (nano): setting Nano UI Colors an Tabs to Spaces did not
          work

        - #194 (colors): color definitions have not been properly
          exported to external scripts, which thus always displayed
          monochrome output

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
273 274 275
        - #195 (nx-rc): fixed filtering out 'trap' from 'lastcommand'
          storing [Mingye Wang]

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
276
        - #196 (nx-rc): fixup 'lastexit' value storing [Mingye Wang]
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
277

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
278
        - #197 (nano) (vim) (readline) (keybindings): fixup file
279
          existence checks which are intended to prevent file conflicts
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
280 281 282
          when multiple Bash sessions are started at the same time
          [Mingye Wang]

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
283 284 285
        - #198 (nx-rc): fixup detection of vendor ini version on first
          load of nx-rc if no user ini exists

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
286 287 288 289
        - #199 (reload): fixup reload to properly restore the complete
          environment, including BashStyle-NG and Bash Programmable
          Completion.

290 291
        - #200 (dd_opts): ensure setting DD_OPTS is properly done.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
292 293
        - #201 (ls_colors): setting Tar/XZ color from UI didn't work.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
294 295 296
        - #202 (configure): fixed last arguement passed to configure not
          being honoured.

297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
   * Configuration File Changes
        - Additionally to factory and vendor (/etc/bs-ng_vendor.ini)
          configuration BashStyle-NG now also checks for user backup
          ($HOME/.bs-ng.ini.save) configuration when resetting
          configuration

        - Before using user backup or vendor configuration in any way do
          a dry-load to ensure the files are in proper shape, if they
          contain errors skip them

        - When the configuration file can't be loaded due errors, let
          BashStyle-NG auto-reset the configuration using user backup
          (if it exists) > vendor configuration (if it exists) > factory
          configuration (in that order).  This prevents BashStyle-NG
          from crashing if there's something wrong with the user
          configuration file

        - Added new Category "Configuration" which allows to:

             + Backup
             + Restore (from user backup configuration)
             + delete Backup configuration
             + Reset (reset from vendor or factory configuration) the
               configuration
             + Edit various configuration files (uses xdg-open to open
               files), namely:

                  x .bashrc
                  x .bashstyle.custom (bashrc-extension always loaded
                    after BashStyle-NG, thus can use BashStyle-NG
                    variables and functions reliably)
                  x .vimrc.custom (vimrc extension that is not managed
                    by BashStyle-NG)
                  x .inputrc.custom (inputrc extension that is not
                    managed by BashStyle-NG)

          also shows version of user, user backup, vendor and factory
          configuration files (None for vendor and user backup if they
          don't exist)

        - icon name for this category in UI: bs-ng-config

        - after configuration is restored or reset the application is
          restarted

   * StartUp Mechanism Changes
        - Before BashStyle-NG embedded into /etc/bash.bashrc or
          /etc/bashrc to add a startup entry to $HOME/.bashrc.  Now if
          $HOME/.bashrc does not contain a startup entry for
          BashStyle-NG the user is presented a tab page upon UI start
          asking whether to add the entry.  Also works when the startup
          entry for BashStyle-NG is commented out, or if the entry is
          from a previous installation of BashStyle-NG that had a
          different installation prefix.

   * Prompt Part Changes

        - PS2 / PS3 / PS4 changes: Before there's been an option for
          PS234.  Setting this to ">" resulted in

             + PS2=">"
             + PS3=">>"
             + PS4=">>>"

          Now there's an separate option for each (including a color
          option each)

        - additionally PS2 / PS3 / PS4 export does now honor
          enable_colors setting

   * History Syncro Changes

        - BashStyle-NG 9.1 introduced a custom history sync
          functionality (for syncing history over simultaneously running
          sessions), which turned out to break Bash $HISTCONTROL, as it
          modified the history from outside.  This is now worked around
          by custom functions replacing the $HISTCONROL of Bash since it
          fails due to the custom history handling functions.  Please
          note that this might slow down Bash a bit if you have a huge
          history.

   * New Functions

        - xmltagdelete: delete tags from xml files, see 'xmltagdelete
          --help'

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
383 384
        - 2048.bash: 2048 game in Bash, see '2048.bash --help'

385 386 387 388 389
   * New Settings

        - Added option to display progressbar for 'dd', requires version
          8.24 or newer.

Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
390 391 392 393
   * Documentation

        - Add texinfo documentation describing all features of
          BashStyle-NG (work in progress).
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
394 395 396 397 398 399 400 401
        - currently documented:
             + Introduction
             + News (ChangeLog)
             + Configuration file handling
             + Advanced options (UI section)
             + Style options (UI section)
             + Shell options (UI section)
             + UI icon names
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
402 403 404 405
        - Add manpage for 'bashstyle' executable.
        - Add 'Documentation' icon ('bs-ng-doc') icon in UI, opening the
          documenation using 'xdg-open'.

406 407 408 409 410
   * Misc.  Changes

        - undobuffer: enforce Gtk version 3 to be loaded (makes a
          startup warning shut up

411 412
   * Configure

413 414
        - 4.3.7
             + code review
Christopher Roy Bratusek's avatar
Christopher Roy Bratusek committed
415
             + fixed bug #202
416

417 418 419 420
        - 4.3.6
             + add '--docdir' switch back
             + add '--mandir' switch

421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437
        - 4.3.5
             + remove system bashrc detection
             + remove -profiledir switch
             + remove -bashrc switch
             + minor string changes

        - 4.3.4
             + remove -quiet switch
             + globally define PYMAXVER and PYMINVER (python minimum and
               maximum versions)
             + globally define PYAMXVER_P and PYMINVER_P (printable
               python minimum and maximum python versions for configure
               messages)
             + remove unused variable

   * Make

438 439 440
        - 1.0.9
             + code review

441 442
        - 1.0.8
             + compress manpages upon './make build'
443
             + install info and html documentation upon './make install'
444 445
             + install manpages upon './make install'
             + add a few more strings
446 447
             + build README from doc/userdoc_introduction ('./make
               readme')
448

449
        - 1.0.7
450
             + build NEWS from doc/news.info ('./make news')
451
             + build doc/bashstyle.info from doc/userdoc.texi ('./make
452 453
               info')
             + build doc/html from doc/userdoc.texi ('./make html')
454 455 456 457 458 459 460 461 462 463 464 465 466 467 468

        - 1.0.6
             + fixed bug #191

        - 1.0.5
             + update for no longer installed profiledir and profile
               script
             + minor string changes

   * Translations

        - Updated german translation

     <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>