diff --git a/packages/README.md b/packages/README.md
index 7a7cc70..50bf8da 100644
--- a/packages/README.md
+++ b/packages/README.md
@@ -86,7 +86,7 @@ SHA256 digest for macroArray: F*3F3893F1FCD78719543703E4353F4CC19811D247C016F220
---
-- **BasePlus**\[2.4.1\] adds a bunch of functionalities I am missing in BASE SAS, such as:
+- **BasePlus**\[3.0.0\] adds a bunch of functionalities I am missing in BASE SAS, such as:
```sas
call arrMissToRight(myArray);
call arrFillMiss(17, myArray);
@@ -117,8 +117,10 @@ format x bool.;
%put %monthShift(2023,1,-5);
%put #%expandDataSetsList(lib=sashelp,datasets=_all_)#;
+
+%workLib(ABC)
```
-SHA256 digest for BasePlus: F*DB0811D8F207641BD45FCE30CB75D03CDF8D06849EBEA268BB575358FAA4E76C
+SHA256 digest for BasePlus: F*B9F6D8F1EDD1ECDA89F4BE327C4F4202649475D1D9DFB476279B633D9F14125D
[Documentation for BasePlus](https://github.com/SASPAC/blob/main/baseplus.md "Documentation for BasePlus")
diff --git a/packages/SHA256_for_packages.txt b/packages/SHA256_for_packages.txt
index fc13371..c9e85fc 100644
--- a/packages/SHA256_for_packages.txt
+++ b/packages/SHA256_for_packages.txt
@@ -1,3 +1,6 @@
+/* 20251015 */
+BasePlus: F*B9F6D8F1EDD1ECDA89F4BE327C4F4202649475D1D9DFB476279B633D9F14125D
+
/* 20250905 */
BasePlus: F*DB0811D8F207641BD45FCE30CB75D03CDF8D06849EBEA268BB575358FAA4E76C
diff --git a/packages/baseplus.md b/packages/baseplus.md
index e2bb875..5ec03fd 100644
--- a/packages/baseplus.md
+++ b/packages/baseplus.md
@@ -9,22 +9,22 @@
### Version information:
- Package: BasePlus
-- Version: 2.4.1
-- Generated: 2025-09-05T10:12:32
-- Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com)
+- Version: 3.0.0
+- Generated: 2025-10-15T10:13:04
+- Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com), Ryo Nakaya (nakaya.ryou@gmail.com)
- Maintainer(s): Bartosz Jablonski (yabwon@gmail.com)
- License: MIT
-- File SHA256: `F*DB0811D8F207641BD45FCE30CB75D03CDF8D06849EBEA268BB575358FAA4E76C` for this version
-- Content SHA256: `C*27861ABABB412E8229FE25CD5EEA868F49BB3CBD805CCE65F321ADBC522FAC4E` for this version
+- File SHA256: `F*B9F6D8F1EDD1ECDA89F4BE327C4F4202649475D1D9DFB476279B633D9F14125D` for this version
+- Content SHA256: `C*680412F6B403870A3A8975FC17300F7C92AEDECA48D3F242B5BC4E545DC6D313` for this version
---
-# The `BasePlus` package, version: `2.4.1`;
+# The `BasePlus` package, version: `3.0.0`;
---
-# The BasePlus package [ver. 2.4.1] ###############################################
+# The BasePlus package [ver. 3.0.0] ###############################################
The **BasePlus** package implements useful
functions and functionalities I miss in the BASE SAS.
@@ -47,7 +47,8 @@ Kudos to all who inspired me to generate this package:
*Quentin McMullen*,
*Kurt Bremser*,
*Leonid Batkhan*,
-*Louise Hadden*.
+*Louise Hadden*,
+*Ryo Nakaya*.
---
@@ -387,6 +388,11 @@ proc print data=b_x;
run;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**EXAMPLE 29** Create library ABC assigned to `/ABC` directory:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
+ %workLib(abc)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
---
---
@@ -490,10 +496,11 @@ The `BasePlus` package consists of the following content:
78. [`%translate()` macro ](#translate-macro-78 )
79. [`%tranwrd()` macro ](#tranwrd-macro-79 )
80. [`%unifyvarscasesize()` macro ](#unifyvarscasesize-macro-80 )
-81. [`%workpath()` macro ](#workpath-macro-81 )
+81. [`%worklib()` macro ](#worklib-macro-81 )
+82. [`%workpath()` macro ](#workpath-macro-82 )
-82. [License note](#license)
+83. [License note](#license)
---
@@ -7619,7 +7626,71 @@ run;
---
-## `%workpath()` macro ######
+## `%worklib()` macro ######
+
+## >>> `%workLib()` macro: <<< #######################
+
+The `%workLib()` macro creates and assigns a WORK-scoped sub-library.
+
+Purpose:
+
+The macro creates (if needed) and assigns a SAS library as a sub-directory
+under the current `WORK` location. This is useful for isolating temporary
+outputs per task while ensuring automatic cleanup at the end of the SAS session.
+Basic engines libraries, like `BASE`, `V*`, and simple `SPDE`, can be set.
+
+### SYNTAX: ###################################################################
+
+The basic syntax is the following, the `<...>` means optional parameters:
+~~~~~~~~~~~~~~~~~~~~~~~sas
+%workLib(lib,)
+~~~~~~~~~~~~~~~~~~~~~~~
+
+**Arguments description**:
+
+- `lib` - *Required*: Name of a library (and sub-folder)
+ to create under WORK. The value must be a valid
+ nonempty SAS libref (8 characters max, starting
+ with a letter or underscore).
+
+- `engine` - *Optional*, Name of a basic, directory level,
+ SAS engine, e.g. `BASE`. When empty the default
+ engine is used.
+---
+
+### Details
+
+- Builds a target path: `/`.
+- All data written to this libref are temporary and will be removed
+ when the WORK library is cleared at session end.
+- If a directory with the same name already exists under WORK,
+ the macro prints a note and simply assigns the LIBNAME to
+ that location.
+- The `dcreate()` function is used to create sub-directory.
+
+
+### EXAMPLES AND USECASES: ####################################################
+
+**EXAMPLE 1.** Create basic library ABC:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
+ %workLib(abc)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**EXAMPLE 2.** Create libraries with different engines:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
+ %workLib(b,BASE)
+
+ %workLib(v,V6) %* for Windows only.;
+
+ %workLib(s,SPDE)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+---
+
+
+---
+
+## `%workpath()` macro ######
## >>> `%workPath()` macro: <<< #######################
diff --git a/packages/baseplus.zip b/packages/baseplus.zip
index 2c548c3..0c44232 100644
Binary files a/packages/baseplus.zip and b/packages/baseplus.zip differ