Changelog
Source:NEWS.md
tinycodet 0.5.8
CRAN release: 2025-09-21
-
Superseded: The
as_*functions are superseded by the functions of the same name in the ‘broadcast’ package, and will be removed from ‘tinycodet’ in a later version. - Removed: The infix operators from the DRY category were removed.
- Behaviour change: The matrix operators now only accept a numeric (integer or double) matrix on the right hand side with the same dimensions as the left hand side.
- Performance Improvement: The logical operators are now slightly faster, as they now use R’s own NA checks
- Moved the matrix operators to the DRY category.
- Simplified the matrix operators help page.
tinycodet 0.5.6
CRAN release: 2025-04-05
-
Behaviour change: The import functions no longer import
.Primitiveor.Internalfunctions, to comply with CRAN. -
Behaviour change:
import_as()now allows hidden (i.e. dot-prefixed) names foraliasobjects.
tinycodet 0.5.4
CRAN release: 2025-01-09
-
Performance improvement: Even more performance improvement for
stri_locate_ith(); it now internally uses ‘C’ code instead of ‘C++’.
tinycodet 0.5.3
CRAN release: 2024-07-21
- Behaviour change: the atomic typecasting functions now preserve names, dimensions, and dimnames (instead of all attributes), to be more in line with most of base ‘R’.
-
Behaviour change:
pkgs %installed in% lib.locwill now returnNAfor “packages” that are part of core ‘R’ (i.e. ‘base’, ‘stats’, etc.). -
Behaviour change: All decimal truth testing operators now always give
NAwhenInfis compared withInf, or when-Infis compared to-Inf. - Streamlined the internal code of the decimal truth testing operators.
- Added
%s><%and%s<>%as aliases for%sget%and%strim%, respectively. - Removed some superfluous text in the import system documentation.
- Re-written one ‘C++’ script to pure ‘C’ code.
- Some of the internal ‘C’ code now support long vectors, when appropriate.
- Small speed improvement in some of the internal code.
- Added new fake packages to the special tests, to perform more thorough tests on the
pversion_- functions. - Added even more tests.
tinycodet 0.5.0
CRAN release: 2024-05-07
-
Feature Improvement:
help.import()now directly evaluates the arguments underhelp()if both argumentsiandaliasare missing. -
Feature Improvement: re_exports in
import_as()can now include functions from core R if necessary, except ‘base’. - Performance Improvement: Replaced some of the internal code in the import system with ‘C++’ code via ‘Rcpp’ for some performance improvement.
-
Bug fix: Fixed a (small) bug, where
help.import()sometimes gave an unnecessary error, when searching topics of un-exported objects or non-functions via an alias object instead of searching functions directly. - Bug fix: Fixed a (small) bug where class names were sometimes inconsistently assigned to functions and infix operators exposed by the ‘tinycodet’ import system.
-
Removed Feature: Removed the
form()function, as its use-case is too rare to justify having a whole function for it (with all the tests and maintenance that come with it). I rarely remove functions; this is an exception. - Fixed some mistakes in the documentation.
- Added more tests.
-
help.import()can now also be called without any arguments, just like the originalhelp()function. - Moved the atomic type casting functions to the “DRY” category.
- Cleaned up the internal code of the import system a bit.
- Added the current year to the LICENSE file.
tinycodet 0.4.6
CRAN release: 2024-04-14
-
Feature improvement: Relaxed the length restriction on argument
iinstri_locate_ith(). Also improved the performance ofstri_locate_ith(). - Tweaked the error messages of
strfind()<-to be a bit more informative. - Added
as_cplx()andas_raw()to the atomic typecasting functions. - Improved the documentation here and there.
- Tweaked description text.
- Added more tests.
tinycodet 0.4.5
CRAN release: 2024-03-02
- Slight speed improvement of
stri_locate_ith(). - New Features: Added the following functions to the “safer functionality” category: form(),
aes_pro(),with_pro(), andsafer_partialmatch(). Naturally, added tests for these new functions.
tinycodet 0.4.1
CRAN release: 2024-02-17
- Added an explanation in the string overview help page, regarding the usage of vector recycling.
- Provided additional clarification in the help file for the
%row%and%col~%operators. - Simplified the internal code of the decimal (in)equality testing operators.
- Added a few more tests.
- Moved
is_wholenumber()to the decimal truth testing section. -
Argument change: Added the
rtargument tostrfind()<-, and moved theiandrtarguments more to the end of the functions. Thetypeargument instrcut_brk()can now also directly accept a list produced bystringi::stri_opts_brkiter().
tinycodet 0.4.0
CRAN release: 2024-01-11
- Clarified in the documentation that
%col~%and%row~%strip attributes. - Clarified the usage of
merge = FALSEfor patterncharclass, in the documentation of thestri_locate_ith()function. - Clarified in the documentation that locked objects are not protected from modification by reference.
- Clarified in the documentation of ‘stringi’ pattern searching infix operators that the
pargument can also be a character vector of length 1. - Clarified in the
stri_locate_ith()documentation that one should not pass thecapture_groupsargument; also clarified how to capture theithgroup usingstri_locate_ith(). And clarified thatstri_locate_ith()does not support long vectors. - Normalized the links in the “See Also” sections in the documentation.
- Renamed the “str_truth” page to “str_search”, as that makes a little more sense.
- Removed the redundant
stringi::piece in the example code forimport_LL(). - The help file for the
s_patternfunctions is now actually titled “s_pattern”. - The messages returned by
import_as()when aliasing packages is now slightly less verbose: removed the line “Methods work like normally”, and replaced the line “Importing packages …” with “Importing packages and registering methods…”. - The
strcut_brk()function now includes thetolistargument to return a list. Moreover, thenargument may now also be specified (n = -1Lby default). -
More safety checks: Improved safety against malformed conditions in the
transform_if()function.stri_locate_ith()now gives a warning when an empty string or pattern is given. Thehelp.import()function now gives an error if neithertopic/packagenori/aliasis supplied, instead of just silently doing nothing. The%sget%and%strim%operators now give an explicit error message if the arguments do not have proper lengths. -
Internal Re-write:
stri_locate_ith()has now been partially re-written, and now includes ‘C++’ code, making it a bit faster. Also cleaned up the internal code for some other functions here and there. - Added dependency: ‘Rcpp’ is now added as a dependency, due to the aforementioned partial re-write in ‘C++’.
-
New Features: Added
%ss%to the collection of string arithmetic operators, and added thestrfind()<-method to the string search operators. One can now supply theatargument in the list of the right-hand side for the%s{}%operator. Supplyingat = "start"will check if the pattern appears at the start of a string. Supplyingat = "end"will check if the pattern appears at the end of a string. -
Optimization: Managed to optimise
stri_locate_ith()even further. Optimised the ‘subset_if’ operators a bit more. Also optimised the%n&%,%sget%,%strim%, and%=strtype%operators a bit more. -
Argument change: The
s_patternfunctions now wrap additional arguments in a list for the user, in case of using vector arguments, preventing potential confusion. -
Argument change: The
typeargument instri_locate_ith_boundaries()is now not a mandatory argument; one can now also supply it throughstri_opts_brikiter(), to keep it more consistent with the rest of ‘stringi’. -
Tests: Improved the tests for the
s_patternoperators. Added tests forstri_locate_ith()when using argumentmerge = FALSE. Added more error check tests forhelp.import(). Added tests for unequal vector sizes for the logic operators. Added tests for empty condition subsets fortransform_if(). Added tests for the new functionalities introduced in this version. Added tests for malformed ‘stringi’ pattern searches in all relevant functions. -
Bug fix: There was a small bug where
s_coll()worked properly when assigned to an object (as usual), but not when called directly (like nested inside a function). This is now fixed.
tinycodet 0.3.0
CRAN release: 2023-12-11
- Expanded the import system documentation. Also tweaked the documentation of
import_as()to be make it slightly clearer. - Expanded the documentation of the
decimal_truthoperators. -
import_as()now does not allow more than 10 packages to be loaded under a single alias, to prevent abusive usage ofimport_as(). - The import system now has a few more tiny safety checks, including checks for widely known meta-packages (such as “fastverse”).
- The
pkg_get_deps()function now also has theshared_tidyargument to ignore the shared ‘tidyverse’ libraries (‘rlang’, ‘lifecycle’, ‘cli’, ‘glue’, and ‘withr’). Also changed the default values of therecom, andrstudioapiarguments. - Added the
pkg_get_deps_minimal()function. Also changed the default arguments ofpkg_get_deps(). - Changed the error message for wrong extension specifications: replaced “actual reverse-dependencies” into “actual extensions”.
- Changed the usage of the word “load” to “import” in the import system documentation, to avoid confusion with the concept of loading a package.
- Added the
pversion_functions to help in checking package versions. - Removed the “versions” attribute from alias objects, in favour of the aforementioned
pversion_functions. -
Argument name change: in the
import_as()function, changed argument nameloadordertoimport_order, to avoid confusion with the concept of loading a package. - Tests: Added more tests.
-
Optimization: Minor optimizations for the
import_*functions and fortransform_if(). -
Bug fix: Fixed a bug in
pkg_get_deps()where it didn’t properly ignore all the recommended R-packages whenrecom = FALSE.
tinycodet 0.2.2
CRAN release: 2023-11-25
- Small tweak to the pdf manual.
- Replaced the incorrect uses of the word “class” with “type” in the atomic type casting help file.
- Improved the performance of
stri_join_mat(), and produced better examples in both help file and website. - Fixed incorrect regex usage in one of the examples.
tinycodet 0.2
CRAN release: 2023-11-01
- Removed or changed “a few functions” in the title, description, introduction help page, and website, as ‘tinycodet’ actually turned out to be somewhat larger than anticipated.
- Fixed the latex issue in the pdf file generation for users using R version < 4.2.0 with the Mac OS.
- Changed the
@nameand@rdnameparameters of the tinycodet overview help files, such that they get on the top of the pdf file. - Removed the sentence “Note that only the recommended R-packages actually installed in your system are taken into consideration” in the
pkgshelp file, as this is no longer applicable (the list of recommended R packages is hard coded). - Expanded the ‘tinycodet_import’ help page with more info.
tinycodet 0.1.0.6
CRAN release: 2023-10-12
- Replaced usage of
installed.packages()in the%installed in%operator withfind.package(). Also added the sentence “As pkgs %installed in% lib.loc does not even load a package, the user can safely use it without fearing any unwanted side-effects.” to the help page. - Replaced usage of
installed.packages()with a manually specified character vector in the R scripts/functions “internal_functions.R”, “import_misc.R”, “import_inops.R”, “x.import.R”. - Replaced “” with “” in help page “tinycodet_import”, and set condition for examples.
- Re-implemented the fake packages, but this time preventing false positives using a tip from Duncan Murdoch.
tinycodet 0.1.0.5
- The fake packages will now only be tested on my GitHub page, and not in the package folder itself, to prevent false positives from CRAN checks.
tinycodet 0.1.0.4
- Removed the last sentence in the Description of the DESCRIPTION file, which contained the word “vectorized”, because both “vectorised” AND “vectorized” cause CRAN checks to complain.
tinycodet 0.1.0.3
- Changed all the spellings of the word “vectorised”, to “vectorized”, despite the clear Language field.