Release v1.12.4 (#2343)
This commit is contained in:
10
CHANGELOG.md
10
CHANGELOG.md
@@ -1,3 +1,13 @@
|
||||
## 1.12.4
|
||||
|
||||
* Refactor release scripts. (#2323)
|
||||
* Add TTS engine APKs for more models (#2327)
|
||||
* Fix static link without tts (#2328)
|
||||
* Fix VAD+ASR C++ example. (#2335)
|
||||
* Add sherpa-onnx-streaming-zipformer-zh-int8-2025-06-30 to android ASR apk (#2336)
|
||||
* Support non-streaming zipformer CTC ASR models (#2340)
|
||||
* Support linux aarch64 for Dart and Flutter (#2342)
|
||||
|
||||
## 1.12.3
|
||||
|
||||
* Show CMake debug information. (#2316)
|
||||
|
||||
@@ -14,7 +14,7 @@ project(sherpa-onnx)
|
||||
# Remember to update
|
||||
# ./CHANGELOG.md
|
||||
# ./new-release.sh
|
||||
set(SHERPA_ONNX_VERSION "1.12.3")
|
||||
set(SHERPA_ONNX_VERSION "1.12.4")
|
||||
|
||||
# Disable warning about
|
||||
#
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
git clone https://github.com/k2-fsa/sherpa-onnx
|
||||
cd sherpa-onnx
|
||||
|
||||
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.3/sherpa-onnx-v1.12.3-android.tar.bz2
|
||||
tar xvf sherpa-onnx-v1.12.3-android.tar.bz2
|
||||
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.4/sherpa-onnx-v1.12.4-android.tar.bz2
|
||||
tar xvf sherpa-onnx-v1.12.4-android.tar.bz2
|
||||
|
||||
cp -v jniLibs/arm64-v8a/* android/SherpaOnnxAar/sherpa_onnx/src/main/jniLibs/arm64-v8a/
|
||||
cp -v jniLibs/armeabi-v7a/* android/SherpaOnnxAar/sherpa_onnx/src/main/jniLibs/armeabi-v7a/
|
||||
@@ -16,5 +16,5 @@ cd android/SherpaOnnxAar
|
||||
|
||||
./gradlew :sherpa_onnx:assembleRelease
|
||||
ls -lh ./sherpa_onnx/build/outputs/aar/sherpa_onnx-release.aar
|
||||
cp ./sherpa_onnx/build/outputs/aar/sherpa_onnx-release.aar ../../sherpa-onnx-1.12.3.aar
|
||||
cp ./sherpa_onnx/build/outputs/aar/sherpa_onnx-release.aar ../../sherpa-onnx-1.12.4.aar
|
||||
```
|
||||
|
||||
@@ -34,5 +34,5 @@ dependencies {
|
||||
implementation 'pub.devrel:easypermissions:3.0.0'
|
||||
implementation 'androidx.core:core-ktx:1.7.0'
|
||||
// implementation files('/Users/fangjun/open-source/sherpa-onnx/android/SherpaOnnxAar/sherpa_onnx/build/outputs/aar/sherpa_onnx-release.aar')
|
||||
implementation 'com.github.k2-fsa:sherpa-onnx:v1.12.3'
|
||||
implementation 'com.github.k2-fsa:sherpa-onnx:v1.12.4'
|
||||
}
|
||||
|
||||
@@ -242,7 +242,7 @@ for d in ios-arm64_x86_64-simulator ios-arm64; do
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.12.3</string>
|
||||
<string>1.12.4</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>iPhoneOS</string>
|
||||
|
||||
@@ -9,7 +9,7 @@ environment:
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
path: ^1.9.0
|
||||
args: ^2.5.0
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ environment:
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
path: ^1.9.0
|
||||
args: ^2.5.0
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ environment:
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
# sherpa_onnx:
|
||||
# path: ../../flutter/sherpa_onnx
|
||||
path: ^1.9.0
|
||||
|
||||
@@ -74,10 +74,50 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: sherpa_onnx
|
||||
sha256: e45894f81e7c854ca96d678bcab5303036e884a7c90e9a6c4ec04c7b1ee215a8
|
||||
sha256: "6dfb8350e079e35e33713479c19d69b0d488df72036aec8576ccc691ee6631d3"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.9.29"
|
||||
version: "1.12.3"
|
||||
sherpa_onnx_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sherpa_onnx_android
|
||||
sha256: "6b3f153394811b709c607507920e44efcd4575e7b87f668fd487ee85fb9453b6"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.12.3"
|
||||
sherpa_onnx_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sherpa_onnx_ios
|
||||
sha256: "262785fe56f9fe75a29cb9cfdafff5a53db99df780f78d83a9510cee4bd224f4"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.12.3"
|
||||
sherpa_onnx_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sherpa_onnx_linux
|
||||
sha256: "1f3fa8bfe1e52c07188f778a6039dbbb0a5c83dd510799146123d4f2ede9adcf"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.12.3"
|
||||
sherpa_onnx_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sherpa_onnx_macos
|
||||
sha256: "6466f7f0883d5cc65e4b36a55e8cfd14246bd4607787dfd7e0a5ea261133da61"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.12.3"
|
||||
sherpa_onnx_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sherpa_onnx_windows
|
||||
sha256: "8c1870946adb68bff75e17b8aefea4d4521c9bb8a132f09234e526025312c8bd"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.12.3"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
@@ -92,5 +132,5 @@ packages:
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
sdks:
|
||||
dart: ">=3.4.0 <4.0.0"
|
||||
flutter: ">=3.3.0"
|
||||
dart: ">=3.3.0-279.1.beta <4.0.0"
|
||||
flutter: ">=2.8.1"
|
||||
|
||||
@@ -10,7 +10,7 @@ environment:
|
||||
|
||||
# Add regular dependencies here.
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
path: ^1.9.0
|
||||
args: ^2.5.0
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ environment:
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
# sherpa_onnx:
|
||||
# path: ../../flutter/sherpa_onnx
|
||||
path: ^1.9.0
|
||||
|
||||
@@ -9,7 +9,7 @@ environment:
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
path: ^1.9.0
|
||||
args: ^2.5.0
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ environment:
|
||||
|
||||
# Add regular dependencies here.
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
# sherpa_onnx:
|
||||
# path: ../../flutter/sherpa_onnx
|
||||
path: ^1.9.0
|
||||
|
||||
@@ -11,7 +11,7 @@ environment:
|
||||
|
||||
# Add regular dependencies here.
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
path: ^1.9.0
|
||||
args: ^2.5.0
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ environment:
|
||||
|
||||
# Add regular dependencies here.
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
path: ^1.9.0
|
||||
args: ^2.5.0
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ environment:
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
path: ^1.9.0
|
||||
args: ^2.5.0
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ environment:
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
path: ^1.9.0
|
||||
args: ^2.5.0
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ description: >
|
||||
|
||||
publish_to: 'none'
|
||||
|
||||
version: 1.12.3
|
||||
version: 1.12.4
|
||||
|
||||
topics:
|
||||
- speech-recognition
|
||||
@@ -31,7 +31,7 @@ dependencies:
|
||||
record: ^5.1.0
|
||||
url_launcher: ^6.2.6
|
||||
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
# sherpa_onnx:
|
||||
# path: ../../flutter/sherpa_onnx
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ description: >
|
||||
|
||||
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||
|
||||
version: 1.12.3
|
||||
version: 1.12.4
|
||||
|
||||
environment:
|
||||
sdk: ">=2.17.0 <4.0.0"
|
||||
@@ -18,7 +18,7 @@ dependencies:
|
||||
cupertino_icons: ^1.0.6
|
||||
path_provider: ^2.1.3
|
||||
path: ^1.9.0
|
||||
sherpa_onnx: ^1.12.3
|
||||
sherpa_onnx: ^1.12.4
|
||||
# sherpa_onnx:
|
||||
# path: ../../flutter/sherpa_onnx
|
||||
url_launcher: 6.2.6
|
||||
|
||||
@@ -17,7 +17,7 @@ topics:
|
||||
- voice-activity-detection
|
||||
|
||||
# remember to change the version in ../sherpa_onnx_macos/macos/sherpa_onnx_macos.podspec
|
||||
version: 1.12.3
|
||||
version: 1.12.4
|
||||
|
||||
homepage: https://github.com/k2-fsa/sherpa-onnx
|
||||
|
||||
@@ -30,23 +30,23 @@ dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
sherpa_onnx_android: ^1.12.3
|
||||
sherpa_onnx_android: ^1.12.4
|
||||
# sherpa_onnx_android:
|
||||
# path: ../sherpa_onnx_android
|
||||
|
||||
sherpa_onnx_macos: ^1.12.3
|
||||
sherpa_onnx_macos: ^1.12.4
|
||||
# sherpa_onnx_macos:
|
||||
# path: ../sherpa_onnx_macos
|
||||
|
||||
sherpa_onnx_linux: ^1.12.3
|
||||
sherpa_onnx_linux: ^1.12.4
|
||||
# sherpa_onnx_linux:
|
||||
# path: ../sherpa_onnx_linux
|
||||
|
||||
sherpa_onnx_windows: ^1.12.3
|
||||
sherpa_onnx_windows: ^1.12.4
|
||||
# sherpa_onnx_windows:
|
||||
# path: ../sherpa_onnx_windows
|
||||
|
||||
sherpa_onnx_ios: ^1.12.3
|
||||
sherpa_onnx_ios: ^1.12.4
|
||||
# sherpa_onnx_ios:
|
||||
# path: ../sherpa_onnx_ios
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# https://groups.google.com/g/dart-ffi/c/nUATMBy7r0c
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'sherpa_onnx_ios'
|
||||
s.version = '1.12.3'
|
||||
s.version = '1.12.4'
|
||||
s.summary = 'A new Flutter FFI plugin project.'
|
||||
s.description = <<-DESC
|
||||
A new Flutter FFI plugin project.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'sherpa_onnx_macos'
|
||||
s.version = '1.12.3'
|
||||
s.version = '1.12.4'
|
||||
s.summary = 'sherpa-onnx Flutter FFI plugin project.'
|
||||
s.description = <<-DESC
|
||||
sherpa-onnx Flutter FFI plugin project.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Use these variables when you tailor your ArkTS code. They must be of the const type.
|
||||
*/
|
||||
export const HAR_VERSION = '1.12.3';
|
||||
export const HAR_VERSION = '1.12.4';
|
||||
export const BUILD_MODE_NAME = 'debug';
|
||||
export const DEBUG = true;
|
||||
export const TARGET_NAME = 'default';
|
||||
|
||||
@@ -23,7 +23,7 @@ or update your `oh-package.json5` to include the following:
|
||||
|
||||
```
|
||||
"dependencies": {
|
||||
"sherpa_onnx": "1.12.3",
|
||||
"sherpa_onnx": "1.12.4",
|
||||
},
|
||||
```
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "sherpa_onnx",
|
||||
"version": "1.12.3",
|
||||
"version": "1.12.4",
|
||||
"description": "On-device speech-to-text, text-to-speech, and speaker diarization using Next-gen Kaldi without Internet connection",
|
||||
"main": "Index.ets",
|
||||
"author": "The next-gen Kaldi team",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"author": "",
|
||||
"license": "",
|
||||
"dependencies": {
|
||||
"sherpa_onnx": "1.12.3"
|
||||
"sherpa_onnx": "1.12.4"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"author": "",
|
||||
"license": "",
|
||||
"dependencies": {
|
||||
"sherpa_onnx": "1.12.3",
|
||||
"sherpa_onnx": "1.12.4",
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"author": "",
|
||||
"license": "",
|
||||
"dependencies": {
|
||||
"sherpa_onnx": "1.12.3",
|
||||
"sherpa_onnx": "1.12.4",
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"author": "",
|
||||
"license": "",
|
||||
"dependencies": {
|
||||
"sherpa_onnx": "1.12.3",
|
||||
"sherpa_onnx": "1.12.4",
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Introduction
|
||||
|
||||
Please download ./sherpa_onnx-v1.12.3.har
|
||||
Please download ./sherpa_onnx-v1.12.4.har
|
||||
from <https://huggingface.co/csukuangfj/sherpa-onnx-harmony-os/tree/main/har>
|
||||
|
||||
Hint: For users who have no access to huggingface, please use
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"license": "",
|
||||
"dependencies": {
|
||||
// please see https://ohpm.openharmony.cn/#/cn/detail/sherpa_onnx
|
||||
"sherpa_onnx": "1.12.3",
|
||||
"sherpa_onnx": "1.12.4",
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ jdk:
|
||||
- openjdk17
|
||||
|
||||
before_install:
|
||||
- wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.3/sherpa-onnx-1.12.3.aar
|
||||
- wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.4/sherpa-onnx-1.12.4.aar
|
||||
|
||||
install:
|
||||
- FILE="-Dfile=sherpa-onnx-1.12.3.aar"
|
||||
- mvn install:install-file $FILE -DgroupId=com.k2fsa.sherpa.onnx -DartifactId=sherpa-onnx -Dversion=1.12.3 -Dpackaging=aar -DgeneratePom=true
|
||||
- FILE="-Dfile=sherpa-onnx-1.12.4.aar"
|
||||
- mvn install:install-file $FILE -DgroupId=com.k2fsa.sherpa.onnx -DartifactId=sherpa-onnx -Dversion=1.12.4 -Dpackaging=aar -DgeneratePom=true
|
||||
|
||||
@@ -5,9 +5,9 @@ for speech recognition.
|
||||
|
||||
|Directory| Pre-built exe (x64)|Pre-built exe (x86)| Description|
|
||||
|---------|--------------------|-------------------|------------|
|
||||
|[./NonStreamingSpeechRecognition](./NonStreamingSpeechRecognition)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.3/sherpa-onnx-non-streaming-asr-x64-v1.12.3.exe)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.3/sherpa-onnx-non-streaming-asr-x86-v1.12.3.exe)| Non-streaming speech recognition|
|
||||
|[./StreamingSpeechRecognition](./StreamingSpeechRecognition)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.3/sherpa-onnx-streaming-asr-x64-v1.12.3.exe)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.3/sherpa-onnx-streaming-asr-x86-v1.12.3.exe)| Streaming speech recognition|
|
||||
|[./NonStreamingTextToSpeech](./NonStreamingTextToSpeech)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.3/sherpa-onnx-non-streaming-tts-x64-v1.12.3.exe)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.3/sherpa-onnx-non-streaming-tts-x86-v1.12.3.exe)| Non-streaming text to speech|
|
||||
|[./NonStreamingSpeechRecognition](./NonStreamingSpeechRecognition)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.4/sherpa-onnx-non-streaming-asr-x64-v1.12.4.exe)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.4/sherpa-onnx-non-streaming-asr-x86-v1.12.4.exe)| Non-streaming speech recognition|
|
||||
|[./StreamingSpeechRecognition](./StreamingSpeechRecognition)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.4/sherpa-onnx-streaming-asr-x64-v1.12.4.exe)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.4/sherpa-onnx-streaming-asr-x86-v1.12.4.exe)| Streaming speech recognition|
|
||||
|[./NonStreamingTextToSpeech](./NonStreamingTextToSpeech)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.4/sherpa-onnx-non-streaming-tts-x64-v1.12.4.exe)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.4/sherpa-onnx-non-streaming-tts-x86-v1.12.4.exe)| Non-streaming text to speech|
|
||||
|
||||
Caution: You need to use Windows and install Visual Studio 2022 in order to
|
||||
compile it.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
old_version="1\.12\.2"
|
||||
new_version="1\.12\.3"
|
||||
old_version="1\.12\.3"
|
||||
new_version="1\.12\.4"
|
||||
replace_str="s/$old_version/$new_version/g"
|
||||
|
||||
sed -i.bak "$replace_str" ./sherpa-onnx/csrc/version.cc
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"sherpa-onnx-node": "^1.12.3"
|
||||
"sherpa-onnx-node": "^1.12.4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"dependencies": {
|
||||
"mic": "^2.1.2",
|
||||
"naudiodon2": "^2.4.0",
|
||||
"sherpa-onnx": "^1.12.3",
|
||||
"sherpa-onnx": "^1.12.4",
|
||||
"wav": "^1.0.2"
|
||||
}
|
||||
}
|
||||
|
||||
2
pom.xml
2
pom.xml
@@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.k2fsa.sherpa.onnx</groupId>
|
||||
<artifactId>sherpa-onnx-android</artifactId>
|
||||
<version>1.12.3</version>
|
||||
<version>1.12.4</version>
|
||||
<url>https://github.com/k2-fsa/sherpa-onnx</url>
|
||||
<packaging>pom</packaging>
|
||||
<description>First Android Library</description>
|
||||
|
||||
@@ -7,17 +7,17 @@
|
||||
namespace sherpa_onnx {
|
||||
|
||||
const char *GetGitDate() {
|
||||
static const char *date = "Fri Jun 27 10:40:41 2025";
|
||||
static const char *date = "Fri Jul 4 15:57:07 2025";
|
||||
return date;
|
||||
}
|
||||
|
||||
const char *GetGitSha1() {
|
||||
static const char *sha1 = "f835642b";
|
||||
static const char *sha1 = "3bf986d0";
|
||||
return sha1;
|
||||
}
|
||||
|
||||
const char *GetVersionStr() {
|
||||
static const char *version = "1.12.3";
|
||||
static const char *version = "1.12.4";
|
||||
return version;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user