Skip to content

Latest commit

 

History

History
203 lines (150 loc) · 7.04 KB

CHANGELOG.md

File metadata and controls

203 lines (150 loc) · 7.04 KB

Changelog

All notable changes to this project will be documented in this file.

The format is inspired by Keep a Changelog and this project adheres to Semantic Versioning.

Change Types

  • Add: New features.
  • Fix: Bug fixes.
  • Change: Changes in existing functionality.
  • Breaking Change: Changes which incompatible with previous version in existing functionality
  • Deprecate: Features soon-to-be removed.
  • Remove: Features removed now.
  • Security: In case of vulnerabilities.
  • Doc: Documentation changes.

[Unreleased]

Full Changes

v0.5.0 (2022-11-24 00:56:00 +0800)

Full Changes

New Features

Bug Fixes

  • build: Add options "-h", "-y" and "-p". env PREFIX and OVERWRITE are still compatible, but should not used any more.
  • build: add git commit into built verion annotation && fix version in doc
  • build: support symbol link to ./build file
  • build: failed with linux sed
  • build: OVERWRITE should be false by default
  • build: remove public method wrappers && internal variables should be replaced when building
  • ci: mkdir ./dist when test-in-docker
  • ci: test-in-docker should have tty
  • ci: load_module should load dist/lobash.bash
  • l.ask: no longer return "Invalid Answer"
  • l.str_include: with empty string should return true
  • l.keys: test failed in linux
  • l.is_array: uninitialized (declare -a arr) should be an array
  • l.random: l.random hangs up in Github Action
  • l.sleep: do not create _L_SLEEP_TEMP when loading lobash
  • l.with_ifs: eval "$@" -> eval "$*"
  • l.is_array: it should return true when test associative array && it returns false with uninitialized array in bash 4.3

Document Changes

  • update module usages && add Notice
  • rename /doc to /docs for github issue template
  • improve documents && remove TOC to use the Github builtin TOC
  • fix metadata since && update changelog
  • l.sort: update description && add examples

BREAKING CHANGE

  • l.ask:
    • no longer return "Invalid Answer"
    • default value of l.ask use "" instead of "Y"
  • l.is_array
    • There is a bug in bash 4.3 with declare -p. It may be a breaking change.
    • With associative array, it returns true now. But it returns false in previous version.

v0.4.0 - 2019-07-12 21:36:00 +0800

Now most modules support bash 4.0+!

Full Changes

Add

Fix

  • union_array: each value of return array should be unique && union_array only accept one or two parameters
  • Use eval instead of nameref. All commands using nameref feature now support 4.0+. Effect commands:
    • array_include
    • array_include.s
    • echo_array
    • first
    • inc
    • join
    • last
    • match_list
    • parse_params
    • sort
    • sub
    • union_array

Change

  • refactor: reduce exported internal codes in built file.
  • refactor: remove comments in built file

Doc

  • Modules usages document shows what modules not compatible with Bash 4.0.

v0.3.1 - 2019-07-08 02:22:00 +0800

Full Changes

Add

  • add l.array_include.s, l.str_include.s, l.end_with.s, l.start_with.s

Breaking Change

  • l.str_include return 0/1 instead of echo true/false
  • l.end_with return 0/1 instead of echo true/false
  • l.start_with return 0/1 instead of echo true/false
  • l.array_include return 0/1 instead of echo true/false
  • str_include, end_with, start_with move to Condition Category

v0.3.0 - 2019-07-08 01:16:00 +0800

Full Changes

Breaking Change

All Condition modules should provide two implements. Like is_file and is_file.s, '.s' suffix means "strict mode".

  • All Condition functions renamed from l.xxx to l.xxx.s.
  • Current Condition functions l.xxx return 0/1 instead of echo true/false
  • rename l.is_writeable => l.is_writable.s
  • rename l.true => l.is_truthy.s
  • rename l.false => l.is_falsy.s
  • l.has not support l.has not , use l.has_not instead
  • rename l.strict_has => l.has.s
  • rename l.strict_has_not => l.has_not.s
  • rename l.not => l.not.s
  • rename l.not.p => l.not.s.p

v0.2.0 - 2019-07-07 15:26:01 +0800

Full Changes

Fix

  • l.array_include should return false when get empty array.
  • l.split 'abc' target 'abc' not work as expected.
  • l.cur_function_name: wrong function name in dist.
  • l.trace_stack should not show self function in stack in dist.
  • Only active inherit_errexit when it is supported in Bash.
  • l.count_files: wrong counts when spaces in file paths

Add

  • Add new modules: ask_input, echo_screen, with_ifs
  • bin/lobash add new sub-commands: mods, meta, help, github
  • Add colored output and interactive prompts for build script

Change

  • Support Bash 4.0+. The shell option inherit_errexit is not required. Some modules are not supported in lower version Bash.

Doc

  • Change file structure of "module usages" and show more metadatas. Now you can see what Bash version each module supported.

v0.1.0 - 2019-07-01 23:46:15 +0800

First release! It works in Bash 4.4+.

Full Changes