Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Prepare the releases of your Ruby gems with ease.
When creating versioned software, it is important to keep track of the changes and the versions that are released.
After each release of a gem, you should immediatly bump the version with a new number and update the changelog with a place to capture the information about new changes.
Reissue helps you to prepare the next version of your project by providing tools which will update version numbers and update the changelog with a new version and a date.
Use Reissue to prepare your first commit going into the new version.
Standard procedure for releasing projects with Reissue:
rake reissue:finalize
to update the Unreleased version in your changelog.rake reissue[patch]
and commit those changes.
Future commits will be associated with the version 0.1.1 until your next release.Install the gem and add to the application's Gemfile by executing:
$ bundle add reissue
If bundler is not being used to manage dependencies, install the gem by executing:
$ gem install reissue
If you are working with a gem, you can add the following to the Rakefile:
require "reissue/gem"
Reissue::Task.create :reissue do |task|
# Required: The file to update with the new version number.
task.version_file = "lib/my_gem/version.rb"
end
This will add the following rake tasks:
rake reissue[segment]
- Prepare a new version for future work for the given
version segment.rake reissue:finalize[date]
- Update the CHANGELOG.md file with a date for
the latest version.rake reissue:reformat[version_limit]
- Reformat the CHANGELOG.md file and
optionally limit the number of versions to maintain.rake reissue:branch[branch-name]
- Create a new branch for the next version.
Controlled by the push_finalize
and commit_finalize
options.rake reissue:push
- Push the changes to the remote repository. Controlled
by the push_finalize
and commit_finalize
options.This will also update the build
task from rubygems to first run
reissue:finalize
and then build the gem, ensuring that your changelog is
up-to-date before the gem is built.
It updates the release
task from rubygems to run reissue
after the gem is
pushed to rubygems.
Build your own release with rake tasks provided by the gem.
Add the following to the Rakefile:
require "reissue/rake"
Reissue::Task.create :reissue do |task|
# Required: The file to update with the new version number.
task.version_file = "path/to/version.rb"
end
When creating your task, you have additional options to customize the behavior:
require "reissue/rake"
Reissue::Task.create :your_name_and_namespace do |task|
# Optional: The name of the task. Defaults to "reissue".
task.name = "your_name_and_namespace"
# Optional: The description of the main task.
task.description = "Prepare the next version of the gem."
# Required: The file to update with the new version number.
task.version_file = "path/to/version.rb"
# Optional: The number of versions to maintain in the changelog. Defaults to 2.
task.version_limit = 5
# Optional: A Proc to format the version number. Receives a Gem::Version object, and segment.
task.version_redo_proc = ->(version, segment) do
# your special versioning logic
end
# Optional: The file to update with the new version number. Defaults to "CHANGELOG.md".
task.changelog_file = "path/to/CHANGELOG.md"
# Optional: Whether to commit the changes automatically. Defaults to true.
task.commit = false
# Optional: Whether or not to commit the results of the finalize task. Defaults to true.
task.commit_finalize = false
# Optional: Whether to push the changes automatically. Defaults to false.
task.push_finalize = :branch # or false, or true to push the working branch
end
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
Run rake build:checksum
to build the gem and generate the checksum. This will also update the version number in the gemspec file.
Run rake release
to create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
This will leave a new commit with the version number incremented in the version file and the changelog updated with the new version. Push the changes to the repository.
Bug reports and pull requests are welcome on GitHub at https://github.com/SOFware/reissue.
FAQs
Unknown package
We found that reissue demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.